/* User Fields */
function switchUserRegisterType(){
  if($("[name='userType']:checked").val() == 'owner'){
    $('#installerRegistrationMessage').hide();
    $('#ownerRegistrationMessage').show();
  } else{
    $('#ownerRegistrationMessage').hide();
    $('#installerRegistrationMessage').show();
  }
}

/* Owner Fields */

function prepareOwnerForm(){
  if($('[name=system_owner_type]').val() != 'individual'){
    changeOwnerType(); 
  }

  if($('[name=Payment_Method]').val() == 'Check'){
    changeOwnerPaymentMethod();
  }
}



function changeOwnerType() {
  if($('[name=System_Owner_Type]').val() != 'Individual'){
    $('tr.business-group').show();
  } else{
    $('tr.business-group').hide();
  }
}

function changeOwnerPaymentMethod(){
  if($('[name=Payment_Method]').val() != 'Check'){
    $('tr.payment-method-group').show();
  } else{
    $('tr.payment-method-group').hide();
  }
}

var formFailedColor = "#FFD3D3";
var formPassedColor = "#D2FFCD";
var formEmptyColor = "#FFFFFF";
var formDisabledColor = "#CCCCCC";

function validateCompany(){
  if($('[name=System_Owner_Type]').val() == 'Business/Not Profit'){
    if($('[name=Company_Name]').val().length == 0){
      $('[name=Company_Name]').css('background-color', formFailedColor);
      return false;
    } else{
      $('[name=Company_Name]').css('background-color', formPassedColor);
      return true;
    }
  } else{
    return true;
  }
}

function validateCompanyTitle(){
  if($('[name=System_Owner_Type]').val() == 'Business/Not Profit'){
    if($('[name=Company_Title]').val().length == 0){
      $('[name=Company_Title]').css('background-color', formFailedColor);
      return false;
    } else{
      $('[name=Company_Title]').css('background-color', formPassedColor);
      return true;
    }
  } else{
    return true;
  }
}

function validatePrefix(){
  copyField('Prefix','Payee_Prefix', true) 
  return true;
}

function validateFirstName(copyChange){
  copyChange = typeof(copyChange) != 'undefined' ? copyChange : true;

  if(copyChange){
    return copyField('First_Name','Payee_First_Name') 
  } else{
    if($('[name=First_Name]').val().length == 0 || $('[name=Payee_First_Name]').val().length == 0){
      if($('[name=First_Name]').val().length == 0){
        $('[name=First_Name]').css('background-color',formFailedColor);
      }
      if($('[name=Payee_First_Name]').val().length == 0){
        $('[name=Payee_First_Name]').css('background-color',formFailedColor);
      }
      return false;
    } else{
      return true;
    }
  }
}

function validateLastName(copyChange){
  copyChange = typeof(copyChange) != 'undefined' ? copyChange : true;

  if(copyChange){
    return copyField('Last_Name','Payee_Last_Name') 
  } else{
    if($('[name=Last_Name]').val().length == 0 || $('[name=Payee_Last_Name]').val().length == 0){
      if($('[name=Last_Name]').val().length == 0){
        $('[name=Last_Name]').css('background-color',formFailedColor);
      }
      if($('[name=Payee_Last_Name]').val().length == 0){
        $('[name=Payee_Last_Name]').css('background-color',formFailedColor);
      }
      return false;
    } else{
      return true;
    }
  }
}

function validateEmail(){
  if(isValidEmail($('[name=Email_Address]').val())){
    $('[name=Email_Address]').css('background-color', formPassedColor);
    return true;
  } else{
    $('[name=Email_Address]').css('background-color', formFailedColor);
    return false;
  }
}

function validateConfirmEmail(){
  if($('[name=Email_Address]').val() == $('[name=Confirm_Email_Address]').val()){
    $('[name=Confirm_Email_Address]').css('background-color', formPassedColor);
    return true;
  } else{
    $('[name=Confirm_Email_Address]').css('background-color', formFailedColor);
    return false;
  }
}


