var ig_args = new Array();
var ig_zipcode = '';
var ig_loca = '';
var ig_refs_cookie_name = 'ig_refs';
var ig_base = document.location.protocol+'//'+document.location.hostname+document.location.pathname;
var sect = new Array(41,42,43,44,45);

var IG_EMPTYREFS_DIALOG = 'Voulez-vous réellement effacer tous vos favoris ?';

var ig_htm = '<script type="text/javascript">';
ig_htm += 'ig_preloadpictures(Array(';
ig_htm += "'http://nerios-eu.com/wk/resources/toplayer.gif',";
ig_htm += "'http://nerios-eu.com/wk/resources/bookmark.png',";
ig_htm += "'http://nerios-eu.com/wk/resources/bookmarka.png',";
ig_htm += "'http://nerios-eu.com/wk/resources/bookmarked.png',";
ig_htm += "'http://nerios-eu.com/wk/resources/voir.png',";
ig_htm += "'http://nerios-eu.com/wk/resources/dwnldpdf.png',";
ig_htm += "'http://nerios-eu.com/wk/resources/voirnb.png',";
ig_htm += "'http://nerios-eu.com/wk/resources/dwnldpdfnb.png',";
ig_htm += "'http://nerios-eu.com/wk/resources/remove.png'";
ig_htm += '))';
ig_htm += '</script>';
document.write(ig_htm);

function ontab(gtabid,tabid){}

function sorttable(col,uid){
	var order = uid.substr(0,1);
	if(order=='+') order='';
	var args = uid.substr(1);
	window.location.href = ig_base+'?ig='+escape('01O'+order+col+':')+args;
	//window.location.href = ig_base+'?ig='+escape('01'+a+':R'+refs);	
}

function ig_fillform(frm){
	if(frm){
		var args = document.location.href.split('?');
		if(args[1]){
			var args = args[1].split('&');
			for(arg in args){
				var a = args[arg].match(/^(.*)[=](.*)$/);
				var n = unescape(a[1]);
				var v = unescape(a[2].replace(/[+]/g,' '));
				if(frm.elements[n]){
					frm.elements[n].value=v;
				}
			}
		}
	}
}

function ig_saveform(step){
	var f = document.forms['ig_form'];	
	for(e in f.elements){
		if(ig_checkelement(f.elements[e])){
			try{
				f.elements[e].onkeyup();
			} catch(err){
				try{
					f.elements[e].onchange();
				} catch(err){
					try{
						f.elements[e].onclick();
					} catch(err){}
				}
			}
		}
	}
	ig_setarg('Z', ig_zipcode);
	ig_setarg('L', ig_loca);
	ig_setarg('X', ig_getCookie('PHPSESSID'));
	ig_saveargs(step);
}

function ig_checkelement(e){
	try{if(e.id=='ig_sector_all') return false;}catch(err){};
	try{if(e.id=='ig_submit') return false;}catch(err){};
	return true;
}

function ig_setarg(a,v){
	ig_args[a.charCodeAt(0)] = escape(v);
}

function ig_saveargs(step){
	var f = document.forms['ig_form'];
	var s = new Array();
	for(var i=0;i<ig_args.length;i++){
		if(ig_args[i]){
			var v = new String(ig_args[i]);
			v = v.replace(/:/g,'');
			if(v!=''){
				s.push(String.fromCharCode(i)+v);
			}
		}
	}
	f.elements['ig'].value = step+s.join(':');
}

function ig_togglesector(n,v){
	var c;
	if(c=document.getElementById('ig_sector'+n)){
		if(typeof(v)=='undefined'){
			c.checked = !c.checked;
			ig_checksectors();
		} else {
			c.checked = v;
		}
	}
}

function ig_checksectors(){
	for(s in sect){
		if(!document.getElementById('ig_sector'+sect[s]).checked){
			document.getElementById('ig_sector_all').checked = false;
			return;
		}
	}
	document.getElementById('ig_sector_all').checked = true;
}

function ig_show_ct_form(i){
	showtoplayer('<div class="ig_ct_frame" id="igcttarget"></div>');
	var t = document.getElementById('igcttarget');
	var r=ig_base+'?ig=99i'+i;
	var ajax = new httpRequest(r,t,true);
	ajax.dontupdatetarget = true;
	ajax.onresult = function(h,x,t){ig_contact_submit_cback(h,x,t)};
	ajax.exec();
}

