$(document).ready(function() {
	// validate signup form on keyup and submit
	var validator = $("#FormParam").validate({
	rules: {
	ClientName: {
		required: true
	},	
	AttnTo: {
		required: true
	},
	Email: {
		required: true,
		email: true
	},
	Position: {
		required: true,
		validSpecialChars: true
	},
	Priority: {
		required: true
	},
	StateCd: {				
		required:true    
	},
//	City: {
//		validChars: true
//	},
	IndustryCd: {				
		required:true    
	},
	JobLevelCd: {
		required:true
	},
	JobTypeCd: {
		required:true
	},
	JobSpecCd: {
		required:true
	},
	AcademicCd: {
		required:true
	},
	FromSalary: {				
		digits:true,
		minlength: 3		
	},
	ToSalary: {				
		digits:true,
		minlength: 3 
	},
	FromExp: {				
		digits:true   
	},
	ToExp: {				
		digits:true   
	},
	JobDscp: {
		required:true
	},
	Period: {
		required:true
	},
	security_code: {
		required: true
	}		
	},
	messages: {
	ClientName: {
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},			
	AttnTo: {
		required: " ",		
		remote: jQuery.format("{0} is already in use")
	},
	Email: {
		required: " ",
		minlength: " ",
		remote: jQuery.format("{0} is already in use")
	},
	Position: {
		required: " ",
		validSpecialChars: " ",
		remote: jQuery.format("{0} is already in use")
	},
	Priority: {
		required: " ",
		rangelength: jQuery.format("Password must be at least {0} characters")
	},
	StateCd: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
//	City: {
//		validChars: " ",
//		remote: jQuery.format("{0} is already in use")
//	},
	IndustryCd: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
	JobLevelCd: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
	JobTypeCd: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
	JobSpecCd: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
	AcademicCd: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
	FromSalary: {				
		digits: " ",
		rangelength: jQuery.format("at least {0} digits")
	},
	ToSalary: {				
		digits: " ",
		rangelength: jQuery.format("at least {0} digits")
	},
	FromExp: {				
		digits: " ",
		remote: jQuery.format("{0} is already in use")
	},
	ToExp: {				
		digits: " ",
		remote: jQuery.format("{0} is already in use")
	},
	JobDscp: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
	Period: {				
		required: " ",
		remote: jQuery.format("{0} is already in use")
	},
    security_code: {
		required: " "
	}	
	},
	// the errorPlacement has to take the table layout into account
	errorPlacement: function(error, element) {
		if ( element.is(":radio") )
			error.appendTo( element.parent().next());
		else if ( element.is(":checkbox") )
			error.appendTo ( element.next() );
		else
			error.appendTo( element.parent().next() );
	},
	// specifying a submitHandler prevents the default submit
	submitHandler: function() {		
		if ( $("#FormParam").validate().form()) {
			$('#checkForm').html("<span class=\"clsValue\" id='checkForm'>Checking mandatory fields...<img src=\"/images/checked.gif\" border=\"0\"></span>");
			$("#checkForm").fadeTo(3000, 0.5);
			$('#successMsg').html("&nbsp;<div class=\"clsValue\" id='successMsg'>&nbsp;Please click on the Save &amp; Post button again to submit your request.</div><br>");
			
			$("#btnPost").click(function(){
				setParameterDescription();		
    			var errorMsg = $('#errorMsg');
				var params = 'security_code=' + $("#security_code").val();
				
				errorMsg.removeClass('error').html('<img src="/images/loading.gif" height="16" width="16" /> <span  class="clsAjax">&nbsp;Please wait...</span>');
	
					if (this.timer) clearTimeout(this.timer);
	                
	                this.timer = setTimeout(function () {
	                    $.ajax({
	                        url: '/captcha/check.php',
	                        data: params,
	                        dataType: 'json',
	                        type: 'post',
	                        success: function (data) {
	                        	if (data.success) {
		                            $("#errorMsg").addClass('success').html(data.message).fadeIn('slow');
			                             document.FormParam.submit();                         
		                        } else {
			                        new_captcha();
					    			$("#errorMsg").addClass('error').html(data.message).fadeIn('slow');
		                        }
	                        }
	                    });
	                }, 250);
	                
	             return false;   		
			});
			
		} 
		//setParameterDescription();
		//document.FormParam.submit();
	},
	// set this class to error-labels to indicate valid fields
	success: function(label) {
		// set &nbsp; as text for IE
		label.html("&nbsp;").addClass("checked");
	}
	});

	$.validator.addMethod('validChars', function (value) {

		var result = true;
		// unwanted characters
		var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";

		for (var i = 0; i < value.length; i++) {

			if (iChars.indexOf(value.charAt(i)) != -1) {
				return false;
			}

		}

		return result;

	}, '');
	
	$.validator.addMethod('validSpecialChars', function (value) {

		var result = true;
		// unwanted characters
		var iChars = "!@#$%^*+=\\\;,\"?";

		for (var i = 0; i < value.length; i++) {

			if (iChars.indexOf(value.charAt(i)) != -1) {
				return false;
			}

		}

		return result;

	}, '');
	
	if (!jQuery.browser.msie) { 
		$("#Position").autocomplete(jobs_search);
		$("#City").autocomplete(cities);	
	}
	
});
 
function setParameterDescription() {
	var formparam = document.FormParam;
	
	if (trim(formparam.PriorityCd.options[formparam.PriorityCd.selectedIndex].value) != '') {
		formparam.PriorityDscp.value = formparam.PriorityCd.options[formparam.PriorityCd.selectedIndex].text;
	}
	if (trim(formparam.StateCd.options[formparam.StateCd.selectedIndex].value) != '') {
		formparam.OtherState.value = formparam.StateCd.options[formparam.StateCd.selectedIndex].text;
	}
	if (trim(formparam.IndustryCd.options[formparam.IndustryCd.selectedIndex].value) != '') {
		formparam.IndustryDscp.value = formparam.IndustryCd.options[formparam.IndustryCd.selectedIndex].text;
	}
	if (trim(formparam.JobLevelCd.options[formparam.JobLevelCd.selectedIndex].value) != '') {
		formparam.JobLevelDscp.value = formparam.JobLevelCd.options[formparam.JobLevelCd.selectedIndex].text;
	}
	if (trim(formparam.JobTypeCd.options[formparam.JobTypeCd.selectedIndex].value) != '') {
		formparam.JobTypeDscp.value = formparam.JobTypeCd.options[formparam.JobTypeCd.selectedIndex].text;
	}
	if (trim(formparam.JobSpecCd.options[formparam.JobSpecCd.selectedIndex].value) != '') {
		formparam.JobSpecDscp.value = formparam.JobSpecCd.options[formparam.JobSpecCd.selectedIndex].text;
	}
	if (trim(formparam.AcademicCd.options[formparam.AcademicCd.selectedIndex].value) != '') {
		formparam.AcademicDscp.value = formparam.AcademicCd.options[formparam.AcademicCd.selectedIndex].text;
	}
}

function Dissapear(){
	if ( $("#autoDis").length > 0 ) {
		if (jQuery.browser.msie) { 
			$("#autoDis").remove(); 
		} else {
		 $("#autoDis").animate({ backgroundColor: "#fbc7c7" }, "fast").animate({ opacity: "hide" }, "slow");
		}
	}	
}
 
function onCancelClick() {
	document.FormParam.act.value ="BACK";
	document.FormParam.submit();
}