function SetCookieServidor(name,value,expires,path,domain,secure) {
var regEx = new RegExp ('\/', 'gi') ;
value=value.replace(regEx,"-");
var regEx = new RegExp ('%5Cr', 'gi') ;
value=value.replace(regEx," ");
var regEx = new RegExp ('%5Cn', 'gi') ;
value=value.replace(regEx," ");
var url = "/Index/setCookie/name/"+name+"/value/"+value; // The server-side script
   $.get(url);

}

         
function GetCookieServidor(name,value,variable_retorno,expires,path,domain,secure) {
var url = "/Index/getCookie/name/"+name; // The server-side script
   $.get(url, {},
  function(data){
	  eval (variable_retorno+"="+data+";");
  });

}



function toggle_login(){
$("#login").toggle();
}

function logout_login(){
location.href="/Index/logout";
}

function comprueba_login(formu){
error="";
if (formu.usuario.value=="" ){
   error+="Debe rellenar el campo usuario\n";
}

if (formu.password.value=="" ){
   error+="Debe rellenar la contraseña\n";
}

if (error!=""){
alert (error);
}else{
formu.submit();
}

}

function despliega(id){
$("div[id^='hijos_']").hide();
$("[id^='categoria_link_']").attr("class","navegacion_categorias_1_a");

$("#categoria_link_"+id).attr("class","navegacion_categorias_1_activo");
$("#hijos_"+id).show("slow");

//if ($("#hijos_"+id).html()==""){
ir_a(id);

//}

}

function goto(campo){
valor=campo[campo.selectedIndex].value;
if (valor!=""){
location=URL_comun+"/Tipo/"+valor;
}
}

function ir_a(id){
 document.location="/Index/verlistado/cat/"+id;
}

function siguiente(num,total,cat,t){
if (num >= (total-1)){
alert("Esta visualizando el ultimo registro del listado, realice otra busqueda si desea ver mas documentos");
}else{
num_pedido=num+1;
location="/Index/siguiente/id/"+num_pedido+"/total/"+total+"/cat/"+cat+"/t/"+t;
}
}
function anterior(num,total,cat,t){
if (num <=0){
alert("Esta visualizando el primer registro del listado, realice otra busqueda si desea ver mas documentos");
}else{
num_pedido=num-1;
location="/Index/siguiente/id/"+num_pedido+"/total/"+total+"/cat/"+cat+"/t/"+t;
}
}

function actualiza_selects(categoria){
	switch (categoria){
	case "1":
	$("#localizacion_li").css("display","block");
	break;
	case "2":
	$("#localizacion_li").css("display","none");
	break;
	case "3":
	$("#localizacion_li").css("display","none");
	break;
	default:
	$("#localizacion_li").css("display","none");
	}
}

function muestra_contrasenia(){
formu=document.getElementById("form_registro");
alert (formu.contrasenia.value);
}

function ir_resumen(){
formu=document.getElementById("form_registro");
$("#nombre_resumen").html(formu.nombre.value);
$("#apellidos_resumen").html(formu.apellidos.value);

//$("#dni_resumen").html(formu.dni.value);
$("#tipodocumento_resumen").html(formu.tipodocumento[formu.tipodocumento.selectedIndex].value);
$("#documento_resumen").html(formu.documento.value);

$("#telefono_1_resumen").html(formu.telefono_1.value);
$("#telefono_2_resumen").html(formu.telefono_2.value);
dia=formu.fecha_dia[formu.fecha_dia.selectedIndex].value;
mes=formu.fecha_mes[formu.fecha_mes.selectedIndex].value;
anio=formu.fecha_anio[formu.fecha_anio.selectedIndex].value;
$("#fecha_nacimiento_resumen").html(dia+"/"+mes+"/"+anio);
$("#direccion_resumen").html(formu.direccion.value+" Num. "+formu.numero.value);
$("#codigo_postal_resumen").html(formu.codigo_postal.value);
$("#poblacion_resumen").html(formu.poblacion.value);
$("#provincia_resumen").html(formu.provincia.value);
$("#pais_resumen").html( $("#pais :selected").text() );
$("#e_mail_resumen").html(formu.e_mail.value);
$("#contrasenia_resumen").html("<a class='color_02' href='javascript:muestra_contrasenia()' >******** (Pulse para ver la contraseña) </a>");

if (comprueba()){
$("#formulario_registro").hide();
$("#registro_resumen").show();
}
}

