var g_signupEmail = '';

var showSeenSites = function(){
	$('.seen_site').removeClass('seen_site');
	
	$('#seen_message').css('display', 'none');
	
	$(function() {          
		$(".seen_img").lazyload({
			placeholder : g_staticURL + "img/loading_spinner.gif",
			effect      : "fadeIn"
		});
	});
	
	return false;
}

var loadRegistrationComplete = function() {
	$('#login_container').fadeOut(500);
	$('#signup_email').text(g_signupEmail);
	raiseModalWindow('#reg_confirm_container', null);
}

var raiseModalWindow = function(id, callback) {
 	//Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();
     
        //Set height and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});
         
        //transition effect     
       // $('#mask').fadeIn(700);    
        $('#mask').fadeTo("slow",0.8);  
     
        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();
               
        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);
     
        //transition effect
        $(id).fadeIn(1400, callback);
}

var g_msgTimeOut = null;

var formFieldMessage = function(field_id, message) {
	var msgEl = $('#msg');
	var msgContent = $('#msgcontent');
	
	if(g_msgTimeOut != null)
		clearTimeout(g_msgTimeOut);
	
	if(msgEl.length == 0){
		var rawMsgEl = document.createElement('div');
		$('body').append(rawMsgEl);
		msgEl = $(rawMsgEl);
		msgEl.attr('id', 'msg');
		
		var rawMsgContent = document.createElement('div');
		msgEl.append(rawMsgContent);
		
		msgContent = $(rawMsgContent);
		msgContent.attr('id', 'msgcontent');
		
		msgEl.click(function(){
			$(this).fadeOut(400);
			if(g_msgTimeOut != null)
				clearTimeout(g_msgTimeOut);
			}
		);
	}
	msgEl.hide().fadeIn(700);

	msgContent.text(message);
	
	var field = $('#' + field_id);
	
	var offset = field.offset();
	
	var msgTop = (offset.top + (field.outerHeight()/2.0)) -  (msgEl.outerHeight() / 2.0);
	var msgLeft = offset.left + field.outerWidth() + 5.0;
	
	msgEl.offset({'top': msgTop, 'left': msgLeft});
	field.focus();
	g_msgTimeOut = window.setTimeout('hideFieldMessage()', 4000);
}

var hideFieldMessage = function(){
	$('#msg').fadeOut(700);
}

$(function() { 

	$(".unseen_img").lazyload({
		placeholder : g_staticURL + "img/loading_spinner.gif",
		effect      : "fadeIn"
	});
     
    //if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();
        $('#mask, .window').hide();
    });     
     
    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });         
	
	$('.close_button').click(function() {
		$('#mask').hide();
		$('.window').hide();
	});
	
	$('#login_email,#login_password').keydown(function (e){
	    if(e.keyCode == 13){
		    e.preventDefault();
    		$('#login_button').click();
	    }
	});
	
	function validateForm(formData, jqForm, options) { 
		var email = jqForm.find('input[name=email]').val();
		var password = jqForm.find('input[name=password]').val();
		
		email = email.replace(/^\s+|\s+$/g, '');
		
		if(email == ''){
			formFieldMessage('login_email', 'Please enter your email address.');
			return false;
		}

		if(password == ''){
			formFieldMessage('login_password', 'Please enter your password.');
			return false;
		}
		
		for(var i = 0; i < formData.length; ++i){
			if(formData[i].name == 'action'){	
				if(formData[i].value == 'Log In'){
					$('#login_status').text('Logging in...');				
				} else if(formData[i].value == 'Sign Up'){
					$('#login_status').text('Signing up...');
				}
				
				break;
			}
		}
		
		$('#login_info').show();
		$('#login_spinner').show();

		g_signupEmail = email;
		
		return true; 
	} 
	
	function processJSON(data){	
		var message = data.message;
	
		if(message == null)
			message = '&nbsp;';
			
		if(data.action == 'log_in') {
			if(data.success)
				window.location="/";
		} else {
			if(data.success)
				loadRegistrationComplete();
		}			
	
		$('#login_status').html(message);
		$('#login_spinner').hide();
	}
		
	var options = {
		beforeSubmit: validateForm,
		success: processJSON,
		dataType: 'json'
	}
	
	
	$('#login_form').ajaxForm(options);
});

