function chequea(celda, formulario)
{	
	var nom_celda = document.getElementById(celda);
	cadena = nom_celda.value

	var plant = /[^\w^@^\.^-]+/gi
	if (cadena!="") {
		if (plant.test(cadena))
			 alert(cadena + " contiene caracteres extraños.");
		else{
			 plant =/^[A-Za-z][A-Za-z0-9._]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
			 plant_a =/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
			 if (plant.test(cadena)||plant_a.test(cadena)){
				 document.forms[formulario].submit();
			 }else{
				 alert(cadena + " no es válida.");
			 }
		}
	}else{
		alert("Debe ingresar un e-mail valido.");
	}
}
function cambiar_col(celda)
{	
	var nom_celda = document.getElementById(celda);
	if (nom_celda.style.fontWeight == 'bold'){
		nom_celda.style.fontWeight= 'normal'; 
	}else{
		nom_celda.style.fontWeight= 'bold';
	}
}
function cargar_cat(cat)
{	
	var nom_celda = document.getElementById("marcas");
	marca = nom_celda.value;
	if(cat=="ca"){tipo="fm"}else{tipo="mm"}
	window.open("catalogo.asp?se="+cat+"&"+tipo+"="+marca, "_self") 
}
function cargar_pag(pag)
{	
	var tip = document.getElementById("tipos");
	var cat = document.getElementById("categorias");
	window.open(pag+"&"+tip.value+"="+cat.value, "_self") 
}
function submit_form(formulario)
{
    document.forms[formulario].submit();
}
function onEnterpress(e, celda, formulario)
{
    //define la variable
    var KeyPress    
    //if which property of event object is supported 
    if(e && e.which){
        e = e
        //character code is contained in NN4's which property
        KeyPress = e.which
    }else{
        e = event
        KeyPress = e.keyCode
    }
    //13 is the key code of enter key
    if(KeyPress == 13){
        chequea(celda, formulario)
    }
}
function volver() {
	history.back()
}
function abrir_popup(pag,nom_vent,h,w) {
	window.open(pag, nom_vent, "scrollbars=yes,resizable=yes,height="+h+",width="+w)
}
function cerrarsession(pag, c, cln){
	if (c==0&cln==0) {
		window.open(pag, "_self")		
		}else{
			if (c==0) {
				confirmed = window.confirm("Al cerrar la sesion se perderan los articulos del carrito de compras lista de nacimientos que contiene "+cln+" articulo/s, esta Seguro de continuar?");				
			}else{
				if (cln==0) {
					confirmed = window.confirm("Al cerrar la sesion se perderan los articulos del carrito de compras del catálogo que contiene "+c+" articulo/s, esta Seguro de continuar?");					
				}else{
					confirmed = window.confirm("Al cerrar la sesion se perderan los articulos de los carritos de compras lista de nacimiento: "+cln+" articulo/s y catálogo que contiene "+c+" articulo/s, esta Seguro de continuar?");			
				}				
			}			
		}
	if (confirmed)
	{
		window.open(pag, "_self")
	}
}
function links_pag(pag) {
	window.open(pag,'_self') 
}
function cargar(pag,option,tipo) {
	var v_tipos = document.getElementById(tipo);
	var v_option = document.getElementById(option);
	if(tipo.value==1){var_ti = "fm"}else{var_ti = "mm"}
	window.open(pag+"&"+var_ti+"="+v_option.value, "_self") 
}
function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt){
	var bOk = false;
	bOk = bOk || ((oTxt.charAt(2) == "-") && (oTxt.charAt(5) == "-"));
	bOk = bOk || ((oTxt.charAt(2) == "/") && (oTxt.charAt(5) == "/"));
	return bOk;
}
function finMes(oTxt){
	var nMes = parseInt(oTxt.substr(3, 2), 10);
	var nRes = 0;
	switch (nMes){
		case 1: nRes = 31; break;
		case 2: nRes = 29; break;
		case 3: nRes = 31; break;
		case 4: nRes = 30; break;
		case 5: nRes = 31; break;
		case 6: nRes = 30; break;
		case 7: nRes = 31; break;
		case 8: nRes = 31; break;
		case 9: nRes = 30; break;
		case 10: nRes = 31; break;
		case 11: nRes = 30; break;
		case 12: nRes = 31; break;
	}
	return nRes;
}
function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
}
function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}
function valAno(oTxt){
	var bOk = true;
	var nAno = oTxt.substr(6);
	bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
	if (bOk){
		for (var i = 0; i < nAno.length; i++){
			bOk = bOk && esDigito(nAno.charAt(i));
		}
	}
	return bOk;
}
function validatexto(xcelda,tipo) {
	var celda = document.getElementById(xcelda);
	if(tipo!='verificar'){
		if (celda.value == ""){
			celda.focus();
			//alert("Debe ingresar un "+xcelda);
			celda.style.background="#FF0000";
			return (false);	
		}else{celda.style.background="#FFFFFF";}
	}
	switch(tipo){
		case "fecha":{
			var bOk = true;
			var celdam = document.getElementById("mes_fecha_nacimiento");
			var celdaa = document.getElementById("ano_fecha_nacimiento");
			fecha = celda.value+"/"+celdam.value+"/"+celdaa.value 
			if (celda.value != ""){
				bOk = bOk && (valAno(fecha));
				bOk = bOk && (valMes(fecha));
				bOk = bOk && (valDia(fecha));
				bOk = bOk && (valSep(fecha));
				if (!bOk){
					celda.focus();
					alert("Debe ingresar una fecha de nacimiento valida");
					celda.style.background="#FF0000";
					return (false);
				}else{celda.style.background="#FFFFFF";}
			}
			break;
		}	
		case "email":{
			if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(celda.value)){celda.style.background="#FFFFFF";
			}else{
				celda.focus();
				alert("El e-mail no es valido");
				celda.style.background="#FF0000";
				return (false);
			}
			break;
		}
		case "igualdademail":{
			if (xcelda == "email_usuario") {var celda1 = document.getElementById("email_usuario1");}
			if (celda1.value != celda.value){
				celda.focus();
				alert("Los nombres de usuario (e-mail), no son iguales");
				celda.style.background="#FF0000";
				return (false);
			}else{celda.style.background="#FFFFFF";}
			break;
		}
		case "igualdad":{
			if (xcelda == "password1") {var celda1 = document.getElementById("password");}
			if (celda1.value != celda.value){
				celda.focus();
				alert("Las contraseñas no son iguales");
				celda1.style.background="#FF0000";
				return (false);
			}else{celda.style.background="#FFFFFF";}
			break;
		}
		case "verificar":{
			if (celda.checked == ""){
				celda.focus();
				alert("Debe aceptar los términos y condiciones");
				celda.style.background="#FF0000";
				return (false);
			}else{celda.style.background="#FFFFFF";}
			break;
		}
		case "texto":{
			var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyzÀÁÂÃÄÅÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïòóôõöùúûüýÿ ";
			var checkStr = celda.value;
			var allValid = true;
			for (i = 0;  i < checkStr.length;  i++){
				ch = checkStr.charAt(i);
				for (j = 0;  j < checkOK.length;  j++){
					if (ch == checkOK.charAt(j))
					break;
					if (j == checkOK.length)
					{
					  allValid = false;
					  break;
					}
				}
				if (!allValid){
					window.document.celda.focus();
					alert("Debe ingresar un "+xcelda);
					celda.style.background="#FF0000";
					return (false);
				}else{celda.style.background="#FFFFFF";}
			}
		break;
		}
		case "numeros":{
			var checkOK = "0123456789/+-*#()[] ";
			var checkStr = celda.value;
			var allValid = true;
			for (i = 0;  i < checkStr.length;  i++){
				ch = checkStr.charAt(i);
				for (j = 0;  j < checkOK.length;  j++)
					if (ch == checkOK.charAt(j))
					break;
					if (j == checkOK.length)
					{
					  allValid = false;
					  break;
					}
				}
				if (!allValid){
					alert("Debe ingresar un "+xcelda+" válido.");
					celda.style.background="#FF0000";
					celda.focus();
					return (false);
				}else{celda.style.background="#FFFFFF";}
			}
		break;
		}
}
	
