function ComparaDates(data1,data2)
{
	if (EsData(data1) && EsData(data2)) {
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
		var matchArray1 = data1.match(datePat); // is the format ok?
		var matchArray2 = data2.match(datePat); // is the format ok?

		month1 = matchArray1[3]; // parse date into variables
		day1 = matchArray1[1];
		year1 = matchArray1[5];

		month2 = matchArray2[3]; // parse date into variables
		day2= matchArray2[1];
		year2 = matchArray2[5];

		if (year1>year2) return 1;
		else if (year1<year2) return 2;
		else if (month1>month2) return 1;
		else if (month1<month2) return 2;
		else if (day1>day2) return 1;
		else if (day1<day2) return 2;
		else return 0;
	}
	else if (!EsData(data1)) return -1;
	else if (!EsData(data2)) return -2;
	else return -3;
}


function MM_openBrWindow(theURL,winName,features) { file://v2.0
  window.open(theURL,winName,features);
}



function openWindow(Pagina,Titol,ancho,alto)
    {
        var win_opt = "toolbar=0,location=0,directories=0,status=0,menubar=0,";
        win_opt += "top=0,left=0,scrollbars=1,resizable=1,copyhistory=0,";
        win_opt += "width=" + ancho + ",height=" + alto;
        fine = window.open(Pagina,Titol,win_opt);
    }


function EsMail(inputVal){
	var inputStr = "" + inputVal
	oneArroba = false
	oneDecimal = false
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (oneChar == "@"&& !oneArroba && i!=0) {
			oneArroba =true
			continue
		}
		if (oneChar == "." && !oneDecimal && oneArroba&& i!=(inputStr.length-1)) {
			oneDecimal = true
			return true
		}
	}

	return false
}

function EsTelefon(inputVal){
	var inputStr = "" + inputVal
	TotalNumeros = 0;
	for (var i = 0; i < inputStr.length; i++) {
		var oneChar = inputStr.charAt(i)
		if (EsPositiu(oneChar))
			TotalNumeros++;
		else {
			if (!(oneChar=="-" || oneChar==" " || oneChar=="/" || oneChar=="\\" || oneChar=="."))
				return false
		}
		
	}
	if (TotalNumeros == 9)
		return true
	else
		return false
}



function precisio(inputval,precisio)
{

	var inputStr= inputval + ""

	cadena=inputval + ""

	cadena2=""

	index=0


	var onechar=inputStr.charAt(index);

	while ((onechar!=".") && (index<cadena.length))

	{

	var onechar=inputStr.charAt(index);
	if (onechar!=".") index=index+1

	}

	if (onechar==".")

			{

			index2=0

			if (index+precisio<cadena.length) tope=index+precisio

			if (index+precisio>=cadena.length) tope=cadena.length

			while (index2<tope)

			{

			var cadena2=cadena2+inputStr.charAt(index2)

			index2=index2+1


			}

			return cadena2


	}

	return cadena
}



function mira_longitud(inputval,nom,longitudMax)
{

	cadena=inputval + ""

	if (cadena.length>longitudMax)  {
		longitud_sobre_pasa=cadena.length-longitudMax
		alert("Campo " + nom + " sobrepasa longitud máxima de "+longitud_sobre_pasa + " carácteres.")
		return false
    }

	if (cadena.length<=longitudMax) {
		return true
	}

}

function mira_longitud_password(inputval)
{
	cadena=inputval + ""
	if (cadena.length<7)  { alert("La longitud del password debe ser de 7 dígitos como mínimo");return;}
	return true;
}

function evalua (inputval)
{

	var inputStr= "" + inputval
	var oneChar=inputStr.charAt(0);

	if (oneChar=="-") { return (-Math.abs(inputval)) }
	if (oneChar!="-") { return (Math.abs(inputval)) }

}

