/**
 * @author gerard
 */
 
 
 var ERRORS = {

	fechaIncorrecta : 'La fecha que nos indicas no es correcta. Revísala, por favor.',
	fecha	: 'Indícanos tu fecha de nacimiento, por favor.',
	edad	: 'Lo sentimos pero el acceso a este sitio web está reservado a mayores de edad.',
	menor	: 'Lo sentimos pero el acceso a este sitio web está reservado a mayores de edad.',
	pais	: 'Lo sentimos pero conforme a la legislación vigente en tu país de origen, no está permitido el acceso a este sitio web.'
	
 };
 
 var checkObjDate = new objDate();
 var country;
 var userData = [];
 
 $(function(){
 	urchinTracker('/FILTER/LOAD');
	loadPaises();
	//getParams();
	getUser();
	
	$('div#error').hide();
	$('input#ID_day').select().focus();
	
	$('input.text')
		.keypress( isNumberKey )
		//.keyup( gotoNextInput )
		.focus( reset )
		.blur( reset );
		
	$('div#accept a').click( closeError );
	$('input#ID_submit').click( checkForm );
	
	$('a[rel*="external"]').click(function(){
		
		window.open(this.href);
		return false;
		
	});
	
	$('a[rel="popup"]').click(function(){
	
		openWindow(this.href);
		return false;
		
	});
	
	
	$('#linkConfianza').click(function(){
		urchinTracker('/LEGAL/FILTER/CONFIANZA');
	});
	
	$('#linkEfrd').click(function(){
		urchinTracker('/LEGAL/FILTER/EFRD');
	});
	
	$('#linkIcra').click(function(){
		urchinTracker('/LEGAL/FILTER/ICRA');
	});
	
 });
 
 function checkForm(){
	var selectedCountry = $('select :selected').val();
	
	if(checkCountry(selectedCountry)) {
		if(checkAge()) {
			if($('#ID_rememberdata').is(':checked')) checkSaveDate();
			else eraseSavedDate();
			//setStats('stat1');
			rediretToHome();
			
		}else{
			return false;
		}
	}
	else {
		setError('pais');
		return false;
	}
	return false;
 }
 
 		
	
