dojo.addOnLoad(function() {
		var nMetier1      = dojo.byId("metier_lvl1");
		var nMetier2      = dojo.byId("metier_lvl2");
		var nMetier3      = dojo.byId("metier_lvl3");
		var nMetier1Lbl   = dojo.byId("metier_lvl1_Label");
		var nMetier1Lbl   = dojo.byId("metier_lvl2_Label");
		var nMetier1Lbl   = dojo.byId("metier_lvl3_Label");
		var sMyJob = null;

		var sNumOrdre     = dojo.byId("num_ordre");
		var sNumOrdreLbl  = dojo.byId("num_ordre_Label");
		
		
		//Permet d'afficher ou effacer le contenu des champs sur un evenement.
		var sLogin        = dojo.byId("Login");
		var sPassword     = dojo.byId("Passwd");
		
		if(sLogin && sPassword){
			LoginFieldsBehaviours(sLogin,sPassword);
		}


		/* Verification de sécurité, si les combos ne sont pas présentes on sort */
		if(!nMetier1 || nMetier1.type != "select-one") return;
		if(!nMetier2 || nMetier2.type != "select-one") return;
		if(!nMetier3 || nMetier3.type != "select-one") return;
				
		/*Spécifique : uniquement dans le cas d'un vétérinaire*/
		displayNumOrdre(sNumOrdre,sNumOrdreLbl, nMetier1, 5);


		var i = 0;
		for(i = 0; i < nMetier1.options.length; i++) {
			var nOption = nMetier1.options[i];
			var JobID    = nOption.value;
			var JobAlias = dojo.attr(nOption, 'alt');
			var JobName  = nOption.text;
			
			if(JobAlias) {
				aJobs[JobAlias] = {
					JobID: JobID,
					Alias: JobAlias,
					Name: JobName,
					SubJobs: Array()
				};
			}
		}
		sMyJob = dojo.attr(nMetier1.options[nMetier1.selectedIndex], "alt");
		// console.log(sMyJob);


		for(i = 0; i < nMetier2.options.length; i++) {
			var nOption = nMetier2.options[i];
			var JobID    = nOption.value;
			var JobAlias = dojo.attr(nOption, 'alt');
			var JobName  = nOption.text;
			
			if(JobAlias) {
				var aAliasParts = JobAlias.split('_');
				if(aAliasParts.length != 2) continue;


				aJobs[aAliasParts[0]]['SubJobs'][aAliasParts[1]] = {
					JobID: JobID,
					Alias: JobAlias,
					Name: JobName,
					SubJobs: Array()
				};
			}
		}
		sMyJob = dojo.attr(nMetier2.options[nMetier2.selectedIndex], "alt") || sMyJob;
		// console.log(sMyJob);


		for(i = 0; i < nMetier3.options.length; i++) {
			var nOption = nMetier3.options[i];
			var JobID    = nOption.value;
			var JobAlias = dojo.attr(nOption, 'alt');
			var JobName  = nOption.text;
			
			if(JobAlias) {
				var aAliasParts = JobAlias.split('_');
				if(aAliasParts.length != 3) continue;
				
				aJobs[aAliasParts[0]]['SubJobs'][aAliasParts[1]]['SubJobs'][aAliasParts[2]] = {
					JobID: JobID,
					Alias: JobAlias,
					Name: JobName,
					SubJobs: Array()
				};
			}
		}
		sMyJob = dojo.attr(nMetier3.options[nMetier3.selectedIndex], "alt") || sMyJob;
		if(sMyJob) var aMyJob = sMyJob.split('_');


		clearAllCombobox("metier_lvl2","metier_lvl2_Label");
		clearAllCombobox("metier_lvl3","metier_lvl3_Label");
		// console.log(sMyJob);
		// console.log(aJobs);
		// console.log(aJobs[aMyJob[0]]);
		// console.log(aJobs[aMyJob[0]].SubJobs[aMyJob[1]]);
		
		if(aMyJob) {
			if(aMyJob[1]) {
				BuildJobCombo("metier_lvl2", "metier_lvl2_Label", aJobs[aMyJob[0]], aMyJob[1]);
			}
			
			if(aMyJob[2]) {
				BuildJobCombo("metier_lvl3", "metier_lvl3_Label", aJobs[aMyJob[0]].SubJobs[aMyJob[1]], aMyJob[2]);
			}
		}


		dojo.connect(nMetier1, "onchange",function(e) {
			clearAllCombobox("metier_lvl2","metier_lvl2_Label");
			clearAllCombobox("metier_lvl3","metier_lvl3_Label");
			
			var nSelectedOption = this.options[this.selectedIndex];
			var JobAlias = dojo.attr(nSelectedOption, 'alt');
			// console.log(JobAlias);
			
			if(JobAlias) {
				BuildJobCombo("metier_lvl2","metier_lvl2_Label", aJobs[JobAlias], 0);
			}


			displayNumOrdre(sNumOrdre,sNumOrdreLbl, nMetier1, 5);
		});


		dojo.connect(nMetier2, "onchange",function(e) {
			clearAllCombobox("metier_lvl3","metier_lvl3_Label");
			
			var nSelectedOption = this.options[this.selectedIndex];
			var JobAlias = dojo.attr(nSelectedOption, 'alt');
			// console.log(JobAlias);
			
			if(JobAlias) {
				var aJobPath = JobAlias.split('_');
				BuildJobCombo("metier_lvl3", "metier_lvl3_Label", aJobs[aJobPath[0]].SubJobs[aJobPath[1]], 0);
			}
		});


		dojo.connect(nMetier1, "onkeyup",function(e) {
			clearAllCombobox("metier_lvl2","metier_lvl2_Label");
			clearAllCombobox("metier_lvl3","metier_lvl3_Label");
			
			var nSelectedOption = this.options[this.selectedIndex];
			var JobAlias = dojo.attr(nSelectedOption, 'alt');
			// console.log(JobAlias);
			
			if(JobAlias) {
				BuildJobCombo("metier_lvl2","metier_lvl2_Label", aJobs[JobAlias], 0);
			}


			displayNumOrdre(sNumOrdre,sNumOrdreLbl, nMetier1, 5);
		});


		dojo.connect(nMetier2, "onkeyup",function(e) {
			clearAllCombobox("metier_lvl3","metier_lvl3_Label");
			
			var nSelectedOption = this.options[this.selectedIndex];
			var JobAlias = dojo.attr(nSelectedOption, 'alt');
			// console.log(JobAlias);
			
			if(JobAlias) {
				var aJobPath = JobAlias.split('_');
				BuildJobCombo("metier_lvl3", "metier_lvl3_Label", aJobs[aJobPath[0]].SubJobs[aJobPath[1]], 0);
			}
		});
});

