var ie=(document.all)?true:false;
var ns6=((document.getElementById)?true:false) && !ie;

function refObj(obj) {
  if (ie) return (obj!=null)?("document.all." + obj) :("document.all");
  if (ns6) return (obj!=null)?("document.getElementById('" + obj + "')") : ("document");
}

function ocultaMostraCapa(IdCapa,ocultaMostra) {
  //ocultaMostra=v-->visualitza, =o-->oculta, =t-->commuta.
  if (ocultaMostra=='t') {
	  if(ns6||ie) eval('if(document.getElementById("'+IdCapa+'").style.visibility != "hidden") ocultaMostra="o"; else ocultaMostra="v";');
  }
  if (ns6||ie)  eval( 'document.getElementById("' + IdCapa + '").style.visibility = ' + ((ocultaMostra=="v")?'"visible"':'"hidden"') );
  if (ie)   eval( 'document.all.' + IdCapa +'.style.visibility=' + ((ocultaMostra=="v")?'"visible"':'"hidden"') );
}

function ocultaMostraCapa2(IdCapa,display) {
  //display --> none, block, inline, ...
  if (ns6||ie)  eval( 'document.getElementById("' + IdCapa + '").style.display = "' + display + '"' );
  if (ie)   eval( 'document.all.' + IdCapa +'.style.display="' + display + '"' );
}

function escriuACapa(pNomCapa, text) {
  if (ie) eval( 'document.all.' + pNomCapa + '.innerHTML= text' );
  if (ns6) eval( 'document.getElementById("' + pNomCapa + '").innerHTML=text' );
}

function afegeixACapa(pNomCapa, text) {
	if (ie) eval( 'document.all.' + pNomCapa + '.innerHTML = document.all.' + pNomCapa + '.innerHTML + text' );
	if (ns6) eval( 'document.getElementById("' + pNomCapa + '").innerHTML= document.getElementById("' + pNomCapa + '").innerHTML + text' );
}

function ajust() {
	fer_peticio(".", "vis=1", null, "post");
	mostraCos('cosInici');
	ocultaMostraCapa('temps_espera','o');
	fer_peticio(".", "descarrega=1", "fDescarrega", "post");
	ocultaMostraCapa('peu','v');
}

function fDescarrega(hr) {
	var doc=hr.responseText;
	doc=doc.replace(/^<text>|<\/text>$/g, "");
	escriuACapa("cosDescarrega", doc);
}

function fForum(hr) {
	var doc=hr.responseText;
	doc=doc.replace(/^<text>|<\/text>$/g, "");
	escriuACapa("cosForum", doc);
	var scripts = doc.match(/<script[^>]*>([\S\s]*?)<\/script[^>]*>/ig) || [];
	for(var i=0; i<scripts.length; ++i) eval(scripts[i].replace(/^<script[^>]*>|<\/script>$/gi, ""));
	autoHeightCapa("cosForum");
}

function mostraCos(pCos) {
	eval("ocultaMostraCapa2('cosInici','"+((pCos=='cosInici')?"block":"none")+"');");
		eval("ocultaMostraCapa2('capaExtraInici','"+((pCos=='cosInici')?"block":"none")+"');");
	eval("ocultaMostraCapa2('cosCaptures','"+((pCos=='cosCaptures')?"block":"none")+"');");
	eval("ocultaMostraCapa2('cosInstalacio','"+((pCos=='cosInstalacio')?"block":"none")+"');");
	eval("ocultaMostraCapa2('cosUtilitzacio','"+((pCos=='cosUtilitzacio')?"block":"none")+"');");
	eval("ocultaMostraCapa2('cosPMF','"+((pCos=='cosPMF')?"block":"none")+"');");
	eval("ocultaMostraCapa2('cosForum','"+((pCos=='cosForum')?"block":"none")+"');");
	eval("ocultaMostraCapa2('cosDescarrega','"+((pCos=='cosDescarrega')?"block":"none")+"');");
	eval("ocultaMostraCapa2('cosDemo','"+((pCos=='cosDemo')?"block":"none")+"');");
	autoHeightCapa(pCos);
}

