<!--
var digits = "0123456789";

var lowercaseLetters = "abcdefghijklmnopqrstuvwxyz"

var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

var whitespace = " \t\n\r";

var defaultEmptyOK = true;

var reEmail = /^.+\@.+\..+$/
function isEmail (s)
{   if (isEmpty(s))
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    else {
       return reEmail.test(s)
    }
}

var reInteger = /^\d+$/
function isInteger (s) {
	var i;
    if (isEmpty(s))
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    return reInteger.test(s)
}

function isEmpty(inputStr) {
	var regexp = / /g
	sourceString = inputStr
	inputStr=sourceString.replace( regexp , "")
	if (inputStr == null || inputStr == "") {
		return true
	}
	return false
}

var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/
function isFloat (inputStr){   
	if (isEmpty(inputStr)) {
		if (isFloat.arguments.length == 1) {
			return false; //defaultEmptyOK;
		} else {
			return (isFloat.arguments[1] == true);
		}
	} 
    return reFloat.test(inputStr)
}

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0
   }
   return this
}

var daysInMonth = makeArray(12);
daysInMonth[1] = 31;
daysInMonth[2] = 29;   // must programmatically check this
daysInMonth[3] = 31;
daysInMonth[4] = 30;
daysInMonth[5] = 31;
daysInMonth[6] = 30;
daysInMonth[7] = 31;
daysInMonth[8] = 31;
daysInMonth[9] = 30;
daysInMonth[10] = 31;
daysInMonth[11] = 30;
daysInMonth[12] = 31;

function daysInFebruary (year) {   
    return (  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 );
}

function isDate (year, month, day)  {  
    var intYear = parseInt(year);
    var intMonth = parseInt(month);
    var intDay = parseInt(day);

    if (intDay > daysInMonth[intMonth]) {
     return false;
    }
    if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) {
    return false;
    }
    return true;
}

function getSelectedElementText(selectGroup) {
for (var i=0 ; i < selectGroup.length ; i++) {
	if (selectGroup.options[i].selected) {
		return selectGroup.options[i].text
		}
	}
}

function ClickAll(getForm){
  for (var i=0;i<getForm.elements.length;i++)
    {
    var e=getForm.elements[i];
    if (e.name!='allbox')
      e.checked=getForm.allbox.checked;
    }
}

function isFileTypeValid(inputStr , fileType){
var args=isFileTypeValid.arguments
for (var i=1 ; i < args.length ; i++ ) {
var offset = args[i].length 
var filetype  = inputStr.substring( (inputStr.length - offset) , (inputStr.length) )
if ( filetype.toUpperCase() == args[i].toUpperCase() )
{
return true
}
}
return false 
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function in_array(stringToSearch, arrayToSearch) {
  for (s = 0; s <arrayToSearch.length; s++) {
    thisEntry = arrayToSearch[s].toString();
    if (thisEntry == stringToSearch) {
      return s;
    }
  }
  return -1;
}
// ajax related
function aaGetXmlHttpRequest() {
   var xmlHttpObj;
   if (window.XMLHttpRequest) {
      xmlHttpObj = new XMLHttpRequest();
   } else {
      try
         {
            xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch (e)
         {
            try
            {
               xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
               xmlHttpObj = false;
            }
         }
    }
   return xmlHttpObj;
}

function getRecipe(evnt) {
   if (!xmlhttp) xmlhttp = aaGetXmlHttpRequest();
   if (!xmlhttp) return;
   var drink = encodeURIComponent(document.getElementById('drink').value);
   var qry = 'drink=' + drink;
   var url = 'drink.php?' + qry;
   xmlhttp.open('GET', url, true);
   xmlhttp.onreadystatechange = printRecipe;
   xmlhttp.send(null);
   if (evnt && evnt.preventDefault)
     evnt.preventDefault();
   return false;
}

//function printRecipe() {
   //if(xmlhttp.readyState == 4 && xmlhttp.status == 200) 
      //alert(xmlhttp.getAllResponseHeaders());
      //alert(xmlhttp.responseText);
   //}
//}
// screen out older IE versions
function aaScreenIE() {
   if (navigator.appName == 'Microsoft Internet Explorer') {
     msie=navigator.appVersion.split("MSIE");
     version=parseFloat(msie[1]);
     if (version >= 6) return false;
   } else return false;
   return true;
}

// Add recipe to page
function printRecipe() {
   if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      var body = document.getElementsByTagName('body');
      // remove, if exists
      if (document.getElementById('recipe')) {
         body[0].removeChild(document.getElementById('recipe'));
      }
      var recipe = document.createElement('div');
      recipe.id = 'recipe';
      //recipe.className = 'recipe';
      recipe.innerHTML = xmlhttp.responseText;
      body[0].appendChild(recipe);
   }
}
//-->
