function getObject(cName){
	var coll;
	coll = eval("document.MyForm."+cName);
	return coll;
}

function getVal(fName){
	var coll;
	coll = eval("document.MyForm."+fName);
	if (coll!=null)
		return coll.value;
}

function setVal(sName, dName){
	var scoll, dcoll;
	scoll = eval("document.all."+sName);
	dcoll = eval("document.all."+dName);
	if ((scoll!=null)&&(dcoll!=null))
		dcoll.value = scoll.value 
	else
		dcoll.value = "";	
}

function syncSelect(sName, dName, sdetName, detName){
	var scoll, dcoll, sdetcoll, detcoll;
	var cIndex;
	var detarr = new Array();
	scoll = eval("document.all."+sName);
	dcoll = eval("document.all."+dName);
	sdetcoll = eval("document.all."+sdetName);
	detcoll = eval("document.all."+detName);
	if ((scoll!=null)&&(dcoll!=null))
		dcoll.options[scoll.selectedIndex].selected = true;
	else
		dcoll.options[0].selected = true;
	//referenced to the jsfoot
	cIndex = dcoll.selectedIndex;
	detarr = detail;
	for (m=detcoll.options.length-1;m>0;m--)
		detcoll.options[m]=null
	detcoll.options[0]=new Option('Province not available','0');
	for (i=0;i<detarr[cIndex].length;i++){
		detcoll.options[i]=new Option(detarr[cIndex][i].text,detarr[cIndex][i].value);
	}
	detcoll.options[sdetcoll.options.selectedIndex].selected=true
}

function resetVal(fName){
	var coll;
	coll = eval("document.all."+fName);
	if (coll!=null)
		coll.value = "";	
}

function getIndex(cName, obj){
	var i, result;
	var obj, coll;
	coll = document.all[cName];
	if (obj!=null){
		for (i=0; i<coll.length; i++){
			if (coll[i]==obj){
				result = i;
				break;
			}	
		}
	}		
	return result;
}

function howLong(yrname, moname, dyname) {   
	//Parameters are calendar Year,Month,Day	
	var moFlag = 0;
	var dyFlag = 0;
	var dy = (eval("document.MyForm."+dyname)).value;
	var mo = (eval("document.MyForm."+moname)).value;
	var yr = (eval("document.MyForm."+yrname)).value;
	var nDate = new Date();  // current date (local)
	var nowTime = nDate.getTime();  // current time (UTC)
	var thenTime = Date.UTC(yr, mo-1, dy);  // specified time (UTC)
	var thisYear = nDate.getFullYear();
	var thisMonth = nDate.getMonth();
	var thisDay = nDate.getDate();
	if (nowTime >= thenTime) {   //-----------------Past or present time
		if ((thisMonth > mo-1) || ((thisMonth == mo-1) && (thisDay >= dy))) {
			whYrs = thisYear - yr;
			spareDys = parseInt((nowTime - Date.UTC(thisYear,mo-1,dy))/(3600000*24));
			if ((mo == 2 && dy == 29)  && ((thisYear%4 != 0) || (thisYear%100 == 0 &&  thisYear%400 != 0))) {spareDys = spareDys + 1}
		} else {
			whYrs = thisYear - yr - 1;
			spareDys = parseInt((nowTime - Date.UTC(thisYear-1,mo-1,dy))/(3600000*24));
			if ((mo == 2 && dy == 29)  && (((thisYear-1)%4 != 0) || ((thisYear-1)%100 == 0 && (thisYear-1)%400 != 0))) {spareDys = spareDys + 1}
		}
		if (whYrs >= 18){
			return true;
		} else {
			alert("You must be more than 18 years old to register");
			return false;
		}
	} else {   //----------------------------Future time
		if ((thisMonth < mo-1) || ((thisMonth == mo-1)&& (thisDay <= dy))) {
			whYrs = yr - thisYear;
			spareDys = parseInt((thenTime - Date.UTC(yr,thisMonth,thisDay))/(3600000*24));
			if ((thisMonth == 1 && thisDay == 29)  && ((yr%4 != 0) || (yr%100 == 0 && yr%400 != 0))) {spareDys = spareDys - 1}
		} else {
			whYrs = yr - thisYear - 1;
			spareDys = parseInt((thenTime - Date.UTC(yr-1,thisMonth,thisDay)) /(3600000*24));
			if ((thisMonth == 1 && thisDay == 29)  && (((yr-1)%4 != 0) || ((yr-1)%100 == 0 && (yr-1)%400 !=   0))) {spareDys = spareDys - 1};
		}
		alert("You must be more than 18 years old to register");
		return false;
	}
}

