/* Author: 
@author: Uros Lates
*/

jQuery(document).ready(function(){
  $('.nyroModal').nyroModal();
  initSlider( $('#banner') );   
  initScroller( $('.teaser') );
  $('select#current_utility_provider').customStyle();  
  
  jQuery('.toggler a').click(function(){
    var $ccnt = jQuery(this).parents('.item').find('.collapsible'),
        $items = jQuery('.collapsible');

    if( !$ccnt.is(":visible") ) {
      $items.slideUp().parents('.item').find('a').removeClass('collapsed').addClass('collapsed');
      $ccnt.slideDown().parents('.item').find('a').removeClass('collapsed');
    } else {
      $items.slideUp().parents('.item').find('a').removeClass('collapsed').addClass('collapsed');
    }
    return false;
  });
  
  // Form Validation
  jQuery('form').submit(function(){
    var req = jQuery('.required', this), valid = true;
    for (var i=0, $el; i < req.length; i++) {
      $el = jQuery(req[i]);
      if( !jQuery.trim( $el.val() ).length ) {
        $el.removeClass('error').addClass('error');
        valid = false;
      } else {
        $el.removeClass('error');
      }
    };
	if($("input[name='type_of_customer']").size() > 0 && !isCheckedByName("type_of_customer")){
		$("input[name='type_of_customer']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='type_of_customer']").removeClass('error');
	};
	if($("input[name='big_el_customer']").size() > 0 && !isCheckedByName("big_el_customer")){
		$("input[name='big_el_customer']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='big_el_customer']").removeClass('error');
	};
	if($("input[name='type_of_service']").size() > 0 && !isCheckedByName("type_of_service")){
		$("input[name='type_of_service']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='type_of_service']").removeClass('error');
	};
	if($("input[name='gas_usage']").size() > 0 && !isCheckedByName("gas_usage")){
		$("input[name='gas_usage']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='gas_usage']").removeClass('error');
	};
	if($("input[name='big_gas_customer']").size() > 0 && !isCheckedByName("big_gas_customer")){
		$("input[name='big_gas_customer']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='big_gas_customer']").removeClass('error');
	};
	if($("input[name='el_rate']").size() > 0 && !isCheckedByName("el_rate")){
		$("input[name='el_rate']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='el_rate']").removeClass('error');
	};
	if($("input[name='gas_rate']").size() > 0 && !isCheckedByName("gas_rate")){
		$("input[name='gas_rate']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='gas_rate']").removeClass('error');
	};
 	if($("input[name='Accept']").size() > 0 && !isCheckedByName("Accept")){
		$("input[name='Accept']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='Accept']").removeClass('error');
	};
	if($("input[name='enroll']").size() > 0 && !isCheckedByName("enroll")){
		$("input[name='enroll']").removeClass('error').addClass('error');
		valid = false;
	} else {
		$("input[name='enroll']").removeClass('error');
	};

   return valid;
  });
  // BAC Form settings
  bacForm();
  
  // Become a customer TOS splash screen close function
  jQuery('#splash-screen-close').click(function() {jQuery('#splash-screen').fadeOut();return false;});

  // Checkboxes behaving like radio buttons
  var $unique = $('input.unique');
	$unique.click(function() {
    $unique.filter(':checked').not(this).removeAttr('checked');
  });
  var $unique1 = $('input.unique1');
	$unique1.click(function() {
    $unique1.filter(':checked').not(this).removeAttr('checked');
  });
  
  // Seting optional input box for become-a-customer form
  $sel_box = $("select[name='hearAbout']");
  if($sel_box.val() == "Referred by a friend") {
	$('#aditional_param').css('display', 'block');
	$('#friend_name').css('display', 'block');
  }
  else if($sel_box.val() == "Other") {
	$('#aditional_param').css('display', 'block');
	$('#define_other').css('display', 'block');
  };
  $sel_box.change(function() {
	  $('#aditional_param').css('display', 'none');
	  $('#friend_name').css('display', 'none');
	  $('#define_other').css('display', 'none');
	  if($sel_box.val() == "Referred by a friend") {
		$('#aditional_param').css('display', 'block');
		$('#friend_name').css('display', 'block');
	  }
	  else if($sel_box.val() == "Other") {
		$('#aditional_param').css('display', 'block');
		$('#define_other').css('display', 'block');
	  }
  });

  // Seting optional select box for el-utility-provider form
  $sel_provider = $('#el_provider');
  if($sel_provider.val() == "Consolidated Edison") {
	$('#lab_el_class').css('display', 'block');
	$('#sel_el_class').css('display', 'block');
	$("#sel_el_class option[value='GLP']").remove();
	//$("#sel_el_class option[value='LPLP']").remove();
	$("#sel_el_class option[value='RS']").remove();
  }
  else if($sel_provider.val() == "Public Service Electric and Gas - Electric") {
	$('#lab_el_class').css('display', 'block');
	$('#sel_el_class').css('display', 'block');
	$("#sel_el_class option[value='EL1']").remove();
	$("#sel_el_class option[value='EL2']").remove();
	//$("#sel_el_class option[value='EL8']").remove();
	$("#sel_el_class option[value='EL9']").remove();
  };
  $sel_provider.change(function() {
	  $('#lab_el_class').css('display', 'none');
	  $('#sel_el_class').css('display', 'none');
	  if($sel_provider.val() == "Consolidated Edison") {
		$('#lab_el_class').css('display', 'block');
		$('#sel_el_class').css('display', 'block');
		$("#sel_el_class option[value='GLP']").remove();
		//$("#sel_el_class option[value='LPLP']").remove();
		$("#sel_el_class option[value='RS']").remove();
	  }
	  else if($sel_provider.val() == "Public Service Electric and Gas - Electric") {
		$('#lab_el_class').css('display', 'block');
		$('#sel_el_class').css('display', 'block');
		$("#sel_el_class option[value='EL1']").remove();
		$("#sel_el_class option[value='EL2']").remove();
		//$("#sel_el_class option[value='EL8']").remove();
		$("#sel_el_class option[value='EL9']").remove();
	  };
  });
  // Seting optional input box for el-utility-provider form
  $sel_box1 = $("select[name='el_class']");
  if($sel_box1.val() == "Other") {
	$('#other_el_class').css('display', 'block');
	$('#define_other_el_class').css('display', 'block');
  };
  $sel_box1.change(function() {
	  $('#other_el_class').css('display', 'none');
	  $('#define_other_el_class').css('display', 'none');
	  if($sel_box1.val() == "Other") {
		$('#other_el_class').css('display', 'block');
		$('#define_other_el_class').css('display', 'block');
	  }
  });

});
function isCheckedByName(inputName) 
{ 
    var checked = $("input[name="+inputName+"]:checked").length; 
    if (checked == 0) 
    { 
        return false; 
    } 
    else 
    { 
        return true; 
    } 
}

