/* htdocs/dpsweb/proServices_infoForm.js
   $Id: proServices_infoForm.js,v 1.7 2010/02/18 18:23:15 dferruggia Exp $ */
$('document').ready(function() {
	//change select sytle for IE only
	if ($.browser.msie)
	{
		$("select#business_type").css("width","auto");
	}
	
	if ($('#source_code').attr("value") != ''){
		$("#source_code").attr("disabled",true);
	}
	
	$("#first_name").focus();
	$("#telephone").mask("(999) 999-9999"," ");
	$("#cell").mask("(999) 999-9999"," ");
	$("#fax").mask("(999) 999-9999"," ");
		
	$('#questionmark').tooltip({
		track: false,
		delay: 0,
		showURL: false
	});
	
	$('#submit').click(function(){
		$("#source_code").attr("disabled",false);
	});
	
	$('select#business_type').change(function(){
		if ($("select#business_type option[value='2']").attr('selected')) {
			$('#show_business_type_other').css({display: ''});	
		} else {
			$('#show_business_type_other').css({display: 'none'});
			$('input#business_type_other').attr('value', '');	
		}
	});
	
	if ($("select#business_type option[value='2']").attr('selected')) {
			$('#show_business_type_other').css({display: ''});	
	}

	var container = $('#errorContainer');
	$('#signupform').validate({
		focusInvalid: false,
		onclick: false,
		onkeyup: false,
		onfocusout: false,
		errorContainer: container,
		errorElement: "p",
		errorLabelContainer: container,
		highlight: function(element, errorClass) {
			$(element).prev("label").addClass('error');
		 },
		invalidHandler: function(form,validator){
			setTimeout("window.location = '#errLoc';",0);
		},
		unhighlight: function(element, errorClass) {
			$(element).prevAll("label").eq(0).removeClass('error');
		},
		rules: 
		{
			first_name: "required",
			last_name: "required",
			address1: "required",
			city: "required",
			state: "required",
			zip: {
					required: true,
					minlength: 5
			},
			email_address: {
				required: true,
				email: true
			},
			email_address_2: {
				required: true,
				email: true,
				equalTo: "#email_address" 
			},
			telephone: {
				required: true,
				phone:true
			},
			company: "required",
			business_type: "required",
			business_type_other: {required: function(){
					return $("select#business_type option[value='2']").attr('selected');
			}},
			offers_by: {
				required: true,
				minlength: 1
			},
			contractor_control: {
				required: true,
				minlength: 1
			},
			buy_from: {
				required: true,
				minlength: 1
			}
		},
		messages:
		{
			first_name: vMessages['first_name'],
			last_name:  vMessages['last_name'],
			address1:  vMessages['address1'],
			city: vMessages['city'],
			state: vMessages['state'],
			zip: vMessages['zip'],
			email_address: {
					required:  vMessages['email_address'],
					email: "Please enter a valid email address."
			},
			email_address_2: {
				required: vMessages['email_address_2'],
				email: "Please confirm your email address.",
				equalTo: "Please check email confirmation, the two fields do not match."
			},
			telephone: {
				required: vMessages['telephone'],
				phone: "Please enter a valid US phone number with area code."
			},
			company:  vMessages['company'],
			business_type: vMessages['business_type'],
			business_type_other: vMessages['business_type_other'],
			offers_by: vMessages['offers_by'],
			contractor_control: vMessages['contractor_control'],
			buy_from: vMessages['buy_from']
		}

	});
	
	jQuery.validator.addMethod("phone", function(value) { 
	  return /^\(\d{3}\)\s\d{3}-\d{4}$/.test(value); 
	}, "");
	
	//make the contractor_control_none field unclick all the others, and the others unclick contractor_control_none
	$("input[id^='contractor_control_']").not('#contractor_control_none').click(function(){
 		if ($(this).is(':checked'))
 		{
 			$('#contractor_control_none').attr('checked', '');
 		}
 	});	
 	$('#contractor_control_none').click(function(){
 		if ($(this).is(':checked'))
 		{
 			$("input[id^='contractor_control_']").not('#contractor_control_none').attr('checked', '');
 		} 
 	});
	
});