function ig_contact_submit(f,t){
	var r = '';
	var v = '';
	for(e=0;e<f.elements.length;e++){
		if(f.elements[e].name.substr(0,2)=='ct'){
			if(f.elements[e].type.toLowerCase()=='checkbox'){
				v=f.elements[e].checked?1:0;
			} else {
				v=escape(f.elements[e].value);
			}
			r+=(r!=''?'&':'')+f.elements[e].name+'='+v;
		}
	}
	r+=(r!=''?'&':'')+'HTTPREFERER='+ig_base;
	r=ig_base+'?ig=99r'+escape(r);
	var ajax = new httpRequest(r,t,true);
	ajax.dontupdatetarget = true;
	ajax.onresult = function(h,x,t){ig_contact_submit_cback(h,x,t)};
	ajax.exec();
}

function ig_contact_submit_cback(h,x,t){
	t.innerHTML = ig_extract(h,'<!-- $CONTACT_FORM_BEGIN$ ',' $CONTACT_FORM_END$ -->');
}

function ig_localist(ol){
	var l = ol.value;
	var t = document.getElementById('ig_localist');
	if(!t){
		var e = document.createElement('div');
		e.className = 'ig_localist';
		e.id='ig_localist';
		var coord = ig_GetElementAbsolutePos(ol);
		t=document.body.appendChild(e);
		t.style.left = coord.x;
		t.style.top = coord.y + 19;
	}
	if(l.length < 1){
		ig_hidelocalist(t);
		return;
	}
	l = l.replace(/-/g,' ');
	var f = document.forms['ig_form'];
	var s = new Array();
	for(var e=0; e < f.elements.length; e++){
		var E = f.elements[e];
		if(E.id.search(/^ig_sector[\d]+$/)>-1){
			if(E.checked){
				var N = E.id.replace('ig_sector','');
				s[s.length] = N;
			}
		}
	}
	if(s.length > 0){
		s = s.join(',');
	} else {
		s = '';
	}
	r=ig_base+'?ig='+escape('98l'+l+':s'+s);
	var ajax = new httpRequest(r,t,true);
	ajax.dontupdatetarget = true;
	ajax.onresult = function(h,x,t){ig_localist_cback(h,x,t)};
	ajax.exec();
}

function ig_hidelocalist(delloca){
	var t = document.getElementById('ig_localist');
	if(delloca) document.getElementById('ig_ou').value = '';
	if(!t) return;	
	ig_localist_cback('','',t);	
}

function ig_localist_cback(h,x,t){
	t.innerHTML = ig_trim(ig_extract(h,'<!-- $LOCALIST_BEGIN$ ', ' $LOCALIST_END$ -->'));
	t.style.display = t.innerHTML != '' ? 'block':'none';
}

function ig_extract(t,b,e){
	var l1 = b.length;
	var e1 = new RegExp(b.replace(/[$]/g,'[$]'));
	var e2 = new RegExp(e.replace(/[$]/g,'[$]'));
	
	var n1 = t.search(e1);
	if(n1 > -1){
		n1+=l1;
		var n2 = t.search(e2);
		if(n2 > -1){
			n2-=1;
			return t.substring(n1,n2);
		}
	}
	return '';
}

function ig_checkloca(loca, callbackfnc, onemptylocafnc){
	
	/*ig_loca = loca;
	ig_submitloca();
	return;*/
	
	if(typeof(callbackfnc)=='undefined'){
		callbackfnc = function(res){ig_sendlocarequest(res,function(res){ig_locaform(res)})};
	}
	if(typeof(onemptylocafnc)=='undefined'){
		onemptylocafnc = function(){
			//search_in_process();
			ig_saveform('01');
			document.forms['ig_form'].submit();		
		}
	}
	if(loca!=''){
		if (GBrowserIsCompatible()) {
			GMAP_GEO = new GClientGeocoder();
			//GMAP_GEO.setBaseCountryCode('FR');
			GMAP_GEO.getLocations('FR '+loca, callbackfnc);
		}
	} else {
		onemptylocafnc();
	}
}

