// Variable necesaria para controlar si la función EventHandlerForm existe.
var ExistEventHandlerForm = false;

function Row2Form(row) {
	var i,v,c;
	for(i=1; i<=GetInput('numcols'); i++) {	
		c=GetInput('col' +  i)
		v=GetInput( '_' + c + '_' + row );
		if (o==GetInputObj(c)) { o.value=v; }
		else { 	if (o==GetInputObj('k' + c)) { o.value=v; } 	}
	}
}


function InitInput(Input, Value, disabled)
{ var e; 
	e=GetInputObj(Input); 
	if (Value!=null) 
	{
		if (e.type=='checkbox')
		{
			if (Value=='true')
			{
				e.checked=true;
			}
			else
			{
				e.cheched=false;
			}
		}
		else 
		{
		if (!e.type)
		{
			e.innerHTML=Value;
		}
		else
		{
			e.value=Value; 
		}
		}
	}
	e.disabled=disabled;
}

function InitInputParent(Input, Value, disabled)
{ var e; 
	e=GetParentInputObj(Input); 
	if (Value!=null) 
	{
		if (e.type=='checkbox')
		{
			if (Value=='true')
			{
				e.checked=true;
			}
			else
			{
				e.cheched=false;
			}
		}
		else 
		{
		if (!e.type)
		{
			e.innerHTML=Value;
		}
		else
		{
			e.value=Value; 
		}
		}
	}
	e.disabled=disabled;
}


function InitInputImg(Input, Value, disabled)
{ var e; 
	e=GetInputObj(Input);
	if (Value==null)
		Value=Input; 
		if (disabled)
			document.images(Input+'Img').src='..\\imagenes\\varias\\' + Value + '_gris.gif'; 
		else
			document.images(Input+'Img').src='..\\imagenes\\varias\\' + Value + '_off.gif'; 
	e.id=Value;
	e.disabled=disabled;
}

function GetInputObj(Input)
{ 
	if (document.getElementById)
	{
		return document.getElementById(Input);
	}
	else if (document.all)
	{
		return document.all[Input];
	}
	else if (document.layers)
	{
		return document.layers[Input];
	}
}

function GetParentInputObj(Input)
{ 
	if (window.opener.document.getElementById)
	{
		return window.opener.document.getElementById(Input);
	}
	else if (window.opener.document.all)
	{
		return window.opener.document.all[Input];
	}
	else if (window.opener.document.layers)
	{
		return window.opener.document.layers[Input];
	}
}

function GetInput(Input)
{
var e;
	e=GetInputObj(Input);
	return (e?e.value:'');
}

function GetLabel(Label)
{
var e;
	e=GetInputObj(Label);
	return (e?e.innerText:'');
}

function SetInput(Input, Value)
{
var e;
	e=GetInputObj(Input);
	if (e!=null)
	{	
		e.value=Value;
	}
}

function SetLabel(Label, Value)
{
var e;
	e=GetInputObj(Label);
	if (e!=null)
	{
		e.innerText=Value;
	}
}

function SetParentLabel(Label, Value)
{
var e;
	e=GetParentInputObj(Label)
	if (e!=null)
	{
		// Si es un input no va
		if (e.type!='text') e.innerText=Value;
	}
}

function SetParentInput(Input, Value)
{
var e;
	e=GetParentInputObj(Input)
	if (e!=null)
	{	
		e.value=Value;
	}
}

function DoSubmit(Valor)
{
	document.FormMain.Accion.value=Valor; //SetInput('Accion', Valor);
		if (ExistEventHandlerForm == false)
		{
			document.FormMain.submit();
		}
	else 
	{
		if (EventHandlerForm(Valor))
		{
			document.FormMain.submit();
		}
	}
}

function newWin(url) 
{ 
	window.open(url,'','height=600,width=600status,scrollbars=yes,resizable=yes'); 
} 

function newWinMin(url) 
{ 
	window.open(url,'','height=0,width=0,status,resizable=yes'); 
} 

function newWinMax(url) 
{ 
//	window.open(url,'','top=0,left=0,height='+(screen.availHeight-46)+',width='+screen.availWidth+',status,resizable=true'); 
	window.open(url,'',''); 
} 

function SetFocus()
{
	var i;
	for (i=0;i<document.FormMain.elements.length;i++)
	{
		if ((document.FormMain.elements(i).type=='text') ||
			(document.FormMain.elements(i).type=='select-one') ||
			(document.FormMain.elements(i).type=='password') ||
			(document.FormMain.elements(i).type=='radio') ||
			(document.FormMain.elements(i).type=='checkbox') ||
			(document.FormMain.elements(i).type=='textarea'))
		{
			if (!document.FormMain.elements(i).disabled 
				&& document.FormMain.elements(i).name!='reports')
			{
				document.FormMain.elements(i).focus();
				break;
			}
		}
	}
}