function setHiddenFields(node){
	dojo.style(node, "display", "none");
}


function displayNumOrdre(sNumOrdre,sNumOrdreLbl, nMetier1,id){
	var idMetier = dojo.attr(nMetier1.options[nMetier1.selectedIndex], 'alt');


	if(sNumOrdre && sNumOrdreLbl && idMetier == id){
		dojo.style(sNumOrdre, "display", "block");
		dojo.style(sNumOrdreLbl, "display", "block");
	}else{
		dojo.style(sNumOrdre, "display", "none");
		dojo.style(sNumOrdreLbl, "display", "none");
	}
}


// function checkRegistrationFields(formName){
	// var rules=new Array(); 
	// rules[0]='UserName|required'; 
	// rules[1]='EMail|required'; 
	// rules[2]='Password|required'; 
	// rules[2]='PasswordConf|required'; 
	// rules[3]='PasswordConf|equal|$Password'; 
	// rules[4]='UserName|equal|$EMail'; 
	// var check = performCheck(formName, rules, 'inline');
	// return check;
// }

//A REVOIR
function checkRegistrationFields() {
	var sEmail          = dojo.byId("EMail");
	var sUserName       = dojo.byId("UserName");
	var sPassword       = dojo.byId("Password");
	var sPasswordConf   = dojo.byId("PasswordConf");
	
	var check = false;


	if(sUserName.value == sEmail.value && sUserName.value != "" && sEmail.value != "" ) {
		dojo.attr(sEmail, "class", "LongText");
		dojo.attr(sUserName, "class", "LongText");
		check = true;
	} else {
		dojo.attr(sEmail, "class", "InputBlock DialogError");
		dojo.attr(sUserName, "class", "InputBlock DialogError");
		check = false;
	}


	if(sPassword.value == sPasswordConf.value && sPassword.value != "" && sPasswordConf.value != "") {
		dojo.attr(sPassword, "class", "LongText");
		dojo.attr(sPasswordConf, "class", "LongText");
	} else {
		dojo.attr(sPassword, "class", "InputBlock DialogError");
		dojo.attr(sPasswordConf, "class", "InputBlock DialogError");
		check =  false;
	}


	return check;
}


