var objHeader = {
    $:jQuery,
    hasFocus:false,
    token:null,
    restoreTimer:null,
    inLogin:false,
    inviteLost:'',
    panel:'',
    panel_selector:false,
    panel_btn:false
};
objHeader.showLogin = function(e)
{
    e.preventDefault();
    objHeader.panel=$("#LOGIN_PANEL");
    objHeader.panel.find(".lostPassword a.toggle").removeClass("active").next().hide();
    objHeader.panel.find(".login").show();
    objHeader.panel.find(".lostInput p").text(objHeader.inviteLost);
    objHeader.panel.find("input").blur();
    objHeader.inLogin=true;
        //if($.browser.msie)panel.show();else panel.fadeIn("fast");
    if($.browser.msie)objHeader.panel.show();else objHeader.panel.fadeIn("fast");
}
objHeader.getValue = function(id)
{
    var value=$.trim($(id).val());
    if($.trim(value)==$.trim($(id).attr("title")))
        return"";else return value;
}
objHeader.hideLogin = function(e)
{
    e.preventDefault();
    if($.browser.msie)$("#LOGIN_PANEL").hide();else $("#LOGIN_PANEL").fadeOut("fast");
    $("#LOGIN_PANEL input").val("");
}
objHeader.toggleLostPassword = function(e)
{
    e.preventDefault();
    objHeader.inLogin=!objHeader.inLogin;
    $(this).blur().toggleClass("active").next().slideToggle("normal");
    $(this).parents(".loginPanel").find(".login").slideToggle();
}
objHeader.formSubmit = function(e)
{
    if(objHeader.token)e.preventDefault();
    else if(objHeader.hasFocus)
        if(objHeader.inLogin)objHeader.loginClick(e);else objHeader.lostClick(e);
}
objHeader.setFocus = function()
{
    objHeader.hasFocus=true;
}
objHeader.killFocus = function()
{
    objHeader.hasFocus=false;
}
objHeader.keyDown = function(e)
{
    if(e.keyCode==13)
    {
        if(objHeader.inLogin)objHeader.loginClick(e);else objHeader.lostClick(e);
    }
}
objHeader.loginClick = function(e)
{
    e.preventDefault();
    if(objHeader.token)return;
    var email=$.trim($("#QUICK_EMAIL").val());
    var pwd=$.trim($("#QUICK_PASSWORD").val());
    var selection=co.readCookieSafe(co.SELECTION_COOKIE);
    if(email.length&&email!=$.trim($(email).attr("title"))&&pwd.length&&pwd!=$.trim($(pwd).attr("title")))

    {
        objHeader.token=zapette.Webservices.identifier(email,pwd,selection,loginResult);
        $("#LOGIN_PANEL .loginInner").css({
            opacity:0.5
        });
    }
}
objHeader.loginResult = function(data)
{
    objHeader.token=null;
    if(data.d)window.location.reload();
    else

    {
        var err=$('<p class="error">Ce compte est inconnu.<br/>Votre e-mail ou mot de passe est incorrect</p>');
        err.appendTo("#LOGIN_PANEL .login").click(restoreLogin);
        if($.browser.msie)

        {
            $("#LOGIN_PANEL .loginInner").css({
                visibility:"hidden"
            });
            err.show();
        }
        else
        {
            $("#LOGIN_PANEL .loginInner").css({
                opacity:0
            });
            err.hide().fadeIn("fast");
        }
        objHeader.restoreTimer=setTimeout(restoreLogin,3000);
    }
}
objHeader.restoreLogin = function()
{
    clearTimeout(objHeader.restoreTimer);
    $("#LOGIN_PANEL .login p.error").remove();
    if($.browser.msie)$("#LOGIN_PANEL .loginInner").css({
        visibility:"visible"
    });else $("#LOGIN_PANEL .loginInner").animate({
        opacity:1
    },"fast");
}
objHeader.lostClick = function(e)
{
    e.preventDefault();
    if(objHeader.token)return;
    var email=$.trim($("#QUICK_LOST").val());
    if(email.length)
    {
        objHeader.panel.find(".lostInput p").html("Envoi en cours...");
        objHeader.token=zapette.Webservices.forgotPassword(email,lostResult);
        $("#LOGIN_PANEL .lostInput").css({
            opacity:0.5
        });
    }
}
objHeader.lostResult = function(data)
{
    objHeader.token=null;
    $("#LOGIN_PANEL .lostInput").css({
        opacity:1
    });
    if(data.d)

    {
        objHeader.panel.find(".lostInput p").html('Un e-mail vient de vous être envoyé avec votre mot de passe.');
        $("#QUICK_LOST").val("");
    }
    else objHeader.panel.find(".lostInput p").html('<span class="error">Cette adresse e-mail est inconnue.</span>');
}
objHeader.clearFields = function()
{
    $("#LOGIN_PANEL input").val("");
}
objHeader.hoverLoginIn = function(e)
{
    var elem = e.currentTarget;
    if($(elem).val()=='Twój e-mail')$(elem).val("");
}
objHeader.hoverLoginOut = function(e)
{
    var elem = e.currentTarget;
    if($(elem).val()=="")$(elem).val('Twój e-mail');
}
objHeader.hoverPassIn = function(e)
{
    var elem = e.currentTarget;
    if($(elem).val()=='Hasło')$(elem).val("");
}
objHeader.hoverPassOut = function(e)
{
    var elem = e.currentTarget;
    if($(elem).val()=="")$(elem).val('Hasło');
}
objHeader.initHeader = function(panel_login,panel_btn)
{
    if(panel_login)objHeader.panel_selector=panel_login;
    else objHeader.panel_selector='LOGIN_PANEL';
    if(panel_btn)objHeader.panel_btn=panel_btn;
    else objHeader.panel_btn='.login .panelBtn';
    objHeader.panel=document.getElementById(objHeader.panel_selector);
    if(!objHeader.panel)
        return;
    objHeader.panel_selector = '#'+objHeader.panel_selector;
    objHeader.panel=$(objHeader.panel_selector);
    objHeader.panel.addClass("loginPanel");
    objHeader.panel.find(".lostPassword .panelBtn").click(objHeader.lostClick);
    $("form").submit(objHeader.clearFields);
    objHeader.panel.find(".closeBtn").click(objHeader.hideLogin);
    objHeader.panel.find(".lostPassword a.toggle").click(objHeader.toggleLostPassword);
    $(".globalHeader .Menu_1 a.first").click(objHeader.showLogin);
    $(".monCompte a.first").click(objHeader.showLogin);
    objHeader.inviteLost=objHeader.panel.find(".lostInput").attr("title");
    $("form").submit(objHeader.formSubmit);
    $("#QUICK_EMAIL").focus(objHeader.setFocus).blur(objHeader.killFocus).keydown(objHeader.keyDown).hover(objHeader.hoverLoginIn, objHeader.hoverLoginOut);
    $("#QUICK_PASSWORD").focus(objHeader.setFocus).blur(objHeader.killFocus).keydown(objHeader.keyDown).hover(objHeader.hoverPassIn, objHeader.hoverPassOut);
    $("#QUICK_LOST").focus(objHeader.setFocus).blur(objHeader.killFocus).keydown(objHeader.keyDown);
}
