// JavaScript Document

function validatereservation(){
	
	if(document.getElementById('txt_name').value==''){
		document.getElementById('err_msg').innerHTML="Your first name is missing.";
		document.getElementById('txt_name').focus();		
		return false;
	}
	if(document.getElementById('txt_lname').value==''){
		document.getElementById('err_msg').innerHTML="Your Last name is missing.";
		document.getElementById('txt_lname').focus();		
		return false;
	}
	if(document.getElementById('txt_add').value==''){
		document.getElementById('err_msg').innerHTML="Address is missing.";
		document.getElementById('txt_add').focus();		
		return false;
	}
	if(document.getElementById('txt_city').value==''){
		document.getElementById('err_msg').innerHTML="Please enter your city.";
		document.getElementById('txt_city').focus();		
		return false;
	}

	if(!isValidEmail(trim(document.getElementById('txt_cell').value))){
		
		document.getElementById('err_msg').innerHTML="Invalid your e-mail id.";
		document.getElementById('txt_cell').focus();	
		
		return false;
	}
	if(document.getElementById('txt_tvdate').value==''){
		document.getElementById('err_msg').innerHTML="Travelling date is missing";
		document.getElementById('txt_tvdate').focus();		
		return false;
	}
	if(document.getElementById('verificationcode').value==''){
		document.getElementById('err_msg').innerHTML="Enter your image text.";
		document.getElementById('verificationcode').focus();		
		return false;
	}
}


	
function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;
  
   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

	function isDate(str)
	{
		  var myDate = new Date(str);
	 
		  return !isNaN(myDate);
	 }
	 
// Credit Card Validation Javascript
// copyright 12th May 2003, by Stephen Chapman, Felgall Pty Ltd

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.

function validateCreditCard(s) {
	function cardval(s) {
	// remove non-numerics
	var v = "0123456789";
	var w = "";
	for (i=0; i < s.length; i++) {
	x = s.charAt(i);
	if (v.indexOf(x,0) != -1)
	w += x;
	}
	// validate number
	j = w.length / 2;
	if (j < 6.5 || j > 8 || j == 7) return false;
	k = Math.floor(j);
	m = Math.ceil(j) - k;
	c = 0;
	for (i=0; i<k; i++) {
	a = w.charAt(i*2+m) * 2;
	c += a > 9 ? Math.floor(a/10 + a%10) : a;
	}
	for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
	return (c%10 == 0);
	}
}
