function agregarproducto(idproducto){
	redirigir("cesta.asp?agregar=si&idproducto="+idproducto);
}
function eliminarproducto(idproducto){
	redirigir("cesta.asp?borrar=si&idproducto="+idproducto);
}
function detalleproducto(idproducto){
	redirigir("detalleproducto.asp?id="+idproducto);
}
function vaciarcarrito(){
	redirigir("home.asp?vaciar=vaciar");
}

function codigopostal(){
	window.open("codigopostal.asp","ventana","fullscreen=0,toolbar=0,menubar=0,Scrollbars=NO,Width=300,Height=200");
}

function continuar(){
	redirigir("home.asp");
}

function nuevousuario(){
	abrir("usuarios/nuevo.asp");
}

function verpedido(idpedido,referencia){
	abrir2("usuarios/pedido_detalle.asp?id="+idpedido+"&referencia="+referencia);
}

function nuevadireccion(idcliente){
	abrir("usuarios/direccion_nueva.asp?id="+idcliente);
}

/* UTILES*/
function Abrir_Ventana(theURL,w,h) { 
	var winName="titulo" 
	var windowprops ="top=0,left=0,toolbar=no,location=no,status=no, menubar=no,scrollbars=yes, resizable=no,width=" + w + ",height=" + h;
	window.open(theURL,winName,windowprops);
} 
function abrir(url){
	window.open(url,"ventana","fullscreen=0,toolbar=0,menubar=0,Scrollbars=NO,Width=600,Height=600");
}
function abrir2(url){
	window.open(url,"ventana","fullscreen=0,toolbar=0,menubar=0,Scrollbars=yes,Width=600,Height=700");
}
function redirigir(url){
	document.location.href=url;
}

function encriptar(form){
	document.login_principal.password.value=hex_md5(document.login_principal.password1.value);
	//alert(document.login_principal.password.value);
	document.forms[form].submit();
}

function mostrar(id){
	id = "tabla"+id;
	if (document.getElementById(id).style.display=="none")
		document.getElementById(id).style.display="block";
	else
		document.getElementById(id).style.display="none";
}

/*
OPERADORES NECESARIOS PARA IDENTIFICAR
# fechas
@ numero
 cadenas obligadas a rellenar
· teléfono fijo
| teléfono móvil
% e-mail
& dni
$ código postal
*  cadena
*/
function validarformulario(par){
//DIVIDO LOS PARAMETROS POR COMAS
var campos=par.split(",");
//EXTRAIGO LA LONGITUD
var longitud=campos.length;
var correcto=true;
//CADENA QUE MUESTRA TODOS LOS ERRORES
var validacion="";

	for(var i = 0; i < longitud; i += 2)
	{
	 tipovalidacion="";
	 //tipovalidacion=new String(campos[i].substring(0,1));
	 tipovalidacion+=campos[i].substring(0,1);
	 idcampo=campos[i].replace(tipovalidacion,"");
	 texto=campos[i+1];
	 
	 switch (tipovalidacion)
			 {
		   case "#":
		      validacion+=validafecha(idcampo,texto);
		      break;
		   case "@":
		      validacion+=validanumero(idcampo,texto);
		      break;
		   case "·":
		      validacion+=validartelefono(idcampo,texto);
		      break;
		   case "|":
		      validacion+=validarmovil(idcampo,texto);
		  	  break;
		   case "%":
		      validacion+=validaemail(idcampo,texto);
		      break;
			case "&":
		      valdni=validadni(idcampo,texto);
		      valcif=validacif(idcampo,texto);
		      if (valdni!="" && valcif!="") 
			      validacion+=cad="\nEl campo '"+texto+"' no es un dni/nif correcto.";
		      break;
		   case "$":
		      validacion+=validapostal(idcampo,texto);
		      break;
		   case "*":
		      validacion+=validacadena(idcampo,texto);
		      break;
		   default:
		      alert("Operador introducido incorrecto.");
		      break;}			
	}
	
	if (validacion!=""){
		alert("Los errores cometidos son: "+validacion);
		correcto=false;
}
return correcto;
}


function validanumero(idcampo,texto){
	var cad="";
	if (document.getElementById(idcampo).value!=""){
		var numero=document.getElementById(idcampo).value;
		
		numero=numero.replace(",",".");
		/*numero=numero.replace(".",",");
		ln=numero.split(",")
		if (ln.length>2)
			numero=numero. numero.indexOf(",");
		alert(numero.lastIndexOf(","));*/
		if (isNaN(Number(numero)))
			cad="\nEl campo '"+texto+"' no es un numero.";
	}
	return cad;
}

function validacadena(idcampo,texto)
{
	var cad="";
	if (trim(document.getElementById(idcampo).value)=="")
		cad="\nEl campo '"+texto+"' esta vacio.";					
	return cad; 					
}


function validapostal(idcampo,texto){
	var cad="";
	if (document.getElementById(idcampo).value!=""){
		var tipopostal = /^\d{5}$/
		if 	(!tipopostal.test(document.getElementById(idcampo).value))
			cad="\nEl campo '"+texto+"' no es un código correcto.";
	}
	return cad; 					
}

function validaemail(idcampo,texto){
	var cad="";
	if (document.getElementById(idcampo).value!=""){
		var tipo = /^(.+\@.+\..+)$/
		if 	(!tipo.test(document.getElementById(idcampo).value))
			cad="\nEl campo '"+texto+"' no es correcto.";
	}
	return cad; 						
}