function EsNif (inputval) {
	var inputStr= "" + inputval;

	if (inputStr.length!=9) return false;
		var Lletra = EsLletra(inputStr.charAt(0));

	if (Lletra) {
		return EsPositiu(inputStr.substring(1,8));
	}

	var Lletra = EsLletra(inputStr.charAt(8));
	if (Lletra) {
		return EsPositiu(inputStr.substring(0,8));
	}

	return false;

}


function EsPercentatge (inputval)
{

	var inputStr= "" + inputval

	//if (inputStr.length==3) return (inputval=='100')
	//if (inputStr.length>3) return (false)

	for (var i=0; i < inputStr.length; i++ )
	{

		var oneChar=inputStr.charAt(i)
		if ((oneChar != ".") && (i == 3)) return false
		if ((oneChar == ".") && (i < 3)) return true
		if ((oneChar == ".") && (i == 3)) {

			for (var j=4; j < inputStr.length; j++ )
			{
				if (inputStr.charAt(j) != "0") return false
			}
			return true
		}
		if ((oneChar != ".") && (i == 2)){
			if ((inputStr.charAt(0) != "1") || (inputStr.charAt(1) != "0") || (inputStr.charAt(2) != "0")) return false
		}

		if ((oneChar < "0") || (oneChar > "9"))  return false

	}
	return true

}



function EsData (inputval)
{
	var oneChar
	var inputStr= "" + inputval;

	if (inputStr.length!=10) return false;

	var oneChar=inputStr.charAt(0);

	if ((oneChar < "0") || (oneChar > "3"))  return false ;


	if (oneChar=="3")

		{

		var oneChar=inputStr.charAt(1);

		if ((oneChar < "0") || (oneChar > "1"))  return false ;

		}

	if (oneChar!="3")

		{

		var oneChar=inputStr.charAt(1);

		if ((oneChar < "0") || (oneChar > "9"))  return false ;

		}

	var oneChar=inputStr.charAt(2);

	if (oneChar!="-") return false;

	var oneChar=inputStr.charAt(3);

	if ((oneChar < "0") || (oneChar > "1"))  return false ;


	if (oneChar=="1")

		{

		var oneChar=inputStr.charAt(4);

		if ((oneChar < "0") || (oneChar > "2"))  return false ;

		}

	if (oneChar=="0")

		{

		var oneChar=inputStr.charAt(4);

		if ((oneChar < "0") || (oneChar > "9"))  return false ;

		}



	var oneChar=inputStr.charAt(5);

	if (oneChar!="-") return false;

	var oneChar=inputStr.charAt(6);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(7);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(8);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(9);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	return true;

}




function LongitudNula (inputval)
{
	var inputStr= "" + inputval

	if (inputStr.length==0)
		return true
	return false
}

function EsData (inputval)
{
	var oneChar
	var inputStr= "" + inputval;

	if (inputStr.length!=10) return false;

	var oneChar=inputStr.charAt(0);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(1);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(2);

	if (oneChar!="-") return false;

	var oneChar=inputStr.charAt(3);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(4);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(5);

	if (oneChar!="-") return false;

	var oneChar=inputStr.charAt(6);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(7);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(8);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	var oneChar=inputStr.charAt(9);

	if ((oneChar < "0") || (oneChar > "9"))  return false ;

	return true;
}


function EsCodiPostal(inputval)
{
	var inputStr= "" + inputval

	if (inputStr.length!=5) return false


	for (var i=0; i < inputStr.length; i++ )

		{

		 var oneChar=inputStr.charAt(i)

			if ((oneChar < "0") || (oneChar > "9"))  return false

		}


	return true
}


function EsPositiu(inputval)
{
	var inputStr= "" + inputval

	if (inputStr.length==0) return true


	for (var i=0; i < inputStr.length; i++ )

		{

		 var oneChar=inputStr.charAt(i)

			if ((oneChar < "0") || (oneChar > "9"))  return false

		}


	return true
}

