// Deux fichiers callback existe un pour app Callabck et un pour app Canalnet

// ils doivent etre identiques




var isOpen = false;

var isFormCallBackSubmited = false;

var idCallBack = -1;

var idLink = -1;

//nom du style du fichier de config (par defaut callbacklayer)
var className = "callbacklayer";



var ns4 = (document.layers)? true:false; //NS 4 

var ie4 = (document.all)? true:false; //IE 4 

var dom = (document.getElementById)? true:false; //DOM

var isIE = navigator.appVersion.indexOf("MSIE")!=-1; // detection IE



var errorsPhoneLength = "Merci de renseigner votre numéro de téléphone";

var errorsPhoneFranceNbdigits = "Le numéro de téléphone doit être constitué de 10 chiffres";

var errorsPhoneDigits = "Merci de modifier votre numéro de téléphone";

var errorsPhoneFranceFormat = "Le numéro de téléphone saisi n'est pas autorisé";

var errorsIndicatifValue = "L'indicatif saisi n'est pas autorisé";

var errorsIndicatifLength = "Merci de renseigner votre indicatif";

var errorsChampgeneriqueFormat = "La valeur que vous avez saisis n'est pas autoris&eacute;e.";

var errorsChampgeneriqueLength = "Merci de renseigner votre ";

var typeAssuranceAuto = "Avanssur";

var typeMRH = "MRH";

var formatText = "texte";
var formatNumeric = "numeric";
var formatMail = "mail";
var formatDate = "date";


function addError(id, erreur) {

	var liste = $(id).down();

	

	var newError = document.createElement("li");

	var errorText = document.createTextNode(erreur);

	newError.appendChild(errorText);

	liste.appendChild(newError);

}

function addErrorInDiv(id ,erreur){

	var div = document.getElementById(id);
	
	div.style.display = "";
	div.style.visibility='visible';
	
	div.innerHTML = erreur;
	
	
}

function removeErrorInDiv(id){

	var div = document.getElementById(id);
	
	
	div.style.visibility='hidden';
	div.style.display='none';
}

function clear(idError) {

	var listeErreurs = $(idError);

	var enumErreurs = listeErreurs.immediateDescendants();

	

	enumErreurs.each(Element.remove);	

	

	var ul = document.createElement("ul");

	

	$(idError).appendChild(ul);

}



