// FUNCION  MM_openBrWindow (theURL,winName,features)
// FUNCION  cambiaCSS (obj, nombreCSS)
// FUNCION  EsMail (inputVal
// FUNCION  precisio (inputval,precisio)
// FUNCION  mira_longitud (inputval,nom,longitudMax) 
// FUNCION  mira_longitud_password (inputval) 
// FUNCION  evalua (inputval)
// FUNCION  EsNif (inputval)
// FUNCION  validarCIF (texto)
// FUNCION  EsPercentatge (inputval)
// FUNCION  LongitudNula (inputval)
// FUNCION  EsCodiPostal (inputval)
// FUNCION  EsPositiu(inputval)
// FUNCION  EsFloat (inputval)
// FUNCION  Valido (inputval)
// FUNCION  EsLletra (inputval)
// FUNCION  ConfirmaOperacio (texte,NumeroCops)
// FUNCION  EsData (dateStr) 
// FUNCION  EsContaCorrent (Entitat,Sucursal,DC,NumContaCorrent)
// FUNCION  ContaChecks (document)
// FUNCION  ContaNoChecks (document)
// FUNCION  CopiaChecks (document)
// FUNCION  CopiaNoChecks (document)
// function ControlSeguretatBD (inputval, EsMail)



// FUNCION /////////////////////////////////////////////////////
function MM_openBrWindow (theURL,winName,features) { file://v2.0
  window.open(theURL,winName,features);
}
function cambiaCSS (obj, nombreCSS){
	obj.className = nombreCSS;
}


// FUNCION /////////////////////////////////////////////////////
function EsMail (inputVal){
	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
}


// FUNCION /////////////////////////////////////////////////////
function precisio (inputval,precisio)
{
inputStr= inputval + ""
cadena=inputval + ""
cadena2=""
index=0
var onechar=inputStr.charAt(index);
while ((onechar!=".") && (index<cadena.length))
{
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)
		{
		cadena2=cadena2+inputStr.charAt(index2)
		index2=index2+1
		}
		return cadena2	
}
return cadena
}


// FUNCION /////////////////////////////////////////////////////
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
			}
}


// FUNCION /////////////////////////////////////////////////////
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;
}
			


// FUNCION /////////////////////////////////////////////////////
function evalua (inputval)
{
inputStr= "" + inputval
var oneChar=inputStr.charAt(0);
if (oneChar=="-") { return (-Math.abs(inputval)) }
if (oneChar!="-") { return (Math.abs(inputval)) }
}


// FUNCION /////////////////////////////////////////////////////
function EsNif (inputval)
{
var inputStr="";
inputStr= "" + inputval
var dni="";
var abc="";
var let="";
dni=inputStr.substring(0,inputStr.length-1)
let=inputStr.charAt(inputStr.length-1)
if (!isNaN(let))
 {
  return false
 }
else
 {
  cadena="TRWAGMYFPDXBNJZSQVHLCKET"
  posicion = dni % 23
  letra = cadena.substring(posicion,posicion+1)
  if (letra!=let.toUpperCase())
   {
    return false;	//No vàlid si no correspón valor numéric amb dígit
   }
 }
return true;		//Vàlid si correspón valor numéric amb dígit
}

// FUNCION /////////////////////////////////////////////////////
function validarCIF (texto){ 
         
        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular =/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g; 
         if (!regular.exec(texto)) return false; 
              
         ultima = texto.substr(8,1); 

         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + 0; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString(); 
         impares += parseInt(xxx.substr(0,1)) + parseInt(0 + xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             return false; 

    } 

// FUNCION /////////////////////////////////////////////////////
function EsPercentatge (inputval)
{
inputStr= "" + inputval
if (inputStr.length==3) return (inputval=='100')
for (var i=0; i < inputStr.length; i++ )
	{
	 var oneChar=inputStr.charAt(i)
		if ((oneChar < "0") || (oneChar > "9"))  return false 
	}
return true
}


// FUNCION /////////////////////////////////////////////////////
function LongitudNula (inputval)
{
inputStr= "" + inputval
if (inputStr.length==0) return true
return false
}


// FUNCION /////////////////////////////////////////////////////
function EsCodiPostal (inputval)
{
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
}


// FUNCION ///////////////////////////////////////////////////
function EsPositiu(inputval)
{
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
}


// FUNCION /////////////////////////////////////////////////////
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
}


// FUNCION /////////////////////////////////////////////////////
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
}


// FUNCION /////////////////////////////////////////////////////
function EsLletra (inputval)
{
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
}


// FUNCION /////////////////////////////////////////////////////
function ConfirmaOperacio (texte,NumeroCops)
{
var index;
index=1;
while (index<=NumeroCops) {
if (!confirm(texte)) return false;
index++;
}
return true
}


