$(function(){	
	// Fix z-index
	var zIndexNumber = 1000;
		$('div').each(function() {
			$(this).css('zIndex', zIndexNumber);
			zIndexNumber -= 10;
		});
		
	$('#menu-notes p').each(function(i){
		$('#navlist > li:eq('+i+') > ul').append('<li class="message">'+$(this).html()+'</li>');
	});
	$('#menu-notes').remove();
	$('#navlist .message').each(function(){
		$(this).css({width: ($(this).parent().width()+20)+'px'});
		//var toppos = $(this).prev().offset().top + $(this).prev().height() + $(this).height();
		//$(this).css({width: $(this).parent().width()+'px', top: toppos});
	});
	
	
	$('#navlist li, #nav-utility > li').hover(function(){
		$('ul', this).show();
		$(this).addClass('active');
	}, function(){
		$('ul', this).hide();
		$(this).removeClass('active');
	});
	
	$('#navlist li li, #nav-utility li li').unbind('mouseover');
	$('#navlist li li, #nav-utility li li').unbind('mouseout');
	
	$('#navlist > li > ul').wrap('<div class="menu-shadow"></div>');
	
	
	
	
	
	$('form.mtc input, form.mtc select').each(function(){
		if($(this).is('.required'))
			$(this).attr('isrequired', 'true');
		else
			$(this).attr('isrequired', 'false');
			
			if($(this).is('.auto'))
				$(this).attr('regioncode', 'AUTO');
			else
				$(this).attr('regioncode', '');
	});
	
	
	$('form.mtc').unbind('submit');
	$('form.mtc').submit(function(){
		var valid = true;
		$('.invalid', this).removeClass('invalid');
		
		$('input, select', this).each(function(){
			if($(this).is('.url') && !isUrl($(this).val()))
			{
				alert('Please enter a valid URL');
				$(this).addClass('invalid');
				valid = false;
				return false;
			}
			else if($(this).is('.email') && !isEmail($(this).val()))
			{
				alert('Please enter a valid email address');
				$(this).addClass('invalid');
				valid = false;
				return false;
			}
			else if($(this).is('.required') && $(this).val() == '')
			{
				$(this).addClass('invalid');
				valid = false;
			}
		});
		
		if(!valid)
		{
			$('.invalid:first', this).focus();
			return false;
		}
	});
});

// Useful functions

function isUrl(url) {
	var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
	if(RegExp.test(url))
		return true;
	else
		return false;
}
function isEmail(email) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) {
		return true;
	}
	return false;
}


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