function trim2(string) { 

   return string.replace(/'/g,' '); 

}



function getTimeStamp(timeObj)
  {
   	var dateObj = null;
  
   	if (timeObj != null)
    {
     	dateObj = new Date(timeObj);
    }
   	else
   	{
   	 	dateObj = new Date();
   	}
   	return (parseInt(dateObj.getTime().toString().substring(0, 10)));
}



function validateCallBack(url, form, idError,controleCaptcha,urlImageCaptcha,servletCaptcha) {
	

		
		var ok = true;
	
		var formulaire = $(form);
	
		var pays = $F(formulaire['pays']);
	
		var telephone = $F(formulaire['telephone']);
	
		var duree = $F(formulaire['duree']);
		
		var champsGenActif = document.getElementById("autreChampsActif")!=null?document.getElementById("autreChampsActif").value:false;
	
	  // Ajout correctif temp Defect 135
	  
	  if(formulaire['cbCode']){
	    var codesansapos = $F(formulaire['cbCode']);
	    codesansapos=trim2(codesansapos);
	    formulaire['cbCode'].value=codesansapos;
	  }
		
	    var typeCallback = document.getElementsByName("cbCallBackType")[0].value ;
	
		clear(idError);
		
		/* gestion de l'erreur de la préférence de rappel si le rappel différé n'est pas bloqué */
		var listeRappel = document.getElementById("idListeRappel");
		if(typeof(listeRappel)!="undefined" && listeRappel!=null){
			var hauteurImgRappel = parseInt(document.getElementById("tdImgRappel").rowSpan);
			if(document.getElementById("idListeRappel").value=="P0" && document.getElementsByName("typeRappel")[1].checked){
				ok = false;

				if(document.getElementById("trErreurPreferenceRappel").style.display=="none"){
					document.getElementById("trErreurPreferenceRappel").style.display="";
					//document.getElementById("tdImgRappel").rowSpan = hauteurImgRappel + 1;
				}
			}else{
				if(document.getElementById("trErreurPreferenceRappel").style.display==""){
					document.getElementById("trErreurPreferenceRappel").style.display="none";
					//document.getElementById("tdImgRappel").rowSpan = hauteurImgRappel - 1;
				}
			}
		}
	
	
		if(telephone.empty()) {
	
			addError(idError, errorsPhoneLength);
	
			ok = false;
	
		} else {
	
			var match = telephone.match(/\d+/g);
	
			
	
			if(match) {
	
				if(match.length != 1) {
	
					addError(idError, errorsPhoneDigits);
	
					ok = false;
	
				} else {
	
					var numero = match[0];
	
					if(numero != telephone) {
	
						addError(idError, errorsPhoneDigits);
	
						ok = false;
	
					}
	
				}
	
			} else {
	
				addError(idError, errorsPhoneDigits);
	
				ok = false;
	
			}
	
			
	
			if(pays == 'France') {
	
				if(telephone.length != 10) {
	
					addError(idError, errorsPhoneFranceNbdigits);
	
					ok = false;
	
				}
	
				if(!telephone.startsWith("0") || telephone.startsWith("00")) {
	
					addError(idError, errorsPhoneFranceFormat);
	
					ok = false;
	
				}
				
				
				
				
				//controle particulier pour le callback  assurance auto et MRH
				if(typeCallback.length != 0 && (typeCallback == typeAssuranceAuto || typeCallback == typeMRH)){
				 	//les numeros en 08 et les tel des DOM TOM ne sont pas autorisee 
				 	if(telephone.startsWith("08") || telephone.startsWith("0590") || telephone.startsWith("0594") || telephone.startsWith("0596") || telephone.startsWith("0262")){
						addError(idError, errorsPhoneFranceFormat);
	
						ok = false;
					}
				}
	
			}
	
		}
	
		
	
		if(pays != 'France') {
	
			var indicatif = $F(formulaire['indicatif']);
	
			
	
			// anno 1186
	
			//if(!telephone.empty() && !telephone.startsWith("00")) {
	
			//	formulaire['telephone'].value = "00" + formulaire['telephone'].value;
	
			//}
	
			var match = indicatif.match(/\d+/g);
	
			
	
			if(match) {
	
				if(match.length != 1) {
	
					addError(idError, errorsPhoneDigits);
	
					ok = false;
	
				} else {
	
					var numero = match[0];
	
					if(numero != indicatif) {
	
						addError(idError, errorsPhoneDigits);
	
						ok = false;
	
					}
				}
	
			}else{
	
				if(indicatif.length == 0) {
	
					addError(idError, errorsIndicatifLength);
	
					ok = false;
	
				} else if(indicatif == "33" || indicatif == "0033") {
	
					addError(idError, errorsIndicatifValue);
	
					ok = false;
	
				} 
			
			}
	
		}
	
	
		if(controleCaptcha == "true"){
			document.getElementById("message_captcha").style.color = "black";
		
			if ('undefined' == typeof(servletCaptcha)) return false;
		 
		 	var verificationCaptcha = document.getElementById("verificationCaptcha").value;
		 
		 	servletCaptcha += "&verificationCaptcha="+verificationCaptcha;
		 	
			var p,rnd;
			if (document.all){
			  	 // For IE, create an ActiveX Object instance 
				p = new ActiveXObject("Microsoft.XMLHTTP");
		 	} else {
			   // For mozilla, create an instance of XMLHttpRequest.
			   p = new XMLHttpRequest();
		 	}
			// Prevent browsers from caching the included page
			// by appending a random  number
		 	rnd = Math.random().toString().substring(2);
		 	servletCaptcha = servletCaptcha.indexOf('?')>-1 ? servletCaptcha+'&rnd='+rnd : servletCaptcha+'?rnd='+rnd;
		 	// Open the url and write out the response
		 	p.open("GET",servletCaptcha,false);
		 	p.send(null);
			
			
			if(p.responseText == "false"){	
				ok = false;
		    	document.getElementById("message_captcha").style.color = "red";
		    	document.getElementById("imageCaptcha").src = urlImageCaptcha+"&timestamp="+getTimeStamp(null);
		    }
	    }
	    
	    if(champsGenActif == "true"){
	    	var nbrChamps = document.getElementById("nbrChamps").value;
	    	var idErrorParam = "erreurParam";
	    	
	    	for(var i=0;i<nbrChamps;i++)
	    	{
	    		var label = document.getElementById("label"+i);
	    		var param = document.getElementById("param"+i);
	    		var type = param.type;
	    		var paramName = document.getElementById("param"+i+"-name").value;
	    		var obligatoire = document.getElementById("param"+i+"-obligatoire").value;
	    		var format = document.getElementById("param"+i+"-format").value;
	    		var IdDivErrorFormat =  "erreurParam"+i+"Format";
	    		var IdDivErrorLength =  "erreurParam"+i+"Length";
	    		
	    		
	    	
	    		//si le champs est apparant sur le formulaire de saisis
	    		if(type!="hidden"){
	    			//on enleve les anciennes erreurs
	    			removeErrorInDiv(IdDivErrorFormat);
	    			removeErrorInDiv(IdDivErrorLength);
	    			label.style.color = "#6A686A";
	    			
	    			
	    			
	    			//on effectue les controles javascript
	    			if(obligatoire == "true" && param.value.empty()){
	    				addErrorInDiv(IdDivErrorLength,errorsChampgeneriqueLength + paramName);
	    				label.style.color = "red";
	    				ok = false;
	    			}else{
	    				if(!param.value.empty()){
	    					
	    					
	    					
	    					if(format == formatNumeric && isNaN(param.value)){
	    						addErrorInDiv(IdDivErrorLength,errorsChampgeneriqueFormat+"<br>La valeur renseignée doit être un numéric.");
	    						label.style.color = "red";
	    						ok=false;
	    					}else if(format == formatText && !isNaN(param.value)){
	    						addErrorInDiv(IdDivErrorLength,errorsChampgeneriqueFormat+"<br>La valeur renseignée doit être du texte.");
	    						label.style.color = "red";
	    						ok=false;
	    					}else if(format == formatMail && !checkMail(param.value)){
	    						addErrorInDiv(IdDivErrorLength,errorsChampgeneriqueFormat);
	    						label.style.color = "red";
	    						ok=false;
	    					}else if(format == formatDate && !checkDate(param.value)){
	    						addErrorInDiv(IdDivErrorLength,errorsChampgeneriqueFormat+"<br>La valeur renseignée doit être une date au format JJ/MM/AAAA.");
	    						label.style.color = "red";
	    						ok=false;
	    					}
	    					if(ok && isNaN(param.value) && !checkMail(param.value) && !checkDate(param.value)){
	    						document.getElementById("param"+i).value = replaceChar(param.value);
	    					}
	    				}
	    			}
	    		}
	    		
	    	}
	    
	    }
	    
   		if (!isFormCallBackSubmited) {
			isFormCallBackSubmited = ok;
			if(ok) {
				reloadCallBack(url, form, duree);
			}
		}else {
		    //alert ("Veuillez patienter");
	    } 
	    


}

	
	
function replaceChar(chaine){
	var charCorrespondance = new Array();
	charCorrespondance = ['é','É','è','È','ê','Ê','ë','Ë','à','À','ù','Ù','ç','Ç','î','ï','Î','Ï','ô','Ô','ö','Ö','â','Â','û','Û'];
	charRemplacement = ['e','e','e','e','e','e','e','e','a','A','u','U','c','C','i','i','i','i','o','o','o','o','a','a','u','u'];
	for(i=0;i<charCorrespondance.length;i++){
		var reg=new RegExp(charCorrespondance[i], "g");
		chaine = chaine.replace(reg,charRemplacement[i]);
	}
	return chaine;
}



// fonction pour initialiser le positionnement du callback

function positionInitCallback(div){

	div.setStyle({visibility : 'hidden'});

    div.setStyle({position : 'absolute'});

   	
    div.setStyle({'z-index' : '20'}); 
    
    

}

function checkMail(mailteste)
{
	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]­{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');

	if(reg.test(mailteste))
	{
		return(true);
	}
	else
	{
		return(false);
	}
}

function IsNotADate(year, month, day) {
	month = month - 1;
	var tempDate = new Date(year,month,day);
	var correctYear;
	if (tempDate.getYear() < 1000) {
		correctYear = tempDate.getYear() + 1900;
	} else {
		correctYear = tempDate.getYear();
	}
	if ((year == correctYear) &&
		(month == tempDate.getMonth()) &&
		(day == tempDate.getDate()) ) {
		return false;
	}
	return true;
}

function checkDate(chaineDate) {

  	// On regarde si la chaîne n'est pas vide
   if (chaineDate == "") return false;

	// J'utilise split pour creer un tableau dans lequel je recupere les jour mois annee
	// J'attends bien sur une date formatee en JJ/MM/AAAA
   	var ladate = (chaineDate).split("/");

	// Je verifie si je n'ai pas recupere trois elements ou bien s'il ne s'agit pas d'entiers
   	if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2])) ) return false;

	//Je verifie le nombre de caractere de chaque partie de la date 
	if(ladate[0].length!=2 || ladate[1].length!=2 || ladate[2].length!=4) return false;
	
	return !IsNotADate(ladate[2],ladate[1],ladate[0]);
	
}

