function validation_init()
{
 $( '.phone, #phone,.fax,#fax' ).mask( '(999) 999-9999' );
  $( '#cc_expiration_date' ).mask( '99/99' );
  $( '.zip, #zipcode' ).mask( '99999' );
  $( '#cc_cvv2' ).mask( '999' );

  $.validator.setDefaults({
  	//submitHandler: function() { alert("submitted!");return false; },
  	errorElement: 'span',
  	errorClass: 'invalid'
  });
  
  $( '#contactform' ).validate( {
    contactemail: { required: true, email: true },
		contactname: { required: true },
		contactmessage: { required: true }
  });

	// validate signup form on keyup and submit
	$("form.frm, #empregform").validate({
		rules: {
			pass: {
				required: true,
				minlength: 6
			},
			"password[original]": {
				required: true,
				minlength: 6
			},
			repass: {
				required: true,
				minlength: 6,
				equalTo: "#pass"
			},
			"password[verify]": {
				required: true,
				minlength: 6,
				equalTo: "#password"
			},
			email: {
				required: true,
				email: true
			},
			emailvrfy: {
				required: true,
				email: true,
				equalTo: "#email"
			},
			recaptcha_response_field: { required: true },
			company: { required: true },
			companydescription: { required: true },
			firstname: { required: true },
			lastname: { required: true },
			phone: { required: true },
			address1: { required: true },
			city: { required: true },
			zipcode: { required: true, minlength: 5, digits: true },
			billingaddress: { required: true },
			billingcity: { required: true },
			billingzipcode: { required: true, digits: true },
			nameoncard: { required: true },
			cc_number: { required: true, creditcard: true },
			cc_expiration_date: { required: true },
			cc_cvv2: { required: true, digits: true, minlength: 3 },
			'title': { required: true },
			'description': { required: true },
			cpc_amount: { min: 25, 
			              numbers: true,
			              required: function(){
			                return $('#isfeatured_job').is(':checked');
			              } },
			salary: { required: true, number: true },
			max_cpc: { number: true,
                 required: function(){
			                return $('#isfeatured_job').is(':checked');
			              } },
			daily_budget: { number: true,
                      required: function(){
			                return $('#isfeatured_job').is(':checked');
			              } },
			monthly_budget: { number: true,
                        required: function(){
			                return $('#isfeatured_job').is(':checked');
			              } },
			resumetext: { required: true }
		},
		messages: {
		  email: "Please enter a valid email address",
			pass: {
				required: "Please enter a password",
				minlength: "Your password must consist of at least 6 characters"
			},
			repass: {
				required: "Please provide a password",
				minlength: "Your password must be at least 6 characters long",
				equalTo: "Please enter the same password as above"
			},
			company: "Please enter a company name",
			companydescription: "Please enter a brief company description",
			firstname: "Please enter your first name",
			lastname: "Please enter your last name",
			phone: "Please enter a valid telephone number",
			address1: "Please enter a valid physical address",
			city: "Please enter a city name",
			zipcode: "Please enter a valid zip code",
			billingaddress: "Please enter a billing address for the credit card",
			billingcity: "Please enter a city name",
			billingzipcode: "Please enter a valid zip code",
			nameoncard: "Please enter the name as it appears on the credit card",
			cc_number: "Please enter a credit card number",
			cc_expiration_date: "Please enter the expiration date for the credit card",
			cc_cvv2: "Please enter the credit card's security code"
		}
	});
	
	try{
    $( '#advancedsearch input[name="salary"]' ).rules( 'remove' );
  } catch (e) {}
  
	try{
	  $( '#profileform input[name="password[original]"]' ).rules( 'remove' );
    $( '#profileform input[name="password[verify]"]' ).rules( 'remove' );
  } catch (e) {}
}

$(document).ready(validation_init);