/* 
 * ricardo valle
 * cnx.v86 [at] gmail [dot] com
 */
/**********************************************************/
/************************ Eventos *************************/
/**********************************************************/
$(document).ready(function(){
	//$('img').pngFix();
	//$("#contactMensaje").attr("value","");
	$("#logos a").attr("target","_blank");
	$('#cambioDepartamento').focus(function(){
		$('#listaDepartamentos').slideDown("normal");
	});
	$('#listaDepartamentos a').click(function(){
		$('#cambioDepartamento').attr("value",this.innerHTML);
		$('#listaDepartamentos').slideUp("normal");
		return false;
	});
	$('#cambioTelefono').keyup(function(){
		soloNumeros(this);
	});
	$('#cambioCedula').blur(function(){
		//validarCedula(this);
	});
	$('#btAceptar').click(function(){
		$(this).attr({
			innerHTML:"Enviando.."
		})
		if (valid.vForm()==true){
			$.post("register.php?dep="+escape($("#cambioDepartamento").attr("value")), {
				nombres: $("#cambio form #cambioNombres").attr("value"),
				apellidos: $("#cambio form #cambioApellidos").attr("value"),
				cedula: $("#cambio form #cambioCedula").attr("value"),
				email: $("#cambio form #cambioEmail").attr("value"),
				sexo: ($("#cambio form #cambioSexoM").attr("checked")==true)?$("#cambio form #cambioSexoM").attr("value"):$("#cambio form #cambioSexoF").attr("value"),
				departamento: $("#cambio form #cambioDepartamento").attr("value"),
				telefono: $("#cambio form #cambioTelefono").attr("value")
			}, function(data){
				if (data=="1"){
					execute.iFrame(escape($("#cambioNombres").attr("value")));
				}
				if(data=='-1'){
					alert("Ya ha contribuido previamente\nSolo puede hacerlo una vez, gracias...")
					$("#btAceptar").attr({
						innerHTML:"Aceptar"
					})
				}
				execute.setBujias("ALL");
				execute.setMapa();
				execute.topFive();
			});
			
			$('#cambio a.close').click(function(){
				$('#cambio').addClass('hide');
				return false;
			});
		}
		else{
			$('#btAceptar').attr("innerHTML","Aceptar");
			alert("Por favor llene todos los campos");
		}
		return false;
	});
	execute.topFive();
	execute.setBujias("ALL");
	//execute.setDinero("ALL");
	execute.setMapa();
	$("#Map area").click(function(){
		var mapId=(this.id).split("-")[1];
		execute.setBujias(mapId);
		/*setTimeout(function(){
			execute.setBujias("ALL");
		},5000);*/
	});
	setInterval(function(){
		execute.topFive();
		execute.setBujias("ALL");
		execute.setMapa();
	},30000);
	$("#contact a.contactSubmit").click(function(){
		$.post("generator.php?request=send",{
			nombre:$("#contactNombre").attr("value"),
			telefono:$("#contactTelefono").attr("value"),
			email:$("#contactEmail").attr("value"),
			mensaje:$("#contactMensaje").attr("value")
		},function(data){
			alert("Su mensaje ha sido enviado satisfactoriamente, gracias!");
			$("#contactNombre").attr({
				value:"",
				readonly:"readonly"
			});
			$("#contactTelefono").attr({
				value:"",
				readonly:"readonly"
			});
			$("#contactEmail").attr({
				value:"",
				readonly:"readonly"
			});
			$("#contactMensaje").attr({
				value:"",
				readonly:"readonly"
			});
		});
	});
});
/**********************************************************/
/********************** Validaciones***********************/
/**********************************************************/
var valid={
	vForm: function(){
		var respuesta=true;
		if ($("#cambioNombres").attr("value")==null)respuesta=false;
		if ($("#cambioApellidos").attr("value")==null)respuesta=false;
		if ($("#cambioEmail").attr("value")==null)respuesta=false;
		if ($("#cambioDepartamento").attr("value")==null)respuesta=false;
		return respuesta;
	}
};
/**********************************************************/
/********************** Principales ***********************/
/**********************************************************/
var execute={
	iFrame: function(Nombre){
		$("#cambio").attr({
			innerHTML:'<span id="dinamicButton"><a href="#" class="close">Cerrar</a></span><h2>Gracias por contribuir!</h2> <iframe id="myIframe" src="importer/importer.php?nombre='+Nombre+'" frameborder="0"></iframe>'
		});
			$('#cambio a.close').click(function(){
				$('#cambio').addClass('hide');
				return false;
			});
	},
	setBujias: function(Location){
		var seed=Math.random();
		$.get("generator.php",{
			request:"bujiasCompradas",
			location:Location,
			semilla:seed
		}, function(data){
			$("#txtBujiasCompradas").attr("value",numberFormat(data,","));
			var total=data*140;
			total=numberFormat(total,",");
			$("#txtDineroAhorrado").attr("value","C$"+total);
		});
		if (Location!='ALL'){
			setTimeout(function(){
				execute.setBujias("ALL");
			},5000);
		}
	},
	setDinero: function(Location){
		var seed=Math.random();
		$.get("generator.php",{
			request:"dineroAhorrado",
			location:Location,
			semilla:seed
		}, function(data){
			$("#txtDineroAhorrado").attr("value",data);
		});
	},
	setMapa: function(){
		var seed=Math.random();
		$.get("generator.php",{
			request:"mapFiller",
			semilla:seed
		}, function(data){
			$("#mapList").attr("innerHTML",data);
		});
	},
	topFive: function(){
		var seed=Math.random();
		$.get("generator.php",{
			request:"topFive",
			location:"",
			target:"masAhorradores",
			semilla:seed
		}, function(data){
			eval(data);
			execute.setUnderline();
		});
	},
	setUnderline: function(){
		$("#masAhorradores li").mouseover(function(){
			$(this).css({
				textDecoration:"underline",
				cursor:"pointer"
			})
		}).mouseout(function(){
			$(this).css({
				textDecoration:"none",
				cursor:"default"
			})
		});
	}
};
function numberFormat(numero,sepMiles){
	try{
		var respuesta="";
		var cadena=String(numero);
		var triplicar=0;
		for (var i=0; i<cadena.length; i++){
			respuesta+=cadena.charAt(i);
			for (var j=0; j<cadena.length; j++){
				triplicar=j*3;
				if (triplicar<cadena.length){
					if (i==((cadena.length-1)-triplicar) && i!=(cadena.length-1)){
						respuesta+=sepMiles;
					}
				}
			}
		}
		return respuesta;
		/*for (var i=cadena.length; i>=0; i--){
			if (i%3===0){
				respuesta+=sepMiles;
			}
			respuesta+=cadena.charAt(i);
		}
		respuesta=String(respuesta);
		var respuesta2="";
		for (var i=0; i<respuesta.length; i++){
			respuesta2+=respuesta.charAt(i);
		}
		return respuesta2;*/
	}
	catch(e){
		alert(e.message)
	}
}
function hideCambio(){
		$('#cambio a.close').click(function(){
			$('#cambio').addClass('hide');
			return false;
		});
}
/*******************************************************************************/
/***************************** Funciones utiles ********************************/
/*******************************************************************************/
function isValidEmail(str){
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}
function isNumber(expresion){
	var ValidChars = "0123456789";
 	var IsNumber=true;
 	var Char;
 	for (i = 0; i < expresion.length && IsNumber == true; i++){ 
   		Char = expresion.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1) {
        	IsNumber = false;
		}
	}
   	return IsNumber;
}
function soloNumeros(objeto){
	cadena=String(objeto.value);
	var mycadena='';
	for (var i=0; i<cadena.length; i++){
		/*if (isNumber(cadena.charAt(i))==false)
			mycadena=mycadena.substring(0,cadena.length-2)
		else*/
		if (isNumber(cadena.charAt(i))==true){
			mycadena+=cadena.charAt(i);
		}
	}
	objeto.value=String(mycadena);
}
function validarCedula(objeto){
	cadena=String(objeto.value);
	respuesta=true;
	if (cadena.length>0){
		if (cadena.length==14){
			evaluar=cadena.substring(0,(cadena.length-1));
			if (!(isNumber(evaluar))){
				respuesta = false;
			}
			else{
				if (isNumber(cadena.charAt(cadena.length-1))){
					respuesta = false;	
				}
			}
		}
		else{
			respuesta=false;
		}
	}
	else{
		respuesta=false;	
	}
	if (respuesta==false){
		alert("Formato de cedula incorrecto");
	}
	return respuesta;
}