/////////////////////////////////////
///Mandatory fields validation
////////////////////////////////////

function assign_form_validation(){
	
	
	if (!$("FORM:has(INPUT.mandatory)").length)
		return;
	$("FORM:has(INPUT.mandatory), FORM:has(SELECT.mandatory), FORM:has(TEXTAREA.mandatory)").submit(function(){
		$(this).find("INPUT, SELECT, TEXTAREA").removeClass('mandatory_selected');
		var msg = '';
		
		if ($(this).find("INPUT.mail, INPUT#EMAIL").length){
			email_filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		
			$(this).find("INPUT.mail, INPUT#EMAIL").each(function(){
				if(($(this).attr('value')!='')&& !email_filter.test($(this).attr('value'))){
					$(this).addClass('mandatory_selected');
					if (msg=='')
						msg = 'You\'ve entered invalid e-mail, please correct';
				}
			});
		}
		
		if (($(this).find("INPUT[TYPE=password]").length>1) && 
			$(this).find("INPUT#PASSWORD1").length &&
			$(this).find("INPUT#PASSWORD2").length &&
			($(this).find("INPUT#PASSWORD1").attr('value') != $(this).find("INPUT#PASSWORD2").attr('value'))
		){
			
			$(this).find("INPUT#PASSWORD1").addClass('mandatory_selected');
			$(this).find("INPUT#PASSWORD2").addClass('mandatory_selected');
			if (msg) msg+='<br>';
			msg+= 'Passwords don\'t match';
		}
		
		if ($(this).find("INPUT.mandatory[value=''], SELECT.mandatory[value=''], TEXTAREA.mandatory[value='']").length){
			if (msg) msg+='<br>';
			msg+= 'Plese fill up missing fields below';
		}
		if (msg=='')	
			return true;
		$(this).find("INPUT.mandatory[value=''], SELECT.mandatory[value=''], TEXTAREA.mandatory[value='']").addClass('mandatory_selected');
		$(this).find("INPUT.mandatory[value='']:first, SELECT.mandatory[value='']:first, TEXTAREA.mandatory[value='']:first").focus();
		if (!$(this).find("DIV#errmessage").length){
			$(this).prepend('<div ID="errmessage" class="error_message">'+msg+'</div>');
		}
		$(this).find("DIV#errmessage").show();
		$(this).find("DIV#errmessage").html(msg);
		
		return false;
	});
	$("TD.form_title + TD.form_field:has(INPUT.mandatory)").prev().find("SPAN").text('*').css('color','red');
	$("TD.form_title + :not(TD.form_field:has(INPUT.mandatory))").prev().find("SPAN").html('&nbsp; ').css('padding-left','2px');
	
}

		
//main jquery hook-up function 
$(document).ready(
	function() {
		assign_form_validation();
		$(".jqueryui_tabs").tabs();
	}
);