function ig_sendlocarequest(response, callbackfnc, geocallbackfncname){
	var html = '';
	var markers = new Array();
 
	if(typeof(geocallbackfncname)=='undefined') geocallbackfncname='';
	if(response.Status.code=='200'){
		for(var p=0; p < response.Placemark.length; p++){
			place = response.Placemark[p];
			if(place.AddressDetails.Country.CountryNameCode=='FR' /*&& place.AddressDetails.Accuracy >= 2 && place.AddressDetails.Accuracy <= 5*/){
				var region = '';
				try{region = place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;}catch(e){}
				var department = '';
				try{department = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName;}catch(e){}
				var city = '';
				try{city = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;}catch(e){}
				var zipcode = '';
				try{zipcode = place.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode.PostalCodeNumber;}catch(e){}
				
				if(city=='') city = place.address;
				
				/*if(city != '' && department != ''){*/
					if(!ig_markerexists(markers, city, zipcode)){
						var m = markers.length;
						markers[m] = new ig_marker();
						markers[m].region = region;
						markers[m].department = department;
						markers[m].city = city;
						markers[m].zipcode = zipcode;
						try{markers[m].lng = place.Point.coordinates[0];}catch(e){}
						try{markers[m].lat = place.Point.coordinates[1];}catch(e){}
					}
				/*}*/
			}
		}
		
		for(var m=0; m < markers.length; m++){
			var shtml = '';
			var label = '';
			var closebrakets = false;
			if(markers[m].city!=''){
				shtml += markers[m].city;
				label += '<span style="font-weight:bold;">'+markers[m].city+'</span>';
			}
			if(markers[m].department!=''){
				shtml += ';'+markers[m].department;
				label += (label!=''?' (':'')+markers[m].department;
				closebrakets = true;
			} else shtml += ';';
			if(markers[m].region!=''){
				shtml += ';'+markers[m].region;
				label += (label!=''?(closebrakets?', ':' ('):'')+markers[m].region;
				closebrakets = true;
			} else shtml += ';';
			if(closebrakets) label += ')';
			
			shtml = ig_trim(shtml);
				
			html += '<div class="toplayerlocadlgl" ';
			html += 'onmouseout="this.className=\'toplayerlocadlgl\'" ';
			html += 'onmouseover="this.className=\'toplayerlocadlgl toplayerlocadlgl_sel\'" ';
			html += 'onclick="ig_zipcode=\''+markers[m].zipcode+'\';ig_loca=\''+shtml.replace(/\'/g,'\'\'')+'\';document.getElementById(\'ig_ou\').value=\''+shtml.replace(/\'/g,'\'\'')+'\';ig_submitloca()">';
			html += '<label>'+label+'</label>';
			html += '</div>';			
		}
		
		if(markers.length == 1){
			ig_zipcode = markers[0].zipcode;
			ig_loca = shtml; /*markers[0].city;*/
			html = '';
		} else {
			if(html==''){
				html  = '<div style="text-align:center;">';
				html +=	'<div class="form_title">Message</div>';
				html += '<div align="center">'+document.getElementById('ig_ou').value+'</div>';
				html += '<strong>L\'emplacement sp&eacute;cifi&eacute; est introuvable.</strong>';
				html += '<br/><br/><br/>';
				html += '<div class="toplayerlocadlglnone" ';
				html += 'onmouseout="this.className=\'toplayerlocadlglnone\'" ';
				html += 'onmouseover="this.className=\'toplayerlocadlglnone toplayerlocadlglnone_sel\'" ';
				html += 'onclick="document.getElementById(\'toplayer_obj\').style.display=\'none\';toggleselect(false);">';
				html += '<label>Fermer</label>';
				html += '</div>';
				html += '</div>';
			} else {
				html  = '<div class="form_title">Pr&eacute;cisez parmis les propositions ci-dessous :</div><br/>'+html;
				html += '<br/><br/>';
				html += '<div class="toplayerlocadlglnone" ';
				html += 'onmouseout="this.className=\'toplayerlocadlglnone\'" ';
				html += 'onmouseover="this.className=\'toplayerlocadlglnone toplayerlocadlglnone_sel\'" ';
				html += 'onclick="hidetoplayer()">';
				html += '<label>Annuler</label>';
				html += '</div>';
			}
		}
	}
	ig_locaform(html);
}

function ig_markerexists(m, city, zipcode, department){
	for(var n=0; n < m.length; n++){
		if(m[n].city == city){
			if(m[n].department == department){
				if(m[n].zipcode=='') m[n].zipcode == zipcode;
				return true;
			}
		}
	}
	return false;
}

function ig_marker(){}
ig_marker.prototype.country = '';
ig_marker.prototype.region = '';
ig_marker.prototype.department = '';
ig_marker.prototype.city = '';
ig_marker.prototype.zipcode = '';
ig_marker.prototype.lat = '';
ig_marker.prototype.lng = '';

function ig_locaform(res){
	if(res!=''){
		showtoplayer('<div class="toplayerlocadlg">'+res+'</div>');
	} else {
		ig_submitloca();
	}
}

function ig_submit(){
	document.forms['ig_form'].submit();	
}

function ig_submitloca(){
	ig_saveform('01');
	ig_submit();
	/*document.forms['ig_form'].submit();*/	
}

function ig_trim(s){
	return s.replace(/^\s*|\s*$/g, '');	
}

function ig_addref(ref,t){
	var refs = ig_getrefs();
	if(ig_inrefs(refs,ref)==-1){
		refs.push(ref);
		ig_saverefs(refs);
	}
	ig_checkref(ref,t);
}

