var xmlHttp
var DivAjax 

//imatges 
Rollimage = new Array()
//Rollimage[0]= new Image(30,31)
Rollimage[0]= new Image(10,10)
Rollimage[0].src = "fesfotos/estrellano2.jpg"
//Rollimage[1] = new Image(30,31)
Rollimage[1] = new Image(10,10)
Rollimage[1].src = "fesfotos/estrellasi2.jpg"



function activateRowClass(row,vClass){
	if (row.className) row.className = vClass;
}
function activateRow(row){
	if (row.className) row.className = "selectrowactive";
}
function deactivateRow(row){
	if (row.className) row.className = "selectrow";
}

var newwindow;
function popbox(url,name){
	newwindow=window.open(url,'name','scrollbars=yes,resizable=yes,width=620,height=440,location=no');
	if (window.focus) {newwindow.focus()}
}
function popnormal(url,name){
	newwindow=window.open(url,name,'scrollbars=yes,resizable=yes,width=620,height=440,location=no');
	if (window.focus) {newwindow.focus()}
}
function popmini(url,name){
	newwindow=window.open(url,name,'scrollbars=no,resizable=no,width=320,height=240,location=no');
	if (window.focus && newwindow) {newwindow.focus()}
}
function textlenght(pfield, plenght){
  // textarea:onblur
	if (pfield.value.length > plenght){
		alert('El máximo de carácteres admitido és '+plenght);
		pfield.value = pfield.value.substr(0,plenght)
	}
}
function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}
function imposemaxlength(pfield, plenght) {
  // textarea:onkeypress
  return (pfield.value.length <= plenght);
}
function vv_validateForm() { //v4.0
	// form:onsubmit
	var i,p,q,nm,test,num,min,max,errors='',args=vv_validateForm.arguments;
	for (i=1; i<(args.length-2); i+=3) {
		test=args[i+2];
		val=eval('document.forms.'+args[0].name+'.'+args[i])
		nm=args[i+1];
		if(test.charAt(0) == 'R' && val.value == ''){
			errors += '- '+nm+' és requerido.\n';
		}
		if (test.indexOf('isEmail')!=-1) {
			p=val.value.indexOf('@');
			if (p<1 || p==(val.value.length-1)) {
				errors+='- '+nm+' débe conener una dirección de correo electrónico.\n';
			}
		}
		if (test.indexOf('isInt')!=-1) {
			p=parseInt(val.value);
			if (isNaN(p)){
				errors+='- '+nm+' débe conener valor numérico.\n';
			}
		}

		if (test.indexOf('eqPwd')!=-1) {
			val2=eval('document.forms.'+args[0].name+'.'+args[i]+'_');
			if (val.value != val2.value) errors+='- '+nm+' no coinciden los valores entrados.\n';
		}
	}
	if (errors!=''){
		alert('No se puede procesar la petición, revise los siguientes errores:\n'+errors);
		return false;
	} else {
		val=eval('document.forms.'+args[0].name+'.submitform');
		//val.disabled='true';
		return true;
	}
}

function app_elmntMouseUp(elmnt)
{
elmnt.style.border="solid black 1px"
elmnt.style.background="#FFEEC9"
}

function app_elmntMouseOver(elmnt)
{
elmnt.style.border="solid black 1px"
elmnt.style.background="#FFEEC9"
}

function app_elmntMouseOut(elmnt)
{
elmnt.style.border="solid #FFFFFF 1px"
elmnt.style.background=""
}

function app_elmntMouseDown(elmnt)
{
elmnt.style.background="#FFC828"
}

function replaceimg(elmnt,item)
{
elmnt.src=item
}

  function SwapOut(elmnt,punts){
	var i ; 
	
	for ( i=1; i<11; i++){  
	if (punts>i-1){
	document.getElementById("ImgVote"+i).src="fesfotos/estrellasi2.jpg"  //Rollimage[1].src;
	}else{
	document.getElementById("ImgVote"+i).src="fesfotos/estrellano2.jpg" //Rollimage[0].src;
	}
	}
	//elmnt.src = Rollimage[1].src;
    return true;
  }

  function SwapBack(elmnt,punts){
     
	for ( i=punts; i>0; i--){     
	document.getElementById("ImgVote"+i).src=Rollimage[0].src;
	}
	elmnt.src = Rollimage[0].src;

    return true;
  }

// ********************************************************************************
// AJAX FUNCTIONS 
// ********************************************************************************

