$(document).ready(function() {
	/*$('#signout_btn').click(function() {
		  signOut();
	});*/
	$("#login_btn").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false,
		'overlayOpacity':	0.5,
		'overlayColor'	:	'#000000',
		'onClosed'		: function() {
			$("#login_error").hide();
		}
	});
	$("#signup_btn").fancybox({
		'scrolling'		: 'no',
		'titleShow'		: false,
		'overlayOpacity':	0.5,
		'overlayColor'	:	'#000000',
		'onClosed'		: function() {
			$("#signup_error").hide();
		}
	});
	$('#enter_btn').click(function() {
	  $("#signup_btn").trigger('click');
	  return false;
	});
	$("#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() {
		//- Do some validation
		var nalert = "";
		var txtSignUpEmail 	= $("#signup_email").val();
		var txtSignUpName	= $("#signup_firstname").val();
		var txtSignUpSurName= $("#signup_lastname").val();
		//var txtSignUpUser	= $("#signup_username").val();
		var txtSignUpPass	= $("#signup_pass").val();
		var txtSignUpPass2  = $("#signup_pass2").val();
		var txtSignUpPriv	= $("#signup_chkPrivPol").attr('checked');
		/*
		var txtSignUpCount	= $("#signup_countrycode").val();
		var txtSignUpDay	= $("#signup_dob_day").val();
		var txtSignUpMonth	= $("#signup_dob_month").val();
		var txtSignUpYear	= $("#signup_dob_year").val();
		
		var txtSignUpGender	= $("#signup_gender").val();
		
		
		if (txtSignUpUser == "") {
			nalert += "Your USERNAME is required.<br/>";
		}*/
		
		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 (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/>";
		}
		/*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 (txtSignUpGender == "") {
			nalert += "Your GENDER is required.<br/>";
		}*/
		if (txtSignUpPriv != true) {
			nalert += "You must ACCEPT the Terms and 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();
			},
			success: function(data) {
				var myArray	= data.split('|'); 
				var state	= myArray[0]; 
				var sid	= myArray[1]; 
				if (parseFloat(state) == 1){
					//window.location.reload();
					document.location.href='login.php?id='+sid;
				} else if (parseFloat(state) == 2){
					$.fancybox.hideActivity();
					$("#signup_error").html('Sorry, that email/ username already exists!<br/>Please try again.');
					$("#signup_error").show();
					$.fancybox.resize();
				} else {
					$.fancybox.hideActivity();
					$("#signup_error").html('Sorry, there was a problem!<br/>Please try again later.');
					$("#signup_error").show();
					$.fancybox.resize();
				}
			}
		});
		 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 fbSignIn(vote){
	FB.login(function(response) {
	  if (response.session) {
		if (response.perms) {
			//saveVote(vote);
			document.location.href='/data/castvote2.php?vote='+vote;
			// user is logged in and granted some permissions.
		  // perms is a comma separated list of granted permissions
		} else {
			// user is logged in, but did not grant any permissions
		}
	  } else {
			// user is not logged in
	  } if (response.status) {
		 // saveVote(vote);
		 document.location.href='/data/castvote2.php?vote='+vote;
	  }
	}, {perms:'email,publish_stream,user_photos'});
	return false;
}
function saveVote(vote){
	pageBlock('Saving...');
	$.ajax({
		type	: "POST",
		cache	: false,
		async	: false,
		url		: "/data/castvote.php",
		data	: 'vote='+vote,
		error	: function(xhr, ajaxOptions, thrownError){
			setTimeout($.unblockUI, 0);
			//alert(xhr.status);
			//alert(thrownError);
			alert('Sorry! There was an error saving your vote.\nPlease try again later!!');
		},
		success: function(data) {
			setTimeout($.unblockUI, 0);
			var myArray	= data.split('|'); 
			var state	= myArray[0];
			if (parseFloat(state) == 1){
				window.location.reload();
			} else if (parseFloat(state) == 2){
				//alert('Sorry! Looks like you have already picked a camp!');
				window.location.reload();
			} else if (parseFloat(state) == 3){
				alert('Sorry! The vote mechanic wasn\'t called properly!');
			} else if (parseFloat(state) == 4){
				alert("Sorry! There was a problem voting.\n\nIt doesn't look like you're signed in to Facebook.\n\nPlease make sure you have cookies enabled and try again!");
			} else {
				alert('Sorry! There was an error saving your vote.\nPlease try again later!');
			}
		}
	});
	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;
}