function volver_registro(){
$("#registro_resumen").hide();
$("#formulario_registro").show();
}

function comprueba(){
formu=document.getElementById("form_registro");
error=false;
/////añadimos comprobacion de formulario de registro
mensaje_error="";
if (formu.nombre.value==""){
 mensaje_error+="Debe rellenar su nombre\n";
 error=true;
}
if (formu.apellidos.value==""){
 mensaje_error+="Debe rellenar sus Apellidos\n";
 error=true;
}
if (formu.telefono_1.value==""){
 mensaje_error+="Debe rellenar el telefono 1\n";
 error=true;
}

if (!esDocumento(formu.documento.value,formu.tipodocumento[formu.tipodocumento.selectedIndex].value)){
 mensaje_error+="El "+formu.tipodocumento[formu.tipodocumento.selectedIndex].value+" que ha rellenado no tiene el formato correcto\n";
 error=true;
}


if (formu.fecha_dia[formu.fecha_dia.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su dia de nacimiento\n";
 error=true;
}
if (formu.fecha_mes[formu.fecha_mes.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su mes de nacimiento\n";
 error=true;
}
if (formu.fecha_anio[formu.fecha_anio.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su año de nacimiento\n";
 error=true;
}
if (!error){
hoy=new Date()
var f_nac=new Date(formu.fecha_anio[formu.fecha_anio.selectedIndex].value, formu.fecha_mes[formu.fecha_mes.selectedIndex].value-1, formu.fecha_dia[formu.fecha_dia.selectedIndex].value) //Month is 0-11 in JavaScript
var one_day=1000*60*60*24;
var one_ano=one_day*365;
diferencia=Math.ceil((hoy.getTime()-f_nac.getTime()));
diferencia=diferencia/one_ano;
if (diferencia<18){
error=true;
mensaje_error+="Los menores de 18 años no pueden registrarse, segun su fecha de nacimiento es menor de 18 años\n";
}
}

if (formu.poblacion.value==""){
 mensaje_error+="Debe rellenar la poblacion obligatoriamente\n";
 error=true;
}

if (formu.provincia.value==""){
 mensaje_error+="Debe rellenar la provincia obligatoriamente\n";
 error=true;
}
if (formu.pais.value==""){
 mensaje_error+="Debe rellenar el pais obligatoriamente\n";
 error=true;
}

if (formu.e_mail.value==""){
 mensaje_error+="Debe rellenar su email obligatoriamente\n";
 error=true;
}

if (!esEmail(formu.e_mail.value)){
 mensaje_error+="El formato de email es incorrecto\n";
 error=true;
}

if (formu.contrasenia.value==""){
 mensaje_error+="Debe rellenar su contraseña obligatoriamente\n";
 error=true;
}

if (formu.contrasenia_2.value!=formu.contrasenia.value){
 mensaje_error+="El campo repetir contraseña no coincide con la contraseña tecleada\n";
 error=true;
}

if (!formu.aceptar_privacidad.checked){
 mensaje_error+="Para registrarse debe marcar la casilla de aceptación de condiciones de privacidad de Proyectos Tataramundi S.L.\n";
 error=true;
}
/*
if(formu.direccion.value == "")
{
     mensaje_error += "La dirección es obligatoria\n";
     error = true;    
}//if
*/

if (error){
	alert (mensaje_error);
	return false;
}else{
	return true;
}
}

function comprueba_resumen(){
formu=document.getElementById("form_registro");
if (comprueba()){
	formu.submit();
}else{
	volver_registro();
}
}
/////////////////////////NEWSLETTER

function compruebanewsletter(formu){
mensaje_error="";
error=false;
if (formu.fecha_dia[formu.fecha_dia.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su dia de nacimiento\n";
 error=true;
}
if (formu.fecha_mes[formu.fecha_mes.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su mes de nacimiento\n";
 error=true;
}
if (formu.fecha_anio[formu.fecha_anio.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su año de nacimiento\n";
 error=true;
}

if (formu.e_mail.value==""){
 mensaje_error+="Debe rellenar su email obligatoriamente\n";
 error=true;
}

if (!esEmail(formu.e_mail.value)){
 mensaje_error+="El formato de email es incorrecto\n";
 error=true;
}

if (error){
	alert (mensaje_error);
}else{
	formu.submit();
}


}


function compruebanewsletter_cancelacion(formu){
mensaje_error="";
error=false;
if (formu.e_mail.value==""){
 mensaje_error+="Debe rellenar su email obligatoriamente\n";
 error=true;
}
if (!esEmail(formu.e_mail.value)){
 mensaje_error+="El formato de email es incorrecto\n";
 error=true;
}

if (error){
	alert (mensaje_error);
}else{
	formu.submit();
}

}
////////////////////////CONTACTO

function comprueba_contacto(formu){
mensaje_error="";
error=false;
if (formu.nombre.value==""){
 mensaje_error+="Debe rellenar su nombre\n";
 error=true;
}
if (formu.e_mail.value==""){
 mensaje_error+="Debe rellenar su email obligatoriamente\n";
 error=true;
}
if (!esEmail(formu.e_mail.value)){
 mensaje_error+="El formato de email es incorrecto\n";
 error=true;
}

if (error){
	alert (mensaje_error);
}else{
	formu.submit();
}


}


////////////////////////MIS DATOS

function ir_resumen_misdatos(){
formu=document.getElementById("form_registro");
$("#nombre_resumen").html(formu.nombre.value);
$("#apellidos_resumen").html(formu.apellidos.value);
//$("#dni_resumen").html(formu.dni.value);
$("#tipodocumento_resumen").html(formu.tipodocumento[formu.tipodocumento.selectedIndex].value);
$("#documento_resumen").html(formu.documento.value);

$("#telefono_1_resumen").html(formu.telefono_1.value);
$("#telefono_2_resumen").html(formu.telefono_2.value);
dia=formu.fecha_dia[formu.fecha_dia.selectedIndex].value;
mes=formu.fecha_mes[formu.fecha_mes.selectedIndex].value;
anio=formu.fecha_anio[formu.fecha_anio.selectedIndex].value;
$("#fecha_nacimiento_resumen").html(dia+"/"+mes+"/"+anio);
$("#direccion_resumen").html(formu.direccion.value+" Num. "+formu.numero.value);
$("#codigo_postal_resumen").html(formu.codigo_postal.value);
$("#poblacion_resumen").html(formu.poblacion.value);
$("#provincia_resumen").html(formu.provincia.value);
$("#pais_resumen").html( $("#pais :selected").text() );
$("#e_mail_resumen").html(formu.e_mail.value);
$("#contrasenia_resumen").html("<a class='color_02' href='javascript:muestra_contrasenia()' >******** (Pulse para ver la contraseña) </a>");

if (comprueba_misdatos()){
$("#formulario_registro").hide();
$("#registro_resumen").show();
}
}

function volver_misdatos(){
$("#registro_resumen").hide();
$("#formulario_registro").show();
}

function comprueba_misdatos(){
formu=document.getElementById("form_registro");
error=false;
/////añadimos comprobacion de formulario de registro
mensaje_error="";
if (formu.nombre.value==""){
 mensaje_error+="Debe rellenar su nombre\n";
 error=true;
}
if (formu.apellidos.value==""){
 mensaje_error+="Debe rellenar sus Apellidos\n";
 error=true;
}
if (formu.telefono_1.value==""){
 mensaje_error+="Debe rellenar el telefono 1\n";
 error=true;
}

if (!esDocumento(formu.documento.value,formu.tipodocumento[formu.tipodocumento.selectedIndex].value)){
 mensaje_error+="El "+formu.tipodocumento[formu.tipodocumento.selectedIndex].value+" que ha rellenado no tiene el formato correcto\n";
 error=true;
}


if (formu.fecha_dia[formu.fecha_dia.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su dia de nacimiento\n";
 error=true;
}
if (formu.fecha_mes[formu.fecha_mes.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su mes de nacimiento\n";
 error=true;
}
if (formu.fecha_anio[formu.fecha_anio.selectedIndex].value=="0"){
 mensaje_error+="Debe rellenar su año de nacimiento\n";
 error=true;
}

if (formu.poblacion.value==""){
	 mensaje_error+="Debe rellenar la poblacion obligatoriamente\n";
	 error=true;
	}

	if (formu.provincia.value==""){
	 mensaje_error+="Debe rellenar la provincia obligatoriamente\n";
	 error=true;
	}
	if (formu.pais.value==""){
	 mensaje_error+="Debe rellenar el pais obligatoriamente\n";
	 error=true;
	}


if (formu.e_mail.value==""){
 mensaje_error+="Debe rellenar su email obligatoriamente\n";
 error=true;
}

if (!esEmail(formu.e_mail.value)){
 mensaje_error+="El formato de email es incorrecto\n";
 error=true;
}

if(formu.contrasenia.value!="" || formu.contrasenia_2.value!=""){
	if (formu.contrasenia.value==""){
		mensaje_error+="Debe rellenar su contraseña obligatoriamente\n";
		error=true;
	}

	if (formu.contrasenia_2.value!=formu.contrasenia.value){
		mensaje_error+="El campo repetir contraseña no coincide con la contraseña tecleada\n";
		error=true;
	}
}


if (error){
	alert (mensaje_error);
	return false;
}else{
	return true;
}
}

function comprueba_resumen_misdatos(){
formu=document.getElementById("form_registro");
if (comprueba_misdatos()){
	formu.submit();
}else{
	volver_registro();
}
}


/////password

function comprueba_email(formu){
formu=document.getElementById("form_registro");
error=false;
/////añadimos comprobacion de formulario de registro
mensaje_error="";

if (formu.e_mail.value==""){
 mensaje_error+="Debe rellenar su email obligatoriamente\n";
 error=true;
}

if (!esEmail(formu.e_mail.value)){
 mensaje_error+="El formato de email es incorrecto\n";
 error=true;
}

if (error){
	alert (mensaje_error);

}else{
 formu.submit();
}
}



////////////////////////COMPRA

function actualiza_carrito(){
formu=document.getElementById("carrito");
opciones=formu.opciones.value;
if (!esEntero(opciones)){
formu.opciones.value=1;
opciones=1;
}else{
/*
	if (parseInt(formu.opciones.value)>parseInt(formu.opciones_max.value)){
		opciones=formu.opciones_max.value;
        formu.opciones.value=opciones;
	}
*/

}
precio_opcion=parseFloat(formu.precio_opcion.value);
totalprecio=(opciones * precio_opcion);
formu.total.value=totalprecio;
$("#total").text(totalprecio);
}


function comprueba_compra(){
formu=document.getElementById("carrito");
error=false;
mensaje_error="";
if (!esEntero(formu.opciones.value)){
error=true;
mensaje_error+="El campo Opciones debe ser numérico y entero.\n";
}else{
	if (parseInt(formu.opciones.value)>parseInt(formu.opciones_max.value)){
		error=true;
		mensaje_error+="No puede comprar mas opciones de las que hay disponibles en este momento ("+formu.opciones_max.value+")\n";
		formu.opciones.value=formu.opciones_max.value;
	}

}



if (!formu.aceptar_legales.checked){
error=true;
mensaje_error+="Debe marcar la casilla de aceptación de términos legales.\n";
}
if (error){
alert (mensaje_error);
return false;
}else{
return true;
}
}



function ir_resumen_compra(){
formu=document.getElementById("carrito");
if (comprueba_compra()){
	formu.submit();
}

}




////////////////////////VALIDACION ESTANDAR

function esEmail(email){
 var sLen = email.length; var i=0; var pasaPrimero= true;
 var chrs = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-@';
 while (i < sLen && pasaPrimero) {
   c=email.charAt(i);
   if (!(chrs.indexOf(c)>=0 || (c=='_' && i>0))) pasaPrimero=false; i++;
 }
 var emailFilter=/^.+@.+\..{2,4}$/;
 if (!(emailFilter.test(email)) || !pasaPrimero) {
   return false;
 }
 return true;
}

function esEntero(dato){
if (esNumerico(dato) && parseInt(dato)==dato){
	return true;
}else{
	return false;
}
}

function esNumerico(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)
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function esNIF(nif){
nif=nif.toUpperCase() ;
  var check = true,longitud,numero,letra,index;
  var letrasNIF = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','T');
  longitud=nif.length;
  numero = nif.substring(0,longitud-1);
  letra = nif.substring(longitud-1,longitud);
  numero=TrimLeft(numero,"0");
	if (parseInt(numero) == 0)
	  check = false;
	index = (parseInt(numero)) % 23;
	if (letra.toUpperCase() != letrasNIF[index])
	  check = false;
	return check;
}

function TrimLeft( str,caracter ) {
var resultStr = "";
var i = len = 0;
// Return immediately if an invalid value was passed in
if (str+"" == "undefined" || str == null) 
return null;
// Make sure the argument is a string
str += "";
if (str.length == 0) 
resultStr = "";
else { 
// Loop through string starting at the beginning as long as there
// are spaces.
// len = str.length - 1;
len = str.length;

while ((i <= len) && (str.charAt(i) == caracter))
i++;
// When the loop is done, we're sitting at the first non-space char,
// so return that char plus the remaining chars of the string.
resultStr = str.substring(i, len);
}
return resultStr;
}


function esDocumento(documento,tipo){
		switch (tipo){
			case 'NIF': return esNIF(documento);
										break;
			case 'NIE': return esNIE(documento);
										break;
			case 'CIF': return esCIF(documento);
										break;
			case 'Pasaporte': return documento.length>0;
								break;
			default: return false;
			                   break;					
		}

}

function esCIF(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 = new RegExp(/^[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() + "0";
         impares += parseInt(xxx.substr(0,1)) + parseInt(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;
}

function esNIF(nif){
nif=nif.toUpperCase() ;
  var check = true,longitud,numero,letra,index;
  var letrasNIF = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','T');
  longitud=nif.length;
  numero = nif.substring(0,longitud-1);
  letra = nif.substring(longitud-1,longitud);
  numero=TrimLeft(numero,"0");
	if (parseInt(numero) == 0)
	  check = false;
	index = (parseInt(numero)) % 23;
	if (letra.toUpperCase() != letrasNIF[index])
	  check = false;
	return check;
}

function esNIE(nie){
	var check = true,longitud,numero,letra,index;
	var letrasNIF = new Array('T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E','T');
	longitud=nie.length;
	equis=nie.substring(0,1);
	nie = nie.substring(1,longitud);
	longitud--;
	numero = nie.substring(0,longitud-1);
	letra = nie.substring(longitud-1,longitud);
	if (parseInt(numero) == 0)
	  check = false;
	index = (parseInt(numero)) % 23;
	if (letra.toUpperCase() != letrasNIF[index])
	  check = false;
	if (equis.toUpperCase() != "X")
	  check=false;

	return check;
}