function validar(formulario){
	very = true;

	var menues = new Array("email_usuario","email_usuario1","password","password1","nombre","apellido","dia_fecha_nacimiento","direccion","cp","poblacion","provincia","pais","telefono","movil","terminos_box")
	for(nmenu=0; nmenu<menues.length; nmenu++){
		document.getElementById(menues[nmenu]).style.background="#FFFFFF";
	}
	
	//******************************e-mail1*************************************************************
	if(validatexto('email_usuario','email')==false){very = false;}
	//******************************e-mail1*************************************************************
	if(validatexto('email_usuario','igualdademail')==false){very = false;}
	//******************************e-mail1*************************************************************
	//if(very==true){if(comprobaremail()==false){very = false;}}
	//******************************contra1*************************************************************
	if(very==true){if(validatexto('password','texto')==false){very = false;}}
	//******************************contra1*************************************************************
	if(very==true){if(validatexto('password1','igualdad')==false){very = false;}}
	//****************************** Nombre*************************************************************
	if(very==true){if(validatexto('nombre','texto')==false){very = false;}}
	//******************************Apellido************************************************************
	if(very==true){if(validatexto('apellido','texto')==false){very = false;}}
	//******************************fecha naciemiento***************************************************
	if(very==true){if(validatexto('dia_fecha_nacimiento','fecha')==false){very = false;}}
	//******************************Domicilio***********************************************************
	if(very==true){if(validatexto('direccion','texto')==false){very = false;}}
	//******************************Codigo Postal*******************************************************
	if(very==true){if(validatexto('cp','texto')==false){very = false;}}
	//******************************Domicilio***********************************************************
	if(very==true){if(validatexto('poblacion','texto')==false){very = false;}}
	//******************************Domicilio***********************************************************
	if(very==true){if(validatexto('provincia','texto')==false){very = false;}}
	//******************************Domicilio***********************************************************
	if(very==true){if(validatexto('pais','texto')==false){very = false;}}
	//******************************telefono************************************************************
	if(very==true){if(validatexto('telefono','numeros')==false){very = false;}}
	//******************************movil***************************************************************
	if(very==true){if(validatexto('movil','numeros')==false){very = false;}}
	//******************************Términos y condiciones**********************************************
	if(very==true){if(validatexto('terminos_box','verificar')==false){very = false;}}
	//**************************************************************************************************		
	if(very==true){	document.regitrarse_catalogo_pantallas.submit();}
}

function validar_cambio(formulario){
	very = true;

	var menues = new Array("password","password1")
	for(nmenu=0; nmenu<menues.length; nmenu++){
		document.getElementById(menues[nmenu]).style.background="#FFFFFF";
	}
	//******************************contra1*************************************************************
	if(very==true){if(validatexto('password','texto')==false){very = false;}}
	//******************************contra1*************************************************************
	if(very==true){if(validatexto('password1','igualdad')==false){very = false;}}
	//**************************************************************************************************	
	if(very==true){	document.cambiar_contraseña.submit();}
}

function RefreshImage(valImageId) {
	var objImage = document.images[valImageId];
	if (objImage == undefined) {
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}