function switchCtrl(ctl1, ctl2, ctl){
	var obj1 = eval("document.MyForm."+ctl1);
	var obj2 = eval("document.MyForm."+ctl2);
	var obj = eval("document.MyForm."+ctl);
	if (obj1.checked) {
		obj2.checked = false;
		obj.value = (obj1.name=='fomatNewsletterText')?0:1;
	}	
	else {
		obj2.checked = true;
		obj.value = (obj2.name!='fomatNewsletterText')?1:0;
	}	
}

function setValue(ctl, hCtl){
	var obj1 = eval("document.all."+ctl);
	var obj2 = eval("document.all."+hCtl);
	if (obj1.checked) {
		obj2.value = 1;
	}	
	else {
		obj2.value = 0;
	}	
}

function checkPw(pwd1, pwd2) {
	pw1 = (eval("document.MyForm."+pwd1)).value;
	pw2 = (eval("document.MyForm."+pwd2)).value;
	if ((pw2.length != 0)&&(pw1.length != 0)){
		if (pw1 != pw2) {
			alert ("\nYou did not enter a correct password, please try again.")
			return false;
		}
	}	
	else if ((pw2.length == 0)&&(pw1.length != 0)){
		alert ("Please confirm the password!");
		return false;
	}	
	else if ((pw2.length != 0)&&(pw1.length == 0)) {
		alert ("You did not enter the password!");
		return false;
	}	
	else {
		return false;
	}	
	return true;
}

function isZip(zip) {
	var obj = eval("document.MyForm."+zip);
	if (obj.value.length != 5 || isNaN(obj.value / 4)) {
		alert("Please enter a 5 digit, numeric zip code.");
		return false;
	}	
	else
		return true;	
}

function VerifyNumericValue(){
	if (event.keyCode < 45 || event.keyCode > 57) {
		event.returnValue = false;
		alert('The value for this field must be numerical');
		return false;
	}
	return true;
}

function is_normal(valeur){
	var pattern = "/[0-9A-Za-z]/si";
	/*var pattern = new RegExp("[0-9A-Za-z]", "gi");*/
	if (valeur.match(pattern)) 
		return false;
	return true;	
}

function VerifyNormalChar(){
	if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97)){
		alert('The password must be made of characters and/or figures like (a..z) or (A..Z) or (0..9)');
		event.returnValue = false;
		return false;
	}
	return true;
}

// Controle la longueur du mot de passe
function VerifyLengthPwd(objName){
	var obj = eval("document.MyForm."+objName);
	if ((obj.value.length > 0)&&(obj.value.length < 6)) {
		//event.returnValue = false;
		if (is_normal(obj.value)) {
			alert('A minimum of 6 characters is required for the password');
		}	
		return false;
	} else{
		return true;
	}
}

function VerifyControls(arrCtlName, arrCtlLegend){
	var obj = new Array();
	for(i=0; i<arrCtlName.length; i++){
		//obj[i] = eval("document.MyForm."+arrCtlName[i]);	
		obj[i] = getObject(arrCtlName[i]);
	}
	var OK = true;
	var Msg = '';
	Msg += 'Typing: ';
	for (i=0; i < obj.length; i++){
		if ((obj[i].value == "")||(obj[i].value == null)){
		    Msg += '\n - ';
			Msg += arrCtlLegend[i];			
			Msg += ',';
			OK = false;
		}
	}
	if (!OK){
	    Msg = Msg.substring(0, Msg.length - 1);
	    Msg += '\n is mandatory.';			
		alert(Msg);
	}	
	return OK;
}