/*
si on est sous ie alors on attend que la page s'affiche entierement avant d'afficher le callback
*/
function openCallBack(id, url, form, link) {
	if (isIE){
 		window.setTimeout(function() {openCallBack2(id, url, form, link);} , 500);
 	}
 	else{
 		openCallBack2(id, url, form, link);
 	}
}



function openCallBack2(id, url, form, link) { 
	if(!isOpen) {
		urlhost = new String(window.location.href); 

		//extraction des parametres
		position = urlhost.indexOf ("?", 1);
		var varUrl = urlhost.substring (position + 1, urlhost.length);
		//alert("varUrl="+varUrl);
		
		//NRO : Pour le callback Assurance Auto gestion page forumulaire
		if(document.form1
			&& document.form1.callback_etape_ass_auto){
			varUrl+="&etapeOutilAssurance="+document.form1.callback_etape_ass_auto.value;
			//alert(varUrl);
		}
		//permet d'identifier qu'on est dans le cas du callback
		varUrl+="&CBparam=true";
		
		isFormCallBackSubmited = false;
		var body = document.body;
		var div = document.createElement("div");
		var divId = document.createAttribute("id");
		var cssClassName = document.createAttribute("class");

		divId.nodeValue = id;
		cssClassName.nodeValue="callbacklayer";
		div.setAttributeNode(divId);
		div.setAttributeNode(cssClassName);
	
		// pour un bel affichage sous pas IE
		if (!isIE){
			positionInitCallback(div);
			div.setStyle({'width' : '440px'});
		}
		
		body.appendChild(div);
		div = $(id);
		
		// Si IE on doit le faire maintenant
		if (isIE){
			positionInitCallback(div);
			div.setStyle({'width' : '1px'});
		}

	    var params = null;
	    if ($(form) != undefined) {
	      params = Form.serialize(form, true);
	    }
	    
	    //reconstruction avec ajout des parametres
	    url+="?reqTime=" + (new Date()).getTime();
	    url+="&" + varUrl;
	    //alert("url="+url);

		new Ajax.Updater($(id), url,
			{
				method : 'GET',
				parameters : params,
				asynchronous : false,
				onComplete : function(transport) {
					if ($('contratList')) $('contratList').hide();
					div.setStyle({display : 'block'});
					isOpen = true;
					idCallBack = id;
					idLink = link;				
					//rustine MEFAV
					if (id == 'callbacklayerMEFAV'){
						move2();
					}else{
						move($(form), url);
					}	
					div.setStyle({visibility : 'visible'});
				},
				onFailure : function() {
					//alert ("Une erreur technique s'est produite");
				}
			}
		);

		// On masque le div pendant les tests
		$(id).style.display = 'none';	

		// Bug IE Wait pour laisser le temps à IE d'afficher la popup
		for(var index=0; index < 100; index++) {}

	
		varNonIdent = "id";
		// Test si besoin de redirection vers la fiche d'identification
		var divContain = $(id).innerHTML;
		divContain = trim(divContain);
		position = divContain.indexOf (";", 1);
		varNonIdent = divContain.substring (0, position);
		varFiche = divContain.substring (position + 1, divContain.length);

		//alert ("varNonIdent = " + varNonIdent + " varFiche = " + varFiche);

		if (varNonIdent == "NonIdentifie") {
		  varFiche = varFiche.replace (/&amp;/g, '&');
		  if(urlhost.indexOf("entrepros",1)>0){
		  	varFiche = varFiche.replace ('particulier', 'entrepros');
		  }

		  // Cas perte sesssion popup FF
		  var isAccesFiche = urlhost.indexOf('accesFiche');
		  if (isAccesFiche!=-1){
				alert("Votre session a expiré \n\n Aprés 15 minutes d'inactivité, pour des raisons de sécurité, nous vous remercions de vous identifier de nouveau. \n\n Merci de cliquer sur le bouton ci-dessous pour vous réidentifier. \n\n");
       
       			if(urlhost.indexOf("entrepros",1)>0){
	       			window.opener.location.href="/banque/portail/entrepros/HomeConnexion?type=homeconnex";	
       			}
       			else{
       				window.opener.location.href="/banque/portail/particulier/HomeConnexion?type=homeconnex";	
       			}
      			timeout(0,"closeCallBackWindow");
       			window.close();
       			//exit;
		  } else {
		  		//alert("url de redirection : "+ varFiche);
			 	//window.location.href = varFiche;
			 	//$(id).style.display = 'inline';
			 	if(urlhost.indexOf("idBack")<0){
				 	if (urlhost.substring(0,5)!="https") {
				 		urlRedirection = new String(window.location.href); 
				 		urlRedirection = urlRedirection.substring(urlRedirection.indexOf("?")+1,urlRedirection.length);
				 		if(urlhost.indexOf("entrepros",1)>0){
				 			urlRedirection = document.getElementById(form).urlSecure.value + "/banque/portail/entrepros/Fiche?"+urlRedirection+"&displayCallBack=true&identifiantCallBack="+id.split("_")[1];
				 		}
				 		else{
				 			urlRedirection = document.getElementById(form).urlSecure.value + "/banque/portail/particulier/Fiche?"+urlRedirection+"&displayCallBack=true&identifiantCallBack="+id.split("_")[1];
				 		}
				 		window.location.href =urlRedirection;
				 		return;
				 	}else{
				 		window.location.href = varFiche;
				 	}
				 }
		  }

		}else{
			$(id).style.display = 'inline';	
			
			//redimensionnement de l'iframe sous IE (automatique sous ff)
			if (isIE){
				checkSizeDivSFF(id);
			}
			//application du style du fichier de config
			changeStyle(id);
			//prise de stat (clique sur le bouton callback)
			setStatCallback(document.getElementById("cbAppelStat").value,document.getElementById("zoneAppelCallback").value);
			//prise de stat (affichage d'un ecran)
			setStatCallback(document.getElementById("pageId").value,document.getElementById("zoneConsultCallback").value);	
			//prise de performance 
			setPerfCallback(document.getElementById("perfCampagne").value,document.getElementById("cbPerfLien").value);
			
		}
		
	}
	
}

