var JQ=jQuery.noConflict();
window.JQ=JQ;
(function($){
window["changeCategoryFirstLevel"] = changeCategoryFirstLevel;
window["bsslLoadXml"] = bsslLoadXml;
window["inputsearchdisplay"] = inputsearchdisplay;
function changeCategoryFirstLevel(para){
	var para = String(para);
	JQ(".titelBlock").html('');
	JQ(".agentMesBlock").html('');
	JQ(".chefMesBlock").html('');
	JQ(".respMesBlock").html('');
	JQ(".postsearcherrormes").html('');
	var paraDis=para;
	if(para.length==1){
		paraDis = "0"+para;
	}
	JQ(".titelBlock").html("<div class='delgeloussearchresult'>Voici les coordonnées de vos contacts pour le département "+paraDis+" :</div>");
	if(para.length==1){
		para = "0"+para;
		displayDelegous(para,2); 
	}
	else if(para.length==2){
		displayDelegous(para,2);
	}
	else if(para.length==3){
		displayDelegous(para,3); 
	}
	else{
		//alert("0");
	}
	
}
function checkRule(para){
	if(para.length==1&&para=="0"){
		return false;
	}
	if(para.length==3&&para!="201"&&para!="202"){
		return false;
	}
	if(para.length==4){
		return false;
	}
	if(para.length>5){
		return false;
	}
	if(!isDigit(para)){
		return false;
	}
	if(delegousmap){
		var codepostals = delegousmap.getElementsByTagName("codepostal");
		var handle =0;
		var endhandle = para.length;
		for(var i=0;i<codepostals.length;i++){
				var code = codepostals[i].attributes.getNamedItem("code").nodeValue;
				if(code.substr(0,endhandle)==para){
					handle=1;
					break;
				}
		}
		if(handle){
			return true;
		}
		else{
			return false;
		}
	}
}
function isDigit(s){
	var patrn=/^[0-9]{1,20}$/;
	if (!patrn.exec(s)) return false
	return true
} 
function inputsearchdisplay(){
	var para = document.getElementById("delegousinputpostcokde").value;
	JQ(".erromes").html('');
	JQ(".titelBlock").html('');
	JQ(".agentMesBlock").html('');
	JQ(".chefMesBlock").html('');
	JQ(".respMesBlock").html('');
	JQ(".postsearcherrormes").html('');
	if(!checkRule(para)){
		JQ(".erromes").html("Le code postal saisi n'existe pas ou est incorrect");
		return false;
	}
	if(para.length==0){
		//alert("Please fill in a postcode!");
		return false;
	}
	if(para.length==1){
		para ="0"+para;
	}
	JQ(".titelBlock").html("<div class='delgeloussearchresult'>Voici les coordonnées de vos contacts pour le code postal "+para+" :</div>");
	displayDelegous(para,para.length);
	return false;
}

function displayDelegous(para,endhandle){
		
		if(delegousmap){
			var codepostals = delegousmap.getElementsByTagName("codepostal");
			var displayDiv = document.getElementById("postsearchresult");
			//displayDiv.innerHTML = "<div class='delgeloussearchresult'>Voici les coordonnées de vos contacts pour le département "+para+" :</div>";
			var dataTelTempHandle = new Array();
			var dataEmailTempHandle = new Array();
			var dataNameTempHandle = new Array();
			var dataneedle =0;
			var dataChefTempHandle;
			// no available data handle,when is 1 meaning there are some available data;0 means no available data;
			var nomessagehandle = 0;
			for(var i=0;i<codepostals.length;i++){
				var code = codepostals[i].attributes.getNamedItem("code").nodeValue;
				var data = new Array();
				var message = new Array();//agent message
				var chefmessage = new Array();//chef message
				var respmessage = new Array();//respgrandscomptes message
				//check the postcode which is the same with the first "var enhandle" letters
				if(code.substr(0,endhandle)==para){
					var targetIterm = codepostals[i];
					//get the childnodes of the target term					
					for(var j=0;j<targetIterm.childNodes.length;j++){
						if(targetIterm.childNodes[j].nodeType==1){
							var firstprex = targetIterm.childNodes[j].nodeName;							
							data[firstprex] =  targetIterm.childNodes[j];
						}
					}
					
					// add agent data;
					if(data["agent"]){
						for(var j=0;j<data["agent"].childNodes.length;j++){
							var nodepara = data["agent"].childNodes[j].nodeName;
							if(data["agent"].childNodes[j].nodeType==1&&data["agent"].childNodes[j].childNodes.length!=0){												
								message[nodepara] = data["agent"].childNodes[j].childNodes[0].nodeValue;
								
								if(trim(message[nodepara])==""){
									//message[nodepara] = "no available data now";
								}
							}else if(data["agent"].childNodes[j].nodeType==1&&data["agent"].childNodes[j].childNodes.length==0){
								//message[nodepara] = "no available data now";
							}
						}
					}
//					/**if this iterm is the same as last one,it will not display again and go on;**/
//					if(dataTempHandle==message["nom"]){
//						continue;
//					}else{
//						dataTempHandle=message["nom"];
//					}
					if(data["chef"]){
						for(var j=0;j<data["chef"].childNodes.length;j++){
							var nodepara = data["chef"].childNodes[j].nodeName;
							if(data["chef"].childNodes[j].nodeType==1&&data["chef"].childNodes[j].childNodes.length!=0){
								chefmessage[nodepara] = data["chef"].childNodes[j].childNodes[0].nodeValue;	
								if(trim(chefmessage[nodepara])==""){
									//Firefox, Mozilla, Opera, etc.
									//chefmessage[nodepara] = "no available data now";
								}							 
							}else if(data["chef"].childNodes[j].nodeType==1&&data["chef"].childNodes[j].childNodes.length==0){
								//Internet Explorer
								//chefmessage[nodepara] = "no available data now";
							}
						}
					}
					
					if(data["respgrandscomptes"]){
						
						for(var j=0;j<data["respgrandscomptes"].childNodes.length;j++){
							var nodepara = data["respgrandscomptes"].childNodes[j].nodeName;
							if(data["respgrandscomptes"].childNodes[j].nodeType==1&&data["respgrandscomptes"].childNodes[j].childNodes.length!=0){
								respmessage[nodepara] = data["respgrandscomptes"].childNodes[j].childNodes[0].nodeValue;	
								if(trim(chefmessage[nodepara])==""){
									//Firefox, Mozilla, Opera, etc.
									//chefmessage[nodepara] = "no available data now";
								}							 
							}else if(data["respgrandscomptes"].childNodes[j].nodeType==1&&data["respgrandscomptes"].childNodes[j].childNodes.length==0){
								//Internet Explorer
								//chefmessage[nodepara] = "no available data now";
							}
						}
					}
					
					/**if this iterm is the same as last one,it will not display again and go on;**/
					var agentExist = 0;
					var chefExist = 0;
					var respExist = 0;
					if(message["statut"]!=0){
						var telcheck = message["telephone"];
						var emailcheck = message["email"];
						var namecheck = message["nom"];
						
						var checkthis =checkdataexsit(telcheck,emailcheck,namecheck,dataTelTempHandle,dataEmailTempHandle,dataNameTempHandle);
						if(checkthis==1){
							//continue;
							agentExist=1;
						}
						else/* if(trim(message["telephone"])!=""||trim(message["email"])!=""||trim(message["nom"])!="")*/{
							//alert(ataNameTempHandle[dataneedle]);
							dataTelTempHandle[dataneedle] = message["telephone"];
							dataEmailTempHandle[dataneedle] = message["email"];
							dataNameTempHandle[dataneedle] = message["nom"];
							dataneedle++;
						}
					}
					if(trim(chefmessage["telephone"])!=""||trim(chefmessage["email"])!=""||trim(chefmessage["nom"])!=""){
						if(checkdataexsit(chefmessage["telephone"],chefmessage["email"],chefmessage["nom"],dataTelTempHandle,dataEmailTempHandle,dataNameTempHandle)==1){
							//continue;
							chefExist=1;
						}
						else{
							dataTelTempHandle[dataneedle] = chefmessage["telephone"];
							dataEmailTempHandle[dataneedle] = chefmessage["email"];
							dataNameTempHandle[dataneedle] = chefmessage["nom"];
							dataneedle++;
						}
					}
					if(trim(respmessage["telephone"])!=""||trim(respmessage["email"])!=""||trim(respmessage["nom"])!=""){
						if(checkdataexsit(respmessage["telephone"],respmessage["email"],respmessage["nom"],dataTelTempHandle,dataEmailTempHandle,dataNameTempHandle)==1){
							//continue;
							respExist=1;
						}
						else{
							dataTelTempHandle[dataneedle] = respmessage["telephone"];
							dataEmailTempHandle[dataneedle] = respmessage["email"];
							dataNameTempHandle[dataneedle] = respmessage["nom"];
							dataneedle++;
						}
					}
					//change nomessagehandle to 1 when there has any available data
					/*if((trim(message["telephone"])!=""||trim(message["email"])!=""||trim(message["nom"])!="")&&trim(message["statut"])!=0&&(typeof(message["email"])!="undefined"||typeof(message["telephone"])!="undefined"||typeof(message["nom"])!="undefined")){
							nomessagehandle=1;
					}
					else if(trim(message["statut"])=="0"&&(trim(chefmessage["telephone"])!=""||trim(chefmessage["email"])!=""||trim(chefmessage["nom"])!="")&&(typeof(chefmessage["email"])!="undefined"||typeof(chefmessage["telephone"])!="undefined"||typeof(chefmessage["nom"])!="undefined")){				
							nomessagehandle=1;
					}*/
					if((trim(message["telephone"])!=""||trim(message["email"])!=""||trim(message["nom"])!="")&&(typeof(message["email"])!="undefined"||typeof(message["telephone"])!="undefined"||typeof(message["nom"])!="undefined")){
							nomessagehandle=1;
					}
					else if((trim(chefmessage["telephone"])!=""||trim(chefmessage["email"])!=""||trim(chefmessage["nom"])!="")&&(typeof(chefmessage["email"])!="undefined"||typeof(chefmessage["telephone"])!="undefined"||typeof(chefmessage["nom"])!="undefined")){				
							nomessagehandle=1;
					}
					
					if(/*trim(message["statut"])!="0"&&*/(!agentExist)&&(trim(message["telephone"])!=""||trim(message["email"])!=""||trim(message["nom"])!="")&&(typeof(message["telephone"])!="undefined"||typeof(message["email"])!="undefined"||typeof(message["nom"])!="undefined")){
						
						if(!JQ(".agentMesList").html()){
						 	var label= "<div class='agentMesList'>Délégué régional :</div>";
						 	JQ(".agentMesBlock").html(label);
						}
						if(trim(message["nom"])!=""&&typeof(message["nom"])!="undefined"){
							var newMes= "<h3>"+message["nom"]+"</h3>";
							JQ(".agentMesBlock").append(newMes);
						}			
						if(trim(message["telephone"])!=""&&typeof(message["telephone"])!="undefined"){
							var newMes="<div>Tél : "+message["telephone"]+"</div>";
							JQ(".agentMesBlock").append(newMes);
							
						}
						if(trim(message["email"])!=""&&typeof(message["email"])!="undefined"){
							var newMes="<div>Email : "+message["email"]+"</div>";
							JQ(".agentMesBlock").append(newMes);
						}
					}
					if(/*trim(message["statut"])=="0"&&*/(!chefExist)&&(trim(chefmessage["telephone"])!=""||trim(chefmessage["email"])!=""||trim(chefmessage["nom"])!="")&&(typeof(chefmessage["telephone"])!="undefined"||typeof(chefmessage["email"])!="undefined"||typeof(chefmessage["nom"])!="undefined")){
						
						if(!JQ(".chefMesList").html()){
							var labelStr = "<div class='chefMesList'>Chef de région :</div>";
							JQ(".chefMesBlock").html(labelStr);
						}
						if(trim(chefmessage["nom"])!=""&&typeof(chefmessage["nom"])!="undefined"){
							var newMes= "<h3>"+chefmessage["nom"]+"</h3>";
							JQ(".chefMesBlock").append(newMes);
						}
						if(trim(chefmessage["telephone"])!=""&&typeof(chefmessage["telephone"])!="undefined"){
							var newMes ="<div>Tél : "+chefmessage["telephone"]+"</div>";
							JQ(".chefMesBlock").append(newMes);
						}
						if(trim(chefmessage["email"])!=""&&typeof(chefmessage["email"])!="undefined"){
							var newMes ="<div>Email : "+chefmessage["email"]+"</div>";
							JQ(".chefMesBlock").append(newMes);
						}
					}
					
					if(/*trim(message["statut"])=="0"&&*/(!respExist)&&(trim(respmessage["telephone"])!=""||trim(respmessage["email"])!=""||trim(respmessage["nom"])!="")&&(typeof(respmessage["telephone"])!="undefined"||typeof(respmessage["email"])!="undefined"||typeof(respmessage["nom"])!="undefined")){
						
						if(!JQ(".respMesList").html()){
							var labelStr = "<div class='respMesList'>Responsable Grands Comptes / Marchés Publics :</div>";
							JQ(".respMesBlock").html(labelStr);
						}
						if(trim(respmessage["nom"])!=""&&typeof(respmessage["nom"])!="undefined"){
							var newMes= "<h3>"+respmessage["nom"]+"</h3>";
							JQ(".respMesBlock").append(newMes);
						}
						if(trim(respmessage["telephone"])!=""&&typeof(respmessage["telephone"])!="undefined"){
							var newMes ="<div>Tél : "+respmessage["telephone"]+"</div>";
							JQ(".respMesBlock").append(newMes);
						}
						if(trim(respmessage["email"])!=""&&typeof(respmessage["email"])!="undefined"){
							var newMes ="<div>Email : "+respmessage["email"]+"</div>";
							JQ(".respMesBlock").append(newMes);
						}
					}
					//break;
				}				
			}
			/** when there are no data,display this **/
			if(nomessagehandle==0){
				JQ(".postsearcherrormes").html("Aucun délégué régional pour ce département.");
			}
		}
}
function checkdataexsit(tel,email,name,dataTelTempHandle,dataEmailTempHandle,dataNameTempHandle){
	//var tel = trim(tel);
	//var email = trim(email);
	//var name = trim(name);
	var telhandleflag =0;
	var emailhandleflag =0;
	var namehandleflag =0;
	for(var i=0;i<dataTelTempHandle.length;i++){
		if(tel==dataTelTempHandle[i]){
			telhandleflag=1;
		}		
	}
	for(var j=0;j<dataEmailTempHandle.length;j++){
		
		if(email==dataEmailTempHandle[j]){
			//alert(email+":"+dataEmailTempHandle[j]);
			emailhandleflag=1;
		}	
	}
	for(var k=0;k<dataNameTempHandle.length;k++){
		if(name==dataNameTempHandle[k]){
			namehandleflag=1;
		}	
	}
	if(telhandleflag==0||emailhandleflag==0||namehandleflag==0){
		return 0;//NOT THE SAME
	}else{
		return 1;//SAME
	}
	
}

function bsslLoadXml(xmlFile){
var xmlDom = null;
if (window.ActiveXObject){
    xmlDom = new ActiveXObject("Microsoft.XMLDOM");
    xmlDom.load(xmlFile);
}else if (document.implementation && document.implementation.createDocument){
    var xmlhttp = new window.XMLHttpRequest();
    xmlhttp.open("GET", xmlFile, false);
    xmlhttp.send(null);
    xmlDom = xmlhttp.responseXML;
}else{
    xmlDom = null;
}
return xmlDom;
}

function getMyNodeData(node){
	for(var i=0;i<node.childNodes.length;i++){
		if(node.childNodes.nodeType==1){
			
		}
	}
}
function trim(str){
	if(typeof(str)=="string"){
		return str.replace(/(^\s*)|(\s*$)/g, "");
	}else{
		return str;
	}
}
})(jQuery)