function validateStreetAddress1(copyChange){
  copyChange = typeof(copyChange) != 'undefined' ? copyChange : true;

  if(copyChange){
    return copyField('Street_Address_1','Payee_Street_Address_1') 
  } else{
    if($('[name=Street_Address_1]').val().length == 0 || $('[name=Payee_Street_Address_1]').val().length == 0){
      if($('[name=Street_Address_1]').val().length == 0){
        $('[name=Street_Address_1]').css('background-color',formFailedColor);
      }
      if($('[name=Payee_Street_Address_1]').val().length == 0){
        $('[name=Payee_Street_Address_1]').css('background-color',formFailedColor);
      }
      return false;
    } else{
      return true;
    }
  }
}

function validateStreetAddress2(){
  return copyField('Street_Address_2','Payee_Street_Address_2', true)
}

function validateCity(copyChange){
  copyChange = typeof(copyChange) != 'undefined' ? copyChange : true;

  if(copyChange){
    return copyField('City','Payee_City') 
  } else{
    if($('[name=City]').val().length == 0 || $('[name=Payee_City]').val().length == 0){
      if($('[name=City]').val().length == 0){
        $('[name=City]').css('background-color',formFailedColor);
      }
      if($('[name=Payee_City]').val().length == 0){
        $('[name=Payee_City]').css('background-color',formFailedColor);
      }
      return false;
    } else{
      return true;
    }
  } 
}

function validateState(copyChange){
  copyChange = typeof(copyChange) != 'undefined' ? copyChange : true;

  if(copyChange){
    return copyField('State','Payee_State') 
  } else{
    if($('[name=State]').val().length == 0 || $('[name=Payee_State]').val().length == 0){
      if($('[name=State]').val().length == 0){
        $('[name=State]').css('background-color',formFailedColor);
      }
      if($('[name=Payee_State]').val().length == 0){
        $('[name=Payee_State]').css('background-color',formFailedColor);
      }
      return false;
    } else{
      return true;
    }
  } 
}

function validateZip(copyChange){
  copyChange = typeof(copyChange) != 'undefined' ? copyChange : true;

  if(copyChange){
    return copyField('Zip','Payee_Zip') 
  } else{
    if($('[name=Zip]').val().length == 0 || $('[name=Payee_Zip]').val().length == 0){
      if($('[name=Zip]').val().length == 0){
        $('[name=Zip]').css('background-color',formFailedColor);
      }
      if($('[name=Payee_Zip]').val().length == 0){
        $('[name=Payee_Zip]').css('background-color',formFailedColor);
      }
      return false;
    } else{
      return true;
    }
  } 
}

function validatePrimaryPhone(){
  passed = true;
  phoneValues = [
    $('[name=Home_Phone_Number1]').val(),
    $('[name=Home_Phone_Number2]').val(),
    $('[name=Home_Phone_Number3]').val()
  ];

  $.each(
    phoneValues,
    function( intIndex, objValue ){
      id = intIndex + 1;
      if(isNumber(objValue) && (((intIndex < 2) && objValue.length == 3) || (intIndex == 2 && objValue.length == 4))){
        $('[name=Home_Phone_Number' + id + ']').css('background-color', formPassedColor);
      } else{
        $('[name=Home_Phone_Number' + id + ']').css('background-color', formFailedColor);
        passed = false;
      }
    }
  );

  return passed;
}

function validateMobilePhone(){
  passed = true;
  emptyCount = 0;
  phoneValues = [
    $('[name=Mobile_Phone_Number1]').val(),
    $('[name=Mobile_Phone_Number2]').val(),
    $('[name=Mobile_Phone_Number3]').val()
  ];

  $.each(
    phoneValues,
    function( intIndex, objValue ){
      if(isNumber(objValue) && (((intIndex < 2) && objValue.length == 3) || (intIndex == 2 && objValue.length == 4))){
        $('[name=Mobile_Phone_Number' + (intIndex + 1) + ']').css('background-color', formPassedColor);
      } else{
        $('[name=Mobile_Phone_Number' + (intIndex + 1) + ']').css('background-color', formFailedColor);
        passed = false;

        if(objValue.length == 0){
          emptyCount++;
        }
      }
    }
  );

  if(emptyCount == 3){ //since not mandatory, if empty, ignore
    passed = true;
    $.each(
      phoneValues,
      function( intIndex, objValue ){
        $('[name=Mobile_Phone_Number' + (intIndex + 1) + ']').css('background-color', formEmptyColor);
      }
    );
  }

  return passed;
}