function VerifyValues(status, arrCtlName, arrCtlLabel){
	var obj = new Array();
	var lab = new Array();
	for(i=0; i<arrCtlName.length; i++){
		//obj[i] = eval("document.MyForm."+arrCtlName[i]);	
		obj[i] = getObject(arrCtlName[i]);
		lab[i] = getObject(arrCtlLabel[i]);
	}
	var OK = true;
	var Msg = '';
	for (i=0; i < obj.length; i++){
		if ((obj[i].value == "")||(obj[i].value == null)||(obj[i].value == "00")||(obj[i].value == "0000")){
			lab[i].style.color='#FF0000';		
			OK = false;
		} else {
			if (status==false) 
				lab[i].style.color='#000000';		
			else
				lab[i].style.color='#2C5A87';			
		}	
	}
	return OK;
}

function ChangeColor(status, arrCtlMsg, inval){
	lab = getObject(arrCtlMsg);
	//lab = eval("document.MyForm."+arrCtlMsg);
	if (inval == false){
		lab.style.color='#FF0000';		
		OK = false;
	} else {
		if (status==false) 
			lab.style.color='#FFFFFF';		
		else
			lab.style.color='#2C5A87';			
	}	
}

/*****************************HELP***********************************/
// Pour demande d'assistance
function Validate_Inscription(){

	var arrCtlName = new Array();
	var arrCtlLabel = new Array();
	var emailVal = getVal("email_cnt");
	
	arrCtlName[0] = "nom_cnt";
	arrCtlName[1] = "email_cnt";
	arrCtlName[2] = "tel_cnt";
	
	arrCtlLabel[0] = "nom";
	arrCtlLabel[1] = "email";
	arrCtlLabel[2] = "tel";
	
	var res1 = VerifyValues(true, arrCtlName, arrCtlLabel);
	var res2 = emailCheck (emailVal);
	var res = ((res1)&&(res2));
	ChangeColor(false, "msg_erreur", res);
	
	if (res==true){ 
		document.MyForm.submit();				
	}
	
}

// Pour enregistrement de garantie
function Validate_Garantie(){

	var arrCtlName = new Array();
	var arrCtlLabel = new Array();
	var emailVal = getVal("email_cnt");
	
	arrCtlName[0] = "nom_cnt";
	arrCtlName[1] = "email_cnt";
	arrCtlName[2] = "tel_cnt";
	arrCtlName[3] = "modele_gar";
	arrCtlName[4] = "numserie_gar";
	
	arrCtlLabel[0] = "nom";
	arrCtlLabel[1] = "email";
	arrCtlLabel[2] = "tel";
	arrCtlLabel[3] = "modele";
	arrCtlLabel[4] = "numserie";
	
	var res1 = VerifyValues(true, arrCtlName, arrCtlLabel);
	var res2 = emailCheck (emailVal);
	var res = ((res1)&&(res2));
	ChangeColor(false, "msg_erreur", res);
	ChangeColor(true, "msg_required", res);
	
	if (res==true){ 
		document.MyForm.submit();				
	}
	
}

// Pour validation de contrat de service
function Validate_Contract(){

	var arrCtlName = new Array();
	var arrCtlLabel = new Array();
	var emailVal = getVal("email_cont");
	
	arrCtlName[0] = "numcontrat_cont";
	arrCtlName[1] = "nom_cont";
	arrCtlName[2] = "prenom_cont";
	arrCtlName[3] = "societe_cont";
	arrCtlName[4] = "adresse_cont";
	arrCtlName[5] = "codepostal_cont";
	arrCtlName[6] = "ville_cont";
	arrCtlName[7] = "email_cont";
	
	arrCtlLabel[0] = "numcontrat";
	arrCtlLabel[1] = "nom";
	arrCtlLabel[2] = "prenom";
	arrCtlLabel[3] = "societe";
	arrCtlLabel[4] = "adresse";
	arrCtlLabel[5] = "codepostal";
	arrCtlLabel[6] = "ville";
	arrCtlLabel[7] = "email";
	
	var res1 = VerifyValues(false, arrCtlName, arrCtlLabel);
	var res2 = emailCheck (emailVal);
	var res = ((res1)&&(res2));
	ChangeColor(false, "msg_erreur", res);
	
	if (res==true){ 
		document.MyForm.submit();				
	}
	
}

