jQuery.expr[':'].focus = function(elem) {
  return elem === document.activeElement && (elem.type || elem.href);
};

$(document).ready(function() {
	$("button").mouseover(function(){
		button = $(this);

		// no love for the cancel button
		if(button.hasClass('cancelButton') || button.hasClass('grayButton')) {
			return;
		}

		if(button.hasClass('lightblueButton')) {
			button.addClass('lightbluehover');
			button.children().addClass('lightbluehover');
			return;
		}
		
		if(button.hasClass('orangeblueButton')) {
			button.addClass('lightbluehover');
			button.children().addClass('lightbluehover');
			return;
		}
		
		if(button.hasClass('redButton')) {
			button.addClass('orangeButton');
			button.children().addClass('orangeButton');
			return;
		}
		
		if(button.hasClass('paymentWireButton'))
		{
			button.addClass('paymentWireButtonhover');
			button.children().addClass('paymentWireButtonhover');
			return;
		}
		if(button.hasClass('paymentPostButton'))
		{
			button.addClass('paymentPostButtonhover');
			button.children().addClass('paymentPostButtonhover');
			return;
		}
		if(button.hasClass('paymentSmsButton'))
		{
			button.addClass('paymentSmsButtonhover');
			button.children().addClass('paymentSmsButtonhover');
			return;
		}
		if(button.hasClass('paymentCardButton'))
		{
			button.addClass('paymentCardButtonhover');
			button.children().addClass('paymentCardButtonhover');
			return;
		}
		if(button.hasClass('paymentCashButton'))
		{
			button.addClass('paymentCashButtonhover');
			button.children().addClass('paymentCashButtonhover');
			return;
		}
		
		button.addClass('hover');
		button.children().addClass('hover');
	});
	$("button").mouseout(function(){
		button = $(this);
		if(button.hasClass('cancelButton') || button.hasClass('grayButton')) {
			return;
		}
		if(button.hasClass('lightblueButton')) {
			button.removeClass('lightbluehover');
			button.children().removeClass('lightbluehover');
			return;
		}
		if(button.hasClass('orangeblueButton')) {
			button.removeClass('lightbluehover');
			button.children().removeClass('lightbluehover');
			return;
		}
		if(button.hasClass('redButton')) {
			button.removeClass('orangeButton');
			button.children().removeClass('orangeButton');
			return;
		}
		
		if(button.hasClass('paymentWireButton'))
		{
			button.removeClass('paymentWireButtonhover');
			button.children().removeClass('paymentWireButtonhover');
			return;
		}
		if(button.hasClass('paymentPostButton'))
		{
			button.removeClass('paymentPostButtonhover');
			button.children().removeClass('paymentPostButtonhover');
			return;
		}
		if(button.hasClass('paymentSmsButton'))
		{
			button.removeClass('paymentSmsButtonhover');
			button.children().removeClass('paymentSmsButtonhover');
			return;
		}
		if(button.hasClass('paymentCardButton'))
		{
			button.removeClass('paymentCardButtonhover');
			button.children().removeClass('paymentCardButtonhover');
			return;
		}
		if(button.hasClass('paymentCashButton'))
		{
			button.removeClass('paymentCashButtonhover');
			button.children().removeClass('paymentCashButtonhover');
			return;
		}
		
		button.removeClass('hover');
		button.children().removeClass('hover');
	});
	
	$('.drop').click(function(e) {
		if ($(this).attr("href") == "#") {
			e.preventDefault();
		}
	});

	$("#main_menu > li").bind('mouseover', mainmenuOpen);
	$("#main_menu > li").bind('mouseout', mainmenuTimer);
});

document.onclick = mainmenuCheck;

var mainmenu_timeout = 500;
var mainmenu_closetimer = 0;
var mainmenu_item = 0;
var mainmenu_drop = 0;

function mainmenuOpen() {
	mainmenuCanceltimer();
	mainmenuClose();
	mainmenu_item = $(this).css('background', '#FF8040');
	mainmenu_drop = $(this).children('.dropdown_column').show();
}

function mainmenuClose() {
	if (mainmenu_drop) {
		mainmenu_item.css('background', '');
		mainmenu_drop.hide();
	}
}

function mainmenuTimer() {
	if ($(this).hasClass('menu_right')) {
		if ($("#Login_username").is(":focus") || $("#Login_password").is(":focus") || $("#Login_rememberMe").is(':focus')) {

		} else {
			mainmenu_closetimer = window.setTimeout(mainmenuClose, mainmenu_timeout);
		}
	} else {
		mainmenu_closetimer = window.setTimeout(mainmenuClose, mainmenu_timeout);
	}
}

function mainmenuCanceltimer() {
	if(mainmenu_closetimer) {
		window.clearTimeout(mainmenu_closetimer);
		mainmenu_closetimer = null;
	}
}

function mainmenuCheck(e) {
	if (e) {
		if ($(e.target).parents('.dropdown_column').hasClass('align_right') || $(e.target).hasClass('.drop')) {

		} else {
			mainmenuClose();
		}
	}
}