function validateFax(){
  passed = true;
  emptyCount = 0;
  phoneValues = [
    $('[name=Fax_Number1]').val(),
    $('[name=Fax_Number2]').val(),
    $('[name=Fax_Number3]').val()
  ];

  $.each(
    phoneValues,
    function( intIndex, objValue ){
      if(isNumber(objValue) && (((intIndex < 2) && objValue.length == 3) || (intIndex == 2 && objValue.length == 4))){
        $('[name=Fax_Number' + (intIndex + 1) + ']').css('background-color', formPassedColor);
      } else{
        $('[name=Fax_Number' + (intIndex + 1) + ']').css('background-color', formFailedColor);
        passed = false;

        if(objValue.length == 0){
          emptyCount++;
        }
      }
    }
  );

  if(emptyCount == 3){ //since not mandatory, if empty, ignore
    passed = true;
    $.each(
      phoneValues,
      function( intIndex, objValue ){
        $('[name=Fax_Number' + (intIndex + 1) + ']').css('background-color', formEmptyColor);
      }
    );
  }

  return passed;
}

function validateUserForm(){
  var error = '<b>Error Messages:</b> <br>';
  var passed = true;

  if(!isValidEmail($('[name=email]').val())){
    $('[name=email]').css('background-color', formFailedColor);
    error += '- Please enter a valid email address<br>';
    passed = false;
  } else{
    $('[name=email]').css('background-color', formEmptyColor);
  }

  if($('[name=email]').val() != $('[name=confirmEmail]').val()){
    error += '- Email and confirmation email do not match<br>';
    passed = false;
  }

  if($('[name=password]').val().length < 5){
    $('[name=password]').css('background-color', formFailedColor);
    error += '- Please enter a password of at least 5 characters<br>';
    passed = false;
  } else{
    $('[name=password]').css('background-color', formEmptyColor);
  }

  if($('[name=password]').val() != $('[name=confirmPass]').val()){
    $('[name=password]').css('background-color', formFailedColor);
    $('[name=confirmPass]').css('background-color', formFailedColor);
    error += '- Password and confirmation password do not match<br>';
    passed = false;
  } else{
    $('[name=pass]').css('background-color', formEmptyColor);
    $('[name=confirmPass]').css('background-color', formEmptyColor);
  }
  
  if(passed){
    $('#message').hide();
  } else{
    $('#message').html(error);
    $('#message').removeClass('form-message-good').addClass('form-message-bad');
    $('#message').show();
  }

  return passed;
}

function validateBecomePartnerForm(){
  var error = '<b>Error Messages:</b> <br>';
  var passed = true;

  if(!isValidEmail($('[name=email]').val())){
    $('[name=email]').css('background-color', formFailedColor);
    error += '- Please enter a valid email address<br>';
    passed = false;
  } else{
    $('[name=email]').css('background-color', formEmptyColor);
  }

  if($('[name=email]').val() != $('[name=confirmEmail]').val()){
    error += '- Email and confirmation email do not match<br>';
    passed = false;
  }

  if($('[name=individualName]').val().length == 0){
    error += '- Name must not be blank<br>';
    passed = false;
  }

  if($('[name=companyName]').val().length == 0){
    error += '- Company Name must not be blank<br>';
    passed = false;
  }

  if(passed){
    $('#message').hide();
  } else{
    $('#message').html(error);
    $('#message').removeClass('form-message-good').addClass('form-message-bad');
    $('#message').show();
  }

  return passed;
}

