var xOffset = 30;
var yOffset = 10;

$(document).ready(function(){
	$('form').submit(function(){
		$('.upper').each(function(){
			$(this).val(String($(this).val()).toUpperCase());
		});

		$('.lower').each(function(){
			$(this).val(String($(this).val()).toLowerCase());
		});
	});
		
	$('#id_cedula').click(function(){
		$('#rut').attr('disabled','').css('background','#fff');
		$('#rut_tr').show();
		$('#pasaporte_tr').hide();
	});	
	
	$('#id_pasaporte').click(function(){
		$('#rut_tr').hide();
		$('#pasaporte').attr('disabled','').css('background','#fff');
		$('#pasaporte_tr').show();
	});	
	
	$('#rut').attr('disabled','');
	$('#id_cedula').attr('checked', 'checked');
	$('#pasaporte').attr('disabled','disabled').css('background','#ccc');
	$('#pasaporte_tr').hide();
	
	/*comienzo validaciones*/
	$('#Form1').submit(function(){
		$('#error_report').html('');
		$('.required').css('background','#ffffff');
		$('.contact_required').css('background','#ffffff');
		$('select').css('background','#ffffff');
		var required_error = false;
		var contact_required_error = true;
		var no_selection_error = false;
		var valid_rut_error = false;
		var valid_pasaporte_error = false;
		var valid_identificacion_error = false;
		var es_medico_error = false;
		var info_color = '#fef973';
		$('input.required').each(function(){
			if($.trim($(this).val()) == ''){
				required_error = true;
				$(this).css('background',info_color);
			}
		});
		
		$('.contact_required').each(function(){
			if($.trim($(this).val()) != ''){
				contact_required_error = false;
			}
		});
		
	
		$('select.required').each(function(){
			if($(this).find(':selected').val() == 'NONE'){
				no_selection_error = true;
				$(this).css('background',info_color);
			}
		});
		
		if(!$('#cb_pasaporte').is(':checked')){
			if(!Rut($('#rut').val(),'rut') && $('#id_cedula').is(':checked')){
				$('#error_report').append('<div>El RUT ingresado no es v&aacute;lido.</div>');
				$('#rut').css('background',info_color);
				valid_rut_error = true;
			}
		}
		
		if($('#rtbn_esmedico').is(':checked') == false && $('#rbtn_noesmedico').is(':checked') == false){
			$('#error_report').append('<div>Indique si su profesi&oacute;n es m&eacute;dico.</div>');
			es_medico_error = true;
		}
		
		/*if($.trim($('#pasaporte').val()) == '' && $('#id_pasaporte').is(':checked')){
			$('#error_report').append('<div>El Pasaporte ingresado no es v&aacute;lido.</div>');
			$('#pasaporte').css('background',info_color);
			valid_pasaporte_error = true;
		}*/
		
		/*if(!$('#id_cedula').is(':checked') && ! $('#id_pasaporte').is(':checked')){
			$('#error_report').append('<div>Seleccione un tipo de identificación.</div>');
			$('#rut').css('background',info_color);
			valid_identificacion_error = true;
		}*/
		
		if(required_error){
			$('#error_report').append('<div>Faltan campos requeridos.</div>');
		}
		
		if(contact_required_error){
			$('#error_report').append('<div>Indique por lo menos una forma de contacto (tel&eacute;fono fijo, m&oacute;vil o e-mail)</div>');
			$('.contact_required').css('background',info_color);
		}
		
		if(no_selection_error){
			$('#error_report').append('<div>Seleccione alguna de las opciones disponibles</div>');
		}
		
		var email_error = checkEmail();
		if(email_error == false)
			$('#email').css('background',info_color);
		
		if(!(required_error || contact_required_error || no_selection_error || valid_rut_error || valid_pasaporte_error || valid_identificacion_error || !email_error || es_medico_error))
			$('#error_report').hide();
		else
			$('#error_report').show();
		//if(!(required_error || contact_required_error || no_selection_error || valid_rut_error || valid_pasaporte_error || valid_identificacion_error || !email_error))
		//	_gaq.push(['_trackPageview','/solicita_ejecutivo/enviado']);
		return !(required_error || contact_required_error || no_selection_error || valid_rut_error || valid_pasaporte_error || valid_identificacion_error || !email_error || es_medico_error);
	});
	/*fin de las validaciones*/
	
	$('#regiones').change(function(){
		getCommunes($(this).find('option:selected').val());
	});
	
	getCommunes = function(region,callback){
		$('#comunas').attr('disabled','disabled');
		$('#img_loading').show();
		$.ajax({
			type: "GET",
			url: "./comunas.aspx",
			contentType: "application/x-www-form-urlencoded",
			dataType: "text",
			data: "reg=" + region,
			success: function(data){
				eval(data);
				$('#comunas').attr('disabled','');
				$('#comunas').find('option').remove();
				$.each(comunas,function(){
					$('#comunas').append('<option value="'+this.codigo+'">'+this.nombre+'</option>');
				});
				$('#img_loading').hide();
				if(callback)
					callback();
			},
			error: function(data){
				$('#comunas').attr('disabled','');
				$('#comunas').find('option').remove();
				$('#comunas').append('<option value="none">ERROR</option>');
				$('#comunas').attr('disabled','disabled');
				$('#img_loading').hide();
			}
		});
	}
	
	$("#regiones").find("option[value=none]").attr('selected','selected');
	
	$("#comunas").change(function(){
		$('#selected_commune').val($(this).find('option:selected').val());
	});
	
	if($("#regiones").find('option:selected').val() != 'NONE'){
		getCommunes($("#regiones").find('option:selected').val(),function(){
			$('#comunas').find('option[value=' + $('#selected_commune').val() + ']').attr('selected','selected');
		});
	}
	
	$('.rut').change(function(){
		$(this).css('background','#ffffff');
		if(!$('#cb_pasaporte').is(':checked'))
			if(!Rut($(this).val(),$(this).attr('id')) && $.trim($(this).val()) != ''){
				$(this).css('background','#eeeeee');
				alert('El RUT ingresado no es válido');
			}
	});
	
	$('#cb_pasaporte').click(function(){
		if(!$('#cb_pasaporte').is(':checked'))
			if(!Rut($('#rut').val(),$('#rut').attr('id')) && $.trim($('#rut').val()) != ''){
				$('#rut').css('background','#eeeeee');
				alert('El RUT ingresado no es válido');
			}
	});
	
	verificarSolicitudes = function(rut, pasaporte){
		$.ajax({
			type: "GET",
			url: "./verificarut.aspx?dummy=" + (new Date()).getTime(),
			contentType: "application/x-www-form-urlencoded",
			dataType: "text",
			data: "rut=" + String($(rut).val()).replace(/\./gi,'').replace(/-/gi,'') + "&pasaporte=" + String($(pasaporte).val()),
			success: function(data){
				eval(data);
				if(typeof(rut_allowed) == 'undefined')
					return;
				
				if(typeof(afiliado) != 'undefined'){
					if(afiliado){
						alert("Usted ya es afiliado de nuestra Isapre. Acérquese a una de nuestras oficinas para mayor información.");
						window.location.href = window.location.href;
					}
				}
				
				if(typeof(ds_vigente) != 'undefined'){
					if(ds_vigente){
						alert("Usted ya ha postulado mediante una Declaración de Salud. Favor contáctese con su ejecutivo para mayor información.");
						window.location.href = window.location.href;
					}
				}
				
				if(typeof(rut_allowed) != 'undefined'){
					if(!rut_allowed){
						alert("Usted ya posee una postulación en proceso. Favor contáctese con su ejecutivo para mayor información.");
						window.location.href = window.location.href;
					}
				}
				/*eval(data);
				if(!rut_allowed) {
					if(typeof(afiliado) == 'undefined'){
						alert("Usted ya posee una solicitud en proceso.");
						window.location.href = './editarsolicitud.aspx?r='+$('#rut').val()+'&p='+$('#pasaporte').val();
					} else {
						alert("Estimado Afiliado: La solicitud de ejecutivo está diseñada para quienes desean incoporarse a Masvida.\nPara resolver sus inquietudes ingrese a su página personal o llame al 800 800 262.");
						window.location.href = window.location.href;
					}
				}
				
				if(typeof(ds_vigente) == 'undefined')
					return;
				
				if(ds_vigente) {
					alert("Usted ya posee una postulación en proceso. Acérquese a una de nuestras oficinas para mayor información.");
					window.location.href = window.location.href;
				}*/
			}
		});
	};
	
	$('#rut').change(function(){
		verificarSolicitudes(this, $('#rut').get(0))
	});
	
	$('#pasaporte').change(function(){
		verificarSolicitudes($('#rut').get(0), this)
	});
	
	verificarSolicitudes($('#rut').get(0),$('#pasaporte').get(0));
	
	function followPointer(e){	
		$('#tooltip')
			.css('top',(e.pageY - xOffset) + 'px')
			.css('left',(e.pageX + yOffset) + 'px');
	}
	
	checkEmail = function() {
		var email = $.trim($('#email').val());
		var remail = $.trim($('#remail').val());
		if(email == '' && remail == '')
			return true;
		var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
		if(!pattern.test(email)){         
			$('#error_report').append('<div>El email ingresado no es válido.</div>');
			return false;
		}
		if(email != remail){
			$('#error_report').append('<div>El email y su repetición no coinciden.</div>');
			return false;
		}
		return true;
	}
	
	/*$('#email').blur(function(){
		checkEmail();
	});*/
	
	var ctrlDown = false;
    var ctrlKey = 17, vKey = 86, cKey = 67;

    $(document).keydown(function(e)
    {
        if (e.keyCode == ctrlKey) ctrlDown = true;
    }).keyup(function(e)
    {
        if (e.keyCode == ctrlKey) ctrlDown = false;
    });

    $("#email,#remail").keydown(function(e)
    {
        if (ctrlDown && (e.keyCode == vKey || e.keyCode == cKey)) return false;
    });
	
});
