
function show_layer(object) {

	if (document.layers && document.layers[object]) {
		document.layers[object].visibility = 'visible';
		document.layers[object].display = 'block';
	}
	else if (document.all) {
		document.all[object].style.visibility = 'visible';
		document.all[object].style.display = 'block';
	}
	else if (document.getElementById) {
		document.getElementById(object).style.visibility = 'visible';
		document.getElementById(object).style.display = 'block';
    }
}

function show_hide_button(object) {
	a = document.getElementById(object);
	
	if (a.value == 'voir') {
		a.value = 'masquer';
	}
	else if (a.value == 'masquer') {
		a.value = 'voir';
	}
}

function set_hide_state(object) {
	a = document.getElementById(object);

	if (a.value == '') {
		a.value = '1';
	}
	else if (a.value == '1') {
		a.value = '';
	}
}

function hide_layer(object) {

	if (document.layers && document.layers[object]) {
		document.layers[object].visibility = 'hidden';
		document.layers[object].display = 'none';
	}
	else if (document.all) {
		document.all[object].style.visibility = 'hidden';
		document.all[object].style.display = 'none';
	}
	else if (document.getElementById) {
		document.getElementById(object).style.visibility = 'hidden';
		document.getElementById(object).style.display = 'none';
    }
}

function show_hide_layer(object, check) {

	if (document.layers && document.layers[object]) {
		if (document.layers[object].visibility == 'visible') { hide_layer(object); return false; }
		else { show_layer(object); return true; }
	}
	else if (document.all) {
		if (document.all[object].style.visibility == 'visible') { hide_layer(object); return false; }
		else { show_layer(object); return true; }
	}
	else if (document.getElementById) {
		if (document.getElementById(object).style.visibility == 'visible') { hide_layer(object); return false; }
		else { show_layer(object); return true; }
    }

}

function check_uncheck_checkbox(object,val) {
	object.checked = val;
	if (val) object.className="print_invisible";
	else  object.className="";
}


// gestion des tableaux d'intervention

var tcol = new Array();
tcol['jour'] = new Array();
tcol['mois']  = new Array();

function colorcol(c,l,p,root,sub) {	
	// c = colonne / l = ligne / p = id prestation / root = racine pour différencier les tableaux concernés
  alert('ici');
	var imgn	= 'img'+root+'_'+c+'_'+l+'_'+p;
	var tmpimg	= document.images[imgn].src;
	if (tmpimg.search(/transp.+/) != -1) {
		document.images[imgn].src = './img/red.gif';
		tcol[root][p].push(imgn);		
	}
	else {
		document.images[imgn].src = './img/transp.gif';
		for (var i = 0; i < tcol[root][p].length; ++i) {
			if(tcol[root][p][i] == imgn) { tcol[root][p].splice(i,1); }
		}		
	}
	tcol[root][p].sort();
	
	if (sub!='') { 
		show_hide_layer(sub+'['+c+']['+p+']');
	}
	
	var savfield = 'save_interv_' +root+'['+p+']';
	document.forms[0].elements[savfield].value = tcol[root][p].join(";");
}

tcol['cal']  = new Array();

function colorcol_calendar(c,l,p,root) {	
	// c = colonne / l = ligne / p = id prestation / root = racine pour différencier les tableaux concernés
	var imgn	= 'img'+root+'_'+c+'_'+l+'_'+p;
	var tmpimg	= document.images[imgn].src;
	if (tmpimg.search(/on.+/) != -1) {
		document.images[imgn].src = './img/imgcal/'+l+'.gif';
		for (var i = 0; i < tcol[root][p].length; ++i) {
			if(tcol[root][p][i] == imgn) { tcol[root][p].splice(i,1); }
		}
	}
	else {
		document.images[imgn].src = './img/imgcal/'+l+'_on.gif';
		tcol[root][p].push(imgn);
	}
	tcol[root][p].sort();
	
	var savfield = 'save_interv_' +root+'['+p+']';
	
	document.forms['f_devis'].elements[savfield].value = tcol[root][p].join(";");
	
	//alert(document.forms['f_devis'].elements[savfield].value);
}

