// BOI, followed by one or more whitespace characters, followed by EOI.
var reWhitespace = /^\s+$/
// BOI, followed by one lower or uppercase English letter, followed by EOI.
var reLetter = /^[a-zA-Z]$/
// BOI, followed by one or more lower or uppercase English letters,
// followed by EOI.
var reAlphabetic = /^[a-zA-Z]+$/
// BOI, followed by one or more lower or uppercase English letters
// or digits, followed by EOI.
var reAlphanumeric = /^[a-zA-Z0-9]+$/
// BOI, followed by one digit, followed by EOI.
var reDigit = /^\d/
// BOI, followed by one lower or uppercase English letter
// or digit, followed by EOI.
var reLetterOrDigit = /^([a-zA-Z]|\d)$/
// BOI, followed by one or more digits, followed by EOI.
var reInteger = /^\d+$/
// BOI, followed by one or more characters, followed by @,
// followed by one or more characters, followed by ., 
// followed by one or more characters, followed by EOI.
var reEmail = /^.+\@.+\..+$/
// VARIABLE DECLARATIONS
var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz"
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
// whitespace characters as defined by this sample code
var whitespace = " \t\n\r";
var mPrefix = "You did not enter a value into the "
var mSuffix = " field. This is a required field. Please enter it now."
var defaultEmptyOK = false
// Check whether string s is empty.
function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}
// Returns true if string s is empty or
// whitespace characters only.
function isWhitespace (s)
{   // Is s empty?
    return (isEmpty(s) || reWhitespace.test(s));
}
// Removes all characters which appear in regexp bag from string s.
// NOTES:
// 1) bag must be a regexp which matches single characters in isolation,
//    i.e. A or B or C or D or 1 or 2 ...
//    e.g. /\d/g  or /[a-zA-Z]/g
// 2) make sure to append the 'g' modifier (for global search & replace)
//    at the end of the regexp
//    e.g. /\d/g  or /[a-zA-Z]/g
function stripCharsInRE (s, bag)
{       return s.replace(bag, "")
}
// Removes all characters which appear in string bag from string s.
function stripCharsInBag (s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
// Removes all characters which do NOT appear in string bag
// from string s.
function stripCharsNotInBag (s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }
    return returnString;
}
// Removes all whitespace characters from s.
// Global variable whitespace (see above)
// defines which characters are considered whitespace.
function stripWhitespace (s)
{   return stripCharsInBag (s, whitespace)
}
function charInString (c, s)
{   for (i = 0; i < s.length; i++)
    {   if (s.charAt(i) == c) return true;
    }
    return false
}
function stripInitialWhitespace (s)
{   var i = 0;
    while ((i < s.length) && charInString (s.charAt(i), whitespace))
       i++;
    return s.substring (i, s.length);
}
function isLetter (c)
{   return reLetter.test(c)
}
// Returns true if character c is a digit
// (0 .. 9).
function isDigit (c)
{   return reDigit.test(c)
}
// Returns true if character c is a letter or digit.
function isLetterOrDigit (c)
{   return reLetterOrDigit.test(c)
}
function isAlphabetic (s)
{   var i;
    if (isEmpty(s))
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);
    else {
       return reAlphabetic.test(s)
    }
}
function isAlphanumeric (s)
{   var i;
    if (isEmpty(s))
       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);
    else {
       return reAlphanumeric.test(s)
    }
}
// isEmail (STRING s [, BOOLEAN emptyOK])
// Email address must be of form a@b.c -- in other words:
// * there must be at least one character before the @
// * there must be at least one character before and after the .
// * the characters @ and . are both required
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function isEmail (s)
{   if (isEmpty(s))
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    else {
       return reEmail.test(s)
    }
}
/* FUNCTIONS TO NOTIFY USER OF INPUT REQUIREMENTS OR MISTAKES. */
// Display prompt string s in status bar.
function prompt (s)
{   window.status = s
}
// Display data entry prompt string s in status bar.
function promptEntry (s)
{   window.status = pEntryPrompt + s
}
// Notify user that required field theField is empty.
// String s describes expected contents of theField.value.
// Put focus in theField and return false.
function warnEmpty (theField, s)
{   theField.focus()
    alert(mPrefix + s + mSuffix)
    return false
}
// Notify user that contents of field theField are invalid.
// String s describes expected contents of theField.value.
// Put select theField, pu focus in it, and return false.
function warnInvalid (theField, s)
{   theField.focus()
    theField.select()
    alert(s)
    return false
}
/* FUNCTIONS TO INTERACTIVELY CHECK VARIOUS FIELDS. */
// checkString (TEXTFIELD theField, STRING s, [, BOOLEAN emptyOK==false])
// Check that string theField.value is not all whitespace.
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkString (theField, s, emptyOK)
{   // Next line is needed on NN3 to avoid "undefined is not a number" error
    // in equality comparison below.
    if (checkString.arguments.length == 2) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    if (isWhitespace(theField.value)) 
       return warnEmpty (theField, s);
    else return true;
}
// checkInternationalPhone (TEXTFIELD theField [, BOOLEAN emptyOK==false])
// Check that string theField.value is a valid International Phone.
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkInternationalPhone (theField, emptyOK)
{   if (checkInternationalPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else
    {  if (!isInternationalPhoneNumber(theField.value, false)) 
          return warnInvalid (theField, iWorldPhone);
       else return true;
    }
}
// checkEmail (TEXTFIELD theField [, BOOLEAN emptyOK==false])
// Check that string theField.value is a valid Email.
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkEmail (theField, emptyOK)
{   if (checkEmail.arguments.length == 1) emptyOK = defaultEmptyOK;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else if (!isEmail(theField.value, false)) 
       return warnInvalid (theField, iEmail);
    else return true;
}
function validateLeadForm(leadForm) {
    var name=trim(leadForm.guestName.value).split(" ");
    for(var i=0;i<name.length;i++) {
        if(!isAlphabetic(name[i])) {
             document.getElementById('leadnameerror').innerHTML="Please provide valid name";
             return false;
         }
    }
    if(!isEmail(leadForm.email.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="Please provide valid email";
          return false;
     }
    if(!leadForm.mobile.value && !leadForm.phone.value)
    {   document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        alert("Please provide phone/mobile no.");
        return false;
    } else if(leadForm.phone.value && !isDigit(leadForm.phone.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="Please provide valid phone no";
        return false;
    } else if(leadForm.mobile.value && !isDigit(leadForm.mobile.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="Please provide valid mobile no";
       return false;
    }
     return true;
}

function validateEmail(emailVal) {
    if(!isEmail(emailVal)) {
         alert("Please provide valid email");
          return false;
     }
     return true;
}

function validateFlightLeadForm(payAndBooking) {
    if(!payAndBooking.firstName.value)
    {
        alert("Please specify your First Name");
        return false;
    } else if(!payAndBooking.lastName.value) {
        alert("Please specify your Last Name with more than 2 characters.");
        return false;
    } else if(!payAndBooking.homePhone.value) {
        alert("Please specify your Mobile Number information.");
       return false;
    } else if(payAndBooking.homePhone.value && !isDigit(payAndBooking.homePhone.value)) {
        alert("Sorry, please provide valid mobile no");
        return false;
    }
     else if(!payAndBooking.emailAddress.value) {
        alert("Please specify your Email Address");
        return false;
    } else if(payAndBooking.emailAddress.value && !isEmail(payAndBooking.emailAddress.value)) {
        alert("Sorry, please provide valid Email Address");
        return false;
    }
    else if(!document.getElementById('addressname').value) {
        alert("Please specify your Address First Name");
        return false;
    }    else if(!document.getElementById('line1').value) {
        alert("Please specify your Address Line1");
        return false;
    }
    else if(!document.getElementById('city').value) {
        alert("Please specify your Address City");
        return false;
    }
    else if(!document.getElementById('zip').value) {
        alert("Please specify your Address Zip");
        return false;
    } else if(document.getElementById('zip').value && !isDigit(document.getElementById('zip').value)) {
        alert("Address Zip should be numeric");
        return false;
    }
    else if(!document.getElementById('state').value) {
        alert("Please specify your Address State");
        return false;
    } else if(!document.getElementById('country').value) {
        alert("Please specify your Address Country");
        return false;
    } else if(!document.getElementById('cardholder').value) {
        alert("Please specify Name on the Card");
        return false;
    }else if(!document.getElementById('firstnamecard').value) {
        alert("Please specify Card Holder First Name");
        return false;
    }else if(!document.getElementById('lastnamecard').value) {
        alert("Please specify Card Holder Last Name");
        return false;
    }else if(!document.getElementById('cardNum').value) {
        alert("Please specify Card Number");
        return false;
    }else if(document.getElementById('cardNum').value && !isDigit(document.getElementById('cardNum').value)) {
        alert("Sorry, Card Number should be numeric");
        return false;
    }else if(!(document.getElementById('cardNum').value.length==14 || document.getElementById('cardNum').value.length==15 || document.getElementById('cardNum').value.length==16)) {
        alert("Sorry, Card Number should be of 14 or 15 or 16 digit");
        return false;
    }
    else if(!document.getElementById('cVVNo').value) {
        alert("Please specify CVV Number");
        return false;
    }
    else if(document.getElementById('cVVNo').value && !isDigit(document.getElementById('cVVNo').value)) {
        alert("Sorry, CVV Number should be numeric");
        return false;
    }else if(!(document.getElementById('cVVNo').value.length==4 || document.getElementById('cVVNo').value.length==3)) {
        alert("Sorry, Card Number should be of 3 or 4 digit");
        return false;
    } else if (document.getElementById('termsCondition').checked == false){
                {
                    alert("Please check the Terms and condition.")
                    return false;
                }
    }
     return true;
}

function validateHomePageLeadForm(leadForm) {
    var name=trim(leadForm.guestName.value).split(" ");
    for(var i=0;i<name.length;i++) {
        if(!isAlphabetic(name[i])) {
             document.getElementById('leadnameerror').innerHTML="Please provide valid name";
             return false;
         }
    }
    if(!isEmail(leadForm.email.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="Please provide valid email";
          return false;
     }
    if(!leadForm.mobile.value && !leadForm.phone.value)
    {   document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        alert("Please provide phone/mobile no.");
        return false;
    } else if(leadForm.phone.value && !isDigit(leadForm.phone.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="Please provide valid phone no";
        return false;
    } else if(leadForm.mobile.value && !isDigit(leadForm.mobile.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="Please provide valid mobile no";
       return false;
    }
    else if(leadForm.cityId!=null && leadForm.cityId.value=='0') {
        alert("Please select your destination");
          return false;
     } else if(leadForm.countryId!=null && leadForm.countryId.value=='0') {
        alert("Please select your country of residence");
          return false;
     }
     return true;
}


function validateBusLeadForm(leadForm) {
    var name=trim(leadForm.guestName.value).split(" ");
    for(var i=0;i<name.length;i++) {
        if(!isAlphabetic(name[i])) {
             document.getElementById('leadnameerror').innerHTML="Please provide valid name";
             return false;
         }
    }
    if(!isEmail(leadForm.email.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="Please provide valid email";
          return false;
     }
//    if(!leadForm.cityName.value){
//        document.getElementById('leadnameerror').innerHTML="";
//        document.getElementById('emailerror').innerHTML="";
//        document.getElementById('locationerror').innerHTML="Please enter Location";
//          return false;
//     }
    if(!leadForm.mobile.value && !leadForm.phone.value)
    {   document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        alert("Please provide phone/mobile no.");
        return false;
    }
    else if(leadForm.phone.value && !isDigit(leadForm.phone.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="Please provide valid phone no";
        return false;
    } else if(leadForm.mobile.value && !isDigit(leadForm.mobile.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="Please provide valid mobile no";
       return false;
    }
            else if(!leadForm.cityFrom.value) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        document.getElementById('fromerror').innerHTML="Please provide From City";
        return false;
     }
        else if(!leadForm.cityTo.value) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        document.getElementById('fromerror').innerHTML="";
        document.getElementById('toerror').innerHTML="Please provide To City";
        return false;
     }
    else if(!leadForm.startDateStr.value) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        document.getElementById('fromerror').innerHTML="";
        document.getElementById('toerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="Please provide Start Date";
        return false;
     }
    else if(leadForm.duration.value && !isDigit(leadForm.duration.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        document.getElementById('fromerror').innerHTML="";
        document.getElementById('toerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="";
        document.getElementById('durationerror').innerHTML="Please provide number of days";
        return false;
     }
     return true;
}

function validatePackageLeadForm(leadForm) {
    var name=trim(leadForm.guestName.value).split(" ");
    for(var i=0;i<name.length;i++) {
        if(!isAlphabetic(name[i])) {
             document.getElementById('leadnameerror').innerHTML="Please provide valid name";
             return false;
         }
    }
    if(!isEmail(leadForm.email.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="Please provide valid email";
          return false;
     }
    if(!leadForm.mobile.value && !leadForm.phone.value)
    {   document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        alert("Please provide phone/mobile no.");
        return false;
    }
    else if(leadForm.phone.value && !isDigit(leadForm.phone.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="Please provide valid phone no";
        return false;
    } else if(leadForm.mobile.value && !isDigit(leadForm.mobile.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="Please provide valid mobile no";
       return false;
    }
    else if(!leadForm.startDateStr.value) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="Please provide Start Date";
        return false;
     }
    else if(leadForm.duration.value && !isDigit(leadForm.duration.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="";
        document.getElementById('phoneerror').innerHTML="";
        document.getElementById('mobileerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="";
        document.getElementById('durationerror').innerHTML="Please provide number of days";
        return false;
     }
     return true;
}


function changeCountryCode(countryCode,formName) {
    var i;
    for(i=0;i<formName.countrycodemo.options.length;i++) {
        if(formName.countrycodemo.options[i].value==countryCode)
        break;
    }
    formName.countrycodemo.selectedIndex=i;
    i=0;
    for(i=0;i<formName.countrycodeph.options.length;i++) {
        if(formName.countrycodeph.options[i].value==countryCode)
        break;
    }
    formName.countrycodeph.selectedIndex=i;
 }

function validateInboundLeadForm(leadForm) {
    var name=trim(leadForm.guestName.value).split(" ");
    for(var i=0;i<name.length;i++) {
        if(!isAlphabetic(name[i])) {
             document.getElementById('leadnameerror').innerHTML="Please provide valid name";
             leadForm.guestName.focus();
             return false;
         }
    }
    if(!(leadForm.startDateStr.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="Please provide tentative start date of tour";
        leadForm.startDateStr.focus();
         return false;
    }

    if(!isEmail(leadForm.email.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="Please provide valid email";
        leadForm.email.focus();
        return false;
     }

    if(!(leadForm.mobile.value) && !(leadForm.phone.value))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="Please provide either mobile or phone";
       leadForm.mobile.focus();
       return false;
   }

    if((leadForm.mobile.value) && (!isDigit(leadForm.mobile.value) || leadForm.mobile.value.length<5))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="Please provide valid mobile no";
       leadForm.mobile.focus();
       return false;
   }

   if(leadForm.countrycodemo.value=='IN' && isDigit(leadForm.mobile.value) && leadForm.mobile.value.length!=10)
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="Mobile should be 10 digit no for country India";
       leadForm.mobile.focus();
       return false;
   }
    
    if((leadForm.phone.value) && (!isDigit(leadForm.phone.value) || leadForm.phone.value.length<5))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="Please provide valid phone no";
       leadForm.phone.focus();
       return false;
   }

    if(isDigit(leadForm.phone.value) && (!isDigit(leadForm.areacode.value)
            || leadForm.areacode.value=='0' || leadForm.areacode.value==''))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="Please provide valid area code for phone no";
       leadForm.areacode.focus();
       return false;
   }

  if(leadForm.countrycodeph.value=='IN' && isDigit(leadForm.areacode.value)
         && isDigit(leadForm.phone.value))
   {   var totlen=leadForm.areacode.value.length+leadForm.phone.value.length;
       if(totlen!=10) {
       document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="Total digits in STD Code and Phone No should be 10 for country India";
       leadForm.phone.focus();
       return false;
       }
   }
    if(!leadForm.customerquery.value)
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('queryerror').innerHTML="Please provide valid details about your tour";
       leadForm.customerquery.focus();
       return false;
   }

   if(leadForm.customerquery.value && leadForm.customerquery.value.length>900)
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('queryerror').innerHTML="Maximum 900 characters allowed in tour details";
       leadForm.customerquery.focus();
       return false;
   }

   return true; 
}

//display character length

charCount = 1;
maxCharCount = 2000;

function displayRemLength(fieldName) {
	remField = document.getElementById(fieldName);
	remField.innerHTML = (maxCharCount - charCount > 0) ? maxCharCount - charCount : 0;
}

function evalEntryLength(curField, maxLimit, discardXtra, errClass, normalClass) {
	maxCharCount = maxLimit;
	var fieldLength = getCharCount(curField);

	if (fieldLength > maxLimit) {
		if (errClass != "") {
			curField.className = errClass;
		}
		if (discardXtra) {
			showAllowedLength(curField, maxLimit);
		}
	} else if (normalClass != "") {
		curField.className = normalClass;
	}
}

function getCharCount(curField) {
	charCount = curField.value.length;

	return charCount;
}

function validateDestinationLeadForm(leadForm) {
    if(!(leadForm.startDateStr.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="Please provide tentative start date of your tour";
        leadForm.startDateStr.focus();
         return false;
    }

    var name=trim(leadForm.guestName.value).split(" ");
    for(var i=0;i<name.length;i++) {
        if(!isAlphabetic(name[i])) {
             document.getElementById('leadnameerror').innerHTML="Please provide valid name";
             leadForm.guestName.focus();
             return false;
         }
    }
    if(!isEmail(leadForm.email.value)) {
        document.getElementById('leadnameerror').innerHTML="";
        document.getElementById('startdateerror').innerHTML="";
        document.getElementById('emailerror').innerHTML="Please provide valid email";
        leadForm.email.focus();
        return false;
     }

    if(!(leadForm.mobile.value) && !(leadForm.phone.value))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="Please provide either mobile or phone";
       leadForm.mobile.focus();
       return false;
   }

    if((leadForm.mobile.value) && (!isDigit(leadForm.mobile.value) || leadForm.mobile.value.length<5))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="Please provide valid mobile no";
       leadForm.mobile.focus();
       return false;
   }

   if(leadForm.countrycodemo.value=='IN' && isDigit(leadForm.mobile.value) && leadForm.mobile.value.length!=10)
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="Mobile should be 10 digit no for country India";
       leadForm.mobile.focus();
       return false;
   }

    if((leadForm.phone.value) && (!isDigit(leadForm.phone.value) || leadForm.phone.value.length<5))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="Please provide valid phone no";
       leadForm.phone.focus();
       return false;
   }

    if(isDigit(leadForm.phone.value) && (!isDigit(leadForm.areacode.value)
            || leadForm.areacode.value=='0' || leadForm.areacode.value==''))
   {   document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="Please provide valid area code for phone no";
       leadForm.areacode.focus();
       return false;
   }

  if(leadForm.countrycodeph.value=='IN' && isDigit(leadForm.areacode.value)
         && isDigit(leadForm.phone.value))
   {   var totlen=leadForm.areacode.value.length+leadForm.phone.value.length;
       if(totlen!=10) {
       document.getElementById('leadnameerror').innerHTML="";
       document.getElementById('emailerror').innerHTML="";
       document.getElementById('startdateerror').innerHTML="";
       document.getElementById('mobileerror').innerHTML="";
       document.getElementById('phoneerror').innerHTML="Total digits in STD Code and Phone No should be 10 for country India";
       leadForm.phone.focus();
       return false;
       }
   }
//   return true;
}

 function validatePackageLeadFormClick(leadForm){
    var name=trim(leadForm.guestName.value).split(" ");
    for(var i=0;i<name.length;i++) {
        if(!isAlphabetic(name[i])) {
            alert("Please provide valid name")
             return false;
         }
    }
    if(!isEmail(leadForm.email.value)) {
        alert("Please provide valid email");
          return false;
     }
    if(!leadForm.mobile.value && !leadForm.phone.value)
    {
        alert("Please provide phone/mobile no.");
        return false;
    }
    else if(leadForm.phone.value && !isDigit(leadForm.phone.value)) {
        alert("Please provide valid phone no");
        return false;
    } else if(leadForm.mobile.value && !isDigit(leadForm.mobile.value)) {
        alert("Please provide valid mobile no");
       return false;
    }
     return true;
}