function SelectInput(IdInput)
{
	var uIdInput=IdInput;
	uIdInput=uIdInput.toUpperCase();
	for (i=0;i<document.FormMain.elements.length;i++)
	{
		var uName=String(document.FormMain.elements(i).name)
		uName=uName.toUpperCase();
		if (uName==uIdInput)
		{
			if ((document.FormMain.elements(i).type=='text') ||
				(document.FormMain.elements(i).type=='password') ||
				(document.FormMain.elements(i).type=='radio') ||
				(document.FormMain.elements(i).type=='checkbox') ||
				(document.FormMain.elements(i).type=='textarea'))
			{
				document.FormMain.elements(i).selected=true;
			}
			document.FormMain.elements(i).focus();				
			return true;
		}
	}
	return false;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

MM_reloadPage(true);

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function ActivaPestanya(Pes,Total,src)
{
var i;

for(i=0;i<Total;i++)
{
if (i==Pes)
{
document.images('PES'+i+'IMG').src='../imagenes/varias/pestanya.gif';
eval('document.all.PES'+i+'TD.bgColor="#cccc99"');
eval('document.all.PES'+i+'TD2.bgColor="#cccc99"');
eval('document.all.PES'+i+'.style.top=114');
	if (src!=null)
	{
		if (eval('document.all.PES'+i+'F.src')!=src)
		{
			eval('document.all.PES'+i+'F.src="' + src + '"')
		}
	}
}
else
{
document.images('PES'+i+'IMG').src='../imagenes/varias/pestanya.gif';
eval('document.all.PES'+i+'TD.bgColor="#999999"');
eval('document.all.PES'+i+'TD2.bgColor="#999999"');
eval('document.all.PES'+i+'.style.top=-900');
}
}
}

function Check_Day(cmonth,cyear)
{
	var maxDay

	maxDay=-1
	if (cmonth == 1 || cmonth == 3 || cmonth == 5 || cmonth == 7 || cmonth == 8 || cmonth == 10 || cmonth == 12)
	{
		maxDay = 31
	}
	if (cmonth == 4 || cmonth == 6 || cmonth == 9 || cmonth == 11)
	{
		maxDay = 30
	}
	if (cmonth == 2)
	{
		if (cyear % 4  == 0)
		{ 
			maxDay = 29
		}
		else
		{
			maxDay = 28					
		}
	}
	return maxDay
}

function Check_Fecha(Input)
{
	var maxD;
	var re = /^(\d?\d)[-\/](\d?\d)[-\/](\d{2}|\d{4})$/i;
	
	if (re.test(Input))
	{
		var arr = re.exec(Input);
		
		if (RegExp.$2 < 1 || RegExp.$2 > 12)
		{
			return false;
		}
		else
		{
			maxD = (Check_Day(RegExp.$2,RegExp.$3))
			if (RegExp.$1 < 1 || RegExp.$1 > maxD)
			{
				return false;
			}
			else 	
			{
				return true;
			}
		}
	}
}

function ValFecha(Input)
{
	var maxD;
	var re = /^(\d?\d)[-\/](\d?\d)[-\/](\d{2}|\d{4})$/i;
	
	if (re.test(Input))
	{
		var arr = re.exec(Input);
		
		return (RegExp.$3 * 10000 + RegExp.$2*100 + RegExp.$1);
	}
}


function Validate(type,Input,nullable)
{
	var vmax;

	Input=Input.replace(/(^\s*)|(\s*$)/g, '');

	if (Input.length==0)
		return (nullable?null:'Introduzca un valor');
	
	if (Input.length > 0)
		{
			switch (type)
			{
					case 'int':
					case 'smallint':
					case 'tinyint':
					case 'real':
					{
							switch(type)
							{
								case 'int':	vmax = 2147483648; break;
								case 'smallint': vmax = 32767; break;
								case 'tinyint': vmax = 255; break;
								case 'real': vmax = 3255; break;
							}
							Input=Input.replace(/\,/g, '.');
							if (isNaN(Input)) return ('Valor numerico incorrecto');
							if (Math.abs(Input)>vmax) return ('Overflow');
							return null							
					}
					case 'decimal':
					case 'numeric':
					case 'float':
					case 'real':
					case 'money':
					{
							Input=Input.replace(/\,/g, '.');
							if (isNaN(Input)) return ('Valor numerico incorrecto');
							return null;
					}
					case 'datetime':
					{
						if (!Check_Fecha(Input)) return ('Fecha incorrecta');
						return null
					}													
			}
		}
		else
			return null;
}

//fecha
function Data () {
		dies = new Array(7);
		dies[0]="Domingo"
		dies[1]="Lunes"
		dies[2]="Martes"
		dies[3]="Miércoles"
		dies[4]="Jueves"
		dies[5]="Viernes"
		dies[6]="Sábado"
		
		mesos = new Array(12);
		mesos[0]="enero"
		mesos[1]="febrero"
		mesos[2]="marzo"
		mesos[3]="abril"
		mesos[4]="mayo"
		mesos[5]="junio"
		mesos[6]="julio"
		mesos[7]="agosto"
		mesos[8]="septiembre"
		mesos[9]="octubre"
		mesos[10]="noviembre"
		mesos[11]="diciembre"
		
		var data = new Date();
							
		semana = data.getDay();
		dia = data.getDate();
		mes = data.getMonth();
		ane = data.getYear();
		
		if (mes==3 || mes==9) {
			avui = dies[semana] + " " + dia + " de" + mesos[mes] + " de " + ane
		}
		else
		{
			avui = dies[semana] + " " + dia + " de " + mesos[mes] + " de " + ane
		}
		return avui
	}
	
//Data Català
function DataCat(){
   var fecha, litdia, x, m, litmes,any, numdia;
   navvers = navigator.appVersion.substring(0,1);
   var x = new Array("Diumenge", "Dilluns", "Dimarts");
   var x = x.concat("Dimecres","Dijous", "Divendres");
   var x = x.concat("Dissabte");
   var m = new Array("Gener", "Febrer", "Març")
   var m = m.concat("Abril", "Maig", "Juny")
   var m = m.concat("Juliol", "Agost", "Septembre")
   var m = m.concat("Octubre", "Novembre", "Desembre")
   fecha = new Date();
   numdia = fecha.getDate();
   if (numdia<10)
	 numdia = "0"+numdia;
   if (navvers >3)
   	 any = fecha.getFullYear();
   else 
	 any =  fecha.getYear();
   litmes = fecha.getMonth();
   litdia = fecha.getDay();
   
   if ((litmes==3) || (litmes==7) || (litmes==9))
      return(x[litdia]+", " + numdia + " d'" + m[litmes])+ " de " + any;
   else
      return(x[litdia]+", " + numdia + " de " + m[litmes])+ " de " + any;
   }


//Hora estática

//function Hora ()
	//{
//today = new Date()
//document.write("",today.getHours(),":",today.getMinutes());

	// }
	
	
//Hora animada.
//Para llamarlo, sólo poner <script>writeclock()</script>

// CREDITS:
// by Urs Dudli and Peter Gehrig 
// Copyright (c) 2000 Peter Gehrig and Urs Dudli. All rights reserved.
// Permission given to use the script provided that this notice remains as is.
// 7/5/2001
var clockid=new Array()
var clockidoutside=new Array()
var i_clock=-1
var thistime= new Date()
var hours=thistime.getHours()
var minutes=thistime.getMinutes()
var seconds=thistime.getSeconds()
if (eval(hours) <10) {hours="0"+hours}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (seconds < 10) {seconds="0"+seconds}
var thistime = hours+":"+minutes+":"+seconds
	
function writeclock() {
	i_clock++
	if (document.all || document.getElementById || document.layers) {
		clockid[i_clock]="clock"+i_clock
		document.write("<span id='"+clockid[i_clock]+"' style='position:relative'>"+thistime+"</span>")
	}
}

function clockon() {
	thistime= new Date()
	hours=thistime.getHours()
	minutes=thistime.getMinutes()
	seconds=thistime.getSeconds()
	if (eval(hours) <10) {hours="0"+hours}
	if (eval(minutes) < 10) {minutes="0"+minutes}
	if (seconds < 10) {seconds="0"+seconds}
	thistime = hours+":"+minutes+":"+seconds
		
	if (document.all) {
		for (i=0;i<=clockid.length-1;i++) {
			var thisclock=eval(clockid[i])
			thisclock.innerHTML=thistime
		}
	}
	
	if (document.getElementById) {
		for (i=0;i<=clockid.length-1;i++) {
			document.getElementById(clockid[i]).innerHTML=thistime
		}
	}
	//var timer=setTimeout("clockon()",1000)
}
window.onload=clockon


function doprint() {
  //save existing user's info
  alert('DoPrint');
  var h = factory.printing.header;
  var f = factory.printing.footer;
  //hide the button
  document.all("printbtn").style.visibility = 'hidden';
  //set header and footer to blank
  //factory.printing.header = "";
  factory.printing.header = "";
  factory.printing.footer = "prueba";  //print page without prompt

  //Mostrar Dialogo
  //factory.DoPrint(false);
  factory.DoPrint(true); 

  //restore user's info
   factory.printing.header = h;
   factory.printing.footer = f;
  //show the print button
  document.all("printbtn").style.visibility = 'visible';
}

function doprint2() {
window.open('file://c:/temp/texto.bat');
}

//function TratarComa (Numdec) {
	//alert (Numdec);
	//alert (Input.replace(/\,/g, '.'));
//	if (NumDec != null) 
//	{
// 		return (NumDec.replace(/\,/g, '.')); 
//	}
//	else
//	{
//		return (NumDec);
//	}
//}