/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
*/

	
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}

function obtenirParaula()
{
	var direccio = decodeURI(document.referrer);
	direccio = direccio.substring(direccio.lastIndexOf('?')+1);
	
	// Parsajar la querystring del referer
	var qs = new Querystring(direccio);
	var paraula = qs.get("q", "NoExisteix");
	if(paraula == "NoExisteix")
	{
		paraula = qs.get("p","NoExisteix");
		if(paraula == "NoExisteix")
		{
			paraula="";
		}
	}
	return paraula;
}

var a;

function posarParaula()
{
	a = obtenirParaula();
	//alert(a);
	a = a.replace(/\"/g,'');
	//a = a.replace(/"/g,'');
	//document.getElementById("paraula").value = a;
	document.getElementById("itec").style.display = "none";
    var	nav = document.getElementById("navlist");
	var nav2 = nav.getElementsByTagName("li")
	var i = 1;
	while(i< nav2.length)
	{
		if (nav2.item(i).className=="active2")
		{
			nav2.item(i-1).className = "separadorActiu";
			nav2.item(i-2).style.display = "none";
		}
		i++;
	}
	
	if(a.length>0)
	{
		//obtenirPlurals(a);
		//charm();
	}

	/*Posar estadistiques barra*/
	var links = document.getElementById("nav").getElementsByTagName("A");

	for (i=0; i<links.length; i++) 
	{
		var node = links.item(i);
		node.onclick=function()
		{

			estadistiques("METATEXTOS-BARRA",obtenirIdioma(),this.innerHTML,document.location);
			//alert("METATEXTOS-BARRA "+obtenirIdioma()+" "+this.innerHTML+" "+document.location);
		}
	}

}

var searchTerms=[];
var toSearch;
var colors=['#6f0','#3ff','#f9f','#ff0','#fc0','#cf0','#f99','#c9f','#9f6','#6cf','#f66'];
var separadors = [' ', ',', '.','?', ')', '}'];

function clearDoc(){
	var arr=document.getElementsByTagName('span'), ele, i, parent;
	for(i=0; ele=arr[i]; i++) {
		if(ele.highligthed){
			ele.parentNode.replaceChild(ele.firstChild, ele);
			i--;
		}
	}
}

function charm(Cerca){
	searchTerms=[];
	toSearch = Cerca
	//var senseAccents = obtenirParaula();
	//senseAccents = senseAccents.removeAccents();
	//alert(senseAccents);
	//toSearch =obtenirParaula();
	//alert(toSearch);
	
	while(/^ | $/.test(toSearch)) toSearch=toSearch.replace(/^ /,'').replace(/ $/,'');
	
	while(/(^.[^ ]*) /.test(toSearch)) {
		
		//searchTerms.push([RegExp.$1,0,0]);
		for(x=0;x<separadors.length;x++){
			searchTerms.push([RegExp.$1 + separadors[x],0,0]);
		}
		toSearch=toSearch.slice(RegExp.$1.length+1);
	};
	
	
	searchTerms.push([toSearch,0,0]);
	function searchFor(ele) {
		var curEle, index=0, pos, hit, span, sep;
		while(curEle=ele.childNodes[index]) {
			if(curEle.nodeType==1 && !/script|style|option|select/i.test(curEle.nodeName) ) searchFor(curEle);
			if(curEle.nodeType==3){
				while((pos=curEle.nodeValue.toLowerCase().indexOf(toSearch))!=-1) {	
					
					for(sep=0;sep<separadors.length;sep++){
						// vejam com aïllem els caràcters interns d'una cadena més llarga!!!
						if(toSearch.indexOf(separadors[sep])!=-1){
							toSearch = toSearch.replace(separadors[sep],'');						
						}
					}
					
					hit=curEle.splitText(pos);
					curEle=hit.splitText(toSearch.length);
					span=ele.insertBefore(ele.ownerDocument.createElement('span'), hit);
					//span.style.backgroundColor = '';
					span.style.color='#FD7216';
					span.style.padding='0px';
					span.style.fontWeight = 'bold';
					span.highligthed=true;
					span.id="g7z"+searchTerms[j][0]+searchTerms[j][1];
					span.appendChild(ele.removeChild(hit));	
					index+=2;
					searchTerms[j][1]++;
				}
			};
			index++;
		}
	};
	for(var j=0; j<searchTerms.length; j++){
		toSearch=searchTerms[j][0].toLowerCase();
		searchFor(document.getElementById("TaulaContingut"));
	}

};

function obtenirPlurals(text)
{
	var idioma = obtenirIdioma();
	
    if (!enProces && http) 
	{ 
		   var Textos = text;
		   var ResolucioY = screen.height;	   
		   //var url = "/estadistiques/estadistic.aspx?Text="+Textos+"&URL=none";	  
		   var url = "/negretesmetatextos/negretesmetatextos.aspx?paraula="+Textos+"&idioma=" + idioma;

		   http.open("POST", url, true);

		   http.onreadystatechange = handleHttpResponse;
		   
		   enProces = true;
		   http.send(null);	   
    }
}


function obtenirIdioma(){
	if(document.location.href.indexOf(".c/")>0){
		return "cat";	
	}
	else{
		return "cas";	
	}
}


function getHTTPObject() {
var xmlhttp;
/*@cc_on
   @if (@_jscript_version >= 5)
   try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   } catch (e) {
      try {
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) { xmlhttp = false; }
   }
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
   try {
      xmlhttp = new XMLHttpRequest();
   } catch (e) { xmlhttp = false; }
}
return xmlhttp;
}


function handleHttpResponse() {
    if (http.readyState == 4) {
       if (http.status == 200) {

       	  LoadXML(http.responseText);
       	  
       	  //alert(http.responseText);
       	  //alert(xmlDoc.getElementsByTagName("paraules").item(0).firstChild.nodeValue);
       	  try{
       	   	  charm(xmlDoc.getElementsByTagName("paraules").item(0).firstChild.nodeValue);
	       	  
	       	  if(xmlDoc.getElementsByTagName("resultats").item(0).getAttribute("resultats") == "True"){
	       	  	 //   document.getElementById("paraula").value = a; 
	       	  	    afegirOpcions();
	       	  } 
	       	  	
	       	  
	       	 
	      }
	      catch(err){
	      	//alert(err);
	      }
       	  enProces = false;
          /*
          if (http.responseText.indexOf('invalid') == -1) {
             // Armamos un array, usando la coma para separar elementos
             results = http.responseText.split(",");
             document.getElementById("campoMensaje").innerHTML = results[0];
             enProceso = false;
          }
          */
       }
    }
}


	
	