function checkSizeDivSFF(id) {
	var calque = document.getElementById(id);
	var iframevar = document.getElementById("callbackiframe");
	var hauteur = calque.offsetHeight;
	var largeur = calque.offsetWidth;
	iframevar.style.height = hauteur +"px";
	iframevar.style.width = largeur +"px";
}

function changeStyle(id){
	if(document.getElementById("callbackStyle")!=null){
		var styleName = document.getElementById("callbackStyle").value;
		var calque = document.getElementById(id);
		calque.className = styleName;
	}
}




/**
 * Permet d'extraire la valeur d'un parametre.
 * 
 * @return
 * 	Valeur extraite ou valeur par defaut.
 */

function extract(chaine, parametre, pattern, defaultValue){

	var expression = new RegExp(parametre + "=(" + pattern+")")

	var r = expression.exec(chaine);

	if(r!=null && r.length == 2){

		return r[1];	

	}

	return defaultValue;

}



function trim(string) { 

   return string.replace(/(^\s*)|(\s*$)/g,''); 

} 



function reloadCallBack(url, form, duree) {

	if(isOpen) {
		var params = Form.serialize(form, true);
		

		new Ajax.Updater($(idCallBack), url,

			{

				method : 'GET',

				parameters : params,

				onComplete : function(transport) {

					

					// On verifie que l'utilisateur n'est pas deconnecte

					var divContain = $(idCallBack).innerHTML;

					divContain = trim(divContain);

					position = divContain.indexOf (";", 1);

					varNonIdent = divContain.substring (0, position);

					varFiche = divContain.substring (position + 1, divContain.length);

					//alert ("varNonIdent = " + varNonIdent + " varFiche = " + varFiche);

					if (varNonIdent == "NonIdentifie") {

						$(idCallBack).style.display = 'none';

						//alert ("Vous avez ete deconnecte.\nVous allez etre redirige vers la page d'accueil");

						positionPart = varFiche.indexOf ("particulier", 1);

						urlRedirect = varFiche.substring (0, positionPart + 12) + "HomePage?type=site";

						//alert ("urlRedirect = " + urlRedirect);

						window.location.href = urlRedirect;

					}

					//prise de stat (affichage d'un ecran)
					setStatCallback(document.getElementById("pageId").value,document.getElementById("zoneConsultCallback").value);		

					// pour le rdvt, si rappel1 et rappel2 existe alors ca veut dire que la page en cours est celle de la confirmation du rdvt
					// et il faut remplacer 2 @@
					// et donc les value des @@ auront les valeurs des input hidden de rdvTel.jsp
					var rappel1 = document.getElementById("rappel1");
					var rappel2 = document.getElementById("rappel2");
					if(rappel1!=null && rappel2!=null && typeof(rappel1)!="undefined" && typeof(rappel2)!="undefined"){
						var zone = document.getElementById('publication');
						var contenu = zone.innerHTML;
						contenu = contenu.replace("@DATE@",rappel2.value);
						contenu = contenu.replace("@CRENEAU@",rappel1.value);
						zone.innerHTML = contenu;
					}
					
					// Gestion de la redirection
					var indicateur = $('redirection');
					
					
					if(indicateur) {
					
						timeout(duree,"closeCallBackWindow");

					}

				},

				onFailure : function() {

					//alert ("Une erreur technique s'est produite");

				}

			}

		);



        // Bug IE Wait pour laisser le temps à IE d'afficher la popup

		for(var index=0; index < 100; index++) {}
		
		
	
	}

}



