/*
	jQuery is setup with noConflict to play well with any WordPress plugins
	that use other libraries. Using "$" will not trigger jQuery. 
	You can use "$j" or "jQuery", whichever one you prefer.
	
	[ Google Maps API Keys ]
	
	Staging URL: 	ABQIAAAANT4daNWyo92ahR94GPTWahRhooGrJ6En7Yfn589GafRfSo87XhRxciZrHV-dQr7ELqam_VZILV22hQ
	Live URL: 		ABQIAAAANT4daNWyo92ahR94GPTWahQUGR7peYAxjLPIW-I8fUhAHBFVthQgyv2E0KoGPCQoy81KMAn3b6Uxug
*/

// Dynamically Switch Providers According to State
function switchProviders() {
	var state = $j('#res_eval_provider_state').attr("selectedIndex");

	var CT = "<option value=\"Connecticut Light &amp; Power (CL&amp;P)\">Connecticut Light &amp; Power (CL&amp;P)</option><option value=\"United Illuminating (UI)\">United Illuminating (UI)</option><option value=\"Other\">Other</option>";

	var MA = "<option value=\"Fitchburg Gas and Electric Light (Unitil)\">Fitchburg Gas and Electric Light (Unitil)</option><option value=\"Massachusetts Electric (National Grid)\">Massachusetts Electric (National Grid)</option><option value=\"Nantucket Electric (National Grid)\">Nantucket Electric (National Grid)</option><option value=\"NSTAR Electric\">NSTAR Electric</option><option value=\"Western Massachusetts Electric\">Western Massachusetts Electric</option><option value=\"Other\">Other</option>";

	var NH = "<option value=\"Granite State Electric Company (GSEC)\">Granite State Electric Company (GSEC)</option><option value=\"Public Service of New Hampshire (PSNH)\">Public Service of New Hampshire (PSNH)</option><option value=\"New Hampshire Electric Cooperative\">New Hampshire Electric Cooperative</option><option value=\"Unitil Energy Systems\">Unitil Energy Systems</option><option value=\"Other\">Other</option>";

	var NJ = "<option value=\"Jersey Central\">Jersey Central</option><option value=\"PSE & G\">PSE & G</option><option value=\"Rockland Electric\">Rockland Electric</option><option value=\"Other\">Other</option>";

	var NY = "<option value=\"New York State Gas & Electric\">New York State Gas & Electric</option><option value=\"Central Hudson Gas & Electric\">Central Hudson Gas & Electric</option><option value=\"Consolidated Edison\">Consolidated Edison</option><option value=\"Niagra Mohawk Power\">Niagra Mohawk Power</option><option value=\"Orange & Rockland Utilities\">Orange & Rockland Utilities</option><option value=\"Rochester Gas & Electric\">Rochester Gas & Electric</option><option value=\"National Grid\">National Grid</option><option value=\"Other\">Other</option>";

	var VT = "<option value=\"Central Vermont Public Service (IOU)\">Central Vermont Public Service (IOU)</option><option value=\"Green Mountain Power Corporation  (IOU)\">Green Mountain Power Corporation  (IOU)</option><option value=\"Burlington Electric Department (Muni)\">Burlington Electric Department (Muni)</option><option value=\"Vermont Electric Coop (Coop)\">Vermont Electric Coop (Coop)</option><option value=\"Washington Electric Coop (Coop)\">Washington Electric Coop (Coop)</option><option value=\"Lyndonville Electric Department (Muni)\">Lyndonville Electric Department (Muni)</option><option value=\"Hardwick Electric Department (Muni)\">Hardwick Electric Department (Muni)</option><option value=\"Morrisville Water & Light Department (Muni)\">Morrisville Water & Light Department (Muni)</option><option value=\"Ludlow Electric Department (Muni)\">Ludlow Electric Department (Muni)</option><option value=\"Stowe Electric Department (Muni)\">Stowe Electric Department (Muni)</option><option value=\"Swanton Electric Department (Muni)\">Swanton Electric Department (Muni)</option><option value=\"Town of Northfield (Muni)\">Town of Northfield (Muni)</option><option value=\"Barton Village, Inc. (Muni)\">Barton Village, Inc. (Muni)</option><option value=\"Village of Enosburg Falls (Muni)\">Village of Enosburg Falls (Muni)</option><option value=\"Village of Hyde Park (Muni)\">Village of Hyde Park (Muni)</option><option value=\"Rochester Electric Light & Power (IOU)\">Rochester Electric Light & Power (IOU)</option><option value=\"Vermont Marble Company (IOU)\">Vermont Marble Company (IOU)</option><option value=\"Village of Johnson (Muni)\">Village of Johnson (Muni)</option><option value=\"Village of Orleans (Muni)\">Village of Orleans (Muni)</option><option value=\"Village of Jacksonville (Muni)\">Village of Jacksonville (Muni)</option><option value=\"Town of Readsboro (Muni)\">Town of Readsboro (Muni)</option><option value=\"Other\">Other</option>";

	var providers = new Array(CT,MA,NH,NJ,NY,VT);

	$j('#res_eval_provider').html(providers[state]);
}

