var jsReady = false;

function isReady()
{
    return jsReady;
}

Flash = {
    show:function(dur)
    {
        $('flashmsg').visualEffect('appear');
        (dur) ? this.timer = setTimeout('Flash.hide()', dur*1000) : this.timer = setTimeout('Flash.hide()', 3000);
    },
    hide:function()
    {
        $('flashmsg').visualEffect('fade');
        clearTimeout(this.timer);
        return false;
    }
};

function toggleReset()
{
   toggleMsg('loginblock');
}

function toggleMsg(id)
{
    var msg = $(id);
    if(msg.style.display != 'none')
    {
        if($('reseterr'))
        {
            swapClass($('reseterr'),'error','bold');
            $('reseterr').innerHTML = 'Forgot Password?';
        }
        Effect.SlideUp(id,{ duration: .3 } );
        //Effect.SlideUp(id,{ duration: .3, afterFinish: function(){ if($('resetpasscont')) $('resetpasscont').style.display = 'inline'; }  });
        Effect.Appear($('resetpasscont'),{ duration: .3 } );
    }
    else
    {
        Effect.Fade($('resetpasscont'),{ duration: .3 } );
        Effect.SlideDown(id,{ duration: .3 } );
        //Effect.SlideDown(id,{ duration: .3, afterFinish: function(){ if($('resetpasscont')) $('resetpasscont').style.display = 'none'; } });
    }
}

function resetpass()
{
    new Ajax.Updater('resetpass','/members/reset', {
            asynchronous:false,
            parameters:Form.serialize('MemberPasswordForm'),
            requestHeaders:['X-Update', '/members/reset'],
            evalScripts:true
            });
}

Display = {
    show:function(e)
    {
        $(e).visualEffect('appear');
    },
    hide:function(e)
    {
        $(e).visualEffect('fade');
        return false;
    }
};

//Menu state
Menu = {
	applyState:function()
	{
		var menuItems = document.getElementsByClassName('menuitem');

        for(i=0; i<menuItems.length;i++)
        {
        	var e = $(menuItems[i]);
            var l = location.href;
            if((l.startsWith(e.down().href)) && e.down().href != location.protocol + '//' + location.host + '/' )
            {
                 swapClass($(e),'menuitem','curmenuitem');
            }
            else if(l == e.down().href)
            {
                swapClass($(e),'menuitem','curmenuitem');
            }
        }
	}
};

function swapClass(e,off,on)
{
    e.removeClassName(off).addClassName(on);
}

function reset(e)
{
    e.className = 'un_clear';
}


Focus = {
    clear:function(e)
    {
        e.className = 'onfocus';
    },
    reset:function(e)
    {
        if(e.value == '')
        {
            if(e == document.getElementById('MemberUsername') || e == document.getElementById('MemberUname'))
            {
                e.className = 'un_clear';
            }
            else if(e == document.getElementById('MemberPassword'))
            {
                e.className = 'pass_clear';
            }
        }
        else
        {
            e.className = 'onfocus';
        }
    }
};

/*
* on load methods
*/

Event.observe(window, 'load', function()
{
    jsReady = true;

   	Menu.applyState();
    
    if($('MemberUsername') && $('MemberPassword'))
    {
        Focus.reset($('MemberUsername'));
        Focus.reset($('MemberPassword'));
    }

});