function LoginFieldsBehaviours(sLogin, sPassword) {
	dojo.connect(sPassword, "onclick",function(e) {
		sPassword.value = "";
	});	
	
	dojo.connect(sPassword, "onfocus",function(e) {
		sPassword.value = "";
	});

	dojo.connect(sPassword, "onblur",function(e) {
		if(sPassword.value == "") {
			sPassword.value = "mot de passe";
		}
	});

	dojo.connect(sLogin, "onclick",function(e) {
		sLogin.value = "";
	});

	dojo.connect(sLogin, "onfocus",function(e) {
		sLogin.value = "";
	});

	dojo.connect(sLogin, "onblur",function(e) {
		if(sLogin.value == ""){
			sLogin.value = " E-mail ";
		}
	});
}


function BuildJobCombo(id, idLabel, hParams, selectedIndex) {
	if(!id) return false;
	var nJobCombo = dojo.byId(id);
	var nJobComboLbl = dojo.byId(idLabel);


	//console.log("BuildJobCombo : "+id);
	// Ajout entrée vide
	try {
		nJobCombo.add(new Option('', ''), null); // standards compliant
	} catch(ex) {
		nJobCombo.add(new Option('', '')); // IE only
	}


	var k = 0;
	for(k in hParams.SubJobs) {
		dojo.style(nJobCombo, "display", "block");
		dojo.style(nJobComboLbl, "display", "block");
		var oSubJob = hParams.SubJobs[k];


		var nOption = new Option(oSubJob.Name, oSubJob.JobID);
		dojo.attr(nOption, "alt", oSubJob.Alias);
		
		try {
			nJobCombo.add(nOption, null); // standards compliant
		} catch(ex) {
			nJobCombo.add(nOption); // IE only
		}
	}


	if(selectedIndex) {
		console.log('index '+selectedIndex);
		nJobCombo.selectedIndex = selectedIndex;
	}
}


function clearAllCombobox(id, idLabel){
	var node = dojo.byId(id);
	var nodeLbl = dojo.byId(idLabel);


	if(node) {
		node.options.length = 0;
		dojo.style(node, "display", "none");
		dojo.style(nodeLbl, "display", "none");
		console.log(id+" cleared");
	}
}


function queryString(key){
	function PageQuery(q) {
		if(q.length > 1) this.q = q.substring(1, q.length);
		else this.q = null;
		
		this.keyValuePairs = new Array();


		if(q) {
			for(var i=0; i < this.q.split("&").length; i++) {
				this.keyValuePairs[i] = this.q.split("&")[i];
			}
		}


		this.getKeyValuePairs = function() { return this.keyValuePairs; }


		this.getValue = function(s) {
			for(var j=0; j < this.keyValuePairs.length; j++) {
				if(this.keyValuePairs[j].split("=")[0] == s)
					return this.keyValuePairs[j].split("=")[1];
			}
			return false;
		}


		this.getParameters = function() {
			var a = new Array(this.getLength());
			for(var j=0; j < this.keyValuePairs.length; j++) {
				a[j] = this.keyValuePairs[j].split("=")[0];
			}
			return a;
		}


		this.getLength = function() { return this.keyValuePairs.length; }
	}


	var page = new PageQuery(window.location.search);
	return unescape(page.getValue(key));
}


dojo.addOnLoad(function() {
	var tracking = queryString('referent');


	if(tracking && tracking != 'false') {
		console.log(tracking);
		dojo.require("dojo.cookie");
		dojo.cookie('tracking', tracking, {
			host: 'www.librairie-social-rh.fr',
			path: '/epages/wksocial.sf'
		});
	}
});