var popup_width=600;
var popup_height=250;
var popup_x=15;
var popup_y=15;
var popup_name="kwPop";

var popup_menu=0;
var popup_status=0;
var popup_toolbar=0;
var popup_location=0;
var popup_directorybar=0;


function PopUpWin(URL,Name,PosX,PosY,Largeur,Hauteur,Resize,Scroll,Dep,Mbar,Tbar,Loc,Dbar,Stat)
{
var ParamWin='',MaWin

if (document.layers)
   ParamWin='SCREENX='+PosX+',SCREENY='+PosY
else
   ParamWin='LEFT='+PosX+',TOP='+PosY;

// Init_Attrib_Window
ParamWin+=',WIDTH='+Largeur
ParamWin+=',HEIGHT='+Hauteur
ParamWin+=',RESIZABLE='+Resize
ParamWin+=',SCROLLBARS='+Scroll
ParamWin+=',DEPENDENT='+Dep
ParamWin+=',MENUBAR='+Mbar
ParamWin+=',TOOLBAR='+Tbar
ParamWin+=',LOCATION='+Loc
ParamWin+=',DIRECTORIES='+Dbar
ParamWin+=',STATUS='+Stat

// Open_All_Windows_Type
MaWin=window.open(URL,Name,ParamWin)
return MaWin
}

function ChargePage(LaPage, LeTik, LaCible) {
if (!LaCible || LaCible=='') LaCible="_self"

if (LeTik && LeTik != '')
    LaPage=LaPage.substring(0,LaPage.toLowerCase().indexOf('.htm'))+'.htm'+LeTik	
	
 if (LaCible=="_top") {top.location.href=LaPage;return}
 if (LaCible=="_blank") {window.open(LaPage,"blank");return}
 if (LaCible=="_self") {self.location.href=LaPage;return}
 if (LaCible=="_popext") {openPop(LaPage);return}
	
return
}


function openPop(urlPop,aPosX,aPosY,aWidthPop,aHeightPop,popupName,aMenu,aStatus,aToolBar,aLocation,aDirectory)
{
	var isIE = !!(window.attachEvent && !window.opera)
	if (isIE) { 
		urlPop = Url.decode(urlPop)
	}
	// FB/VA le 30-06-2008 : correction bug URL : http://server/path[?params][#anchor]
	// alors que l'on ecrivait : http://server/path[#anchor][?params]
	var hashText = "";
	if (urlPop.indexOf("#") != -1) {
		hashText = urlPop.substring(urlPop.indexOf("#"));
		urlPop = urlPop.substring(0, urlPop.indexOf("#"));
	}
	
	aMenu=aMenu?aMenu:popup_menu;
	if (aMenu == 2 || aMenu==3) {
		if(aMenu == 2) aMenu = 1;
		if(aMenu == 3) aMenu = 0;
		
		aStatus    = aStatus?aStatus:aMenu;
		aToolBar   = aToolBar?aToolBar:aMenu;
		aLocation  = aLocation?aLocation:aMenu;
		aDirectory = aDirectory?aDirectory:aMenu;
	} else {
		aStatus    = aStatus?aStatus:popup_status;
		aToolBar   = aToolBar?aToolBar:popup_toolbar;
		aLocation  = aLocation?aLocation:popup_location;
		aDirectory = aDirectory?aDirectory:popup_directorybar;
	}

   posX=aPosX?aPosX:popup_x;
   posY=aPosY?aPosY:popup_y;
   widthPop=aWidthPop?aWidthPop:popup_width;
   heightPop=aHeightPop?aHeightPop:popup_height;
   namePopup=popupName?popupName:popup_name;
   
   // NQ/FB/RVR 17/03/2008
   // Quand une popup se nomme 'kwforcepopup' le nom de la page appelante n'est pas changée.
   // Quand une page appelante ouvre une popup de nom 'kwforcepopup', le nom de la page ouvrante n'est pas ré-attribué.
   // Utilisé par les formulaire pour ouvrir une popup sur la Doc. Isiman et naviguer dans cette popup (et non plus retourner dans la Doc.)
   if (self.name == "" && namePopup!="kwforcepopup") {
   		self.name = "kwpage";  
   }
   var popupAttr = "popup=true";
   if (urlPop.indexOf("?") > -1) {
   		popupAttr = "&" + popupAttr;
   } else {
   		popupAttr = "?" + popupAttr;
	}
    	
	var lepop = null;
	if (urlPop.lastIndexOf(":")==-1 && urlPop.lastIndexOf('../xmedia/') == -1) {
        lepop = PopUpWin(urlPop+popupAttr+hashText, namePopup,posX,posY,widthPop,heightPop,1,1,0,aMenu,aToolBar,aLocation,aDirectory,aStatus);    
	} else {
		lepop = PopUpWin(urlPop+hashText, namePopup,posX,posY,widthPop,heightPop,1,1,0,aMenu,aToolBar,aLocation,aDirectory,aStatus);	
    }
   
	try {
		lepop.focus();
	} catch (e) {
	}
}