tcol['travauxjour'] = new Array();
tcol['travauxmois']  = new Array();

function colorcol_travaux(c,l,p,root) {	
	// c = colonne / l = ligne / p = id prestation / root = racine pour différencier les tableaux concernés
	var imgn	= 'img'+root+'_'+c+'_'+l+'_'+p;
	var tmpimg	= document.images[imgn].src;
	if (tmpimg.search(/transp.+/) != -1) {
		document.images[imgn].src = './img/red.gif';
		tcol[root][p].push(imgn);		
	}
	else {
		document.images[imgn].src = './img/transp.gif';
		for (var i = 0; i < tcol[root][p].length; ++i) {
			if(tcol[root][p][i] == imgn) { tcol[root][p].splice(i,1); }
		}		
	}
	tcol[root][p].sort();

	var savfield = 'zone[' +p+ '][save_interv_' +root+']';
	document.forms[0].elements[savfield].value = tcol[root][p].join(";");
}


function ajout_elt(form,p_src,p_target,name) {
	var src = document.forms[form].elements[p_src];
	var option = src.options[src.selectedIndex];

	var target = document.getElementById(p_target);
	var orig = target.innerHTML;

	if (!document.getElementById('elt'+option.value)) {
		target.innerHTML = orig + val_elt(form,option.value,option.innerHTML,p_target,name);
	}
}

function ajout_elt_input(form,p_src,p_id,p_target,name,predef) {
	var src = document.forms[form].elements[p_src];
	var id = document.forms[form].elements[p_id];

	var id_doc = document.forms[form].elements['id_doc'].value;
	var prest = document.forms[form].elements['prest'].value;
	var etape = document.forms[form].elements['etape'].value;

	var id_predef = document.forms[form].elements[predef].value;
	
	var target = document.getElementById(p_target);
	var orig = target.innerHTML;

	if (src.value!='' && !document.getElementById('elt'+(id.value+1))) {
		id.value++;
		//target.innerHTML = orig + val_elt(form,id.value,src.value,p_target,name);
		target.innerHTML = orig + val_elt(id.value); // form,id.value,src.value,p_target,name

		tabl_travaux('elt' + id.value ,prest,id_doc,etape,src.value,id.value,id_predef);
		
		location.hash = 'zone['+ id.value +']';
	}
}

function val_elt_old(form,id,txt,p_target,name) {
	return '<li id="elt' + id + '">' + txt + ' - <input type="hidden" name="'+name+'[' + id + ']" value="' + txt + '"> <a href="javascript:suppr_elt(\''+form+'\',\''+p_target+'\',\'elt' + id + '\')">supprimer</a>';
}

function val_elt(id) { // form,id,txt,p_target,name
	//alert("val_elt("+form+","+id+","+txt+","+p_target,name+")");
	return '<div id="elt' + id + '"></div>';
}

function suppr_elt(form,p_target,elt) {
	var target = document.getElementById(p_target);
	var suppr = document.getElementById(elt);
	target.removeChild(suppr);
}

function suppr_nat_trav(form,p_target,elt) {
	var target = document.getElementById(p_target);
	var suppr = document.getElementById(elt);
	target.removeChild(suppr);
	
	var page = location.search.replace(/\?page=/,'');
	
	if (page.match(/action/)) {
		page = page.replace(/action=.*?(&)|action=.*?$/,'action=save$1');
	} else {
		page = page + '&action=save';
	}
	
	nextpage(form,page);
	document.forms[form].submit();
}

function nextpage(form,page) {
	document.forms[form].action="./?page="+page;
}

function is_not_empty(v) {
	if (v != "") { return true; }
	else { return false; }
}

function calc_tva_in_TTC(ttc) {
	var tva = ttc * (100 / 119.6);
	return Math.round(tva,2);
}

//--------------------------

