$(document).ready(function() {
	//$("#location_txt").attr('value','');
	cleanAll();
	
	loadJsonData("pr","");
	loadJsonData("pr_id","");
	loadJsonData("cat","");
				
	$("#location").change(function () {
    	var str = "";
   		$("#location option:selected").each(function () {
        	if($(this).attr('value')<0) {
        		$("#location").hide();
        		$("#location_txt").show();
        		$("#location_txt").attr('value','inserisci il tuo luogo del cuore');
        		$("#location_txt").focus();
            }
        });
	});
	
	$("#prov").change(function () {
		var key = $("#prov option:selected").attr('value');
		loadJsonData('cmn',key);
	});
	
	$("#city").change(function () {
		var key = $("#city option:selected").attr('value');
		loadJsonData('loc',key);
	});
	
});


function loadJsonData(type,key) {
	var json_url = "json.php?callback="+type+"&key="+key;
	$.getJSON(json_url,function(data){
		var opt = "<option value=\"\">- seleziona -</option>";
		
		if(type=='cmn') {
			$('#city').html("");
			$('#city').append(opt);
		}
		if(type=='loc') {
			$('#location').html("");
			$('#location').append(opt);
		}
		if(type=='cat') {
			$('#category').html("");
			$('#category').append(opt);
		}
		
		$.each(data, function(i,item){
			if(type=='pr') appendPR(item);
			if(type=='pr_id') appendPR2(item);
			if(type=='cmn') appendCmn(item);
			if(type=='loc') appendLoc(item);			
			if(type=='cat') appendCat(item);			
		});
		
		var opt = "<option value=\"\"></option><option value=\"-1\">altro...</option>";
		if(type=='loc') $('#location').append(opt);
	});
}

function appendPR(item) {
	var opt = "<option value=\""+item.sigla+"\">"+item.name+"</option>";
	$('#prov').append(opt);
	//$('#prov2').append(opt);
}

function appendPR2(item) {
	var opt = "<option value=\""+item.sigla+"\">"+item.name+"</option>";
	//$('#prov').append(opt);
	$('#prov2').append(opt);
}

function appendCmn(item) {
	if(!item.name) return false;
	var opt = "<option value=\""+item.city_id+"\">"+item.name+"</option>";
	$('#city').append(opt);
}

function appendLoc(item) {
	if(!item.name) return false;
	var opt = "<option value=\""+item.id+"\">"+item.name+"</option>";
	$('#location').append(opt);
}

function appendCat(item) {
	if(!item.name) return false;
	var opt = "<option value=\""+item.id+"\">"+item.name+"</option>";
	$('#category').append(opt);
}

function controller_page() {
	var key = $('#action').attr('class');
	
	if(key == 'segnala') {
		if(testDataSign()) {
			$('#main').hide();
			$('#registrati').show();		
			$('#action').attr('class','registra');
		} else error_page();
	}
	if(key == 'registra') {
		if(testDataReg()) {
			end();
		} else error_page();
	}
	
	return false;
}

function login_page() {
	$('#login').show();
	$('#registrati').hide();		
	$('#action').hide();

	return false;
}

function info_page() {
	if($('#btn_info').attr('class')=='info') {
		$('#main').hide();
		$('#registrati').hide();
		$('#login').hide();
		$('#error').hide();
		$('#info').show();		
		$('#action').hide();
		$('#btn_info').html("Segnala un Luogo del Cuore");
		$('#btn_info').attr('class','info_back');
	} else {
		$('#main').show();
		$('#info').hide();		
		$('#action').show();
		$('#btn_info').html("Come funziona?");
		$('#btn_info').attr('class','info');
		$('#action').attr('class','segnala');
	}
	
	return false;
}

function error_page() {
	$('#main').hide();
	$('#registrati').hide();
	$('#login').hide();
	$('#info').hide();
	$('#end').hide();		
	$('#error').show();		
	$('#action').hide();
	$('#error_box').html(error_msg);
	
	return false;
}

function restart_sign() {
	$('#main').show();
	$('#registrati').hide();
	$('#login').hide();
	$('#info').hide();
	$('#error').hide();		
	$('#end').hide();		
	$('#action').show();	
	$('#action').attr('class','segnala');
	
	return false;
}