var BASE36_CHARS = "0123456789abcdefghijklmnopqrstuvwxyz"
var FILL_CHAR = "_";
function getInBase36(source, nbreCar) {
    var ret = "";
    var taille = 0;
    
    while(source > 0){
        var i = (source % 36);
        ret = BASE36_CHARS.charAt(i) + ret;
        ++taille;
        source -= i;
        source /= 36;
    }

    for(var i = 0; i != (nbreCar - taille); i++) {
        ret += FILL_CHAR;
    }

    return ret;
}

function getIndexHREF(prefixe, index) {
    if (index>0) return prefixe + getInBase36(index, 5) + '.htm';
    else return prefixe + '.htm';
}

function openIndexREPL(prefixe, index) {
	self.location.replace(getIndexHREF(prefixe, index))
}	
	
function openIndexHREF(prefixe, index) {
	self.location.href=getIndexHREF(prefixe, index)
}

function openIndexPopup(prefixe, index,aPosX,aPosY,aWidthPop,aHeightPop) {
//if (RepPop.lastIndexOf("/")!=RepPop.length-1) RepPop+="/"
openPop(getIndexHREF(prefixe, index), aPosX,aPosY,aWidthPop,aHeightPop)
}

function isOLE(aWin) 
{
var OLE,TestOLE

if (!aWin) aWin=self
  if (!document.all) return false;
  OLE=aWin.location

  TestOLE=eval(OLE)+"ole"
  
  /*if (TestOLE.lastIndexOf("/isiman")>0 && TestOLE.lastIndexOf(".jsp")>0) {
  	return false;
	}*/
     
  if (!TestOLE==false) 
  {
    //Pas ole. On verifie quand meme
    var pos1 = OLE.href.toLowerCase().lastIndexOf(".htm");
    var posFin = 0;
    var pos2 = OLE.href.toLowerCase().lastIndexOf("/");
    var pos3 = OLE.href.toLowerCase().lastIndexOf("\\");
    if (pos3 > pos2) posFin = pos3
    else if (pos2 > pos3) posFin = pos2
    else if (pos2 > -1) posFin = pos2
    else posFin = 0;
    //On est en HTM
    if (pos1 > posFin)
      return false;
    //On est en OLE
    return true;
  }
  return true
}

var Url = {

 	// public method for URL encoding
 	encode : function (string) {
 		 return escape(this._utf8_encode(string));
 	},

 	// public method for URL decoding
	 decode : function (string) {
 	 	return this._utf8_decode(unescape(string));
 	},

 	// private method for UTF-8 encoding
 	_utf8_encode : function (string) {
  		string = string.replace(/\r\n/g,"\n");
 	 	var utftext = "";
		
  		for (var n = 0; n < string.length; n++) {
   			var c = string.charCodeAt(n);
   			if (c < 128) {
    				utftext += String.fromCharCode(c);
 			} else if((c > 127) && (c < 2048)) {
  				utftext += String.fromCharCode((c >> 6) | 192);
  				utftext += String.fromCharCode((c & 63) | 128);
 			} else {
  				utftext += String.fromCharCode((c >> 12) | 224);
  				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
 	 			utftext += String.fromCharCode((c & 63) | 128);
 			}
 	}

		return utftext;
	},

 	// private method for UTF-8 decoding
 	_utf8_decode : function (utftext) {
		
 		 var string = "";
 		 var i = 0;
 		 var c = c1 = c2 = 0;

  		while ( i < utftext.length ) {
  			 c = utftext.charCodeAt(i);
   			if (c < 128) {
    				string += String.fromCharCode(c);
    				i++;
  			 } else if((c > 191) && (c < 224)) {
 				   c2 = utftext.charCodeAt(i+1);
    				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
    				i += 2;
  			 } else {
 				   c2 = utftext.charCodeAt(i+1);
    				c3 = utftext.charCodeAt(i+2);
    				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
   				 i += 3;
 			  }
		  }
		return string;
	 }
}

function gotoForm(aWindow, formAccess) {
	var curHref = self.location.href;
	if (curHref.indexOf('?') != -1) {
		curHref = curHref.substring(0, curHref.lastIndexOf('?'));
	}
	aWindow.location.href = curHref  + '/../../buildFactoryName.htm?url=' + formAccess;
}

function getURLParameters(url) {
	var ret = new Array();
	var pos = url.indexOf("?");
	if (pos > -1) {
		var parms = url.substring( + 1);
		var ps = parms.split("&");
		for (var i = 0; i < ps.length; i++) {
			var aps = ps[i].split("=");
			ret[aps[0]] = aps[1];
		}
	}
	return ret;
}