// Document Load Event
$j(function(){

	// Rounded h3's
	$j('.evaluation h3').each(function(){
		$j(this).append('<span class="bottom"></span>');
	});
	
	//Phone validator
	$j.validator.addMethod("phone", function(phone_number, element) {
	   phone_number = phone_number.replace(/\s+/g, ""); 
		return this.optional(element) || phone_number.length > 9 &&
			phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
	}, "Please specify a valid phone number");
	
	// Residential Evaluation Validation
	validateRes = $j("#residential-evaluation").validate({
	
		// Scroll to top of #errors on validate
		invalidHandler: function(form, validator){
			$j.scrollTo('#errors', "slow");
		},
		
		focusInvalid:false,

		//Error output
		errorLabelContainer: "#errors",
		wrapper: "li",
		
		rules: {
		//Zipcode
			'00N40000001fLZg': {
			digits: true
		},
		
		email: {
			email: true
		},
		
		phone: {
			phone: true
		},
		
		//Work phone
		'00N40000001fLYT': {
			phone: true
		},
		
		'00N40000001ejIo': {
			number: true
		},
		
		'00N40000001ej0X': {
			number: true
		},
		
		'00N40000001ejJr': {
			number: true
		},
		
		'00N40000001ejSs': {
			number: true
		}
		}
	});
	// Generic Form Validation
	validateGeneral = $j("#generic-evaluation").validate({
      
      // Scroll to top of #errors on validate
		invalidHandler: function(form, validator){
			$j.scrollTo('#errors', "slow");
		},
		
		focusInvalid:false,
      
      //Error output
      errorLabelContainer: "#errors",
      wrapper: "li",
      
      rules: {
        //Zipcode
        '00N40000001fLZg': {
          digits: true
        },
        
        zip: {
          digits: true
        },
        
        email: {
          email: true
        },
        
        phone: {
         phone: true
       },
       
       mobile: {
         phone: true
       },
       
       //Avg monthly use
       '00N40000001uc6c': {
         digits: true
       },
       
       //Work phone
       '00N40000001fLYT': {
         phone: true
       }	    
      }
    });
    
	// Validate Events
	$j('#submit-eval input, #submit-extra').click(function(){
		validateGeneral.form();
	});
	
	// If it's Residential Evaluation
	if ($j('body.pageid-165').length > 0){
	
		// Residential: Submit
		$j('#res-submit').click(function(){
			validateRes.form();
			if(validateRes.form() == true){
				jQuery.cookie('form_submitted', '1');
			} else {
				jQuery.cookie('form_submitted', '0');
			}
		});
		
		// Residential: Continue
		$j('#res-continue').click(function(){
			validateRes.form();
			if(validateRes.form() == true){
				$j('#residential-data').hide();
				$j('#generic-evaluation').fadeIn('slow');
			}
			return false;
		});
	
		// Hide Second Section of the Form
		$j('#generic-evaluation').hide();
	
		// Toggle Energy Providers Functions
		$j('#res_eval_provider_state').change(switchProviders);
		
	}
	
});