function valid_form(t_elt,form) {
	if (form=='') {
		form = 'f';
	}
	with (document.forms[form]) {
		oblig=new Array();
		format=new Array();
		for (i = 0; i < t_elt.length ; i++) {
			elt = elements[t_elt[i].id];
			if (
			/*
				(elt.type=="text" && elt.value == "") ||
				(elt.type=="textarea" && elt.value == "") ||
				(elt.type=="file" && elt.value == "")
				*/
				elt.type=="text" || elt.type=="textarea" || elt.type=="file"
				
			) {
				if (elt.value == "") {
					oblig.push('"'+t_elt[i].label +'"');
				} else if (t_elt[i].format != ''){
					re = new RegExp(t_elt[i].format);
					if (!re.test(elt.value)) {
						format.push('"'+t_elt[i].label +'"');
					}
				}
			} else if(elt.length > 0) {
				b = false;
				for(j=0; j<elt.length ; j++) {
					b  = b || elt[j].checked;
				}
				if (!b) {
					oblig.push('"'+t_elt[i].label +'"');
				}
			}
		}
		
		if (oblig.length == 0 && format.length == 0) {
			if (window.confirm("Souhaitez-vous valider ?")) {
				//submit();
				return true;
			}
		} else {
			txt = '';
			
			if (oblig.length >0) {
				if (oblig.length == 1) {
					txt += 'Le champ '+ oblig[0] +' est obligatoire.';
				} else {
					last = oblig.pop();
					txt += 'Les champs '+ oblig.join(', ') + ' et '+ last + ' sont obligatoires.';
				}
			}
			
			if (format.length > 0) {
				txt += "\n\n";
				
				if (format.length == 1) {
					txt += 'Le champ '+ format[0] +' est mal formé.';
				} else {
					last = format.pop();
					txt = 'Les champs '+ format.join(', ') + ' et '+ last + ' sont mals formés.';
				}
			}
			
			alert(txt);
		}
	}
	return false;
}

function valid_elt(id,label,format,msg_format) {
	res = new Object();
	res.id=id;
	res.label=label;
	if (String(format) == "undefined") {
		res.format = '';
	} else {
		res.format = format;
	}
	if (String(msg_format) == "undefined") {
		res.msg_format = '';
	} else {
		res.msg_format = msg_format;
	}
	return res;
}

function writeLayer(layerID,txt){alert(txt);
	if(document.all) { document.all[layerID].innerHTML=txt; }
	else if(document.getElementById) { document.getElementById(layerID).innerHTML=txt; }
	else if(document.layers) {
		with(document.layers[layerID].document) {
			open();
			write(txt);
			close();
		}
	}
}

function authoriz_nature_trvx(ind) {
	with (document.f_devis) { 
		if ( !elements['freq_prest['+ind+'][hebdo]'].checked && !elements['freq_prest['+ind+'][mensuelle]'].checked) {			
			alert('Vous devez séléctionner une fréquence d\'intervention préalablement');
			return false;
		}
		else {
			if ( elements['freq_prest['+ind+'][hebdo]'].checked) {
				if (elements['save_interv_jour['+ind+']'].value == '') {
					alert('Vous devez préalablement préciser les heures d\'intervention');
					return false;
				}
			}
			if ( elements['freq_prest['+ind+'][mensuelle]'].checked) {
				if (elements['save_interv_mois['+ind+']'].value == '') {
					alert('Vous devez préalablement préciser les mois d\'intervention');
					return false;
				}
				else if (elements['save_interv_cal['+ind+']'].value == '') {
					alert('Vous devez préalablement préciser les jours d\'intervention');
					return false;
				}
			}
		}
	}
	return true;
}

function elem(name,value) {
	this.name = name;
	this.value = value;
}


//--------------------------------

level = 0;

function filtrage_client(x,old_client,from,baseurl) {

	args = new Array();
	args.push(new elem('nom',x));
	args.push(new elem('old_client',old_client));
	args.push(new elem('from',from));
	args.push(new elem('baseurl',baseurl));
	document.getElementById('tablo_recl').innerHTML='<p align="center">Recherche en cours...</p>';
	level++;
	xhr_get('list_client',args,'tablo_recl',level);

}