function validateBecomeBuyerForm(){
  var error = '<b>Error Messages:</b> <br>';
  var passed = true;

  if(!isValidEmail($('[name=email]').val())){
    $('[name=email]').css('background-color', formFailedColor);
    error += '- Please enter a valid email address<br>';
    passed = false;
  } else{
    $('[name=email]').css('background-color', formEmptyColor);
  }

  if($('[name=email]').val() != $('[name=confirmEmail]').val()){
    error += '- Email and confirmation email do not match<br>';
    passed = false;
  }

  if($('[name=individualName]').val().length == 0){
    error += '- Name must not be blank<br>';
    passed = false;
  }

  if($('[name=companyName]').val().length == 0){
    error += '- Company Name must not be blank<br>';
    passed = false;
  }

  if(passed){
    $('#message').hide();
  } else{
    $('#message').html(error);
    $('#message').removeClass('form-message-good').addClass('form-message-bad');
    $('#message').show();
  }

  return passed;
}

function validateBecomeBuyerForm(){
  var error = '<b>Error Messages:</b> <br>';
  var passed = true;

  if(!isValidEmail($('[name=email]').val())){
    $('[name=email]').css('background-color', formFailedColor);
    error += '- Please enter a valid email address<br>';
    passed = false;
  } else{
    $('[name=email]').css('background-color', formEmptyColor);
  }

  if($('[name=email]').val() != $('[name=confirmEmail]').val()){
    error += '- Email and confirmation email do not match<br>';
    passed = false;
  }

  if($('[name=individualName]').val().length == 0){
    error += '- Name must not be blank<br>';
    passed = false;
  }

  if($('[name=companyName]').val().length == 0){
    error += '- Company Name must not be blank<br>';
    passed = false;
  }

  if(passed){
    $('#message').hide();
  } else{
    $('#message').html(error);
    $('#message').removeClass('form-message-good').addClass('form-message-bad');
    $('#message').show();
  }

  return passed;
}

function validateContactUsForm(){
  var error = '<b>Error Messages:</b> <br>';
  var passed = true;

  if(!isValidEmail($('[name=email]').val())){
    $('[name=email]').css('background-color', formFailedColor);
    error += '- Please enter a valid email address<br>';
    passed = false;
  } else{
    $('[name=email]').css('background-color', formEmptyColor);
  }

  if($('[name=First_Name]').val().length == 0 || $('[name=Last_Name]').val().length == 0){
    error += '- Name must not be blank<br>';
    passed = false;
  }

  if($('[name=phoneNumber]').val().length == 0){
    error += '- Phone number must not be blank<br>';
    passed = false;
  }

  if($('[name=State]').val().length == 0){
    error += '- State must not be blank<br>';
    passed = false;
  }

  if(passed){
    $('#message').hide();
  } else{
    $('#message').html(error);
    $('#message').removeClass('form-message-good').addClass('form-message-bad');
    $('#message').show();
  }

  return passed;
}

function validateInstallerForm(){
  return true;
}

function validateOwnerForm(){
  var error = '<b>Error Messages:</b> <br>';
  var passed = true;
				
  localPass1 = validateCompany();
  localPass2 = validateCompanyTitle();

  if(!localPass1 && !localPass2){
    error = error + '&nbsp;&nbsp;- You are missing a company name and/or position/title<br>';
    passed = false;
  }

  if($('[name=Skip_Email_Address]').val() != '1'){
    if(!validateEmail()){
      error = error + '&nbsp;&nbsp;- You did not enter a valid email address<br>';
      passed = false;
    }
  }

  localPass1 = validateFirstName(false);
  localPass2 = validateLastName(false);
  localPass3 = validateStreetAddress1(false);
  localPass4 = validateCity(false);

  if(!localPass1 || !localPass2 || !localPass3 || !localPass4){
    error = error + '&nbsp;&nbsp;- You are missing First Name, Last Name, Street Address 1 or City<br>';
    passed = false;
  }

  if(!validateState(false)){
    error = error+'&nbsp;&nbsp;- You are missing a State<br>';
    passed = false;
  }

  if(!validateZip(false)){
    error = error+'&nbsp;&nbsp;- Zip Code must be 5 digits<br>';
    passed = false;
  }

  if(!validatePrimaryPhone()){
    error = error + '&nbsp;&nbsp;- Phone must be 10 digits<br>';
    passed = false;
  }

  if(!validateMobilePhone()){
    error = error + '&nbsp;&nbsp;- Mobile Phone must be 10 digits, or empty<br>';
    passed = false;
  }

  if(!validateFax()){
    error = error + '&nbsp;&nbsp;- Fax Number must be 10 digits, or empty<br>';
    passed = false;
  }

  updateDiv = 'message';
  if(passed){
    $('#' + updateDiv).hide();
  } else{
    $('#' + updateDiv).html(error);
    $('#' + updateDiv).show();
    var targetOffset = $('#' + updateDiv).offset().top - 10;
    $('html,body').animate({scrollTop: targetOffset}, 'slow');
  }		

  return passed;
}

