// Validate not null

//

function validSearch(txtFld) {

  if (txtFld.value.length == 0) {

    alert("The search field cannot be blank."); 

    return false;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The search field cannot have a leading space"); 

    return false;

 }

return true;

}

// Validate not null

//

function noNull(txtFld) {

  if (txtFld.value.length == 0) {

    alert("This field requires an entry."); 

    return false;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The first character of this field cannot be a space"); 

    return false;

 }

return true;

}



// Future or current dates (DD1.1)

//

function dateCheck(enteredMnth, enteredDay, enteredYear) {

today = new Date();



currMnth = today.getMonth()+1;

currDay = today.getDate();

currYear = today.getFullYear();

var numMnth;



if (enteredMnth.value == "Jan") numMnth = 1;

if (enteredMnth.value == "Feb") numMnth = 2;

if (enteredMnth.value == "Mar") numMnth = 3; 

if (enteredMnth.value == "Apr") numMnth = 4;

if (enteredMnth.value == "May") numMnth = 5;

if (enteredMnth.value == "Jun") numMnth = 6; 

if (enteredMnth.value == "Jul") numMnth = 7;

if (enteredMnth.value == "Aug") numMnth = 8;

if (enteredMnth.value == "Sep") numMnth = 9; 

if (enteredMnth.value == "Oct") numMnth = 10;

if (enteredMnth.value == "Nov") numMnth = 11;

if (enteredMnth.value == "Dec") numMnth = 12; 

if (enteredYear.value > currYear) {

   return true;

}

if ((enteredYear.value == currYear) && (numMnth > currMnth)) {

   return true;

}



if ((enteredYear.value == currYear) && (numMnth == currMnth) && (enteredDay.value >= currDay)) {

   return true;

}

alert("The selected date must be greater than or equal to the current date."); 

return false;

} 





// Validate alphanumerics only (TF1.12)

//

function validAlphaNum(txtFld) {

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ";

var ok = "yes";

var temp;

  if (txtFld.value.length == 0) {

    alert("This field requires an entry."); 

    return false;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The first character of this field cannot be a space"); 

    return false;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters and numbers only."); 

   return false;

}

return true;

}





// Validate alpha and characters only

//

function validAlphaChar(txtFld) {

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()-_//><,.';:| ";

var ok = "yes";

var noSpace = "no";

var temp;

  if (txtFld.value.length == 0) {

    alert("This field requires an entry."); 

    return false;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The first character of this field cannot be a space"); 

    return false;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters only."); 

   return false;

}



return true;

}



// Validate alpha and characters only

//

function validNumChar(txtFld) {

var valid = "0123456789!@#$%^&*()-_//><,.';:| ";

var ok = "yes";

var noSpace = "no";

var temp;

  if (txtFld.value.length == 0) {

    alert("This field requires an entry."); 

    return false;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The first character of this field cannot be a space"); 

    return false;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only."); 

   return false;

}



return true;

}



// Validate alpha only (TF1.1)

//

function validAlpha(txtFld) {

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";

var ok = "yes";

var noSpace = "no";

var temp;

  if (txtFld.value.length == 0) {

    alert("This field requires an entry."); 

    return false;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The first character of this field cannot be a space"); 

    return false;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters only."); 

   return false;

}



return true;

}





// Validate letters and period only (TF1.2)

//

function validAlphaPeriod(txtFld) {

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ. ";

var ok = "yes";

var temp;

  if (txtFld.value.length == 0) {

    alert("This field requires an entry."); 

    return false;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The first character of this field cannot be a space"); 

    return false;

 }

    if (txtFld.value.substring(0,1) == ".") {

    alert("The first character of this field cannot be a period"); 

    return false;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters only."); 

   return false;

}

return true;

}





// Validate decimal number only (0-9 and '.') (TF1.11)

//

function validDecNum(numData) {

var valid = "0123456789.";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("Please use numbers only."); 

    return false;

 }



for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

   }

return true;

}



// Validate Numbers only (0-9) (TF1.4)

//

function validNum(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("Please use numbers only."); 

    return false;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

   }

return true;

}







// Validate Numeric 3 digit field (TF1.5)

//

function validNum3(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("Please use numbers only."); 

    return false;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") { 

   alert("Please use numbers only.");

   return false;

}

if (numData.value.length != 3) {

   alert("This field requires three digits."); 

   return false;

}

return true;

}





// Validate Numeric 4 digit field (TF1.6)

//

function validNum4(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("Please use numbers only."); 

    return false;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

}

if (numData.value.length != 4) {

   alert("This field requires four digits."); 

   return false;

}

return true;

}





// Validate Numeric 5 digit field (TF1.7)

//

function validNum5(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("Please use numbers only."); 

    return false;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

   

}

if (numData.value.length != 5) {

   alert("This field requires five digits."); 

   return false;

}

return true;

}





// Validate Numeric 6 digit field (TF1.13)

//

function validNum6(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("Please use numbers only."); 

    return false;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

   

}

if (numData.value.length != 6) {

   alert("This field requires six digits."); 

   return false;

}

return true;

}





// Validate Numeric 6 digit field (TF1.13)

//

function validZip5Or6(numData) {

var valid = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("This field requires an entry."); 

    return false;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters and numbers only.");

   return false;

   

}

if (numData.value.length < 5) {

   alert("This field requires at least five digits."); 

   return false;

}

return true;

}







// Validate Numeric 9 digit field (TF1.8)

//

function validNum9(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    alert("Please use numbers only."); 

    return false;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

}