function redirect() {

	// non testee

	// var url = $F('urlIdentification');



	// window.location.replace(url);

}

/**
fonction envoyant le hit des stats pour weborama.
Lors de la cinematique du callback, on distingue 4 hits differents : 
	- le clic sur l'icone 'un conseiller vous rappelle'
	- l'affichage du 1er formulaire de saisie
	- le clic sur Valider
	- l'affichage du second formulaire
mode_callback : selon le cas, correspond à code_statistique_appel OU code_statistique_consult
code_stat : selon le cas, correspond à cbAppelStat OU cbValidationStat OU code de la page (200,300,...)

*/
function setStatWReport(mode_callback, code_stat){
	//WSReport callback
	var WRP_SECTION = 'CB '+LIB_DOSSIER_COURANT;
	var WRP_SUBSECTION = mode_callback+"-"+code_stat;
	var WRP_ID = ID_CONSOLE_OUTIL;
	var WRP_CONTENU = LIB_UNIVERS_COURANT;
	var WRP_CHANNEL = PROFIL1;
	var WRP_ACC='0';
	var WRP_CONTENU2 = '';
	//alert("envoie stat ...\nWRP_SECTION="+WRP_SECTION+"\nWRP_SUBSECTION="+WRP_SUBSECTION+"\nWRP_ID="+WRP_ID
	//+"\nWRP_CONTENU="+WRP_CONTENU+"\nWRP_CONTENU2="+WRP_CONTENU2+"\nWRP_CHANNEL="+WRP_CHANNEL+"\nPROFIL1="+PROFIL1+"\nPROFIL2="+PROFIL2
	//+"\nPROFIL3="+PROFIL3+"\nPROFIL4="+PROFIL4);
	if(wreport_ok==1){
		make_stat_simple(WRP_SECTION,WRP_SUBSECTION,WRP_ID,WRP_ACC,WRP_CHANNEL,WRP_CONTENU, PROFIL1, PROFIL2, PROFIL3, PROFIL4, WRP_CONTENU2);
	}

}

