$(document).ready(function() {
	$("#login_btn").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false,
		'overlayOpacity':	0.5,
		'overlayColor'	:	'#000',
		'onClosed'		: function() {
			$("#login_error").hide();
		}
	});
	$("#signup_btn").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false,
		'overlayOpacity':	0.5,
		'overlayColor'	:	'#000',
		'onClosed'		: function() {
			$("#signup_error").hide();
		}
	});
	$("#login_form").bind("submit", function() {
		if ($("#login_name").val().length < 1 || $("#login_pass").val().length < 1) {
			$("#login_error").html('Please, fill in all fields!');
			$("#login_error").show();
			$.fancybox.resize();
			return false;
		}
		if(!isEmail($("#login_name").val())) {
			$("#login_error").html('You must enter a valid email!');
			$("#login_error").show();
			$.fancybox.resize();
			return false;
		}
		$.fancybox.showActivity();
		$.ajax({
			type	: "POST",
			cache	: false,
			async	: false,
			url		: "/data/login.php",
			data	: $(this).serializeArray(),
			error	: function(){
				$.fancybox.hideActivity();
				$("#login_error").html('Sorry, there was a problem!<br/>Please try again later.');
				$("#login_error").show();
				$.fancybox.resize();
			},
			success: function(data) {
				//$.fancybox(data);
				var myArray	= data.split('|'); 
				var state	= myArray[0]; 
				var name	= myArray[1];
				var email	= myArray[2];
				var sid		= myArray[3]; 
				if (parseFloat(state) == 1){
					//alert('logged in!');
					//window.location.reload();
					document.location.href='login.php?id='+sid;
				} else {
					$.fancybox.hideActivity();
					$("#login_error").html('Sorry, you\'re details were incorrect!<br/>Please try again or SIGN UP.');
					$("#login_error").show();
					$.fancybox.resize();
				}
			}
		});
		 return false;
	});
	
	$("#signup_form").bind("submit", function() {
		//alert('testing');
		//- Do some validation
		var nalert = "";
		var txtSignUpEmail 	= $("#email").val();
		var txtSignUpName	= $("#firstname").val();
		var txtSignUpSurName= $("#lastname").val();
		var txtSignUpPriv	= $("#chkPrivPol").attr('checked');
		//var txtSignUpDay	= $("#dob_day").val();
		//var txtSignUpMonth	= $("#dob_month").val();
		//var txtSignUpYear	= $("#dob_year").val();
		var txtSignUpCount	= $("#countrycode").val();
		//var txtSignUpPhone	= $("#mobile_number").val();
		//var txtSignUpGender	= $("#gender").val();
		//var txtSignUpPostcode	= $("#postalcode").val();
		
		var fbID  = $("#signup_fbid").val();
		
		
		if (txtSignUpName == "") {
			nalert += "Your FIRST NAME is required.<br/>";
		}
		if (txtSignUpSurName == "") {
			nalert += "Your LAST NAME is required.<br/>";
		}
		if (!isEmail(txtSignUpEmail)) {
			nalert += "Email must be a valid EMAIL address.<br/>";
		}
		//- check if FB logged in, if not, require password
		/*
		if((fbID == "") || (fbID == "0")){
			var txtSignUpPass	= $("#SPASSWORD").val();
			var txtSignUpPass2  = $("#SPASSWORD2").val();
			if (txtSignUpPass == "") {
				nalert += "Your PASSWORD is required.<br/>";
			}
			if (txtSignUpPass.length <= 4) {
				nalert += "Your PASSWORD must be 5 or more characters.<br/>";
			}
			if (txtSignUpPass != txtSignUpPass2) {
				nalert += "Your PASSWORDS must match.<br/>";
			}
		}*/
		/*if (txtSignUpPhone == "") {
			nalert += "Your PHONE NUMBER is required.<br/>";
		}
		if (txtSignUpGender == "") {
			nalert += "Your GENDER is required.<br/>";
		}
		if (txtSignUpDay == "") {
			nalert += "Your DAY OF BIRTH is required.<br/>";
		}
		if (txtSignUpMonth == "") {
			nalert += "Your MONTH OF BIRTH is required.<br/>";
		}
		if (txtSignUpYear == "") {
			nalert += "Your YEAR OF BIRTH is required.<br/>";
		}*/
		if (txtSignUpPriv != true) {
			nalert += "You must ACCEPT the Privacy Policy.<br/>";
		}
		if (nalert != "") {
			$("#signup_error").html(nalert);
			$("#signup_error").show();
			$.fancybox.resize();
			return false;
		}
		$.fancybox.showActivity();
		$.ajax({
			type	: "POST",
			cache	: false,
			async	: false,
			url		: "/data/signup.php",
			data	: $(this).serializeArray(),
			error	: function(){
				$.fancybox.hideActivity();
				$("#signup_error").html('Sorry, there was a problem!<br/>Please try again later.');
				$("#signup_error").show();
				$.fancybox.resize();
				return false;
			},
			success: function(data) {
				var myArray	= data.split('|'); 
				var state	= myArray[0]; 
				var sid	= myArray[1];
				//alert(data); 
				if ((parseFloat(state) == 1) || (parseFloat(state) == 2)){
					//- update return value
					var newReturn = $("#return_URL").val() + '?id='+sid;
					$("#return_URL").val(newReturn);
					//$("#register-info").html('<p>Please click <a href="login.php?id='+sid+'" target="_self">HERE</a> if your browser does not automatically redirect you...</p>');
					alert('THANKS!\nYou were successfully signed up!');//+state+' '+sid+' '+newReturn);
					$.fancybox.hideActivity();
					$.fancybox.close();
					//alert(sid);
					//document.location.href='login.php?id='+sid;
					return true;
				} else if (parseFloat(state) == 3) {
					$.fancybox.hideActivity();
					$("#signup_error").html('Sorry, there was a problem!<br/>Please try again later!');
					$("#signup_error").show();
					$.fancybox.resize();
					return false;
				}
				 else {
					$.fancybox.hideActivity();
					$("#signup_error").html('Sorry, there was a problem!<br/>Please try again later.');
					$("#signup_error").show();
					$.fancybox.resize();
					return false;
				}
			}
		});
		 //return false;
	});
});

function signOut(exitPage){
	pageBlock('Logging Out...');
	$.ajax({
		url: '/data/signout.php',
		type: 'POST',
		data: '', 
		async: false,
		cache: false,
		timeout: 30000,
		error: function(){
			alert('Sorry there was an error signing out - please try again later!');
		},
		success: function(msg){
			FB.logout();
			document.location.href='logout.php';//exitPage;
		}
	});
	return false;
}
	 
function isEmail(str) {
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}
function shareWith(who, what){
	//alert(who+' '+what);
	pageBlock('Posting...');
	$.ajax({
		url: '/data/publish_to_friend.php',
		type: 'POST',
		data: 'friend='+who+'&id='+what, 
		async: false,
		cache: false,
		timeout: 30000,
		error: function(){
			alert('Sorry there was an error - please try again later!');
			setTimeout($.unblockUI, 0);
		},
		success: function(msg){
			$.growlUI('Message sent!', 'Thanks for sharing');
			//$.unblockUI;
		}
	});
	return false;
}