function EsFloat(inputval)
{
	inputStr= "" + inputval

	punt=false

	if (inputStr.length==0) return true


	for (var i=0; i < inputStr.length; i++ )

		{

		 var oneChar=inputStr.charAt(i)

			if ((oneChar==".") && (punt==true)) return false

			punt=(oneChar==".")

			if (((oneChar < "0") || (oneChar > "9")) && (oneChar!=".")) return false

		}


	return true
}


function EsImporte(inputval)
{
	var inputStr = "" + inputval;
	var punt = false;
	var i = 0;

	if (inputStr.length == 0) return true

	for (i = 0; i < inputStr.length; i++ )
	{
		var oneChar = inputStr.charAt(i)

		if (oneChar == ".") {
			punt = true;
			break;
		}
	}

	if (!punt)
		return true;

	if ( (inputStr.length - i) <= 3)
		return true;

	return false;
}


function Valido (inputval)
{
	inputStr= "" + inputval

	if (inputStr.length==0) return true

	for (var i=0; i < inputStr.length; i++ )
	{
		var oneChar=inputStr.charAt(i)
		//if (oneChar == "'") return false
	}

	return true
}

function EsTexto (inputval)
{
	inputStr= "" + inputval;

	if (inputStr.length==0) return true

	for (var i=0; i < inputStr.length; i++ )
	{
		var oneChar=inputStr.charAt(i)
		if (((oneChar < "a") || (oneChar > "z")) && ((oneChar < "A") || (oneChar > "Z"))) {
			alert("El Campo contiene caracteres que no son letras: a-z A-Z");
			return false;
		}
	}

	return true
}


function Trim (inputval)
{
	inputStr= "" + inputval

	if (inputStr.length==0) return "";

	for (var i = inputStr.length - 1; i >= 0;  i-- )
	{
		var oneChar=inputStr.charAt(i)
		if (oneChar != " ") return inputStr.substring(0, i + 1);
	}

	return "";
}



function EsLletra(inputval)
{
	var inputStr= "" + inputval
	if (inputStr.length!=1) return false
	var oneChar=inputStr.charAt(0)

	if (((oneChar >= "a") && (oneChar <= "z"))  || ((oneChar >= "A") && (oneChar <= "Z"))) return true
	return false
}


function ConfirmaOperacio(texte,NumeroCops)
{
	var index;

	index=1;

	while (index<=NumeroCops) {

	if (!confirm(texte)) return false;

	index++;

	}

	return true
}

function EsData(dateStr)
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null)
	{
		alert("Por favor introduzca un fecha en el formato dd/mm/yyyy o dd-mm-yyyy.");
		return false;
	}

	month = matchArray[3]; // parse date into variables
	day = matchArray[1];
	year = matchArray[5];

	if (month < 1 || month > 12)
	{ // check month range
		alert("El mes tiene que estar entre 1 y 12.");
		return false;
	}

	if (day < 1 || day > 31)
	{
		alert("El día debe estar entre 1 y 31.");
		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31)
	{
		alert("Atención, el mes "+month+" no tiene 31 días!")
		return false;
	}

	if (month == 2)
	{ // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap))
		{
			alert("Febrero del " + year + " no tiene " + day + " días!");
			return false;
		}
	}
	return true; // date is valid
}

function IsNumericFloat(sText) {
     var ValidChars = "0123456789.";
     var IsNumber=true;
     var Char;

     for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
           if ((Char == '-') && (i == 0)) {
           	IsNumber = true;
           } else {
           	IsNumber = false;
           }
        }
     }
     return IsNumber;
  }

  function EsNumeric(sText) {
  	return IsNumericInt(sText);
  }

  function IsNumericInt(sText) {
     var ValidChars = "0123456789";
     var IsNumber=true;
     var Char;

     for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
           if ((Char == '-') && (i == 0)) {
           	IsNumber = true;
           } else {
           	IsNumber = false;
           }
        }
     }
     return IsNumber;
  }

 function ActivarImagenGuardar(doc, imagen)
 {
    doc.Guardar.src = imagen;
 }


 function ActivarImagenCancelar(doc, imagen)
 {
    doc.Cancelar.src = imagen;
 }

 
