var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers && window.innerWidth ? true : false);
var timer;
var field_click = false;
var drop1_over = '#003F82';
var drop1_out = '#165EA8';
var drop2_over = '#165EA8';
var drop2_out = '#4F86BD';

function getElement(id) {
	if (isDOM) return document.getElementById(id);
	if (isIE4) return document.all[id];
	if (isNS4) return document.layers[id];
}

function menuOver(img) {
	var m = img.src.match(/(.*\/img\/menu_(\d+))(_o)?(\.jpg)$/);
	clearTimeout(timer);
	hideDrop('expertise_c');
	hideDrop('compteursdeau_c');
	img.src = m[1]+'_o'+m[4];
	if (m[2] == '2') {
		getElement('expertise_c').style.display = 'block';
	} else if (m[2] == '3') {
		getElement('compteursdeau_c').style.display = 'block';
	}
}

function menuOut(img) {
	var m = img.src.match(/(.*\/img\/menu_(\d+))_o(\.jpg)$/);
	if (m[2] != getElement('cur_menu').value) {
		img.src = m[1]+m[3];
	}
	if (m[2] == '2') {
		timer = setTimeout('hideDrop(\'expertise_c\')',500);
	} else if (m[2] == '3') {
		timer = setTimeout('hideDrop(\'compteursdeau_c\')',500);
	}
}

function drop1Over(div,num) {
	clearTimeout(timer);
	hideDrop('expertise_appuitechnique_c');
	hideDrop('expertise_exploitation_c');
	hideDrop('compteursdeau_presentation_c');
	div.style.backgroundColor = '#003F82';
	if (div.parentNode.id == 'expertise') {
		if (num == '2') {
			getElement('expertise_appuitechnique_c').style.display = 'block';
		} else if (num == '3') {
			getElement('expertise_exploitation_c').style.display = 'block';
		}
	} else {
		if (num == '1') {
			getElement('compteursdeau_presentation_c').style.display = 'block';
		}
	}
}

function drop1Out(div,num) {
	if (num != getElement('cur_'+div.parentNode.id).value) {
		div.style.backgroundColor = '#165EA8';
	}
	timer = setTimeout('hideDrop(\''+div.parentNode.parentNode.id+'\')',500);
}

function drop2Over(div,num) {
	clearTimeout(timer);
	div.style.backgroundColor = '#165EA8';
}

function drop2Out(div,num) {
	if (num != getElement('cur_'+div.parentNode.id).value) {
		div.style.backgroundColor = '#4F86BD';
	}
	timer = setTimeout('hideDrop2(\''+div.parentNode.parentNode.id+'\')',500);
}

function hideDrop(id) {
	getElement(id).style.display = 'none';
	getElement('expertise_appuitechnique_c').style.display = 'none';
	getElement('expertise_exploitation_c').style.display = 'none';
	getElement('compteursdeau_presentation_c').style.display = 'none';
}

function hideDrop2(id) {
	getElement(id).style.display = 'none';
	hideDrop('expertise_c');
	hideDrop('compteursdeau_c');
}

function fieldClick(field) {
	field_click = true;
	var m = field.id.match(/^d((\d+)_(\w+))$/);
	if (getElement('cur_field').value != field.id) {
		if (getElement('cur_field').value.length > 0) {
			fieldReset();
		}
		getElement('cur_field').value = field.id;
		if (m[3] == 'Description') {
			field.innerHTML = '<textarea style="width: 98%; height: 100px;" onclick="fieldClick(this.parentNode)">'+getElement('h'+m[1]).value+'</textarea>';
		} else {
			field.innerHTML = '<input type="text" style="width: 98%;" onclick="fieldClick(this.parentNode)" value="'+getElement('h'+m[1]).value+'" />';
		}
		//field.firstChild.tabIndex = field.tabIndex;
		field.firstChild.focus();
	}
}

function fieldFocus(field) {
	field_click = true;
	document.forms[0].onsubmit = function () {
		fieldReset();
	}
	var m = field.id.match(/^d((\d+)_(\w+))$/);
	if (getElement('cur_field').value != field.id) {
		if (getElement('cur_field').value.length > 0) {
			fieldReset();
		}
		getElement('cur_field').value = field.id;
		if (m[3] == 'Description') {
			field.innerHTML = '<textarea style="width: 98%; height: 100px;" onclick="fieldClick(this.parentNode)">'+getElement('h'+m[1]).value+'</textarea>';
		} else {
			field.innerHTML = '<input type="text" style="width: 98%;" onclick="fieldClick(this.parentNode)" value="'+getElement('h'+m[1]).value+'" />';
		}
		field.firstChild.focus();
		field.firstChild.select();
	}
}

function changeFlag() {
	getElement('changeFlag').style.display = 'block';
}

function fieldReset() {
	try {
		var m2 = getElement('cur_field').value.match(/^d((\d+)_(\w+))$/);
		var val = getElement(getElement('cur_field').value).firstChild.value;
		if (val != getElement('h'+m2[1]).value) {
			changeFlag();
		}
		getElement('h'+m2[1]).value = val;
		if (m2[3] == 'Periode') {
			if (val.length == 0) {
				val = '[Période d\'exécution...]';
			} else {
				val = 'Période d\'exécution : <b>'+val+'</b>';
			}
		} else if (m2[3] == 'Capacite') {
			if (val.length == 0) {
				val = '[Capacité...]';
			} else {
				val = 'Capacité : <b>'+val+'</b>';
			}
		} else if (m2[3] == 'Procedes' && val.length == 0) {
			val = '[Procédés...]';
		} else if (m2[3] == 'Description' && val.length == 0) {
			val = '[Description...]';
		} else if (m2[3] == 'Client' && val.length == 0) {
			val = '[Client...]';
		} else if (m2[3] == 'Lieu' && val.length == 0) {
			val = '[Lieu...]';
		}
		getElement(getElement('cur_field').value).innerHTML = val.replace(/\n/g,"<br />");
	} catch (e) {
		alert(e.message);
	}
}

function pageInit() {
	try {
		getElement('expertise'+getElement('cur_expertise').value).style.backgroundColor = drop1_over;
	} catch (exc) {
	}
	try {
		getElement('expertise_appuitechnique'+getElement('cur_expertise_appuitechnique').value).style.backgroundColor = drop2_over;
	} catch (exc) {
	}
	try {
		getElement('expertise_exploitation'+getElement('cur_expertise_exploitation').value).style.backgroundColor = drop2_over;
	} catch (exc) {
	}
	try {
		getElement('compteursdeau'+getElement('cur_compteursdeau').value).style.backgroundColor = drop1_over;
	} catch (exc) {
	}
	try {
		getElement('compteursdeau_presentation'+getElement('cur_compteursdeau_presentation').value).style.backgroundColor = drop2_over;
	} catch (exc) {
	}

	//External Links
	if (document.getElementsByTagName) {
		var anchors = document.getElementsByTagName("a");
		for (var i=0; i<anchors.length; i++) {
			var anchor = anchors[i];
			if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
				anchor.target = "_blank";
			}
		}
	}
}

function documentClick() {
	//alert(field_click);
	if (!field_click) {
		if (getElement('cur_field').value.length > 0) {
			fieldReset();
			getElement('cur_field').value = '';
		}
	}
	field_click = false;
}

window.onload = pageInit;
document.onclick = documentClick;