function ig_checkref(ref,t){
	if(t){
		var refs = ig_getrefs();	
		if(ig_inrefs(refs,ref) > -1){
			t.innerHTML = '<img src="http://nerios-eu.com/wk/resources/bookmarked.png" alt="Retirer des favoris" title="Retirer des favoris" />';
			t.onclick = function(){ig_rmref(ref,this)};
		} else {
			t.innerHTML = '<img src="http://nerios-eu.com/wk/resources/bookmark.png" onmouseout="this.src=\'http://nerios-eu.com/wk/resources/bookmark.png\'" onmouseover="this.src=\'http://nerios-eu.com/wk/resources/bookmarka.png\'" alt="Ajouter aux favoris" title="Ajouter aux favoris" />';
			t.onclick = function(){ig_addref(ref,this)};
		}
	}
}

function ig_rmref(ref,t){
	var refs = ig_getrefs();
	var r = ig_inrefs(refs,ref);
	if(r > -1){
		refs.splice(r,1);
		ig_saverefs(refs);
	}
	ig_checkref(ref,t);
}

function ig_emptyrefs(){
	if(confirm(IG_EMPTYREFS_DIALOG)){
		ig_delCookie(ig_refs_cookie_name);
		return true;
	} else {
		return false;
	}
}

function ig_saverefs(refs){
	var expires = new Date();
	expires.setYear(1901+expires.getYear());
	ig_setCookie(ig_refs_cookie_name,refs.join(','),expires);
}

function ig_inrefs(refs, ref){
	for(var r=0;r<refs.length;r++){
		if(refs[r]==ref) return r;
	}
	return -1;
}

function ig_getrefs(){
	var refs = ig_getCookie(ig_refs_cookie_name);
	if(!refs){
		return new Array();
	} else {
		return refs.split(',');
	}
}

function ig_disprefs(a){
	a = a.replace(/[+]/g,'%20');
	var refs = ig_getCookie(ig_refs_cookie_name);
	if(!refs) refs='';
	window.location.href = ig_base+'?ig='+escape('01'+a+':R'+refs);
}

function ig_getCookie(name){
	try{
		var n1 = document.cookie.indexOf(name + '=');
		if (n1 > -1){
			n1 += name.length + 1;
			var n2 = document.cookie.indexOf(";", n1);
			if (n2 == -1) n2 = document.cookie.length;
			return unescape(document.cookie.substring(n1, n2));
		} else return null;
	} catch(e) {
		return null;
	}
}

function ig_setCookie(name, value, expires, path, domain, secure){
	var c = name + '=' + escape(value);
	c += (expires?'; expires=' + expires.toGMTString() : '');
	c += (path?'; path=' + path : '');
	c += (domain?'; domain=' + domain : '');
	c += (secure?'; secure' : '');

	document.cookie = c;
}

function ig_delCookie(name){
	ig_setCookie(name, '', new Date(1970,0,1,0,0,0));
}

function ig_preloadpictures(img){
	document.ig_preloadedimg = new Array;
	for(i=0;i<img.length;i++){
		document.ig_preloadedimg[i] = new Image;
		document.ig_preloadedimg[i].src = img[i];
	}
}

function ig_open(uri){
	window.open(uri);
}

//returns the absolute position of some element within document  
function ig_GetElementAbsolutePos(element) {
	var __isFireFox = navigator.userAgent.match(/gecko/i);
	var res = new Object();
	res.x = 0; res.y = 0;
    if (element !== null) {
    	res.x = element.offsetLeft;
    	res.y = element.offsetTop;

    	var offsetParent = element.offsetParent;
    	var parentNode = element.parentNode;
   
    	while (offsetParent !== null) {
    		res.x += offsetParent.offsetLeft;
    		res.y += offsetParent.offsetTop;  

    		if (offsetParent != document.body && offsetParent != document.documentElement) {  
    			res.x -= offsetParent.scrollLeft;
    			res.y -= offsetParent.scrollTop;  
    		}  
    		//next lines are necessary to support FireFox problem with offsetParent  
    		if (__isFireFox) {
    			while (offsetParent != parentNode && parentNode !== null) {  
    				res.x -= parentNode.scrollLeft;  
    				res.y -= parentNode.scrollTop;
    				
    				parentNode = parentNode.parentNode;  
    			}      
    		}
    		parentNode = offsetParent.parentNode;
    		offsetParent = offsetParent.offsetParent;
    	}
	}
    if(!__isFireFox){
    	res.x -= 12;
    	res.y -= 12;
    }
    
	return res;
}