function LoadXML(xmlIn)
{
	if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.loadXML(xmlIn);
	}
	
	else
	{
		var Parser = new DOMParser();
		var PreDocument = Parser.parseFromString(xmlIn, 'text/xml');
		xmlDoc = PreDocument.documentElement;
	}
}

function afegirOpcions(){
		
	var nE = document.getElementById('capcalera');
	var f = document.createElement("span");
	var idio = obtenirIdioma();
	var str = "";
	
	idio = idio.charAt(0).toUpperCase() + idio.substr(1).toLowerCase();

	if(idio == "Cat"){
		amplii = "<a href='/noumetabase2.c/consultes.aspx?paraula=" + a + "'>Ampl&iuml;i</a> resultats per a";
		Entitats = " Entitats, ";
		Empreses = " Empreses i Productes, ";
		BEmpresa = " Bancs d'Empresa, ";
		Bedec = " Banc BEDEC, ";
		Magatzems = " Magatzems, ";
		MarcaCE = " Marcatge CE, ";
		
	}else{
		amplii = "Amplie resultados para";
		Entitats = " Entidades,";
		Empreses = " Empresas y Productos,";
		BEmpresa = " Bancos de Empresa,";
		Bedec = " Banco BEDEC,";
		Magatzems = " Almacenes,";
		MarcaCE = " Marcado CE,";
	}
	
	//alert(xmlDoc.getElementsByTagName("resultats")[0].innerHTML);
	listResultats = xmlDoc.getElementsByTagName("resultats")[0];//.getAttribute("Resultats");
	
	for(x=0;x<listResultats.childNodes.length;x++){
		
		/*if(listResultats.childNodes[x].getAttribute("resultats") == "True"){
			switch(listResultats.childNodes[x].nodeName){
				case "Entitats" + idio:
					str = str + Entitats;
					break;
			    case "EmpProdArt" + idio:
					str = str + Empreses;
					break;
				case "BancEmpreses" + idio:
					str = str + BEmpresa;
					break;
				case "Bedec" + idio:
					str = str + Bedec;
					break;
				case "Magatzems" + idio:
					str = str + Magatzems;
					break;
				case "MarcatgeCe" + idio:
					str = str + MarcaCE;
					break;

			}*/
			
			if(listResultats.childNodes[x].getAttribute("resultats") == "True"){
			switch(listResultats.childNodes[x].nodeName){
			
				case "Bedec" + idio:
					str = str + Bedec;
					break;			
				default:
					//alert(listResultats.childNodes[x].nodeName);
					document.getElementById('EiP').disabled = false;
					//document.getElementById('EG').checked = false;
					//document.getElementById('EiP').checked = true;
					document.getElementById("paraula").value = a; 
					break;

			}
		}
		

		
	//nE.innerHTML + listResultats.childNodes[x].nodeName + "(" + listResultats.childNodes[x].getAttribute("resultats") + ") ";
		//alert(listResultats.childNodes[x].getAttribute("resultats"));
	}
	
	/*if(str.length>0){
			str = amplii + str.substring(0,str.length-2) + ".";	
	}
	f.innerHTML = str;
	f.style.fontSize = "12px";
	f.style.backgroundColor = "rgb(255,222,163)";
	f.style.position = "relative";
	f.style.top = "-9px";
	f.style.left = "2px";
	f.style.width = "955px";
	f.style.padding  = "4px";
	f.style.zIndex  = "1009";
	//f.style.height  = "0px";
	f.style.display="block";
	
	nE.appendChild(f);
	//nE.innerHTML = str;
	//alert(listResultats.getAttribute("resultats").value);
	//nE.innerHTML="M&eacute;s elements" + listResultats.length;
	//f.appendChild(nE);*/
	
}

	var enProces = false; // lo usamos para ver si hay un proceso activo
	var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest
	var xmlDoc;


	var incrementAmple,incrementAlsada,incrementX,incrementY,elemG,widthFinal,heightFinal,xFinal,yFinal,interrupcions,interrupcionsFetes = 0;

	function moureAmbResize (elem,widthFinalt,heightFinalt,xFinalt,yFinalt,temps)
	{
		//document.getElementById('cancelar').style.visibility = 'hidden';
		//document.getElementById('cortinaM').style.visibility = 'hidden';
		document.getElementById('AfegirB1').style.visibility = 'hidden';
		document.getElementById('sep1').style.visibility = 'hidden';
		document.getElementById('sep2').style.visibility = 'hidden';
		document.getElementById('amagar').style.display = 'none';

		document.getElementById('Carregant').style.borderWidth = '0px';
		//document.getElementById('Carregant').style.background= 'transparent';
		document.getElementById('Carregant').style.zIndex= 699;

		//document.getElementById('Carregant').style.background = 'red';
		//document.getElementById('Carregant').style.zIndex= 99;

		 elemG = document.getElementById(elem);
		 widthFinal = widthFinalt;
		 heightFinal = heightFinalt;
	     xFinal = xFinalt;
		 yFinal = yFinalt;
		 calculaParametresMoviment(temps);
		 setTimeout("moure()", 5);
		// alert('inici top: '+elemG.style.top+' left: '+elemG.style.left+' width: '+elemG.style.width+' height: '+elemG.style.height);
	}

	function calculaParametresMoviment(temps)
	{	
		elemG.style.position='absolute';
		var ample = elemG.clientWidth;
		elemG.style.width = ample;
		var altura = elemG.clientHeight;
		elemG.style.height = altura;
		var posTop = findPos(elemG,1)+65;//elemG.offsetTop/*+document.getElementById('bodyDiv').offsetTop*/;
		elemG.style.top = posTop;
		var posLeft = findPos(elemG,0)+200;/*+document.getElementById('bodyDiv').offsetLeft*/;		
		elemG.style.left = posLeft;


		xFinal = xFinal + findPos(document.getElementById('bodyDiv'),0);
		yFinal = yFinal + findPos(document.getElementById('bodyDiv'),1);	
	
		var canviAmple = ample - widthFinal;
		var canviAlsada = altura - heightFinal;
		var canviX = posLeft - xFinal;
		var canviY = posTop - yFinal;
		var canviFont = 18 - 12;
		interrupcions = temps/5;		
		//alert('inici top: '+posTop+' left: '+posLeft+' width: '+ample+' height: '+altura);
		incrementAmple =  canviAmple/interrupcions;
		incrementAlsada =  canviAlsada/interrupcions;
		incrementX =  canviX/interrupcions;
		incrementY =  canviY/interrupcions;
		incrementFont = canviFont/interrupcions;
		//alert(incrementFont);
		//alert("am: "+incrementAmple+" als: "+incrementAlsada+" x: "+incrementX+" y: "+incrementY);

	}
	function moure()
	{
		
		var totsfets = true;
		if(elemG.style.width.replace("px","") != widthFinal || true)
		{
			elemG.style.width = parseFloat(elemG.style.width.replace("px","")) - incrementAmple;
			totsfets = false;
		}
		if(elemG.style.height.replace("px","") != heightFinal || true)
		{
			elemG.style.height = parseFloat(elemG.style.height.replace("px","")) - incrementAlsada;
			totsfets = false;
		}
		if(elemG.style.left.replace("px","") != xFinal || true)
		{
			elemG.style.left = parseFloat(elemG.style.left.replace("px","")) - incrementX;
			totsfets = false;
		}
		if(elemG.style.top.replace("px","") != yFinal || true)
		{
			elemG.style.top = parseFloat(elemG.style.top.replace("px","")) - incrementY;
			totsfets = false;
		}
		
		//document.getElementById('titolresultats').innerHTML = document.getElementById('titolresultats').innerHTML.fontsize(18 - incrementFont);
		//incrementFont+=incrementFont;

		
		
		interrupcionsFetes++;
		if(!totsfets && interrupcionsFetes<interrupcions)
		{
			 setTimeout("moure()", 5);
		}
		else
		{
			//alert('ok top: '+elemG.style.top+' left: '+elemG.style.left+' width: '+elemG.style.width+' height: '+elemG.style.height);
			document.getElementById('Carregant').style.borderWidth = '0px';
			document.getElementById('Carregant').style.background= '#FFFFFF';
			document.getElementById('Carregant').style.zIndex= 99;
			document.getElementById('cortinaM').style.visibility = 'hidden';
			
		}
	}
	function findPos(obj,top)
	{
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		if(top==1)
		{
			return curtop;
		}
		else
		{
			return curleft;
		}
	}
	function resultats()
	{
		document.getElementById('cortinaM').style.visibility = 'visible';
		document.getElementById('Carregant').style.visibility = 'visible';
		
		
	}