function rediretToHome(){
	urchinTracker('/FILTER/OK');
	var url = location.href;
	url = url.split('?');
	if (url[1] == null) location.href = 'index.html?fs=true';
	else location.href = 'index.html?fs=true&' + url[1];
}
	
	
	
	
	
 
 function setStats(_location) {
 	var URL = 'stats/[IMG].gif';
	
	img = document.createElement('img');
	img.setAttribute('id', 'dystat');
	img.style.display = 'none';
	
	var rand = '?nocache='+Math.random() * 10000000000000;
	var src = URL.replace('[IMG]' , _location) + rand;
	
	img.setAttribute('src', src);
 }
 
 function checkSaveDate() {
	var str = 'day='+userData[0]+'&month='+userData[1]+'&year='+userData[2]+'&country='+userData[3][0];
	createCookie('caciqueMojito', str, 365);
 }
 
 function eraseSavedDate(){
 	eraseCookie('caciqueMojito');
 }
 
 function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
 }

 function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
 }

 function eraseCookie(name) {
 	createCookie(name,"",-1);
 }
 
 function getUser() {
 	
	var c = readCookie('caciqueMojito');

	if(c == null || c == 'null'){
		return;
	}

	var params = c.split('&');
	
	var day = params[0].split('=');
	setInput('ID_day', day[1]);
	
	var month = params[1].split('=');
	setInput('ID_month', month[1]);	
	
	var year = params[2].split('=');
	setInput('ID_year', year[1]);	
	
	var country = params[3].split('=');
	setCountry(country[1]);		
	
	document.getElementById('ID_rememberdata').checked = true;
	
 }
 
 function setInput(_input , _value){
 	$('#'+_input).val(_value);
 }
 
 function setCountry(_value){
 	var sel = $('#selectcountry');
	var total = $('#selectcountry :option');
	
	for(var i = 0; i < total.length; i++){
		if(total[i].text == _value){
			total[i].selected = true;
		}
	}
	
 }
 
 
 
 
 function getCountryData(_id){
	for(var i=0; i<PAISES.length; i++){
		if (PAISES[i][3] == _id) {
			return PAISES[i];
		}
	}
	return PAISES[i];
 }
 
 function checkCountry(_id){
	country = getCountryData(_id);
	
	if (country[1] != 300) {
		return true;
	}

	return false;
 }
 
 function checkAge(){
 	var day = $('input#ID_day').val();
 	var month = $('input#ID_month').val();
 	var year = $('input#ID_year').val();
	var age = day + '/' + month + '/' + year;
	
	saveUserDate(day , month , year);
	
	if (!isValidAge(age)) {
		setError('fecha');
		return false;
	}
	
	if (checkInputs(day, month - 1, year)) {
		if(isMinor(age) < country[1]){
			setError('menor');
			return false;
		}else{
			return true;
		}
	}
	else 
		return false;
 }
 
 function saveUserDate(_day , _month , _year){
 	userData[0] = _day;
	userData[1] = _month;
	userData[2] = _year;
	userData[3] = country;
 }
 
 function isValidAge(_age){
 	var age = new objDate(new Date());
	
	return age.isValidDate(_age);
 }
 
 function isMinor(_age){
 	var today = new objDate(new Date());
	var difYears = today.difYears(_age , today.getDate());

	return difYears;
 }
 
 function checkInputs(_day , _month , _year){
	var day = _day;
	var month = _month;
	var year = _year;
	if(isNaN(day)){
		setError('fechaIncorrecta');
		return false;
	}
	if(day == ''){
		setError('fechaIncorrecta');
		return false;
	}
	if(day.length < 2){
		setError('fechaIncorrecta');
		return false;
	}
	
 	if(isNaN(month)){
		setError('fechaIncorrecta');
		return false;
	}
	if((month < 0 || month >11)){
		setError('fechaIncorrecta');
		return false;
	}
	if(day.length < 2){
		setError('fechaIncorrecta');
		return false;
	}
 	if(isNaN(year) || year == ''){
		setError('fechaIncorrecta');
		return false;
	}
	
	return true;
 }
 
 function checkDate(_age){
 	return checkObjDate.isValidDate(new objDate(_age).getDate());
 }
  
 function loadPaises(){
	$('select#ID_location').html('');
	for(var i=0; i<PAISES.length; i++){
		$('select#ID_location').append('<option value='+ PAISES[i][3] +'>' + PAISES[i][0] + '</option>');
	}
 }
 
 function setError(_id){
 	urchinTracker('/FILTER/KO');
	var el = $('div#error');
	var text = $('div#error p#message').html(ERRORS[_id]);
	el.slideToggle(500 , onShowed);
	

	return false;
 }
 
 function closeError(){
	var el = $('div#error');
	$('div#accept').hide();
	el.slideToggle(500 , onHided);

	return false;
 }
 
 function onShowed(){
	var infoBox = $('div#info').html($('div#error p#message').text());
	$('div#accept').show();
 }
 
 function onHided(){
 }
 
 function reset(evt){ 
	var el = evt.target;
	var val = el.value;
	
	if (el.id == 'ID_day' && el.value == '') {
		el.value = 'DD';
	}
		
	if (el.id == 'ID_month' && el.value == '') {
		el.value = 'MM';
	}
		
	if (el.id == 'ID_year' && el.value == '') {
		el.value = 'AAAA';
	}
 }
 
 function isNumberKey(evt) {
  	try {
		var charCode = (evt.which) ? evt.which : event.keyCode
		if (charCode > 31 && (charCode < 48 || charCode > 57)) {
			return false;
		}
		
		return true;
	}
	catch(e){
	}
  } 
  
  
  /* recoge parametros */
  function getParams(){
  	var url = location.href;
	url = url.split('?');
	if(url[1] != null)
		location.href = 'index.html?' + url[1];
  }
  
  
  
  
  