/* System Fields */

function validateSystemBehindMeter(skipPopup){
  if($('[name=Behind_the_Meter]').val() == '0'){
    if(!skipPopup){
      alert('We cannot register your system if it is not behind a meter. Please call the Sol Systems Team if you have any questions.');
    }
    return false;
  } else{
    return true;
  }
}

function toggleRowGroup(rowGroup){
  $('tr.' + rowGroup).toggle();
}

function validateStepRegistration(){
  streetPass = true; countyPass = true; installerPass = true; nameplatePass = true;
  if($('[name=System_Street_Address_1]').val().length == 0 || 
      $('[name=System_City]').val().length == 0 || 
      $('[name=System_State]').val().length == 0 ||
      $('[name=System_Zip_Code]').val().length == 0){
    streetPass = false;
  }

  if($('[name=System_County]').val().length == 0){
    countyPass = false;
  }

  if($('[name=Installer_ID]').val().length == 0 || $('[name=Installer_ID]').val() == "0" || 
    ($('[name=Installer_ID]').val() == "-1" && ($('[name=Installer_Company_Name]').val().length == 0 || 
    $('[name=Installer_Email]').val().length == 0 || $('[name=Installer_Phone_Number1]').val().length == 0 || 
    $('[name=Installer_Phone_Number2]').val().length == 0 || $('[name=Installer_Phone_Number3]').val().length == 0))){

    installerPass = false;
  }

  if($('[name=System_Type]').val() == 'PV' && ($('[name=Nameplate_Capacity]').val().length == 0 || 
    $('[name=Nameplate_Capacity]').val() > 20 || $('[name=Nameplate_Capacity]').val() == 0)){
    nameplatePass = false;
  }

  if($('[name=System_Type]').val() == 'ST' && ($('[name=Solar_Annual_Estimated_OG300_Output]').val().length == 0 || 
    $('[name=Solar_Annual_Estimated_OG300_Output]').val() > 10000 || $('[name=Solar_Annual_Estimated_OG300_Output]').val() < 500)){
    nameplatePass = false;
  }

  changeSystemState();

  if(streetPass && countyPass && installerPass && nameplatePass){
    $('#second-step-header').show();
    $('tbody#system-step-2').show();
    $('#form-actions').show();
    $('#step-2-text-before').hide();
    $('tr#extended-details-button').hide();
    $('#registration-tips ol li.step-2-tips').show();

    validateSystemDocs();

    return true;
  } else{
    $('#second-step-header').show();
    $('tbody#system-step-2').hide();
    $('#form-actions').hide();
    $('#step-2-text-before').show();
    $('tr#extended-details-button').show();
    $('#registration-tips ol li.step-2-tips').show();

    return false;
  }
}