function Validate_Oublie(){

	var arrCtlName = new Array();
	var arrCtlLabel = new Array();
	var emailVal = document.MyForm.email_cnt.value;
	//var emailVal = getVal('email_cnt');
	
	arrCtlName[0] = "email_cnt";
	arrCtlLabel[0] = "email";
	
	var res1 = VerifyValues(false, arrCtlName, arrCtlLabel);
	var res2 = emailCheck (emailVal);
	
	if ((res1)&&(res2)){ 
		document.MyForm.submit();				
	}
	
}

function Validate_Login(){

	var arrCtlName = new Array();
	var arrCtlLabel = new Array();
	
	arrCtlName[0] = "user_login";
	arrCtlName[1] = "password_login";
	arrCtlLabel[0] = "user";
	arrCtlLabel[1] = "pwd";
	
	var res1 = VerifyValues(false, arrCtlName, arrCtlLabel);
	
	if (res1){ 
		document.MyForm.submit();				
	}
	
}

// Pour la commande
function Validate_Commande(){

	var arrCtlName = new Array();
	var arrCtlLabel = new Array();
	var emailVal = getVal("email_liv");

	arrCtlName[0] = "nom_cnt";
	arrCtlName[1] = "prenom_cnt";
	arrCtlName[2] = "societe_cnt";
	arrCtlName[3] = "adresse_cnt";
	arrCtlName[4] = "codepostal_cnt";
	arrCtlName[5] = "ville_cnt";
	arrCtlName[6] = "email_cnt";
	arrCtlName[7] = "tel_cnt";
	
	arrCtlName[8] = "nom_liv";
	arrCtlName[9] = "prenom_liv";
	arrCtlName[10] = "societe_liv";
	arrCtlName[11] = "adresse_liv";
	arrCtlName[12] = "codepostal_liv";
	arrCtlName[13] = "ville_liv";
	arrCtlName[14] = "email_liv";
	arrCtlName[15] = "tel_liv";

	arrCtlLabel[0] = "cnt_nom";
	arrCtlLabel[1] = "cnt_prenom";
	arrCtlLabel[2] = "cnt_societe";
	arrCtlLabel[3] = "cnt_adresse";
	arrCtlLabel[4] = "cnt_codepostal";
	arrCtlLabel[5] = "cnt_ville";
	arrCtlLabel[6] = "cnt_email";
	arrCtlLabel[7] = "cnt_tel";
	
	arrCtlLabel[8] = "liv_nom";
	arrCtlLabel[9] = "liv_prenom";
	arrCtlLabel[10] = "liv_societe";
	arrCtlLabel[11] = "liv_adresse";
	arrCtlLabel[12] = "liv_codepostal";
	arrCtlLabel[13] = "liv_ville";
	arrCtlLabel[14] = "liv_email";
	arrCtlLabel[15] = "liv_tel";
	
	var res1 = VerifyValues(false, arrCtlName, arrCtlLabel);
	var res2 = emailCheck (emailVal);
	var res = ((res1)&&(res2));
	ChangeColor(false, "msg_erreur", res);
	
	if (res==true){ 
		document.MyForm.submit();				
	}
	
}

// Pour la validation de la commande
function Validate_Order(){

	var arrCtlName = new Array();
	var arrCtlLabel = new Array();
	
	arrCtlName[0] = "carte_nom";
	arrCtlName[1] = "carte_numero";
	arrCtlName[2] = "expiration_mois";
	arrCtlName[3] = "expiration_annee";
	
	arrCtlLabel[0] = "nom";
	arrCtlLabel[1] = "numcarte";
	arrCtlLabel[2] = "expiration";
	arrCtlLabel[3] = "expiration";
	
	var res1 = VerifyValues(false, arrCtlName, arrCtlLabel);
	ChangeColor(false, "msg_erreur", res1);
	
	if (res1){ 
		document.MyForm.submit();				
	}
	
}

// Pour la redirection
function href(ahref){
		document.location.href=ahref;
}

/*****************************HELP***********************************/