if (numData.value.length != 9) {

   alert("This field requires nine digits."); 

   return false;

}

return true;

}





// Validate Numeric - null okay (optional numeric field)

//

function validNumOrNull(numData) {



var valid = "0123456789";

var ok = "yes";

var temp;

if (numData.value.length == 0) {

   return true;

}

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

   }

return true;

}





// Validate Email address (TF1.3.1)

//

function validEmail(email) {



invalidChars = " /:,;" 

if (email.value.length == 0) {

   alert ("Please enter a valid e-mail address"); 

   return false; 

}

for (i=0; i< invalidChars.length; i++) {

     badChar = invalidChars.charAt(i) 

     if (email.value.indexOf(badChar,0) > -1) {

        alert ("Please enter a valid e-mail address");   

        return false; 

     }

}

atPos = email.value.indexOf("@",1) 

if (atPos == -1) {

   alert ("Please enter a valid e-mail address"); 

   return false; 

}

if (email.value.indexOf("@",atPos+1) > -1) {

   alert ("Please enter a valid e-mail address");  

   return false; 

}

periodPos = email.value.indexOf(".",atPos);

if (periodPos == -1) {

   alert ("Please enter a valid e-mail address");  

   return false;

}

if (periodPos+3 > email.value.length) {

   alert ("Please enter a valid e-mail address"); 

   return false; 

}

return true 

}



//

// THE FOLLOWING FUNCTIONS ARE FOR OPTIONAL FIELDS!

// 

// Validate alphanumerics or Null

//

function validAlphaNumOrNull(txtFld) {

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ";

var ok = "yes";

var temp;

  if (txtFld.value.length == 0) {

    return true;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters and numbers only."); 

   return false;

}

return true;

}







// Validate alpha and characters only

//

function validAlphaCharOrNull(txtFld) {

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()-_//><,.';:| ";

var ok = "yes";

var noSpace = "no";

var temp;

  if (txtFld.value.length == 0) {

     return true;

 }

  if (txtFld.value.substring(0,1) == " ") {

    alert("The first character of this field cannot be a space"); 

    return false;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters only."); 

   return false;

}



return true;

}







// Validate alpha or Null

//

function validAlphaOrNull(txtFld) {

var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";

var ok = "yes";

var temp;

  if (txtFld.value.length == 0) {

    return true;

 }

for (var i=0; i<txtFld.value.length; i++) {

temp = "" + txtFld.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use letters only."); 

   return false;

}

return true;

}





// Validate Numeric - null okay (optional numeric field)

//

function validNumOrNull(numData) {



var valid = "0123456789";

var ok = "yes";

var temp;

if (numData.value.length == 0) {

   return true;

}

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

   }

return true;

}





// Validate Numeric 3 digit field or Null (TF1.5)

//



function validNum3OrNull(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    return true;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") { 

   alert("Please use numbers only.");

   return false;

}

if (numData.value.length != 3) {

   alert("This field requires three digits."); 

   return false;

}

return true;

}





// Validate Numeric 4 digit field (TF1.6)

//

function validNum4OrNull(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    return true;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

}

if (numData.value.length != 4) {

   alert("This field requires four digits."); 

   return false;

}

return true;

}

// Validate Numeric 5 digit field (TF1.6)

//

function validNum5OrNull(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

    return true;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

}

if (numData.value.length != 5) {

   alert("This field requires five digits."); 

   return false;

}

return true;

}





// Validate Numeric 6 digit field or null (TF1.13)

//

function validNum6OrNull(numData) {

var valid = "0123456789";

var ok = "yes";

var temp;

  if (numData.value.length == 0) {

     return true;

 }

for (var i=0; i<numData.value.length; i++) {

temp = "" + numData.value.substring(i, i+1);

if (valid.indexOf(temp) == "-1") ok = "no";

}

if (ok == "no") {

   alert("Please use numbers only.");

   return false;

   

}

if (numData.value.length != 6) {

   alert("This field requires six digits."); 

   return false;

}

return true;

}





// Validate Email address or Null (TF1.3.1)

//

function validEmailOrNull(email) {



invalidChars = " /:,;" 

if (email.value.length == 0) {

   return true; 

}

for (i=0; i< invalidChars.length; i++) {

     badChar = invalidChars.charAt(i) 

     if (email.value.indexOf(badChar,0) > -1) {

        alert ("Please enter a valid e-mail address");   

        return false; 

     }

}

atPos = email.value.indexOf("@",1) 

if (atPos == -1) {

   alert ("Please enter a valid e-mail address"); 

   return false; 

}

if (email.value.indexOf("@",atPos+1) > -1) {

   alert ("Please enter a valid e-mail address");  

   return false; 

}

periodPos = email.value.indexOf(".",atPos);

if (periodPos == -1) {

   alert ("Please enter a valid e-mail address");  

   return false;

}

if (periodPos+3 > email.value.length) {

   alert ("Please enter a valid e-mail address"); 

   return false; 

}

return true 

}



// This function is used FOR SURVEY /CHANNEL TRACKING/OHES







function callChannelForm( linkname )

{

  OHESSwitch = true;



  if ( linkname == "OHES" ) 

  {

    if ( OHESSwitch )

      // switch on - call ChannelTracker

      window.location.href = "https://app.fpl.com/mkt_app/channel?AppName=OHES"

    else 

      // switch off - call OHES directly

      window.location.href = "https://app.fpl.com/OHES/HomeEnergySurvey" ;

  }

}