function initSlider (slider) {
  if(slider && slider.length) {
    slider.slides({
    	preload: true,
  		generateNextPrev: false,
      play: 10000,
      pause: 2500,
      slideSpeed: 600,
      hoverPause: true,
      generatePagination: false
  	});
  	
    var $banners = slider.find('.banner-nav'), a;
    for(var i=0, $banner; i<$banners.length;i++) {
        $banner = $banners[i];
        a = $($banner).find('a');
        for(var j=0; j<a.length; j++) {
          $(a[j]).attr('href', "#"+(j));
        }
    }
	}
}

function initScroller ($scroller) {
  if($scroller && $scroller.length) {
    $scroller.liScroll({travelocity: 0.08});
  }
}

function bacForm (argument) {
  var $f = $('form#sign_up_form'),
      $ii = $('input.interested_in'),
      $el = $('.interested_in[name="electricity"]:checkbox'),
      $scup = $('select#current_utility_provider'),
      $an = $('input#account_number'),
      $pin = $('input#pods_id_number'),
      $pin1 = $('input#pods_id_number_1'),
      pin_vals = ['', 'PE', 'PG'];
      
  $ii.change(function(){
    _handlePIN();
    if( this.checked && ($(this).hasClass('ho') || $(this).hasClass('ms')) ) {
      $scup.parent().hide();
      $an.parent().hide();
      $pin.parent().hide();
      $pin1.parent().hide();
    } else if( !this.checked && ($(this).hasClass('ho') || $(this).hasClass('ms')) ) {
      $scup.parent().show();
      $an.parent().show();
      $pin.parent().show();      
    }
  });
  
  $el.change(function(e) {
    var disabled = this.checked ? 'disabled': '';
    $scup.find('option').not('.e').attr('disabled', disabled);
    _handlePIN();
  });

  $scup.change(function(e){
    $scup.find('option:selected').hasClass('opt4') ? $an.parent().hide() : $an.parent().show();
    _handlePIN();
  });
  
  function _handlePIN (argument) {
    var eSet = false, ngSet = false;
    $pin.val( pin_vals[0]);
    if ( $scup.find('option:selected').hasClass('opt4') ) {
      var arr = $ii.filter(':checked');
      for (var i=0; i < arr.length; i++) {
        // pods_id_number_1
        if ($(arr[i]).hasClass('e')) { 
          $pin.val( pin_vals[1] ); 
          eSet = true;
        } else if ($(arr[i]).hasClass('ng')) { 
          $pin.val( pin_vals[2] ); 
          ngSet = true
        }
      };
      if( eSet && ngSet && $scup.find('option:selected').hasClass('opt4') ) {
        $pin.val( pin_vals[1] );
        $pin1.val( pin_vals[2] ).parent().show();
      } else {
        $pin1.parent().hide();
      }
    };
  }

}

