var baseurl;
var x=$(document);
x.ready(inicializarEventos);

function inicializarEventos()
{
    
    var x=$('#idregion');
    x.change(cargar_provincia);
    x.bind(($.browser.msie ? "click" : "change"),cargar_provincia); //Para internet Explorer
    
    
    var x=$('#cajaprovincias');
    x.change(cargar_poblacion);
    x.bind(($.browser.msie ? "click" : "change"),cargar_poblacion); //Para internet Explorer

    var x=$('#noregistrado a');
    x.click(registrarse);
    
    var x=$('#idatras');
    x.click(atras);
    
    var x=$('#idvalidar');
    x.click(validar);
    
    $('#idusuario').focus();
}
function cargar_provincia(id_provincia,id_poblacion){
    var id=$('#idregion').val(); //Región seleccionada
    var y=$('#cajaprovincias'); // Div donde se cargará
    $.ajax({
        type: 'GET',
        url: baseurl+"index.php/welcome/cargarprovincias2/"+id,
        success: function(data) {
            y.html(data);
            if (id_provincia>0){
                $("#cajaprovincias option[value="+id_provincia+"]").attr("selected",true);
                if (id_poblacion>0){
                    cargar_poblacion(id_poblacion);
                }else{
                    $('#cajapoblaciones').html('<select name="txtpoblacion" id="idpoblacion" class="textos"><option value="0">(Ninguna)</option></select>');
                }
            }else{
                $('#cajapoblaciones').html('<select name="txtpoblacion" id="idpoblacion" class="textos"><option value="0">(Ninguna)</option></select>');
            }
        },
        beforeSend: function(){
            y.html('<img src="'+baseurl+'system/application/views/imagenes/loading.gif"><span>Cargando datos...</span>');
        }
    });
}
function cargar_poblacion(id_poblacion){
    var id=$('#idprovincia').val(); //País seleccionado
    var y=$('#cajapoblaciones'); // Div donde se cargará
    $.ajax({
        type: 'GET',
        url: baseurl+"index.php/welcome/cargarpoblaciones2/"+id,
        success: function(data) {
            y.html(data);
            if (id_poblacion>0){
                $("#cajapoblaciones option[value="+id_poblacion+"]").attr("selected",true);
            }
        },
        beforeSend: function(){
            y.html('<img src="'+baseurl+'system/application/views/imagenes/loading.gif"><span>Cargando datos...</span>');
        }
    });
}
function ocultarmensajes(){
    var x=$('#mensaje');
    if (x.is(':visible')){ //Saber si un objeto es visible
	x.hide();
    }
    var x=$('#error');
    if (x.is(':visible')){ //Saber si un objeto es visible
	x.hide();
    }
}

function registrarse(){
    ocultarmensajes();
    $('.registrado').hide();
    $('#noregistrado').hide();
    $('#formulario').fadeIn('slow');
    $('#idnombre').focus();
}
function atras(){
    ocultarmensajes();
    $('#formulario').hide();
    $('.registrado').fadeIn('slow');
    $('#noregistrado').fadeIn('slow');
    $('#idusuario').focus();
}
function validar_nif(ID_Nombre){
    var nombre = document.getElementById(ID_Nombre);
    var patronNombre=/^((([A-Z]|[a-z])\d{8})|(\d{8}([A-Z]|[a-z])))$/;
    if(nombre.value.match(patronNombre)){
        return true;
    }else{
        return false;
    }
}

function validar_texto_normal(ID_Nombre){
    var nombre = document.getElementById(ID_Nombre);
    var patronNombre=/[a-z]+/i;
    if(nombre.value.match(patronNombre)){
        return true;
    }else{
        return false;
    }
}
function validar_numero(ID_Nombre){
    var nombre = document.getElementById(ID_Nombre);
    var patronNombre=/^\d+$/;
    if(nombre.value.match(patronNombre)){
        return true;
    }else{
        return false;
    }
}
function validar_mail(ID_Nombre){
	var nombre = document.getElementById(ID_Nombre);
        var patronNombre=/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[_a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/;
	if(nombre.value.match(patronNombre)){
	    return true;
	}else{
	    return false;
	}
}
function validar_telefono(ID_Nombre){
    var nombre = document.getElementById(ID_Nombre);
    var patronNombre=/^[0-9]{2,3}-? ?[0-9]{6,7}$/;
    if(nombre.value.match(patronNombre)){
        return true;
    }else{
        return false;
    }
}
function acceder(){
    document.getElementById("tiendaacceder").submit();
}
function validar(){
    var error=false;
    var obj=$('.errores');
    var primero=-1;
    obj.remove();
    
    var obj=$('.textos');
    for (i=0;i<obj.length;i++){
	var n=obj.eq(i);
	switch (n.attr('name')){	
	    case 'txtnif':
		if (!validar_nif("idnif")){
		    if (primero<0) primero=i; 
		    n.parent().prepend("<p class='errores'>El formato de NIF es incorrecto, Deben ser 8 números y una letra. Ejemplo: 12345678B o también B12345678</p>");
		    error=true;
		}
		break;
	    case 'txtnombre':
		if (!validar_texto_normal("idnombre")){
		    if (primero<0) primero=i; 
		    n.parent().prepend("<p class='errores'>Es necesario un nombre</p>");
		    error=true;
		}
		break;
	    case 'txtcontacto':
		if (!validar_texto_normal("idcontacto")){
		    if (primero<0) primero=i; 
		    n.parent().prepend("<p class='errores'>Es necesario una persona de contacto</p>");
		    error=true;
		}
		break;
	    case 'txtdireccion':
		if (!validar_texto_normal("iddireccion")){
		    if (primero<0) primero=i; 
		    n.parent().prepend("<p class='errores'>Es necesario una dirección</p>");
		    error=true;
		}
		break;
	    case 'txtpoblacion':
		if (n.val()<=0){
		    if (primero<0) primero=i;
		    n.parent().prepend("<p class='errores'>Debe seleccionar una localidad</p>");
		    error=true;
		}
		break;
	    case 'txtprovincia':
		if (n.val()<=0){
		    if (primero<0) primero=i;
		    n.parent().prepend("<p class='errores'>Debe seleccionar una provincia</p>");
		    error=true;
		}
		break;
	    case 'txtregion':
		if (n.val()<=0){
		    if (primero<0) primero=i;
		    n.parent().prepend("<p class='errores'>Debe seleccionar una comunidad autónoma</p>");
		    error=true;
		}
		break;
	    case 'txtcp':
		if (!validar_numero("idcp")){
		    if (primero<0) primero=i; 
		    n.parent().prepend("<p class='errores'>El codigo postal debe ser numérico</p>");
		    error=true;
		}
		break;
	    case 'txtmail':
		if (!validar_mail("idmail")){
		    if (primero<0) primero=i; 
		    n.parent().prepend("<p class='errores'>El formato de E-mail es incorrecto</p>");
		    error=true;
		}
		break;
	    case 'txttelefono':
		if (!validar_telefono("idtelefono")){
		    if (primero<0) primero=i; 
		    n.parent().prepend("<p class='errores'>El formato de teléfono es incorrecto</p>");
		    error=true;
		}
		break;
	}
    }
    if (!error){
	$('#enviarf').submit();
    }else{
	obj.eq(primero).focus();
    }
}