// FUNCION /////////////////////////////////////////////////////
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 EsContaCorrent (Entitat,Sucursal,DC,NumContaCorrent){
var IentOfi, IentOfi2, InumCta;
var DigControl, APesos;
var DC1,DC2;
var cont_x, cont_i;
var digito;

IentOfi2='' + Entitat + Sucursal + '';

cont_i=0;
IentOfi = Array(0,0,0,0,0,0,0,0);
while(cont_i<8) {
	IentOfi[cont_i]=IentOfi2.charAt(cont_i).toLowerCase();
	cont_i = cont_i + 1;
}

InumCta2='' + NumContaCorrent + '';
InumCta = Array(0,0,0,0,0,0,0,0,0,0);

cont_i=0;
while(cont_i<10) {
	InumCta[cont_i]=InumCta2.charAt(cont_i).toLowerCase();
	cont_i = cont_i + 1;
}

	APesos = Array(1,2,4,8,5,10,9,7,3,6); // Array de "pesos"
	DC1=0;
	DC2=0;
	cont_x=8;

	while(cont_x>0) {
		digito=IentOfi[cont_x-1];
		DC1=DC1+(APesos[cont_x+2-1]*(digito));
		cont_x = cont_x - 1;
	}

	Resto = DC1;	
	while (Resto>=11){
		Resto = (Resto) - 11;
	}

	DC1=11-Resto;
	if (DC1==10) DC1=1;
	if (DC1==11) DC1=0;           // Dígit control Entitat-Sucursal

	cont_x=10;
	while(cont_x>0) {
		digito=InumCta[cont_x-1];
		DC2=DC2+(APesos[cont_x-1]*(digito));
		cont_x = cont_x - 1;
	}

	Resto = DC2;	
	while (Resto>=11){
		Resto = (Resto) - 11;
	}	

	DC2=11-Resto;
	if (DC2==10) DC1=1;
	if (DC2==11) DC1=0;          // Dígit Control ContaCorrent

	DigControl=DC1 + '' + DC2;   // 2 nombres del D.C.

	return (DigControl==DC);
}





function ContaChecks (document) {
var total = 0;
var max = document.length;
//alert(max);
for (var idx = 0; idx < max; idx++) {
if (eval("document[" + idx + "].checked") == true) {
    total += 1;	}
   }
//alert(total);
//if (total>0){return false;}
//else {return true;}
return (total);
}


function ContaNoChecks (document) {
var total = 0;
var max = document.length;
//alert(max);
for (var idx = 0; idx < max; idx++) {
if (eval("document[" + idx + "].checked") == false) {
    total += 1;	}
   }
//alert(total);
//if (total>0){return false;}
//else {return true;}
return (total);
}

function CopiaChecks (document) {
var total = '';
var max = document.length;

for (var idx = 0; idx < max; idx++) {
if (eval("document[" + idx + "].checked") == true) {
    total = total + '' + eval("document[" + idx + "].value") + '-';	
	}
   }
//alert(total);
//if (total>0){return false;}
//else {return true;}
return (total);
}

function CopiaNoChecks (document) {
var total = '';
var max = document.length;

for (var idx = 0; idx < max; idx++) {
if (eval("document[" + idx + "].checked") == false) {
    total = total + '' + eval("document[" + idx + "].value") + '-';	
	}
   }
//alert(total);
//if (total>0){return false;}
//else {return true;}
return (total);
}
////////////////////////////////////////////////////////////////////////////////////////





////////////////////////////////////////////////////////////////////////////////////////
// FUNCION /////////////////////////////////////////////////////
function ControlSeguretatBD (inputval, EsMail)
{
var texte;
var inputStr;

texte="";
inputStr= "" + inputval;

for (var i=0; i < inputStr.length; i++ )
	{
	 var oneChar=inputStr.charAt(i)
 	 var twoChar=inputStr.charAt(i) + inputStr.charAt(i+1)
	 if (EsMail==true)
	 {
	 	//Controlem que no contingui caràcters No permesos (però permetent @ de mails)
		if ((oneChar == ";") || (oneChar == "'") || (oneChar == "#"))  
		{
			texte="Han sido introducidos caràcteres no permitidos (;) (') (#)"
			alert(texte)
			return false 
		}
	 }
	 else
	 {
	 	//Controlem que no contingui caràcters No permesos (@ de mails inclosos)
		if ((oneChar == ";") || (oneChar == "'") || (twoChar == ";@") ||  (twoChar == "@@") ||  (twoChar == " @") ||  (twoChar == "@ ") || (oneChar == "#"))  
		{
			texte="Han sido introducidos caràcteres no permitidos (;) (') (@) (#)"
			alert(texte)
			return false 
		}
	 }
	}
return true
}
////////////////////////////////////////////////////////////////////////////////////////