var error_sign = false;
function testDataSign() {
	error_sign = false;
	error_msg = "";
	
	var prov = $('#prov option:selected').attr('value');
	var city = $('#city option:selected').attr('value');
	var location = $('#location option:selected').attr('value');
	var location_txt = $('#location_txt').attr('value');
	var category = $('#category option:selected').attr('value');
	
	if(prov<=0) appendSignError('La <strong>provincia</strong> &egrave; un campo obbligatorio.');
	if(city<=0) appendSignError('Il <strong>comune</strong> &egrave; un campo obbligatorio.');
	if(location<=0 && location_txt=='') appendSignError('Non &egrave; stato indicato nessun <strong>Luogo del Cuore</strong>.');
	if(category<=0) appendSignError('La <strong>categoria</strong> &egrave; un campo obbligatorio.');
	
	return (!error_sign);
}

var error_reg = false;
function testDataReg() {
	error_reg = false;
	error_msg = "";
	
	var name = $('#name').attr('value');
	var surname = $('#surname').attr('value');
	var email = $('#email').attr('value');
	var c_email = $('#c_email').attr('value');
	var pwd = $('#password').attr('value');
	var c_pwd = $('#c_password').attr('value');	
	var city = $('#city2').attr('value');
	var prov = $('#prov2 option:selected').attr('value');
	var agree = $('#agree').attr('checked');
	var isvalid = /^[_a-z0-9-]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/.test(email);

	if(name=='') appendRegError('Il <strong>nome</strong> &egrave; un campo obbligatorio.');
	if(surname=='') appendRegError('Il <strong>cognome</strong> &egrave; un campo obbligatorio.');
	if(email=='' || !isvalid) appendRegError('Indicare un <strong>indirizzo email</strong> valido per la registrazione.');
	if(email!=c_email) appendRegError('L\'<strong>indirizzo email</strong> non &egrave; stato confermato correttamente');
	if(pwd.length<6) appendRegError('La <strong>password</strong> deve contenere almeno sei caratteri');
	if(pwd!="" && pwd!=c_pwd) appendRegError('La <strong>password</strong> non &egrave; stata confermata correttamente');
	if(prov<=0) appendRegError('La <strong>provincia di provenienza</strong> &egrave; un campo obbligatorio.');
	if(city=='') appendRegError('Il <strong>comune di provenienza</strong> &egrave; un campo obbligatorio.');
	if(!agree) appendRegError('Impossibile procedere senza l\'<strong>autorizzazione</strong> al trattamento dei dati personali');
	
	
	return (!error_reg);
}

var error_msg = "";
function appendSignError(error) {
	error_msg+="<li>- "+error+"</li>";
	error_sign = true;
}

function appendRegError(error) {
	error_msg+="<li>- "+error+"</li>";
	error_reg = true;
}

function cleanAll() {
	$("input").each(function () {
    	if($(this).attr('type')=='text' || $(this).attr('type')=='password') {
    		$(this).attr('value','');
        }
    });
}

function end() {
	$('#segnala').submit();
	//alert('END');
	/*var prov = $('#prov option:selected').attr('value');
	var city = $('#city option:selected').attr('value');
	var location = $('#location option:selected').attr('value');
	//alert(location);
	var location_txt = $('#location_txt').attr('value');
	var category = $('#category option:selected').attr('value');
	
	var name = $('#name').attr('value');
	var surname = $('#surname').attr('value');
	var email = $('#email').attr('value');
	var pwd = $('#password').attr('value');
	var city2 = $('#city2').attr('value');
	var prov2 = $('#prov2 option:selected').attr('value');
	
	var log_email = $('#log_email').attr('value');
	var log_pwd = $('#log_password').attr('value');
	
	$.post("http://localhost/ildc/www/save_msn", { 
			prov: prov, city: city, location: location, location_txt: location_txt, category: category,
			name: name, surname: surname, email: email, pwd: pwd, city2: city2, prov2: prov2,
			log_email: log_email, log_pwd: log_pwd
		},
		function(data){
			//alert("Data Loaded: " + data);
			if(data==1) {
				$('#main').hide();
				$('#registrati').hide();
				$('#login').hide();
				$('#info').hide();
				$('#error').hide();		
				$('#action').hide();		
				$('#btn_info').hide();		
				$('#end').show();						
			} else {
				appendRegError("L'<strong>indirizzo email</strong> scelto in fase di registrazione &egrave; gi&agrave; in uso")
				error_page();
			}
		}
	);
	return false;*/
}