function setStatCallback(page,zone){
	// envoi du hit pour weborama
	setStatWReport(zone,page);
	
	
}

function setPerfCallback(campagne,lien){
	// <debut du ClicTag webo en image>
	var urlPerf =  "https://bnpparibasnet.solution.weborama.fr/fcgi-bin/performance.fcgi?ID=144092&A=1&P=4543&T=I&C="+campagne+"&L="+lien;
	var wbo_img = new Image();
	wbo_img.src =urlPerf;
}

function closeCallBackWindow(){

	if(isOpen) {
	
		
		/*zones = document.getElementsByTagName("select");
		for(i=0; i<zones.length; i++){
				zone = zones[i];
			 	zone.style.visibility='visible';
		}*/

		var div = $(idCallBack);

		

		div.remove();

		

		isOpen = false;

		idCallBack = -1;

		idLink = -1;

		if ($('contratList')) $('contratList').show();
		
		

	}

}



function move(form, url) {

	

	var formulaire = $(form);

	var x = -1;

	var y = -1;

	var mode = 0;

	

	if($(form)) {

	  x = formulaire["cbPosX"].getValue();

	  y = formulaire["cbPosY"].getValue();

	  mode = formulaire["cbWindowMode"].getValue();

	}else{

		x = extract(url, "cbPosX", "[0-9]*", -1);

		y = extract(url, "cbPosY", "[0-9]*", -1);

		mode = extract(url, "cbWindowMode", "[0-9]+", 0);

	}

		

	positionCallBackWindow(x, y, mode);

}