function validateSystemDocs(){
  //check business
  isBusiness = false;
  if($('[name=Is_Business]').val() == '1'){
    isBusiness = true;
  } 

  //check pictures
  stateId = parseInt($('[name=System_State]').val());
  requiresPhotoArray = [3, 10, 11, 14, 19];//OH, KY, MI, IN, WV
  requiresPhoto = false;
  if(jQuery.inArray(stateId, requiresPhotoArray) !== -1){
    requiresPhoto = true;
  } 

  //check MA
  stateId = parseInt($('[name=System_State]').val());
  requiresMASRECArray = [13]; //MA
  requiresMASREC = false;
  if(jQuery.inArray(stateId, requiresMASRECArray) !== -1){
    requiresMASREC = true;
  }

  if(isBusiness || requiresPhoto || requiresMASREC){
    $('#required-system-docs').show();
    if(isBusiness){
      $('#doc-good-standing').show();
      $('#doc-interconnection').show();
    } else{
      $('#doc-good-standing').hide();
      $('#doc-interconnection').hide();
    }

    if(requiresPhoto){
      $('#doc-picture-array').show();
      $('#doc-picture-meter').show();
    } else{
      $('#doc-picture-array').hide();
      $('#doc-picture-meter').hide();
    }

    if(requiresMASREC){
      $('#doc-MA-SREC-agreement').show();
    } else{
      $('#doc-MA-SREC-agreement').hide();
    }
  } else{
    $('#required-system-docs').hide();
  }
}

function changeColorOnChange(element){
  if($(element).val().length == 0){
    $(element).css('background-color', formEmptyColor);
  } else{
    $(element).css('background-color', formPassedColor);
  }
}

function prepareSystemForm(){
  //set datepicker
  $('.datepicker').datepicker({dateFormat: 'yy-mm-dd'});
  validateStepRegistration();

  $("[name=Payment_Method]").change(function() {
    var $selected = $("[name=Payment_Method]").val();
    if($selected == 'Fixed3'){
      alert('The SREC 3 program provides a guaranteed price of $303 per SREC for a term of 3 years.');
    }
  });
}

function showAllFields(){
  $('tr').show();

  if($('[name=SameAddress]').val() == '1'){
    $('tr.system-address-group').hide();
  }

  if($('[name=Installer_ID]').val() != '-1'){
    $('tr.system-installer-group').hide();
  }

  if($('[name=GATS_Registered]').val() != '1'){
    $('tr.GATS-group').hide();
  }

  if($('[name=Solar_Meter_Present]').val() != '1'){
    $('tr.meter-reading-group').hide();
  }

  if($('[name=adjustments]').val() != '1'){
    $('tr.adjustments-group').hide();
  }

  if($('[name=System_Type]').val() == 'PV'){
    $('tr.system-solar-group').hide();
  } else{
    $('tr.system-PV-group').hide();
  }

  if($('[name=Payment_Method]') != 'upfront'){
    $('tr.upfront-group').hide();
  }

  if(!$("#[name=System_Type] option[value='ST']").length){
    $('<option value="ST">Solar Thermal</option>').appendTo("[name=System_Type]");
  }

  paymentMethods = {
    Fixed: 'Sol Annuity',
    Fixed3: 'Sol SREC3',
    Upfront: 'Sol Upfront',
    Brokerage: 'Sol Brokerage'
  }

  $.each(paymentMethods, function(key, val){
    if(!$("#[name=Payment_Method] option[value='" + key + "']").length){
      $('<option value="' + key + '">' + val + '</option>').appendTo("[name=Payment_Method]");
    }
  });

  if($('[name=Solar_Meter_Present]').val() == "1" && $('[name=Remote_Monitoring_Access]').val() != "1"){
    $('tr.remote-monitoring-group').hide();
  }
}

