var isMenuSliding = false;

function getCookie(name) {
	var matches = document.cookie.match(new RegExp(
		"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
	))
	return matches ? decodeURIComponent(matches[1]) : undefined
}

$(function() {
	$('body').append('<script type="text/javascript" src="/js/md5.js"></script>');

	// Init scroller
	setTimeout(function() {
		$('#content').jScrollPane();
	}, 100);


	// Flyout
	$('.flyout .title').live('click', function() {
		var isVisible = $(this).siblings('.panel').css('display');
		$('.flyout .panel').hide();

		if(isVisible == 'none') {
			$(this).siblings('.panel').show();
		}

		$('#content').jScrollPane();
	});


	// Menu hover slide
	$('#menu-top').mouseenter(function(event) {
		if(!isMenuSliding) {
			isMenuSliding = true;
			//$('#menu-topsub li.active').fadeOut(500);
			$('#menu-sub').slideDown(500, function() {
				isMenuSliding = false;
			});
		}
	});

	$('#menu').mouseleave(function() {
		if(!isMenuSliding) {
			isMenuSliding = true;
			//$('#menu-topsub li.active').fadeIn(700);
			$('#menu-sub').slideUp(500, function() {
				isMenuSliding = false;
			});
		}
	});


});

// Required field checking
function checkRequired(form, holder, message) {

	if(!form) {
		return 0;
	} else {
		form = $(form).closest('form');
	}

	var isError = 0;

	// Check filling
	$(form).find('.required').each(function() {
		if(!$(this).val().length) {
			//console.warn($(this).attr('name') + " is required");
			$(this).addClass('error');
			isError++;
		} else {
			$(this).removeClass('error');
		}
	});

	// Validate email
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(!reg.test($('#_email').val())) {
		if($('#_email').hasClass('required')) {
			$('#_email').addClass('error');
			isError++;
		}
	} else {
		$('#_email').removeClass('error');
	}

	// Check captcha
	if(getCookie('umi_captcha') != hex_md5($('#_captcha').val())) {
		$("#_captcha").addClass('error');
		isError++;
	} else {
		$("#_captcha").removeClass('error');
	}

	if(isError) {
		return false;
	}

}