function MM_openBrWindow(url,titre,largeur,hauteur,scro){ 
	var prop = "status=no, toolbar=no, scrollbars=yes, resizable=0, width="+largeur+", height="+ hauteur;
	var w=window.open(url,titre,prop);
	var windowX = (screen.width/2)-(largeur/2);
	var windowY = (screen.height/2)-(hauteur/2);
	w.moveTo(windowX, windowY);
	var autoclose = true
	w.focus()
	if(autoclose){
		window.onunload = function(){w.close()}
	}    
}

// To submit the Product Search 
function submit_Search_Pro(){
	var code = document.ProForm.search_pro.value;
	if (code.length == 0){
		alert("Please enter your key word.");
	} else {
		document.ProForm.submit();
	}
}

// To submit the Product Search 
function submit_Search_Knowledge(){
	var code = document.knowledgeform.search_knowledge.value;
	if (code.length == 0){
		alert("Please enter your key word.");
	} else {
		document.knowledgeform.submit();
	}
}

// initialise le champ de saisie
function init_input(value) {
	if (value == "E-mail") document.mailingForm.emailing.value = "";
}

// To submit the mailing form 
function submit_mailing(){
	
	if (emailCheck(document.mailingForm.emailing.value)){
	var code = document.mailingForm.emailing.value;
	if (code.length == 0){
		alert("Please enter your e-mail.");
	} else {
		document.mailingForm.submit();
	}
	}
}

// To control the radio buttons
function radioControl(radioname, myObj, ctrl_dest){
	var obj = getObject(radioname);
	var obj_dest = getObject(ctrl_dest);
	if (obj.length != 0){
		if (myObj.checked == true)
	 		obj_dest.value = getIndex(radioname, myObj); 	
	}
}

// Cast values in the commande_affiche.htm
function castValue(obj){
	if (obj.checked==true){
		setVal('nom_cnt', 'nom_liv');
		setVal('prenom_cnt', 'prenom_liv');
		setVal('societe_cnt', 'societe_liv');
		setVal('adresse_cnt', 'adresse_liv');
		setVal('codepostal_cnt', 'codepostal_liv');
		setVal('ville_cnt', 'ville_liv');
		syncSelect('idpays_cnt', 'idpays_liv','idprovince_cnt' ,'idprovince_liv');
		setVal('email_cnt', 'email_liv');
		setVal('tel_cnt', 'tel_liv');
		setVal('mobile_cnt', 'mobile_liv');
	} else {
		resetVal('nom_liv');
		resetVal('prenom_liv');
		resetVal('societe_liv');
		resetVal('adresse_liv');
		resetVal('codepostal_liv');
		resetVal('ville_liv');
		//resetVal('idprovince_liv');
		//resetVal('idpays_liv');
		resetVal('email_liv');
		resetVal('tel_liv');
		resetVal('mobile_liv');
	}	
}

//
function submit_panier(panier) {
	if(panier=="service") {
		document.form_associe.pdt.value = document.form_associe.list_idproduits2.value;
	}
	else {
		document.form_associe.pdt.value = document.form_associe.list_idproduits1.value;
	}
	if(document.form_associe.pdt.value != "") document.form_associe.submit();
}

var list_add = new Array();
var list_add1 = new Array();
var list_add2 = new Array();
var list_idproduits1, list_idproduits2;

function add_list(objet, numpanier){
	var list_id = "";
	var list_id1 = "";
	var list_id2 = "";
	var tab = eval("list_add"+numpanier);
	if(objet.checked) {
		id = objet.name;
		tab[id] = id;
	}
	else {
		id = objet.name;
		tab[objet.name] = "";
	}		
	
	for (var i=0;i<tab.length;i++){
		if (!isNaN(tab[i])) {
			if (tab[i] != ""){
				if (list_id=="") {
					list_id = tab[i];
				}
				else {
					list_id = list_id + ',' + tab[i];
				}
			}
		}	
	}
	var df = "document.form_associe";
	var Panier = eval(df+".list_produits"+numpanier);
	Panier.value = tab;
	
	var list_panier = eval(df+".list_idproduits"+numpanier);
	list_panier.value = list_id;
//	alert (list_panier.value);
}
