$(window).load(function () {
	var code = '<strong>Please complete all required fields.</strong><br /><ul>';
	for (i=0; i < errors.length; i++) code += '<li class="error" id="error'+i+'">'+errors[i]+'</li>';
	code += '</ul>';
	$("#errorarea").html(code);
});

function throwError(errorId) {
	if ($("#errorarea").is(":hidden")) {
		// fade in error area
		$("#error"+errorId).show();
		$("#errorarea").fadeIn('fast');
	} else {
		$("#error"+errorId).fadeIn('fast');
	}
	$.scrollTo("#errorarea", 400);
}

function hideError(errorId) {
	if ($("#errorarea li:visible").length==1) {
		// if all are to be hidden
		$("#errorarea").fadeOut('fast', function() {
			$("#error"+errorId).hide();
		});
	} else {
		$("#error"+errorId).fadeOut('fast');
	}
}

var focused = false;
function focusFirst(focusedObj) {
	if (!focused) {
		focused = true;
		focusedObj.focus();
		focusedObj.bind('validate', function() {
			focused = false;
		});
	}
}

function checkValidEmail() {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	feedback = $("input[name='Email']");
   if(reg.test($("input[name='Email']").val()) == false) {
		if (!feedback.hasClass('wrong')) {
			//feedback.hide();
			if (!feedback.hasClass('ok')) feedback.width((feedback.width()-16));
			feedback.addClass('wrong');
			feedback.removeClass('ok');
			//feedback.fadeIn('fast');
			$("input[name='Email']").bind('keyup', function(){
				checkValidEmail();
			});
		}
		return false;
   } else {
		// good
		if (!feedback.hasClass('ok')) {
			//feedback.hide();
			if (!feedback.hasClass('wrong')) feedback.width((feedback.width()-16));
			feedback.removeClass('wrong');
			feedback.addClass('ok');
			//feedback.fadeIn('fast');
			$("input[name='Email']").unbind('keyup'); // clear keyup function
			$("input[name='Email']").trigger('validate');
		}
		return true;
   }
}

function checkempty(name, textarea) {
	// true if empty
	if (textarea) {
		element = 'textarea';
	} else {
		element = 'input';
	}
	feedback = $(element+"[name='"+name+"']");
	if ($(element+"[name='"+name+"']").val() != '') {
		// ~ gets the next sibling
		// not empty
		if (!feedback.hasClass('ok')) {
			//feedback.hide();
			if (!feedback.hasClass('wrong')) feedback.width((feedback.width()-16));
			feedback.removeClass('wrong');
			feedback.addClass('ok', true);
			//feedback.fadeIn('fast');
			$(element+"[name='"+name+"']").unbind('keyup'); // clear keyup function
			$(element+"[name='"+name+"']").trigger('validate');
		}
		return false;
	} else {
		// empty
		if (!feedback.hasClass('wrong')) {
			//feedback.hide();
			if (!feedback.hasClass('ok')) feedback.width((feedback.width()-16));
			feedback.addClass('wrong');
			feedback.removeClass('ok');
			//feedback.fadeIn('fast');
			$(element+"[name='"+name+"']").bind('keyup', function(){
				checkempty(name, textarea);
			});
		}
		return true;
	}
}