//exneo js lib

	//send for part1
	
	function ValidFamily(selObj)
	{
		var a = getValue(selObj).split('@');
		var id_family = a[0];
		if(id_family == -1) return;
		setValue('fk_family', id_family);
		setValue('id_encodex',a[1]);
		var f = document.getElementById('fb1');
		f.action = 'part_1.php';
		f.submit();
	}
	
	function ValidFamilySite(selObj, loc)
	{
		var a = getValue(selObj).split('@');
		var id_family = a[0];
		if(id_family == -1) return;
		setValue('fk_family', id_family);
		setValue('id_encodex',a[1]);
		var f = document.getElementById('fb1');
		f.action = loc;
		f.submit();
	}
	
	function ValidBrand(brandObj)
	{
		var brand = brandObj.options[brandObj.selectedIndex].text;
		var fid = getValue('id_encodex');
		var id_family = getValue('fk_family');
		// pr partner affichage chez argus.exneo.com Laeti 18/08/2006
		var partnerID = getValue('partnerID');
		var id_brand = getValue(brandObj);
		var f = document.getElementById('fb1');
				
		if(fid.length>0)
		{
			//apn 01/08/2006 12:23
			var apn = (fid == 15) ? '/K/5497/Type_de_Boitier~Compact_--_Bridge' : '';
			/* pour le chargement des series de marque */
			var dlb = (_brand_list.contains(id_brand)) ? 'S1' : 'S0';
			var MonidExneo = id_family + 'S' + id_brand + dlb;
			if(id_brand == '42') //Autre marque
			{
				f.action = 'http://argus.exneo.com/F/' + fid + '/t' + apn + '/K/9999/' + MonidExneo + '/K/9998/' + partnerID;
				//f.action = 'http://exneo.compario.fr/F/' + fid + '/t' + apn + '/K/9999/' + MonidExneo + '/K/9998/' + partnerID;
			}else
			{
				f.action = 'http://argus.exneo.com/F/' + fid + '/t' + apn + '/K/109/Marque~' + brand + '/K/9999/' + MonidExneo + '/K/9998/' + partnerID;
				//f.action = 'http://exneo.compario.fr/F/' + fid + '/t' + apn + '/K/109/Marque~' + brand + '/K/9999/' + MonidExneo + '/K/9998/' + partnerID;				
			}
		}else
		{
			setValue('encodex_brand2',brand);
			setValue('id_brand', id_brand);
			f.action = 'part_2.php';
		}
		
		f.submit();
	}
	
	function getValue(obj) 
	{
		if(typeof obj != 'object')
		{
			obj = document.getElementById(obj);
		}
		if(!obj) return null;
		if(obj.type == 'select-one') 
		{
			return obj.options[obj.selectedIndex].value;
		}
		return obj.value;
	}
		
	
	//by MM 08/02/2006 10:24 for Linked Components
	
	var _reload_list = Array();
	var _cancel_list = Array();
	var _brand_list = Array();
	var _brand_cancel_list = Array();
	
	function reloadIfLinked()
	{
		if(reloadIfLinked.arguments.length == 2)
		{
			//on charge un composant
			var id_criteria = getValue(reloadIfLinked.arguments[0]);
			var id_attribute = reloadIfLinked.arguments[1];
			if(_reload_list.contains(id_criteria))
			{
				document.getElementById('id_criteria').value = id_criteria;
				document.getElementById('id_attribute').value = id_attribute;
				var form = document.getElementById('fb0');
				//form.action += '&doReload';
				//form.submit();
			}else
			{
				if(_cancel_list.contains(id_attribute))
				{
					document.getElementById('id_attribute').value = id_attribute;
					var form = document.getElementById('fb0');
					//form.action += '&doCancel';
					//form.submit();
				}
			}
		}
		if(reloadIfLinked.arguments.length == 1)
		{
			//on charge une marque
			var id_brand = getValue(reloadIfLinked.arguments[0]);
			if(_brand_list.contains(id_brand))
			{
				_doLoadBrand = true;
				/*
				var form = document.getElementById('fb0');
				form.action += '&doLoadBrand';
				form.submit();
				*/
			}
			if(_brand_cancel_list.contains(id_brand))
			{
				var form = document.getElementById('fb0');
				form.action += '&doCancelBrand';
				form.submit();
			}
		}
	}
	
	Array.prototype.contains = function(value)
	{
		var i = 0;
		for(i=0;i<this.length && this[i] != value;i++);
		return (this[i] == value);
	}
	/***************************************************************/

	function toggleBox(img,divID) {
		var obj = document.getElementById(divID);
		if(obj.style.display == "none") {
			obj.style.display =  "block";
			img.src = 'images/less.gif';
		}else {
			 obj.style.display =  "none";
			 img.src = 'images/more.gif';
		}
	}
	
	function TrBgColorate(tr, ev, original) {
		if(ev == 'over') {
			if(tr.className != 'bc_click') {
				tr.className = 'bc_over';
			}
			return;
		}
		if(ev == 'out') {
			if(tr.className != 'bc_click') {
				tr.className = original;
			}
			return;
		}
		if(ev == 'click') {
			if(tr.className == 'bc_click') {
				tr.className = original;
			}else {
				tr.className = 'bc_click';
			}	
			return;
		}
	}
	
	function focus_on_first_field() {
		for(var form=0; form<document.forms.length;form++) {
			for(var field=0;field<document.forms[form].length;field++) {
				if(document.forms[form][field].type == 'text') {
					if(!document.forms[form][field].disabled == true) {
						document.forms[form][field].focus();
						return;
					}
				}
			}
		}
	}
	
	function setEnabled()
	{
		
		//IE
		var form = document.getElementById('fb0');
		
		for(var field=0;field<form.length;field++) 
		{
			if(form[field].type == 'select-one' && new String(form[field].id).indexOf('criteria') != -1 && form[field].disabled == true) 
			{
				form[field].disabled = false;
			}
		}
		
		form.submit();		
	}
	
	
	function DisabledByFrame(fieldID)
	{
		
		var form = document.getElementById('fb0');
		var field = form.elements[fieldID];
		if(document.all)
		{
			//IE
			try
			{
				
				field.disabled = true;
				field.style.background = '#D2ECFF';
			}catch(err)
			{
				alert(fieldID + ': ' + err);
			}
		}else
		{
			
			//FIREFOX
			field.disabled = true;
			field.style.background = '#D2ECFF';
			var tx = findPosX(field);
			var ty = findPosY(field);
			var opacity = 60;
			/*if(field.offsetWidth && field.offsetHeight)
			{
				var nd = document.createElement('div');
				nd.setAttribute('style','position: absolute; top: ' + ty + 'px; left: ' + tx + 'px; width: ' + field.offsetWidth + 'px; height: ' + field.offsetHeight + 'px; background: #D2ECFF; filter: alpha(opacity=' + opacity + ');-moz-opacity:.' + opacity + ';opacity:.' + opacity + ';');
				try
				{
					document.body.appendChild(nd);
				}catch(err)
				{
					alert("eeeeee" + err);
				}
			}*/
		}
	}
	
	function findPosX(obj)
	{
		var curleft = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}

	function findPosY(obj)
	{
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}

	//api to keep a page state by setting form field value
	function isInArray(val, arr) {
		for(var i=0;i<arr.length;i++) {
			if(arr[i] == val) return true;
		}
		return false;
	}
	
	function isObject(obj) {
		return (typeof obj == 'object');
	}
	
	function getForm(felement) {
		var forms = new Array('fb0','fb1','fb2','fb3');
		for(var i=0;i<forms.length;i++) {
			var form = document.getElementById(forms[i]);
			if(form) {
				for(var j=0;j<form.length;j++){
					var element = form[j];
					if(element == felement) return form;
				}
			}
		}
		return null;
	}
	
	function setValue(fieldID,fieldVALUE)
	{
		
		try
		{
			var idForm = getObjectByForm(fieldID);
			if(idForm)
			{
				var objForm = document.forms[idForm];
				if(objForm)
				{
					var obj = objForm.elements[fieldID];
					var objType = document.getElementById(fieldID).type;
					if(obj)
					{
						if(objType == 'text')
						{
							/*
							if(isObject(fieldVALUE))
							18/07/06
							pb quand un seul champs dans tableau
							*/
							if(obj.length)
							{
								for(var i=0;i<fieldVALUE.length;i++)
								{
									obj[i].value = fieldVALUE[i];
								}
							}else
							{
								obj.value = fieldVALUE;
							}
						}else if(objType == 'radio')
						{
							if(isObject(fieldVALUE))
							{
								for(var i=0;i<obj.length;i++)
								{
									if(obj[i].value == fieldVALUE[i])
									{
										obj[i].checked = true;
									}
								}
							}else
							{
								for(var i=0;i<obj.length;i++)
								{
									if(obj[i].value == fieldVALUE)
									{
										obj[i].checked = true;
									}
								}
							}
						}else if(objType == 'hidden')
						{
							obj.value = fieldVALUE;
						}else if(objType == 'textarea')
						{
							obj.value = fieldVALUE;
						}else if(objType == 'password')
						{
							//
						}else if(objType == 'select-one')
						{
							if(isObject(fieldVALUE))
							{
								for(var i=0;i<fieldVALUE.length;i++)
								{
									if(obj[i].options)
									{
										for(var j=0;j<obj[i].options.length;j++)
										{
											if(obj[i].options[j].value == fieldVALUE[i])
											{
												obj[i].options[j].selected = true;
											}
										}
									}
								}
								return;
							}else {
								for(var i=0;i<obj.options.length;i++)
								{
									if(obj.options[i].value == fieldVALUE)
									{
										obj.options[i].selected = true;
										return;
									}
								}
							}
						}else if(objType == 'select-multiple')
						{
							for(var i=0;i<obj.options.length;i++)
							{
								if(isInArray(obj.options[i].value,fieldVALUE))
								{
									obj.options[i].selected = true;
								}
							}
						}else if(objType == 'checkbox')
						{
							if(isObject(fieldVALUE))
							{
								if(obj.length)
								{
									for(var i=0;i<obj.length;i++)
									{
										if(isInArray(obj[i].value,fieldVALUE))
										{
											obj[i].checked = true;
										}
									}
								}else
								{
									obj.checked = true;
								}
							}else
							{
								if(fieldVALUE == '1')
								{
									obj.checked = true;
								}
							}
						}
					}
				}
			}
		}catch(err)
		{
			alert(fieldID + ': ' + err);
		}
	}
	
	function getObjectByForm(fieldID)
	{
		for( var f in document.forms)
		{
			for(var e = 0; e< document.forms[f].length; e++)
			{
				if(document.forms[f].elements)
				{
					if(document.forms[f].elements[e].id == fieldID)
					{
						
						return document.forms[f].id;
					}
				}
			}
		}
		return null;
	}

	
			
	function formReset(form) {
		var f = document.getElementById(form);
		if(!f) return '';
		f.reset();
		//select the first form element
		for(var i=0;i<f.length;i++){
			var element = f[i];
			if(element.id != '') {
				if(element.type == 'select-one') {
					element.options[0].selected = true;
				}
			}
		}
	}
	
	function addslahes(ch) {
		//ch = ch.replace(/\\/g,"\\\\");
		ch = ch.replace(/\'/g,"\\'");
		//ch = ch.replace(/\"/g,"\\\"");
		return ch;
	}
	
	
	//return query for get from a form
	function list_form_values(form) {
		var f = document.getElementById(form);
		if(!f) return '';
		var get = '';
		for(var i=0;i<f.length;i++){
			var element = f[i];
			if(element.id != '') {
				if(element.type == 'checkbox') {
					if(element.checked == true) {
						if(element.value != '') {
							get += '&' + element.id + '=' + element.value;
						}
					}
				}else if(element.type == 'radio') {
					if(element.checked == true) {
						get += '&' + element.id + '=' + element.value;
					}
				}else {
					//get += '&' + element.id + '=' + addslahes(encodeURI(getValue(element)));
					get += '&' + element.id + '=' + getValue(element);
					//get += '&' + element.id + '=' + getValue(element);
				}
			}
		}
		return get;
	}
	
	function CheckPartners(source, ids, form) {
		var f = document.getElementById(form);
		if(!f) return '';
		for(var i=0;i<f.length;i++){
			if(f[i].id.indexOf(ids) != -1) {
				f[i].checked = source.checked;
			}
		}
	}
	
	function CheckItAll(source, mode) {
		try {
			var s = 0;
			var obj = null;
			do {
				s++;
				obj = document.all['r-' + s + '[]'];
			}while(!obj);
			var max = s + 32;
			do {
				var ids = 'r-' + s + '[]';
				obj = document.all[ids];
				if(obj) {
					if(obj.length) {
						for(var i=0;i<obj.length;i++) {
							if(obj[i].value == mode) {
								obj[i].checked = source.checked;
							}
						}
					}
				}
				s++;
			}while(s<max);
			
		}catch(err) {
			alert('CheckItAll: ' + err);
		}
	}
	
	function enable_invoice_adress(check) {
		document.getElementById('name2').disabled = !check.checked;
		document.getElementById('firstname2').disabled = !check.checked;
		document.getElementById('street2').disabled = !check.checked;
		document.getElementById('zip2').disabled = !check.checked;
		document.getElementById('city2').disabled = !check.checked;
	}
	
	function enable_rib(select) {
		document.getElementById('rib1').disabled = (select.value != '1');
		document.getElementById('rib2').disabled = (select.value != '1');
		document.getElementById('rib3').disabled = (select.value != '1');
		document.getElementById('rib4').disabled = (select.value != '1');
		
		if(select.value != '1') {
			document.getElementById('rib1').value = '';
			document.getElementById('rib2').value = '';
			document.getElementById('rib3').value = '';
			document.getElementById('rib4').value = '';
		}
	}
	
	//v2
	
	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}
	
	function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	
	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}
	
	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	
	function ExneoLoad()
	{
		focus_on_first_field();
		MM_preloadImages('images/btn/validez_1.gif','images/btn/accescompte_1.gif');
	}	
