$(document).ready(function(){
    var base=$("#url_base").val();

    $("#register").validate({
        messages: {
	    fname: "Campo Requerido",
	    lname: "Campo Requerido",
	    email1: {
			required: "Campo Requerido",
			email: "Requiere un email v&aacute;lido"
	    },
	    email_confirmar:{
			equalTo: "Debe introducir el mismo correo"
	    },
	    password: {
	    	minlength: "La contrase&ntilde;a debe ser al menos de 5 caracteres.",
			required: "Campo Requerido"
	    },
	    password_confirmar:{
			equalTo: "Las contrase&ntilde;as deben coincidir"
	    },
	    home_phone:{
	    	digits: "El campo debe ser num&eacute;rico",
	    	minlength: "El n&uacute;mero de tel&eacute;fono debe ser de 10 d&iacute;gitos, pe: 5536200755",
	     	maxlength: "El n&uacute;mero de tel&eacute;fono debe ser de 10 d&iacute;gitos, pe: 5536200755",
	    	required: "Debe ingresar al menos un n&uacute;mero de tel&eacute;fono de contacto"
	    	
	    },
	    office_phone:{
	    	digits: "El campo debe ser num&eacute;rico",
	    	minlength: "El n&uacute;mero de tel&eacute;fono debe ser de 10 d&iacute;gitos, pe: 5536200755",
	     	maxlength: "El n&uacute;mero de tel&eacute;fono debe ser de 10 d&iacute;gitos, pe: 5536200755",
	    	required: "Debe ingresar al menos un n&uacute;mero de tel&eacute;fono de contacto"
	    },
	    mobile_phone:{
	    	digits: "El campo debe ser num&eacute;rico",
	    	minlength: "El n&uacute;mero de tel&eacute;fono debe ser de 10 d&iacute;gitos, pe: 5536200755",
	     	maxlength: "El n&uacute;mero de tel&eacute;fono debe ser de 10 d&iacute;gitos, pe: 5536200755",
	    	required: "Debe ingresar al menos un n&uacute;mero de tel&eacute;fono de contacto"
	    }
	},
	rules: {
	    fname: {
			required: true
	    },
	    lname: {
			required: true
	    },
	    email1: {
			required: true,
			email: true
	    },
	    email_confirmar: {
			equalTo: "#email1"
	    },
	    password: {
	    	minlength: 5,
			required: true
	    },
	    password_confirmar: {
			equalTo: "#password"
	    },
	    home_phone: {
	    	digits :true,
	    	minlength: 10,
			maxlength: 10,
	    	required: function(element) {
        	return ($("#office_phone").val() == "" && $("#mobile_phone").val() =="");
      		}
      	},
      	office_phone: {
      		digits :true,
      		minlength: 10,
			maxlength: 10,
	    	required: function(element) {
        	return ($("#home_phone").val() == "" && $("#mobile_phone").val() =="");
      		}
      		
      	},
      	mobile_phone: {
      		digits :true,
      		minlength: 10,
			maxlength: 10,
	    	required: function(element) {
        	return ($("#home_phone").val() == "" && $("#office_phone").val() == "");
      		}
      	}
	},
		submitHandler: function() {
			$.fancybox.showActivity();			
	    		var url = base + "/user/addClient";
	    		var todos = $("#register").serialize();
	    		$.ajax({ 
	    			type: "POST", 
	    			url: url,
	    			data: todos,
				success: function(data){
					if (data == 0) {
						var message = "Ocurrio un problema al procesar el registro, por favor intentelo nuevamente";
						$.fancybox('<p id="fancybox-error">' + message + '</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 2000);
							}
						});
					} else if (data == 1) {
						var message = "Se ha registrado exitosamente, en breve recibir&aacute; un correo electr&oacute;nico con la confirmaci&oacute;n de registro";
						$.fancybox('<p id="fancybox-error">' + message + '</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 2000);
							},
							'onClosed' : function() {
								$("#register")[0].reset();
							}
						});
					} else if (data == 2) {
						var message = "El correo electr&oacute;nico ingresado ya esta registrado, por favor compruebe la direcci&oacute;n &oacute; intente con una nueva";
						$.fancybox('<p id="fancybox-error">' + message + '</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 2000);
							}
						});
					}
				} 
	    		});
		}
    });

    	$("#login").validate({
        	messages: {
			user: "Campo requerido",
			secret: "Campo requerido"
		},
		rules: {
	    		user: {
				required: true
			},
	    		secret: {
				required: true
	    		}
		},
		submitHandler: function() {
			$.fancybox.showActivity();
	    		var url = base + '/user/login';
	    		var todos = $("#login").serialize();
	    		$.ajax({
				type : "POST", 
	    			url : url,
	    			data : todos,				
	    			success : function(data){ 
					if (data == 0)
						$.fancybox('<p id="fancybox-error">No fue posible iniciar sesi&oacute;n, por favor verifique que los datos ingresados son correctos</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 1500);
							}
						});
					else if (data == 1)
						window.location.href = base + '/product';
            	 		} 
	    		});
		}
    	});

	$("#login_form").bind("submit", function() {
		if ($("#user").val().length < 1 || $("#secret").val().length < 1) {
			$("#login_error").show();
	    		$.fancybox.resize();
	    		return false;
		}
		$.fancybox.showActivity();
		$.ajax({
			type		: "POST",
			cache	: false,
			url		: base + "/user/login/",
			data		: $("#login_form").serialize(),
			success: function(data) {
				if (data == 0)
					$.fancybox('<p id="fancybox-error">No fue posible iniciar sesi&oacute;n, por favor verifique que los datos ingresados son correctos</p>');
				else if (data == 1)
					window.location.href = base + '/cart/deliver';
			}
		});
	return false;
	});

	$("#updateclient").validate({
		messages: {
			fname: "Campo Requerido",
			lname: "Campo Requerido",
			email: {
				required: "Campo Requerido",
				email: "Requiere un email v&aacute;lido"
			},
			email2: {
				equalTo: "Debe introducir el mismo correo"
			},
			secret: {
				minlength: "La contrase&ntilde;a debe ser al menos de 5 caracteres",
				required: "Campo Requerido"
			},
			secret2: {
				equalTo: "La contrase&ntilde;a debe coincidir"
			}
		},
		rules: {
			fname: {
				required: true
			},
			lname: {
				required: true
			},
			email: {
				required: true,
				email: true
			},
			email2: {
				equalTo: "#email"
			},
			secret: {
				minlength: 5,
				required: true
			},
			secret2: {
				equalTo: "#secret"
			}
		},
		submitHandler: function() {
			$.fancybox.showActivity();
			var url = base + "/user/updateClient";
	    		var todos = $("#updateclient").serialize();
	    		$.ajax({ 
	    			type: "POST", 
	    			url: url,
	    			data: todos,
				cache: false,
				success: function(data){
					if (data == 1) {
						$.fancybox('<p id="fancybox-error">Se han actualizado los datos correctamente</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function() {
								window.location.href = base + '/account/profile';
							}
						});	 
					} else if (data == 0) {
						$.fancybox('<p id="fancybox-error">No fue posible actualizar los datos del cliente, por favor contacte al administrador', {
							'showCloseButton' : false,
							'onComplete' : function(){
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function(){
								return false;
							}
						});
					} else if (data == 2) {
						$.fancybox('<p id="fancybox-error">Debe iniciar sesi&oacute;n para editar sus datos', {
							'showCloseButton' : false,
							'onComplete' : function(){
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function(){
								return false;
							}
						});
					}
				}
	    		});
		}
	});

	$("#updateaddress").validate({
		messages : {
			street : 'Campo Requerido',
			ext : 'Campo Requerido',
			col : 'Campo Requerido',
			zipcode : 'Campo Requerido',
			city : 'Campo Requerido',
			state : 'Campo Requerido',
			country : 'Campo Requerido',
			deliver : 'Campo Requerido'
		},
		rules : {
			street : {
				required : true
			},
			ext : {
				required : true
			},
			col :  {
				required : true
			},
			zipcode : {
				required : true
			},
			city : {
				required : true
			},
			state : {
				required : true
			},
			country : {
				required : true
			},
			deliver : {
				required : true
			}
		},
		submitHandler : function() {
			$.fancybox.showActivity();
			var url = base + '/user/updateAddress';
			var dvalue = $("#updateaddress").serialize();
			$.ajax({
				type: "POST",
				url: url,
				cache: false,
				data: dvalue,
				success: function(data) {
					if (data == 1) {
						$.fancybox('<p id="fancybox-error">Se han actualizado los datos correctamente</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function() {
								window.location.href = base + '/account/address';
							}
						});
					} else if (data == 0){
						$.fancybox('<p id="fancybox-error">Ocurrio un problema al guardar los datos, contacte al administrador</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function() {
								return false;
							}
						});
					} else if (data == 2) {
						$.fancybox('<p id="fancybox-error">Debe iniciar sesi&oacute;n para editar sus datos', {
							'showCloseButton' : false,
							'onComplete' : function(){
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function(){
								return false;
							}
						});
					}
				}
			});
		}
	});

	$("#addaddress").validate({
		messages : {
			street : 'Campo Requerido',
			ext : 'Campo Requerido',
			col : 'Campo Requerido',
			zipcode : 'Campo Requerido',
			city : 'Campo Requerido',
			state : 'Campo Requerido',
			country : 'Campo Requerido',
			deliver : 'Campo Requerido'
		},
		rules : {
			street : {
				required : true
			},
			ext : {	
				required : true
			},
			col :  {
				required : true
			},
			zipcode : {
				required : true
			},
			city : {
				required : true
			},
			state : {
				required : true
			},
			country : {
				required : true
			},
			deliver : {
				required : true
			}
		},
		submitHandler : function() {
			$.fancybox.showActivity();
			var url = base + '/user/addAddress';
			var dvalue = $("#addaddress").serialize();
			$.ajax({
				type: "POST",
				url: url,
				cache: false,
				data: dvalue,
				success: function(data) {
					if (data == 1) {
						$.fancybox('<p id="fancybox-error">Se han agregado los datos correctamente</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function() {
								window.location.href = base + '/account/address';
							}
						});
					} else if (data == 0) {
						$.fancybox('<p id="fancybox-error">Ocurrio un problema al guardar los datos, contacte al administrador</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function() {
								return false;
							}
						});
					} else if (data == 2) {
						$.fancybox('<p id="fancybox-error">Debe iniciar sesi&oacute;n para editar sus datos', {
							'showCloseButton' : false,
							'onComplete' : function(){
								setTimeout('$.fancybox.close()', 1000);
							},
							'onClosed' : function(){
								return false;
							}
						});
					}
				}
			});
		}
	});

	$("#adminlogin").validate({
		messages : {
			username : 'Campo Requerido',
			secret : 'Campo Requerido'
		},
		rules : {
			username : {
				required : true
			},
			secret : {
				required : true
			}
		},
		submitHandler : function() {
			$.fancybox.showActivity();
			var url = base + '/user/adminlogin';
			var data = $("#adminlogin").serialize();
			$.ajax({
				type : "POST",
				url : url,
				cache : false,
				data : data,
				success : function(data) {
					if (data == 1) {
						window.location.href = base + '/admin/dashboard/';
					} else {
						$.fancybox('<p id="fancybox-error">No fue posible iniciar sesi&oacute;n, por favor verifique los datos e intentelo nuevamente</p>', {
							'showCloseButton' : false,
							'onComplete' : function() {
								setTimeout('$.fancybox.close()', 1000);
							}
						});
					}
				}
			});
		}
	});
	
	$("#adddevice").validate({
		messages : {
			device : 'Campo Requerido',
			serial : 'Campo Requerido',
			distributor : 'Campo Requerido',
			buydate : 'Campo Requerido'
		},
		rules : {
			device : {
				required : true
			},
			serial : {
				required : true
			},
			distributor :  {
				required : true
			},
			buydate : {
				required : true
			}
		},
		submitHandler : function() {
			$.fancybox.showActivity();
			var url = base + "/account/insertDevice";
			alert(url)
			return
			var url = $("#targeturl").val();
			var dvalue = $("#adddevice").serialize();
			$.ajax({
				type: "POST",
				url: url,
				cache: false,
				data: dvalue,
				success: function() {
					$.fancybox('<p id="fancybox-error">Se han agregado los datos correctamente</p>', {
						'onClosed' : function() {
							window.location.href = $("#url").attr("href");
						}
					});
				}
			});
		}
	});
});