function autoHeightCapa(pCos) {  
	eval ('var pr='+refObj(pCos)+'.offsetHeight;');
	eval("ocultaMostraCapa('peu','"+((pCos=='cosForum')?"o":"v")+"');");
	if(pr<=300) pr=300;
	//eval( refObj(pCos) + '.style.height= \''+pr+'px\'' );
	pr=pr+110;
	eval( refObj('peu') + '.style.top= \''+pr+'px\'' );
}

// ----funcions per al control d'events de ratoli
	if(!document.addEventListener || ie) {
 		document.onclick = posicioClick;
	}
	else {
		addEvent(document, 'click', posicioClick);
	}
	
	function addEvent(obj, tipusEvent, nomFuncio) {
		if (obj.addEventListener){ //tenim un firefox
			obj.addEventListener(tipusEvent, nomFuncio, false);
			return true;
		} else if (obj.attachEvent){  //tenim un ie
			var r = obj.attachEvent("on"+tipusEvent, nomFuncio);
			return r;
		} else {
			return false;  //no es el model adequat
		}
	}

	function rmEvent(obj, tipusEvent, nomFuncio) {
		if (obj.removeEventListener) {
			obj.removeEventListener(tipusEvent, nomFuncio, false );
			return true;
		}
		else if (obj.detachEvent) {
			var r=obj.detachEvent("on"+tipusEvent, nomFuncio);
			return r;
		}
		else return false;	
	}
  var ev=0;
	function posicioClick(e) {
		ev=e;
		if (ie) ev=window.event; //??
	}
// ----Fi funcions per al control d'events de ratoli


var http_request=new Array();
function creaObjAjx() {
	var peticio=http_request.length;
	http_request[peticio]=false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request[peticio] = new XMLHttpRequest();
		if (http_request[peticio].overrideMimeType) http_request[peticio].overrideMimeType('text/xml');
    }
    else if (window.ActiveXObject) { // IE
		try {
			http_request[peticio] = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request[peticio] = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request[peticio]) {
		alert('Falla :( No es posible crear una instancia XMLHTTP)');
		return -1;
	}
	else return peticio;	    
}

var accions=new Array();  
function fer_peticio(url, params, accio, getpost) {  
	var peticio=creaObjAjx()
	if(peticio==-1) return;
	accions[peticio]=accio;
	ocultaMostraCapa("temps_espera","v");
	if (ie ) {
		//document.all.temps_espera.style.left=window.event.clientX+5 + document.body.scrollLeft;
		//document.all.temps_espera.style.top=window.event.clientY+5 + document.body.scrollTop;
 	} 
 	if (ns6) {
       		document.getElementById("temps_espera").style.top = (((ev.pageY+5)<0)?10:ev.pageY+5)+"px";
    		document.getElementById("temps_espera").style.left = (((ev.pageX+5)<0)?10:ev.pageX+5)+"px";
 	}
	http_request[peticio].onreadystatechange = function() { 
		if (http_request[peticio].readyState == 4) {
			if (http_request[peticio].status == 200) {
			  if(accions[peticio]!=null) eval ( accions[peticio]+"(http_request[peticio]);" );
				accions[peticio]="";
			} else {
				alert('Hi ha problemes amb la peticio: '+peticio,+' '+accions[peticio]+' status: '+http_request[peticio].status);
				accions[peticio]="";
			}
			var trobat=false;
			for(var i=0; i<accions.length; ++i) {
				if(accions[peticio]!="") {
					trobat=true;
					break;
				}
			}
			if(!trobat) ocultaMostraCapa("temps_espera","o");
		}
	}
	if(getpost=='get') {       
		http_request[peticio].open('GET', url+"?"+params, true);
		http_request[peticio].setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
		http_request[peticio].send(null);
	}
	else {
		try {
			http_request[peticio].open('POST', url, true);
			http_request[peticio].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			http_request[peticio].send(params);
		} catch (e) {}
	}
}







