// variables globals
LOADING = "<img src=\"/imagenes/loading1.gif\" title=\"loading...\"/>";
/**
 * Abre una ventana nueva segun la dirección y los atributos indicados<br/>
 * SCM 8/11/2005
 * @param url Dirección de la página que se abrirà
 * @param width ancho de la ventana que se abrirá nueva
 * @param height alto de la ventana. Si w o h es 0 no se especifica el valor
 * @param scroll 1=con scroll, 0 sin scroll
 * @param resizable 1=resizable, 0=tamaño fijo
 * @param modal 1=modal, 0=normal
 * @return void
 */
function abrirVentana (url,width,height,scroll,resizable,modal) {
	var myLeft, myTop;
	//Centrar ventana
	if(window.screen) {
		if (width != 0) myLeft = (screen.width-width)/2;
		else myLeft = 0;
		if (height != 0) myTop = (screen.height-height)/2;
		else myTop = 0;
	}
	window.open(url,'xxx','width='+width+',height='+height+',left='+myLeft+',top='+myTop+',scrollbars='+scroll+',toolbar=0,resizable='+resizable+',modal='+modal+',status=0');
	return true;
}
/**
 * Obre l'adreça en una pestanya nova
 * @param URL adreça de la pàgina a obrir
 * @return void
 */
function openInNewTab(URL) {
	var temporalForm = document.createElement('form');
	with (temporalForm) {
		setAttribute('method','POST');
		setAttribute('action',URL);
		setAttribute('target','_blank');
	}
	var paramsString = URL.substring(URL.indexOf('?') + 1, URL.length);
	var paramsArray = paramsString.split('&');

	for (var i = 0; i < paramsArray.length; ++i) {
		var elementIndex = paramsArray[i].indexOf('=');
		var elementName = paramsArray[i].substring(0, elementIndex);
		var elementValue = paramsArray[i].substring(elementIndex + 1, paramsArray[i].length);

		var temporalElement = document.createElement('input');
		with(temporalElement) {
			setAttribute('type', 'hidden');
			setAttribute('name', elementName);
			setAttribute('value', elementValue);
		}
		temporalForm.appendChild(temporalElement);
	}
	document.body.appendChild(temporalForm);
	temporalForm.submit();
	document.body.removeChild(temporalForm);
}
/**
 * Obre una URL en un iframe i el dimensiona
 * @param _iframe objecte iframe
 * @param URL adreça de la pàgina a carregar
 * @param _left posició esquerra
 * @param _top posició superior
 * @param _width amplada
 * @param _height altura
 * @return
 */
function openInIFrame(_iframe,URL,_left,_top,_width,_height) {
	_iframe.src=URL;
	_iframe.style.position="absolute";
	_iframe.style.left=_left+"px";
	_iframe.style.top=_top+"px";
	_iframe.style.width=_width+"px";
	_iframe.style.height=_height+"px";
	_iframe.style.display="inline";
}
/**
 * Treu espais en blanc al principi i al final d'una cadena
 * @param cadena
 */
function trim(cadena) {
	var s,i,res;
	// treu espais inicials
	s="";
	for (i=0;i<cadena.length;i++) 
		if ((s!="")||(cadena.charAt(i)!=" "))
			s=s+cadena.charAt(i);
	// treu espais finals
	res=""; 
	for (i=s.length-1;i>=0;i--)
		if ((res!="")||(s.charAt(i)!=" "))
			res=s.charAt(i)+res;
	return res;
}
/**
 * Retorna una cadena representant el dia actual en format dd/mm/yyyy
 */
function getDiaActual() {
	var avui,d,m,y,res;
	
	avui=new Date();
	d=avui.getDate();
	m=avui.getMonth()+1;
	y=avui.getFullYear();
	res="";
	if (d<10) res+="0"+d.toString();
	else res+=d.toString();
	if (m<10) res+="/0"+m.toString()+"/"+y.toString();
	else res+="/"+m.toString()+"/"+y.toString();
	return res;
}
/**
 * Retorna una cadena representant la data resultant de sumar dies a una 
 * data en format dd/mm/yyyy
 * @param dia data de referencia
 * @param inc dies a sumar
 */
function addDays(dia,inc) {
	var dia2,d,m,y,res;
	
	dia2=new Date(dia.getTime()+(inc*24*60*60*1000));
	d=dia2.getDate();
	m=dia2.getMonth()+1;
	y=dia2.getFullYear();
	res="";
	if (d<10) res+="0"+d.toString();
	else res+=d.toString();
	if (m<10) res+="/0"+m.toString()+"/"+y.toString();
	else res+="/"+m.toString()+"/"+y.toString();
	return res;
}

/**
 * Borra les opcions d'un objecte select (llista desplegable)
 * @param _sel objecte select
 */
function clearSelect (_sel) {
	var r,sl;
	sl=_sel.options.length;
	for (r=0;r<sl;r++) _sel.options[0]=null;
}
/**
 * Calcula la posició esquerra d'un element
 * @param ele element
 * @return coordenada esquerra
 */
function getLeft(ele) {
	if (ele.offsetParent)
		return ele.offsetLeft + getLeft(ele.offsetParent);
	else
		return ele.offsetLeft;
}
/**
 * Calcula la posició superior d'un element
 * @param ele element
 * @return coordenada superior
 */
function getTop(ele) {
	if (ele.offsetParent)
		return (ele.offsetTop + getTop(ele.offsetParent));
	else
		return (ele.offsetTop);
}
/**
 * Converteix un element a posició absoluta
 * @param ele element
 * @return void
 */
function setPositionAbsolute(ele) {
	ele.style.left=getLeft(ele)+"px";
	ele.style.top=getTop(ele)+"px";
	ele.style.marginTop="0px";
	ele.style.marginLeft="0px";
	ele.style.position="absolute";
}
/**
 * Situa un input box sobre un camp per editar-lo 
 * @param _cellcontainer contenidos del camp
 * @param _cell objecte camp
 * @param _editor camp input per editar el camp
 * @return void
 */
function setCellEditor(_cellcontainer,_cell,_editor) {
	_editor.style.position="absolute";
	_editor.style.left=(getLeft(_cell)-getLeft(_cellcontainer))+"px";
	_editor.style.top=(getTop(_cell)-getTop(_cellcontainer))+"px";
	_editor.style.height=(_cell.offsetHeight-6)+"px";
	_editor.style.width=(_cell.offsetWidth-5)+"px";
	_editor.value=_cell.innerHTML;
	_editor.style.display="inline";
}
