
var Skeleton = {
	
   registerFormActiveTab : null,
	
	init: function(){
		Skeleton.initOverlay();
		$(document).ready(function(){$("form input:text:visible:first").focus();});
		$(document).mouseup(function(e) {Skeleton.documentMouseUp(e)});
		$(window).resize(function() {Skeleton.resizeLoginMenu()});
		$("#loginLink").click(function(e){Skeleton.openLoginMenu(e)});
		$("#login-popup-close").click(function(e){Skeleton.closeLoginMenu(e)});
		$("#content div[name='register'] td.middle input").mouseup(function(e){Skeleton.registerFormChangeBoxInfo(e)});
		$("#content div[name='register'] td.middle input").keyup(function(e){Skeleton.registerFormChangeBoxInfo(e)});
	},



	initOverlay: function(e) {
		$("#overlay").height($(document).height());
		$("#overlay").width($(document).width());
	},



	/*
	 *	Replace the login window
	 */
	resizeLoginMenu: function() {
		$("#overlay").height($(document).height());
		$("#overlay").width($(document).width());
		$("#login-popup").css("left", (($(window).width() - $("#login-popup").outerWidth()) / 2) + $(window).scrollLeft() + "px");
		$("#login-popup").css("top", (($(window).height() - $("#login-popup").outerHeight()) / 2) + $(window).scrollTop() + "px");
	},



	/*
	 *	Function witch open the login menu
	 */
	openLoginMenu: function() {
		$("#login-popup").css("left", (($(window).width() - $("#login-popup").outerWidth()) / 2) + $(window).scrollLeft() + "px");
		$("#login-popup").css("top", (($(window).height() - $("#login-popup").outerHeight()) / 2) + $(window).scrollTop() + "px");
		$("#overlay").toggle();
	    $("#login-popup").toggle();
		$("#login-popup input:text:visible:first").focus();
	},	
	
	
	/*
	 *	Function witch close the login menu
	 */
	closeLoginMenu: function(e) {
        e.preventDefault();
		$("#overlay").toggle();
	    $("#login-popup").toggle();
	    $("#login-popup").find('p.error').remove();
		$("#login-popup").find('p.notice').toggle();
	},
	
	/*
	 *	Function witch close the login menu if open
	 */
	documentMouseUp: function(e) {
		if($(e.target).parent("#userNav a.setting").length==0) {
            $("#userNav a.setting").removeClass("menu-open");
            $("fieldset#userNavMenu").hide();
        }
	},

	
	
	
	/*
	 *	Function witch check if an email is correct
	 */
	checkEmail: function(email) {
		var at 		= "@"
		var dot		= "."
		var lstr	= str.length
		var lat		= str.indexOf(at)
		var ldot	= str.indexOf(dot)

		if (str.indexOf(at)==-1)
			return false

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
			return false

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
			return false

		if (str.indexOf(at,(lat+1))!=-1)
			return false

		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
			return false

		if (str.indexOf(dot,(lat+2))==-1)
			return false

		if (str.indexOf(" ")!=-1)
			return false

		return true
	},
	
	
	/*
	 *	Function witch check if an email is correct
	 */
	registerFormResetBoxInfo: function() {
		$("#content div[name='register'] td div.info").css('display', 'none');
	},
	

	/*
	 *	Function witch change the form field box info
	 */
	registerFormChangeBoxInfo: function(e) {
		if(Skeleton.registerFormActiveTab != $(e.target).attr("name")){
			Skeleton.registerFormResetBoxInfo();
			$("#content div[name='register'] td." + $(e.target).attr("name") + " div.info").css('display', 'block');
			Skeleton.registerFormActiveTab = $(e.target).attr("name");
		}
	},
	
	
	/*
	 *	Function wich check the content of an element
	 */
	checkRegisterFormContent: function(element, value) {
		if(element = "username"){
			if(value != ''){return true;}
			else{return false;}
		}

		else if(element = "email"){
			if(value != ''){
				if(CheckEmail(value)){return true;}
				else{return false;}
			}
			else{return false;}
		}

		else if(element = "firstname"){
			if(value != ''){return true;}
			else{return false;}
		}

		else if(element = "lastname"){
			if(value != ''){return true;}
			else{return false;}
		}	

		else if(element = "city"){
			if(value != ''){return true;}
			else{return false;}
		}

		else if(element = "citycode"){
			if(value != ''){return true;}
			else{return false;}
		}

		else if(element = "address"){
			if(value != ''){return true;}
			else{return false;}
		}

		return false;
	},
	
};

$(document).ready(Skeleton.init);


/*
 *	Fonction pour le temps réel qui converti au bon format les "null" et les float
 */

function convValRealTime(val){
    if (val == "null"){
        return null;
    }else{
        return parseFloat(val);
    }
}


/*
 *	Fonction qui génére un timer
 */

jQuery.timer = function(time,func,callback){
	var a = {timer:setTimeout(func,time),callback:null}
	if(typeof(callback) == 'function'){a.callback = callback;}
	return a;
};

jQuery.clearTimer = function(a){
	clearTimeout(a.timer);
	if(typeof(a.callback) == 'function'){a.callback();};
	return this;
};