function move2(){

	//alert('move 370 100 2');

	var x = 370;

	var y = 100;

	var mode = 2;

	positionCallBackWindow(x, y, mode);	

}	



function pageWidth() {

	return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null;

} 

function pageHeight() {

	return  window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement	.clientHeight : document.body != null? document.body.clientHeight : null;

} 

	

function posLeft() {

	return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;

} 

	

function posTop() {

	return typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;

} 

	

function posRight() {

	return posLeft()+pageWidth();

}



function posBottom() {

	return posTop()+pageHeight();

}                    



function positionCallBackWindow(x,y, mode){

	var callBackWindowDiv = $(idCallBack);

	

	if(mode == '0') { // centre

		var midY = pageHeight() / 2;

		var midX = pageWidth() / 2;



		var divWidth = callBackWindowDiv.getWidth();

		var divHeight = callBackWindowDiv.getHeight();



		x = midX - (divWidth / 2);

		y = midY - (divHeight / 2);

	} else if(mode == '1') { // a cote du lien de façon intelligente

		var link = $(idLink).down();

		if(link == null) {

			link = $(idLink);

		}

				

		var linkX = getLeft(link);

		var linkY = getTop(link);

		var linkWidth = link.getWidth();

		var linkHeight = link.getHeight();

		var divWidth = callBackWindowDiv.getWidth();

		var divHeight = callBackWindowDiv.getHeight();

		

		if(linkX + linkWidth + divWidth > pageWidth()) { // placement à gauche du lien

			x = linkX - divWidth;

		} else { // placement à droite du lien

			x = linkX + linkWidth;

		}

			

		if(linkY + linkHeight + divHeight > pageHeight()) { // placement en haut du lien

			y = linkY - divHeight;

		} else { // placement en bas du lien

			y = linkY + linkHeight;			

		}

	}

	// dans le dernier mode, on prend la valeur des parametres x et y

	callBackWindowDiv.setStyle({left : x + 'px', top : y + 'px'});

}



function checkPays(idForm, idPays, idIndicatif, telephone) {

	var pays;

	var indicatif;

	var telephone;

	if(document.all) {

		pays = $(idPays);

		indicatif = $(idIndicatif);

		telephone = $(telephone);

	} else {

		pays = $(idForm)[idPays];

		indicatif = $(idForm)[idIndicatif];

		telephone = $(idForm)[telephone];		

	}



	if(pays.getValue() != 'France') {

		indicatif.value = "00";

		indicatif.show();

		telephone.maxLength = 30;

	} else {

		indicatif.value = "";

		indicatif.hide();

		telephone.maxLength = 10;

		telephone.value="";

	}

}



function getLeft(MyObject) {

	if (dom || ie4) {

	    if (MyObject.offsetParent)

	        return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));

	    else 

	        return (MyObject.offsetLeft);

    }

	if (ns4) {

    	return (MyObject.x);

	}

}



function getTop(MyObject) {

	if (dom || ie4) {

		if (MyObject.offsetParent)

			return (MyObject.offsetTop + getTop(MyObject.offsetParent));

		else

			return (MyObject.offsetTop);

	}

	if (ns4) {

		return (MyObject.y);

	}

}



function timeout(duree, fonction) {

	window.setTimeout(fonction + "()", duree * 1000);

}

