﻿ /*Code added by Anupama to validate phone no against continuous zero*/     
        function validateAreaCode(fld1,fieldname,culture)
        {
        var error = "",culture="en_US";   
        var stripped1 = fld1.value.replace(/[\(\)\.\-\ ]/g, '');          
        var total=0;  

        var atPos=fld1.value.indexOf(')',0);
        var atPos1=fld1.value.indexOf('(',0);
        var strppedval="";
            
         if(atPos>0)
          { 
          strppedval=fld1.value.substr(atPos+1);          
          }
         else if(atPos1<0 && atPos>0)
         {
          strppedval=fld1.value.substr(atPos1+1).replace(/[\(\)\.\-\ ]/g, '');           
         }
         else if(atPos<0 && atPos1>0)
         {
         strppedval.length=0;
         }
         else
         {
          strppedval=stripped1;         
         }
         
          for(var J=0;J<strppedval.length;J++)
          {            
           total=(parseInt(total)+parseInt(strppedval.charAt(J)));
          }                 

        if(total==0)
        {
          if(culture=="de_DE") 
           error="geben Sie eine gültige "+fieldname+" number. ";
          else if(culture=="es-ES")
           error="Por favor, introduzca válido "+ fieldname+" número. ";
          else
          error ="Please enter valid "+fieldname+" number.";
        }
           
          return error;
      }
      ///For NL
      function validateEmpty(fld, fieldname, culture) {
          var error = "";
          remove_XS_whitespace(fld);
          trim(fld.value);
          if (fld.value.length == 0) {
              if (culture == "de-DE")
                  error = "Pflichtfelder";
              else if (culture == "es-ES")
                  error = "que el campo es obligatorio";
              else
                  error = "required field";
              // code added by MAnoj bang
              changeBorderToOrange(fld, error)
              // end of code Addition
          }

          else {

              changeBorderToOrange(fld, error)

          }
          return error;
      }
      function remove_XS_whitespace(item)//remove whitespaces
      {
          var tmp = "";
          var item_length = item.value.length;
          var item_length_minus_1 = item.value.length - 1;
          for (index = 0; index < item_length; index++) {
              if (item.value.charAt(index) != ' ') {
                  tmp += item.value.charAt(index);
              }
              else {
                  if (tmp.length > 0) {
                      if (item.value.charAt(index + 1) != ' ' && index != item_length_minus_1) {
                          tmp += item.value.charAt(index);
                      }
                  }
              }
          }
          item.value = tmp;
          return item;
      }

      function trim(s) {
          return s.replace(/^\s+|\s+$/, '');
      }
      /*Used To change Text box Border to orange for invalid entry */
      function changeBorderToOrange(fieldId, error) {

          if (error == "Error") {

              if (document.all) {
                  fieldId.style.borderWidth = '';
                  fieldId.style.width = '';
                  fieldId.style.width = fieldId.offsetWidth - 6;
                  fieldId.style.borderWidth = "2px";
              }
              else {
                  fieldId.style.borderWidth = '';
                  fieldId.style.width = '';
                  fieldId.style.width = eval(fieldId.offsetWidth - 6) + "px";
                  fieldId.style.borderWidth = "2px";
              }
              fieldId.style.borderColor = "orange";
              fieldId.style.borderStyle = "solid";
          }
          else {
              fieldId.style.width = '';
              fieldId.style.borderWidth = '';
              fieldId.style.borderColor = '';
              fieldId.style.borderStyle = '';
          }
      }

      function validateCheckBox(fld1, fld2, culture) {
          var error = "";
          if (!fld1.checked && !fld2.checked) {
              if (culture == "de-DE")
                  error = "Eine Option muss gewählt werden.";
              else if (culture == "es-ES")
                  error = "Toda una opción, debe seleccionarse.";
              else
                  error = "One option must be selected.";
          }
          return error;
      }

      function chkNumeric(objName) {
          var checkOK = "0123456789";
          var checkStr = objName;
          var allValid = true;
          var decPoints = 0;
          var allNum = "";
          if (checkStr.value.charAt(0) == 0 && checkStr.value.charAt(1) == 0 && checkStr.value.charAt(2) == 0 && checkStr.value.charAt(3) == 0) {
              return (false);
          }
          else {
              for (i = 0; i < checkStr.value.length; i++) {
                  ch = checkStr.value.charAt(i);
                  for (j = 0; j < checkOK.length; j++)
                      if (ch == checkOK.charAt(j))
                      break;
                  if (j == checkOK.length) {
                      allValid = false;
                      break;
                  }

              }
              if (!allValid) {
                  return (false);

              }
              else {
                  return (true);
              }
          }
      }
      function validateCity(fld, fieldname, culture) {
          var error = "";
          var regExp = /^[a-zA-Zä-ÿÄ-Ϋà-ùÀ-Ùá-úÁ-ÚßÞ0-9]+[-a-zA-Zä-ÿÄ-Ϋà-ùÀ-Ùá-úÁ-ÚßÞ ]+[-a-zA-Zä-ÿÄ-Ϋà-ùÀ-Ùá-úÁ-ÚßÞ ]$/; // /^[a-zA-Z]+[a-zA-Z ]*$/;  // allow letters only and Or Space 

          if (fld.value == "") {
              if (culture == "de-DE")
                  error = "Bitte geben Sie ein" + " " + fieldname + " ";
              else if (culture == "es-ES")
                  error = "Por favor, introduzca un" + " " + fieldname + " ";
              else
                  error = "Please enter a " + fieldname + ".";
          }
          else {
              if (fld.value.match(regExp)) {
                  //do nothing
              }

              else {
                  if (culture == "de-DE")
                      error = "Die " + fieldname + " sollte keine unzulässigen Zeichen enthalten.";
                  else if (culture == "es-ES")
                      error = "El " + fieldname + " contiene caracteres.";
                  else
                      error = "The " + fieldname + " should not contain illegal characters.";
              }
          }

          changeBorderToOrange(fld, error);

          return error;
      }
      function validateEmail(fld, culture) {
          var error = "";
          var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
          //var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;

          // Modify by : Manoj
          // Reason    : max 4 characters after "." 
          // Date      : 02/02/2009            
          var emailFilter = /^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/;


          var illegalChars = /[\(\)\<\>\,\;\:\\\"\[\]]/;

          if (fld.value == "") {
              if (culture == "de-DE")
                  error = "Geben Sie bitte eine E-Mail-Adresse ein.";
              else if (culture == "es-ES")
                  error = "Por favor, introduzca una dirección de correo electrónico.";
              else
                  error = "Please enter an email address.";
          }
          else if (!emailFilter.test(tfld))  //test email for illegal characters
          {
              if (culture == "de-DE")
                  error = "Geben Sie bitte eine gültige E-Mail-Adresse ein.";
              else if (culture == "es-ES")
                  error = "Por favor, introduzca una dirección de correo electrónico válida.";
              else
                  error = "Please enter a valid email address.";
          } else if (fld.value.match(illegalChars)) {
              if (culture == "de-DE")
                  error = "Die E-Mail-Adresse enthält unzulässige Zeichen.";
              else if (culture == "es-ES")
                  error = "La dirección de correo electrónico contiene caracteres no permitidos.";
              else
                  error = "The email address contains illegal characters.";
          }

          // To change Border  
          changeBorderToOrange(fld, error);

          return error;
      }
      function validatePhoneJSWithoutAreaCode_NL(txtPhone, lblfieldname, culture) {
          var PhoneFilter = /^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/;
          // /^(\d{1,5})\)?\(?(\d{1,5})\)?\)?(\d{1,20})?((-)?[0-9]{1,6}?)$/;
          var error = "";
          var stripped1 = txtPhone.value.replace(/[\(\)\. ]/g, ''); //(/[\(\)\.\-\ ]/g, '');
          if (txtPhone.value == "") {
              if (txtPhone.value == "") {
                  if (culture == "de-DE")
                      error = "Bitte geben Sie " + lblfieldname + " Nummer.";
                  else if (culture == "es-ES")
                      error = "Por favor, introduzca el número " + lblfieldname + ".";
                  else
                      error = "Please enter " + lblfieldname + " number.";
                  changeBorderToOrange(txtPhone, error);
              }
          }
          else if (!PhoneFilter.test(txtPhone.value)) {
              if (culture == "de-DE")
                  error = "Bitte geben Sie eine gültige Telefonnummer"; // "Das "+ lblfieldname +" Zahl enthält unzulässige Zeichen.";
              else if (culture == "es-ES")
                  error = "por favor, introduzca el número de teléfono válido";
              else
                  error = "Please enter valid" + lblfieldname + " number.";
              changeBorderToOrange(txtPhone, error);
          }
          else {
              error = validateAreaCode(txtPhone, lblfieldname, culture);
          }
          return error;
      }

      function isAlphaNumeric(fld, culture) {
          var error = "";
          var alphanum = /^[0-9a-zA-Z]+$/; //This contains A to Z , 0 to 9 and A to B
          remove_XS_whitespace(fld);
          if (fld.value.length == 0) {
              if (culture == "de-DE")
                  error = "Pflichtfelder";
              else if (culture == "es-ES")
                  error = "que el campo es obligatorio";
              else
                  error = "required field";
          }
          else {
              if (fld.value.match(alphanum)) {
                  //do nothing
              }
              else {
                  if (culture == "de-DE")
                      error = "Geben Sie in diesem Feld bitte nur alphanumerische Zeichen ein";
                  else if (culture == "es-ES")
                      error = "Por favor, introduzca sólo alfa numéricas en este ámbito.";
                  else
                      error = "Please enter only alpha numerics in this field.";
              }
          }

          changeBorderToOrange(fld, error);
          return error;
      }
