function createXMLHttpRequest() {
   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
   try { return new XMLHttpRequest(); } catch(e) {}
   alert("XMLHttpRequest n'est pas supporté, mettez à jour votre navigateur, merci.");
   return null;
}

function setAndExecute(divId,innerHTML) {
	var div = document.getElementById(divId);
	div.innerHTML = innerHTML;
	var x = div.getElementsByTagName("script");
	for(var i=0;i<x.length;i++)   {
		eval(x[i].text);
	}
}

function deleteSharp(str) {
	var liLength = str.length
	if ( str.substring((liLength-1),liLength) == '#' ) {
		str = str.substring(0,(liLength-1))
	}
	return str;
}

//******************************************

function popup(url, width, height,scroll,menu,full){
	var top=(screen.height-height)/2;
	var left=(screen.width-width)/2;
	var nsNav = (document.layers) ? 1 : 0;
	var ieNav = (document.all) ? 1 : 0;

	// popup plein ecran
	if(full){
		height = screen.availHeight - 30;
		width = screen.availWidth - 10;
		top=0;
		left=0;
	}

	scrollbars = 'no'
	if ( scroll ) {
		scrollbars = 'yes'
	}

	menubar = 'no'
	if ( menu ) {
		menubar = 'yes'
	}

	wintype="toolbar="+menubar+",menubar="+menubar+",location='no',scrollbars="+scrollbars+",top="+top+",left="+left;
	wintype=wintype + ",height=" + height + ",width=" + width;
	var newwin = window.open(url,"popup",wintype);
	newwin.focus();
}

//**************************************************Plier et d&eacute;plier du contenu
function show(portlet) {
		document.getElementById("hide_" + portlet).style.display="none";
		document.getElementById("show_" + portlet).style.display="";
}
function hide(portlet) {
		document.getElementById("show_" + portlet).style.display="none";
		document.getElementById("hide_" + portlet).style.display="";
}

function show2(hide_portlet,show_portlet) {
		document.getElementById(hide_portlet).style.display="";
		document.getElementById(show_portlet).style.display="none";
}
function hide2(hide_portlet,show_portlet) {
		document.getElementById(hide_portlet).style.display="none";
		document.getElementById(show_portlet).style.display="";
}

function showMe(portlet) {
	if (document.getElementById(portlet)) {
		document.getElementById(portlet).style.display="";
	}
}
function hideMe(portlet) {
	if (document.getElementById(portlet)) {
		document.getElementById(portlet).style.display="none";
	}
}

//**************************************************Plier déplier Portlet Droit
function showItemPortlet(id,picto){
		if (document.getElementById(id).style.display=="block"){
			document.getElementById(id).style.display="none";
			document.getElementById(picto).src="theme_front/theme_front_1/image/module/portlet/open_item.gif";
		}
		else if (document.getElementById(id).style.display=="none"){
			document.getElementById(id).style.display="block";
			document.getElementById(picto).src="theme_front/theme_front_1/image/module/portlet/close_item.gif";
		}
}

function showHide(id){
		if (document.getElementById(id).style.display=="block"){
			document.getElementById(id).style.display="none";
		}
		else if (document.getElementById(id).style.display=="none"){
			document.getElementById(id).style.display="block";
		}
}

//**************************************************TEXTESIZER
//Specify affected tags. Add or remove from list:
var tgs = new Array('div');

//Specify spectrum of different font sizes:
var szs = new Array('10px','12px','14px','18px','23px');

var startSz = 0;

function ts( trgt,inc ) {
	if (!document.getElementById) return
	var d = document,cEl = null,sz = startSz,i,j,cTags;

	sz += inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 4 ) sz = 4;
	startSz = sz;

	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs[ sz ];

	for ( i = 0 ; i < tgs.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
	}
}

function selectByValue(obj,val) {
	for (i=0; i < obj.options.length; i++) {
		if(obj.options[i].value==val) {
			obj.selectedIndex=i;
			return;
		}
	}
	obj.selectedIndex=0;
}

function checkByValue(obj,val) {
	if (obj != null && obj.length > 0) {
		for (i=0; i < obj.length; i++) {
			if(obj[i].value==val) {
				obj[i].checked=true;
				return;
			}
		}
	}
	else {
		if (obj != null) {
			if(obj.value==val) {
				obj.checked=true;
			}
		}
	}
}

//*************************************************AIDE A LA SAISIE
function SelObj(formname,selname,textname,str) {
this.formname = formname;
this.selname = selname;
this.textname = textname;
this.select_str = str || '';
this.selectArr = new Array();
this.initialize = initialize;
this.bldInitial = bldInitial;
this.bldUpdate = bldUpdate;
}

function initialize() {
if (this.select_str =='') {
for(var i=0;i<document.forms[this.formname][this.selname].options.length;i++) {
this.selectArr[i] = document.forms[this.formname][this.selname].options[i];
this.select_str += document.forms[this.formname][this.selname].options[i].value+":"+
document.forms[this.formname][this.selname].options[i].text+",";
}
}
else {
var tempArr = this.select_str.split(',');
for(var i=0;i<tempArr.length;i++) {
var prop = tempArr[i].split(':');
this.selectArr[i] = new Option(prop[1],prop[0]);
}
}
return;
}

function bldInitial() {
this.initialize();
for(var i=0;i<this.selectArr.length;i++)
document.forms[this.formname][this.selname].options[i] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = this.selectArr.length;
return;
}

function bldUpdate() {
var str = document.forms[this.formname][this.textname].value.replace('^\\s*','');
if(str == '') {this.bldInitial();return;}
this.initialize(); //lwf
var j = 0;
pattern1 = new RegExp("^"+str,"i");
for(var i=0;i<this.selectArr.length;i++)
if(pattern1.test(this.selectArr[i].text))
document.forms[this.formname][this.selname].options[j++] = this.selectArr[i];
document.forms[this.formname][this.selname].options.length = j;
if(j==1){
document.forms[this.formname][this.selname].options[0].selected = true;
}
}

function setUp(form,select,input) {
obj = new SelObj(form,select,input);
obj.bldInitial();
}

// Fonction qui ouvre les champs arborescence
function showFormGeneratorArbo(formArboId,fieldId) {
	var xhr_object = createXMLHttpRequest();
	var url = reverse_path+"service/ajax/index.php?component=form_generator&action=show_arbo&form_arbo_id="+formArboId+"&field_id="+fieldId
	xhr_object.open("GET",url,true)
	xhr_object.onreadystatechange=onreadystatechange = function(){
		if ( xhr_object.readyState == 4 && xhr_object.status == 200 ) {
			setAndExecute('portletArbo',xhr_object.responseText);
			showMe('portletArbo');
			hideMe('selectPortletArbo');
		}
	}
	xhr_object.send(null)
}

function deleteArboLineQte(fieldQteIdId) {
	document.getElementById(fieldQteIdId).value = ''
}

function selectArboElement(fieldId,arboElementId,arboElementName) {
	document.getElementById(fieldId).value = arboElementName
	document.getElementById(fieldId+'_id').value = arboElementId
	hideMe('portletArbo');
	showMe('selectPortletArbo');
}
