//js lib
	
	function ResetSelect(id)
	{
		var tmp = document.getElementById(id);
		if(tmp)
		{
			if(tmp.type == 'select-one')
			{
				tmp.selectedIndex = 0;
			}
		}
	}
	
	function AdresseTravauxChecked()
	{
		var disabled="";
		adresse = document.getElementById('Adresse1').value;
		adresse = adresse + "\n" + document.getElementById('Adresse2').value;
		if(adresse == document.getElementById('AdresseTravaux').value)
			disabled="disabled";
				
		document.getElementById('AdresseTravaux').disabled 		= disabled;
		document.getElementById('CodepostalTravaux').disabled 	= disabled;
		document.getElementById('VilleTravaux').disabled 		= disabled;
		
	}
	
	//Array.prototype.contains = function(value)
	//pb interaction with SimpleCalendar
	//replaced by
	function isInArray(array, value)
	{
		var i = 0;
		for(i=0;i<array.length && array[i] != value;i++);
		return (array[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 isObject(obj) 
	{
		return (typeof obj == 'object');
	}
	
	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 setValue(fieldID,fieldVALUE)
	{
		
		try
		{
			var idForm = getObjectByForm(fieldID);

			if(idForm)
			{
				var objForm = document.forms[idForm];
				if(!objForm) objForm = document.forms['fb0'];

				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
							{
								//quand un seul champs dans tableau
								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')
						{//alert('ee');
							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;
											}
										}
									}
									else
									{
										//un seul champs dans tableau
										obj.value = fieldVALUE;
									}
								}
								return;
							}else {//
								for(var i=0;i<obj.options.length;i++)
								{//
								//

									if(obj.options[i].value == fieldVALUE)
									{
										obj.options[i].selected = true;
										//alert(fieldID+':'+fieldVALUE);
										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 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') {
					if(element.options.length > 0)
					{
						element.options[0].selected = true;
					}
				}
			}
		}
	}
	
	function Form(action)
	{
		this.id = '__AUTOFORM__';
		
			
		this.addElement = function(name, value)
		{
			this.innerHTML += '<input type="hidden" name="' + name + '" value="' + value + '">';
		}
		
		this.submit = function()
		{
			this.innerHTML += '</form>';
			document.body.innerHTML += this.innerHTML;
			document.getElementById(this.id).submit();
		}
	}
	
	function copyforms(forms,action)
	{
		try
		{
			var newf = new Form(action);
			for(var j=0;j<forms.length;j++)
			{
				var f = document.getElementById(forms[j]);
				
				if(f)
				{
					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 != '') {
										newf.addElement(element.id, element.value);
									}
								}
							}else if(element.type == 'radio') {
								if(element.checked == true) {
									newf.addElement(element.id, element.value);
								}
							}else {
								newf.addElement(element.id, element.value);
							}
						}
					}
				}
			}
			newf.submit();
		}catch(error)
		{
			alert(error.message);
		}
	}
	
	function addslahes(ch) {
		//ch = ch.replace(/\\/g,"\\\\");
		ch = ch.replace(/\'/g,"\\'");
		//ch = ch.replace(/\"/g,"\\\"");
		return ch;
	}
	
	function getValue(obj) {
		if(!obj) return null;
		if(obj.type == 'select-one') {
			for(var j=0;j<obj.options.length;j++) {
				if(obj.options[j].selected == true) {
					return obj.options[j].value;
				}
			}
			return null;
		}
		return obj.value;
	}
	
	//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 CheckAll(source, ids, form) 
	{
		var f = document.getElementById(form);
		if(!f) return '';
		for(var i=0;i<f.length;i++)
		{
			if(f[i].type == 'checkbox' && f[i].id.indexOf(ids) != -1)
			{
				f[i].checked = source.checked;
			}
		}
	}
	
	function CheckFamily(source) {
		var f = document.getElementById('fb0');
		if(!f) return '';
		for(var i=0;i<f.length;i++){
			if(f[i].id.indexOf('id_family') != -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 correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
	{
	   var arVersion = navigator.appVersion.split("MSIE")
	   var version = parseFloat(arVersion[1])
	   if ((version >= 5.5) && (document.body.filters)) 
	   {
	      for(var i=0; i<document.images.length; i++)
	      {
	         var img = document.images[i]
	         var imgName = img.src.toUpperCase()
			 //alert(img.id);
	         if (imgName.substring(imgName.length-3, imgName.length) == "PNG" && img.id.substring(0,9) != "noCorrect")
	         {
	            var imgID = (img.id) ? "id='" + img.id + "' " : ""
	            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
	            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
	            var imgStyle = "display:inline-block;" + img.style.cssText 
	            if (img.align == "left") imgStyle = "float:left;" + imgStyle
	            if (img.align == "right") imgStyle = "float:right;" + imgStyle
	            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
			   var strNewHTML = "<span " + imgID + imgClass + imgTitle
	            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
	            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
	            img.outerHTML = strNewHTML
	            i = i-1
	         }
	      }
	   }    
	}
	
	function percentCourtage(ca_realise, percent_ca, base_ht, percent_commission, commission)
	{
		var result;
		tmp 	= document.getElementById(ca_realise).value* document.getElementById(percent_ca).value;
		result  = tmp/100;
		document.getElementById(base_ht).value = result;
		tmp 			= result*document.getElementById(percent_commission).value;
		tmp_commission  = tmp /100;
		document.getElementById(commission).value = tmp_commission;
	}
	
	