function validadni(idcampo,texto){
	var cad="";
	var dnil=document.getElementById(idcampo).value;
	if (dnil!=""){
		var letra=new String(dnil.substring(dnil.length-1,dnil.length));
		var dni=dnil.replace(letra,"");
		var tabla = ["T","R","W","A","G","M","Y","F","P","D",
			     "X","B","N","J","Z","S","Q","V","H","L",
				 "C","K","E"];
		var modulo = dni%23;
		if (letra.toUpperCase() != tabla[modulo])
			cad="\nEl campo '"+texto+"' no es correcto. Introduzcalo correctamente.";
	}
	return cad;		 
}
// La función recibe el CIF completo: A58818501
function validacif(idcampo,texto){
	var cad="";
	var cif = document.getElementById(idcampo).value.toUpperCase();
	if (cif!=""){
		if (!/^[A-Za-z0-9]{9}$/.test(cif)) // Son 9 dígitos? alert ("Longitud incorrecta, un CIF consta de 9 dígitos");
		   cad="\nEl campo '"+texto+"' no es correcto. Introduzcalo correctamente.";
		else if (!/^[ABCDEFGHKLMNPQS]/.test(cif)) 
		   // Es una    letra de las admitidas ? alert("El primer dígito es  incorrecto, debe ser una letra de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S    ");
		   cad="\nEl campo '"+texto+"' no es correcto. Introduzcalo correctamente.";
		else{
		   var v1 = new Array(0,2,4,6,8,1,3,5,7,9); 
		   var temp = 0;
		
		   for( i = 2; i <= 6; i += 2 ) 
		   {
		    temp = temp + v1[ parseInt(cif.substr(i-1,1))];
		    temp = temp + parseInt(cif.substr(i,1));
		   };
		
		   temp = temp + v1[ parseInt(cif.substr(7,1))];
		   temp = (10 - ( temp % 10));
		
		   if( temp == 10 ){
			    if(cif.substr(8,1)!="J" || cif.substr(7,1)!="0") //alert( "El dígito de control debe ser: J ó 0");
					cad="\nEl campo '"+texto+"' no es correcto. Introduzcalo correctamente.";
		   }
		   else{
		     	if(cif.substr(8,1)!=temp) //alert( "El dígito de control debe ser: "+temp);//return false
				 	cad="\nEl campo '"+texto+"' no es correcto. Introduzcalo correctamente.";
		   }
		}
	}
	return cad;
}

function validafecha(idcampo,texto){
	var cad="";
	var correcto = true;
	var Fecha = new String(document.getElementById(idcampo).value);	// Crea un string

	if (trim(document.getElementById(idcampo).value)!=""){
		var RealFecha = new Date();	// Para sacar la fecha de hoy
		// Cadena Año
		var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length));
		// Cadena Mes
		var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));
		// Cadena Día
		var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));
	
		// Valido el año
		if (isNaN(Ano) || Ano.length<2 ){
	        //alert('Año inválido')
			correcto=false;
		}
		// Valido el Mes
		if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
			//alert('Mes inválido')
			correcto=false;
		}
		// Valido el Dia
		if (isNaN(Dia) || parseFloat(Dia)<1 || parseFloat(Dia)>31){
			//alert('Día inválido')
			correcto=false;
		}
		if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
			if (Dia>30) {
				//alert('Día inválido')
				correcto=false;
			}
			if (Mes==2 && (Ano%4==0 && Ano%100!=0 || Ano%400==0) && Dia > 29)//es bisiesto
				correcto=false;
			if (Mes==2 && !(Ano%4==0 && Ano%100!=0 || Ano%400==0) && Dia > 28)// NO es bisiesto
				correcto=false;
			}
			
		if (correcto==false)
			cad="\nEl campo '"+texto+"' no es correcto. El formato a segir es dd/mm/aaaa.";
	}
	return cad;
}

function validarmovil(idcampo,texto){
	var cad="";	
	var tlf = document.getElementById(idcampo).value;
	if (tlf == ""){
		//var cad="\nEl campo "+texto+" esta vacio.";
	}
	else{
		var primerdigito = new String(tlf.substring(0,1));
		if( primerdigito!= '6' ){
			cad=cad+"\nEl campo '"+texto+"' debe empezar por 6.";
		}
		if( tlf.length<9 || isNaN(Number(tlf))){
			cad=cad+"\nEl campo '"+texto+"' debe tener 9 dígitos.";
		}
	}
	return cad;
}

function validartelefono(idcampo,texto){
	var cad="";	
	var tlf = document.getElementById(idcampo).value;
	if (tlf == ""){
		//var cad="\nEl campo "+texto+" esta vacio.";
	}
	else{
		var primerdigito = new String(tlf.substring(0,1));
		if(primerdigito!= '9'){
			cad=cad+"\nEl campo '"+texto+"' debe empezar por 9.";
		}
		if(tlf.length<9 || isNaN(Number(tlf))){
			cad=cad+"\nEl campo '"+texto+"' debe tener 9 dígitos.";
		}
	}
	return cad;
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function verfoto(archivo,idproducto){
	var url="foto.asp?id="+idproducto+"&archivo="+archivo;
	window.open(url,'_blanck','toolbar:no,scrollbars:no');
}	

