/* VARS */

var $jQuery = jQuery.noConflict();
var tmp;
var box;
var tafbox;
var lpw;
var rep;

/* /VARS */


/* DOM READY */

$jQuery(document).ready(function() {
	initMain();
});

$jQuery(window).load(function () {
  /*if ($jQuery('#s_boxes').height() > $jQuery('div#content').height()) {
		$jQuery('div#content.hn div.m').height($jQuery('#s_boxes').height() - 43);
	}*/
});

/* /DOM READY */


/* VALIDATION */

function validateLogin() {
	var login = $jQuery('#login_login').val();
	var password = $jQuery('#login_password').val();

	var login_html = box.html();
	replaceWithLoading($jQuery('input[type=submit]', box));
	box.load('/index/login', { 'login[login]': login, 'login[password]': password }, function(){
		if ($jQuery('a.go', box).length == 1) {
			window.location = $jQuery('a.go', box).attr('href');
		}
		$jQuery('a.back', box).click(function(e) {
			e.preventDefault();
			revert(login_html);
		});
	});
}

function validateTellAFriend() {
	var name = $jQuery('#taf_name').val();
	var email1 = $jQuery('#taf_email1').val();
	var email2 = $jQuery('#taf_email2').val();

	var taf_html = tafbox.html();
	replaceWithLoading($jQuery('input[type=submit]', tafbox));
	tafbox.load('/mail/tellFriend', { 'taf[name]': name, 'taf[email1]': email1, 'taf[email2]': email2 }, function(){
		$jQuery('a.back', tafbox).bind('click', function(e) {
			e.preventDefault();
			revert2(taf_html);
		});
	});
}

function submitLoginForm() {
	$jQuery('#login_form').unbind('submit').submit();
}

function validateLostPassword() {
	var number = $jQuery('#lostpw_number').val();
	var mode = $jQuery('#lostpw_mode').val();

	var login_html = tmp;
	replaceWithLoading($jQuery('input[type=submit]', box));
	$jQuery('#lpws', box).empty();

	box.load('/index/lostPassword', { 'lostpw[number]': number, 'lostpw[mode]': mode}, function(){
		$jQuery('a.back', box).bind('click', function(e) {
			e.preventDefault();
			revert(login_html)
		});
	});
}

/* /VALIDATION */

/* MISC */

function initMain() {
	box = $jQuery('#login_form').parent().parent();
	tafbox = $jQuery('#taf_form').parent().parent();
	// submit login form
	initLogin();
	// lost password
	initLostPassword();
	// tell a friend
	initTellAFriend();
}

function revert(html) {
	box.html(html);
	initMain();
}

function revert2(html) {
	tafbox.html(html);
	initMain();
}

function initLogin() {
	$jQuery('#login_form').bind('submit', function(e) {
		e.preventDefault();
		validateLogin();
	});
}

function initLostPassword() {
	$jQuery('#lpwlnk').bind('click', function(e) {
		e.preventDefault();
		LostPassword();
	});
}

function initTellAFriend() {
	$jQuery('#taf_form').bind('submit', function(e) {
		e.preventDefault();
		validateTellAFriend();
	});
}

function LostPassword() {
	tmp = box.html();

	replaceWithLoading($jQuery('input[type=submit]', box));
	box.load('/index/lostPassword', function(){
		$jQuery('#lostpw_form').bind('submit', function(e) {
			e.preventDefault();
			validateLostPassword();
		});
		$jQuery('#lgnlnk').bind('click', function(e){
			e.preventDefault();
			revert(tmp);
		});
	});
	
}

function replaceWithLoading(elem) {
	var loading = $jQuery('<div>').addClass('loading').height(elem.height()).width(elem.width());
	rep = elem.replaceWith(loading);
}

/* /MISC */