/////////////////////////////////////////////////////////
//	** Funcions generals de minorista **
//	Creat: Joan Fullana (10/04/2003)
//	Modificacio: 
/////////////////////////////////////////////////////////

function validarCCC(cbanc,csucursal,ccontrol,ccuenta){
	
	function calculDigitControl(camp){
		var pes = new Array(0,6,3,7,9,10,5,8,4,2,1);
		var offSet;
		var digit = 0;
		
		for (var i=1;i<=camp.length;i++){
			offSet = camp.length - i;
			digit += pes[i] * parseInt(camp.substr(offSet,1),10)
		}
		
		digit = (digit % 11);
		digit = 11 - digit;
		switch (digit){
		case 10:
			return 1;
			break;
		case 11:
			return 0;
			break;
		default:
			return digit;
		}
	}

	var bancSucursal ="";
	var codiDomain="";	
	var primerDC,segonDC;
	
	if ((cbanc.length<4)||(isNaN(cbanc)))
		return 1;
	if ((csucursal.length<4)||(isNaN(csucursal)))
		return 1;
	if ((ccontrol.length<2)||(isNaN(ccontrol)))
		return 1;
	if ((ccuenta.length<10)||(isNaN(ccuenta)))
		return 1;
	
	//validar els digits de control
	bancSucursal = bancSucursal.concat(cbanc).concat(csucursal)
	primerDC = calculDigitControl(bancSucursal)
	segonDC = calculDigitControl(ccuenta)
	
	if (ccontrol != codiDomain.concat(primerDC).concat(segonDC))
		return 2;
	else
		return 0;
}

function validarNumTarjeta(sesion, numTarjeta, tipo)
{
    var url = "/cierre/include/negOperativa.aspx?funcion=validarnumtarjeta&sesion=" + sesion + "&numtarjeta=" + numTarjeta + "&tipoTarjeta=" + tipo
           
	var oDomDoc = Sarissa.getDomDocument();
    oDomDoc.async = false; // this is the important part
    oDomDoc.load(url);
    
	switch (oDomDoc.documentElement.getAttribute("ok"))
	{
		case "0":
			return oDomDoc.documentElement.getAttribute("error") + "\n";
			break;
		case "1":
			return "";
			break;
	}
}

function validarDocFiscal(doc, sesion, esEspanyol){	
	
	var url = "/cierre/include/negOperativa.aspx?funcion=validarDocFiscal&sesion="+ sesion +"&docFiscal="+ doc +"&esEspanyol="+ esEspanyol
	var oDomDoc = Sarissa.getDomDocument();
    oDomDoc.async = false; // this is the important part
    oDomDoc.load(url);
    if (oDomDoc.documentElement)
		return (oDomDoc.documentElement.getAttribute("ok")=="1")
	return false; 
}

function validarVariosEmails(valor)
{
    var arra = valor.split(";")
    var i
    for (i = 0; i<arra.length; i++)
    {        
        var mail = arra[i];
        if ((mail != "") && (!validarEmail(mail)))
            return false;
    }
    return true;
}

//per validar un mail
function validarEmail(valor){
		var i = 0;
		var j = valor.length-1;
		
		function caracterValid(codi){
			switch(codi){
			case 45:	//-
						return true;
			case 46:	//.
						return true;
			case 95:	//_
						return true;
			default:	// lletres i digits
				if (((codi>=97)&&(codi<=122))||((codi>=65)&&(codi<=90))||((codi>=48)&&(codi<=57)))
					return true
			}
			return false;
		}
		
		//cerca la @ i controla els blancs
		while ((valor.charAt(i)!="@")&&(i<valor.length)){ 
			if (!caracterValid(valor.charCodeAt(i))){ 
				return false;	
			}
			i++;
		} 
		
		//no hi @ o el valor es buid
		if((i==valor.length)||(i==0)) 
			return false;	
		
		//es cerca domini principal				
		while ((j>i)&&(valor.charAt(j)!=".")){
			if (!caracterValid(valor.charCodeAt(j))) 
				return false;
			j--;
		}
		
		//el domini te menys de 2 lletres i no hi ha nom 
		if ((j==i)||((valor.length-j)<3)) 
			return false;  
		
		//es cerca si el nom no te caracters extranys
		j--;
		while (j>i){
			if (!caracterValid(valor.charCodeAt(j))) 
				return false;		
			j--;
		}
		return true;
	}
	

	function  openHotel(cod){       
		var win=abrirVentana("/"+nombreAplicacion+"/grafica/hotel.aspx?sesion="+sesion+"&hotel="+cod,"Hotel","SCROLLBARS=NO",0,0,550,350)
	}
	
	function abrirVentana(url, titulo,caracteristicas, posX, posY, width, height){
	    	var newwin = window.open(url,titulo,caracteristicas + ',width=' + width + ',height=' + height + ',screenX=' + posX + ',screenY=' + posY);
	    	return newwin;
	}
	
	//funcio que formateja un enter en format de preu
	function formatoPrecio(num){
		var signe = ""
		var sencer = num.toString()
		var dec = "00"
	
		//el signe
		if (sencer.indexOf('-')!=-1){
			signe = sencer.substring(0,1)
			sencer = sencer.substring(1);
		}
	
		var index_coma = sencer.indexOf('.');
	
		//part entera i part decimal
		if (index_coma != -1){
			dec = sencer.substring(index_coma + 1, index_coma + 3);
			
			while (dec.length<2)
				dec = dec + "0" 
				
			sencer = sencer.substring(0, index_coma);
		}
	
		//posar el punt de mils
		if (sencer.length>3){ 
			sencer = sencer.substring(0,sencer.length-3) + '.' + sencer.substring(sencer.length-3); 
		} 
		
		return (signe + sencer + "," + dec)  
	}
	
	function parseNumero(valor)
	{
	    valor = valor.replace(".","")
	    valor = valor.replace(",",".")
	    valor = parseFloat(valor)
	    return valor
	}
	
	function validarFecha(ffecha){	
		var errorFecha; 
		var d, m, a; 
		if (ffecha.length!=10)
			return false;
		d = ffecha.substring(0,2);
		m = ffecha.substring(3,5);		
		a = ffecha.substring(6,10);
		if (d>"31" || d<"01" || m<"01" || m>"12")
			return false;
		var dat = new Date(parseInt(a,10), parseInt(m,10)-1, parseInt(d,10));		
		if (a.length!=4)
			return false;
		return true;		
	}
   
	