function changeSystemState(){
  showAllFields();
  stateId = parseInt($('[name=System_State]').val());

  //no solar thermal right now
  if($('[name=System_Type]').val() != 'ST'){
    $("[name=System_Type] option[value='ST']").remove();
  }

  //no upfront right now
  if($('[name=Payment_Method]').val() != 'Upfront'){
    $("#[name=Payment_Method] option[value='Upfront']").remove();
  }

  //brokerage only for NJ and MA
  if(stateId != 7 && stateId != 13){
    $("#[name=Payment_Method] option[value='Brokerage']").remove();
  }

  //no annuity for MA
  if(stateId == 13){
    $("#[name=Payment_Method] option[value='Fixed']").remove();
  }

  //no SREC3 option for anyone outside PA and OH
  if(stateId != 3 && stateId != 5){
    $("#[name=Payment_Method] option[value='Fixed3']").remove();
  }

  //PA only sunshine info
  if(stateId != 5){
    $('tr.PA-sunshine-group').hide();
  }

  //NJ Omissions
  if(stateId == 7){ 
    $('tr.NJ-omission-group').hide();
  } else{
    $('tr#nj-certification-number').hide();
  }

  if(stateId == 13){ //MA Includes and Omissions
    $('tr.MA-omission-group').hide();
    
    if($('[name=NEPOOL_GIS_Registered]').val() != '1'){
      $('tr.NEPOOL-group').hide();
    }

    if($('[name=MA_CEC_Tracking_System_Registered]').val() != '1'){
      $('tr.MA-CEC-tracking-group').hide();
    }
  } else{
    $('tr.MA-include-group').hide();
  }
}

/* Admin - specific */

function addSystemCertInfo(){
  systemId = $('[name=Curr_Cert_System_ID]').val();
  state = $('[name=Curr_Cert_State]').val();
  subDate = $('[name=Curr_Sub_Date]').val();
  issueDate = $('[name=Curr_Iss_Date]').val();
  certNumber = $('[name=Curr_Cert_Number]').val();
  fakeCertNum = $('[name=fakeCertNum]').val();
  sysText = $("#Curr_Cert_System_ID option[value='" + systemId + "']").text();

  if(systemId.length == 0 || state.length == 0){
    alert('You must select both a system and state');
  } else{
    newRow = '<tr id="cert-row-' + fakeCertNum + '"><td class="system-identity"><input type="hidden" id="' + fakeCertNum + '-id_System" name="' + fakeCertNum + '-id_System" value="' + systemId + '">';
    newRow += sysText + '</td>';
    newRow += '<td><input type="text" id="' + fakeCertNum + '-Cert_State" name="' + fakeCertNum + '-Cert_State" value="' + state + '"></td>';
    newRow += '<td><input type="text" id="' + fakeCertNum + '-Cert_Number" name="' + fakeCertNum + '-Cert_Number" value="' + certNumber + '"></td>';
    newRow += '<td><input class="datepicker" type="text" id="' + fakeCertNum + '-Sub_Date" name="' + fakeCertNum + '-Sub_Date" value="' + subDate + '"></td>';
    newRow += '<td><input class="datepicker" type="text" id="' + fakeCertNum + '-Iss_Date" name="' + fakeCertNum + '-Iss_Date" value="' + issueDate + '"></td>';
    newRow += '<td><a href="#" onclick="removeSystemCertInfo(' + fakeCertNum + ');return false;">Delete</a></td></tr>';

    $(newRow).insertBefore('#cert-last-row');

    $('#bulk-certifications-table').tableHover({headCols: true, colClass: 'hover', cellClass: 'hovercell'});

    $(function() {
      $('.datepicker').datepicker({dateFormat: 'yy-mm-dd'});
    });

    fakeCertNum += 1;
    $('[name=fakeCertNum]').val(fakeCertNum);
  }
}

function removeSystemCertInfo(certNumber){
  $('#cert-row-' + certNumber).remove();
  $('[name=deletedCerts]').val($('[name=deletedCerts]').val() + certNumber + ',');
}

/* General Field Utils */

function copyField(field1, field2, noErrorIfEmpty){
  field1 = $('[name=' + field1 + ']');
  field2 = $('[name=' + field2 + ']');

  if(trim(field1.val()).length > 0){
    field2.val(field1.val());
    field1.css('background-color',formPassedColor);
    field2.css('background-color',formPassedColor);
    return true;
  } else{
    if(!noErrorIfEmpty){
      field1.css('background-color',formFailedColor);
      return false;
    } else{
      return true;
    }
  }
}