// Show record 
function showRecord(posajax,vweb,vsql,vvalor1,vvalor2,vvalor3,vvalor4)
{
//alert (posajax );
DivAjax= posajax; 
if (posajax.length==0)
  { 
  document.getElementById("txtajax").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
  
var url="ajax.asp";
url=url+"?fn=showrecord";
url=url+"&idweb="+vweb;
url=url+"&sql="+vsql;
url=url+"&valor1="+vvalor1;
url=url+"&valor2="+vvalor2;
url=url+"&valor3="+vvalor3;
url=url+"&valor4="+vvalor4;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 


// update record 
function updaterecord(idweb,str,valor1,valor2,valor3)
{
//alert ("babaX!");
DivAjax= "ContingutAjax";
if (str.length==0)
  { 
  document.getElementById("txtajax").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 

var url="ajax.asp";
url=url+"?fn=updaterecord";
url=url+"&sql="+str;
url=url+"&valor1="+valor1;
url=url+"&valor2="+valor2;
url=url+"&valor3="+valor3;
url=url+"&idweb="+idweb;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 

function updatetable(idweb,numsql,valor1,valor2,valor3)
{
//alert ("babaX!");
DivAjax= "ContingutAjax";

xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
// preparar dades 
x=document.getElementById("formDatos")
// MONTAR XML AMB ELS CAMPS INPUT 
y=x.getElementsByTagName("input")
//var datos = "&ltdatos&gt"; 
var datos = "<datos>"; 
for (i=0;i<y.length;i++)
	{
	//datos=datos+"&ltvalor name='"+y[i].name+"' value='"+y[i].value+"'&#47&gt";
	if (y[i].type=="checkbox") {
		//alert (y[i].checked); 
		if (y[i].checked) {
		datos=datos+"<valor name='"+y[i].name+"' value='1'>1</valor>";
		}else{
		datos=datos+"<valor name='"+y[i].name+"' value='0'>0</valor>";
		}
	}else {
	datos=datos+"<valor name='"+y[i].name+"'>"+make_xml(y[i].value)+"</valor>";
	}
	}
//datos=datos+"&lt&#47datos&gt";

// MONTAR XML AMB ELS CAMPS TEXTAREA
yy=x.getElementsByTagName("textarea")
for (ii=0;ii<yy.length;ii++){
	//alert (yy[ii].value);
	datos=datos+"<valor name='"+yy[ii].name+"'/>"+make_xml(yy[ii].value)+"</valor>";
	}



datos=datos+"</datos>";
//datos = make_xml(datos); 
//alert (datos) ;
datos = encodeURIComponent(datos); 
//var url="http://www.doom-informatica.com/webs2/ajax.asp";
var url="ajax.asp";
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST","ajax.asp",true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
url="datos="+datos;
url=url+"&fn=updatetable";
url=url+"&idweb="+idweb;
url=url+"&sql="+numsql;
xmlHttp.send(url);
} 


// DO AJAX 
function doajax(posajax,vdo,vweb,vsql,vvalor1,vvalor2,vvalor3,vvalor4,vvalor5,vvalor6)
{
//alert ("posAjax:"+posajax+" fn:"+vdo+" idweb:"+vweb+" sql:"+vsql+" valor1:"+vvalor1+" valor2:"+vvalor2+" valor3:"+vvalor3  );
DivAjax=posajax; 
if (posajax.length==0)
  { 
  document.getElementById("txtajax").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
  
var url="";
url="fn="+vdo;
url=url+"&idweb="+vweb;
url=url+"&sql="+vsql;
url=url+"&valor1="+vvalor1;
url=url+"&valor2="+vvalor2;
url=url+"&valor3="+vvalor3;
url=url+"&valor4="+vvalor4;
url=url+"&valor5="+vvalor5;
url=url+"&valor6="+vvalor6;
url=url+"&datos="+documentdatos(); 
//alert (documentdatos()) ; 
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("POST","ajax.asp",true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

//xmlHttp.open("GET",url,true);
//xmlHttp.send(null);
xmlHttp.send(url);
} 

function doajaxNoDatos(posajax,vdo,vweb,vsql,vvalor1,vvalor2,vvalor3,vvalor4,vvalor5,vvalor6)
{
//alert ("posAjax:"+posajax+" fn:"+vdo+" idweb:"+vweb+" sql:"+vsql+" valor1:"+vvalor1+" valor2:"+vvalor2+" valor3:"+vvalor3  );
DivAjax=posajax; 
if (posajax.length==0)
  { 
  document.getElementById("txtajax").innerHTML="";
  return;
  }
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
  
var url="ajax.asp";
url=url+"?fn="+vdo;
url=url+"&idweb="+vweb;
url=url+"&sql="+vsql;
url=url+"&valor1="+vvalor1;
url=url+"&valor2="+vvalor2;
url=url+"&valor3="+vvalor3;
url=url+"&valor4="+vvalor4;
url=url+"&valor5="+vvalor5;
url=url+"&valor6="+vvalor6;
//url=url+"&datos="+documentdatos(); 
//alert (documentdatos()) ; 
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
} 


// DO AJAX 
function doajax2(posajax,vdo,vweb,vsql,vvalor1,vvalor2,vvalor3,vvalor4)
{
//alert (posajax); 
alert (document.getElementById(posajax).value);
} 



function stateChanged() 
{ 
if (xmlHttp.readyState==4)
{ 
con = xmlHttp.responseText   ; 
document.getElementById(DivAjax).innerHTML=con;
}
}


function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function make_xml(txt)
{
var tlen,n,i,addtxt,j,newtxt=""
var symbol=new Array()
var entity=new Array()
tlen=28
symbol[0]="<"
entity[0]="&#60;"
symbol[1]=">"
entity[1]="&#62;"
symbol[2]="&"
entity[2]="&#38;"
symbol[3]="/"
entity[3]="&#47;"
symbol[3]="ñ"
entity[3]="&#241;"
symbol[4]="á"
entity[4]="&#225;"
symbol[5]="à"
entity[5]="&#224;"
symbol[6]="é"
entity[6]="&#233;"
symbol[7]="è"
entity[7]="&#232;"
symbol[8]="í"
entity[8]="&#237;"
symbol[9]="ì"
entity[9]="&#236;"
symbol[10]="ó"
entity[10]="&#243;"
symbol[11]="ò"
entity[11]="&#242;"
symbol[12]="ú"
entity[12]="&#250;"
symbol[13]="ù"
entity[13]="&#249;"
symbol[14]="ï"
entity[14]="&#239;"
symbol[15]="ü"
entity[15]="&#252;"
symbol[16]="@"
entity[16]="&#64;"
symbol[17]="%"
entity[17]="&#37;"
symbol[18]="("
entity[18]="&#40;"
symbol[19]=")"
entity[19]="&#41;"
symbol[20]="="
entity[20]="&#61;"
symbol[21]="#"
entity[21]="&#35;"
symbol[22]="$"
entity[22]="&#36;"
symbol[23]="'"
entity[23]="&#39;"
symbol[24]="*"
entity[24]="&#42;"
symbol[25]="+"
entity[25]="&#43;"
symbol[26]=","
entity[26]="&#44;"
symbol[27]="-"
entity[27]="&#45;"
symbol[28]="."
entity[28]="&#46;"
symbol[28]="ç"
entity[28]="&#231;"

if (txt)
	{
	n=app_Rtrim(txt).length
	}
else
	{
	return ""
	}
for (i=0;i<n;i++)
	{
	addtxt=txt.substr(i,1)
	for (j=0;j<=tlen;j++)
		{
		if (addtxt==symbol[j])
			{
			addtxt=entity[j]
			}
		}
		
	newtxt=newtxt + addtxt;
	}

return newtxt
}
function app_Rtrim(txt)
{
while (txt.charAt((txt.length -1))==" ")
	{
	txt=txt.substring(0,txt.length-1)
	}
return txt
}

// --------------------------------------------------- DOCUMENT DATOS 
// retorna una cadema Xml de dades amb tots els camps de datos que hi hagi dins del document actual 
function documentdatos()
{

// MONTAR XML AMB ELS CAMPS INPUT 
y=document.getElementsByTagName("input")

//var datos = "&ltdatos&gt"; 
var datos = "<datos>"; 
var numS = 0;
for (i=0;i<y.length;i++)
	{
	//datos=datos+"&ltvalor name='"+y[i].name+"' value='"+y[i].value+"'&#47&gt";
	if (y[i].type=="checkbox") {
		//alert (y[i].checked); 
		if (y[i].checked) {
		datos=datos+"<valor name='"+y[i].name+"' value='1'>1</valor>";
		}else{
		datos=datos+"<valor name='"+y[i].name+"' value='0'>0</valor>";
		}
	}else {
	datos=datos+"<valor name='"+y[i].name+"'>"+make_xml(y[i].value)+"</valor>";
	}
	numS=numS+1;
	}
//datos=datos+"&lt&#47datos&gt";

// MONTAR XML AMB ELS CAMPS TEXTAREA
yy=document.getElementsByTagName("textarea")
for (ii=0;ii<yy.length;ii++){
	//alert (yy[ii].value);
	datos=datos+"<valor name='"+yy[ii].name+"'>"+make_xml(yy[ii].value)+"</valor>";
	numS=numS+1;
	}



datos=datos+"</datos>";
if (numS==0){
datos=""; 
}
//datos = make_xml(datos); 
//alert (datos) ;
datos = encodeURIComponent(datos); 
return datos; 
} 
function pedirvalor(ob) 
{
inputBox.getFloat("Introduzca la medida en centimetros");
ob.value = "99.99" 
}


