<!--
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 in_array(stringToSearch, arrayToSearch) {
  for (s = 0; s <arrayToSearch.length; s++) {
    thisEntry = arrayToSearch[s].toString();
    if (thisEntry == stringToSearch) {
      return s;
    }
  }
  return -1;
}

function popupwin(url,winname,width,height)
{
	wh = window.open(url,winname,"scrollbars=yes,resizable=1,left=100,top=100,width=" + width + ",height=" + height);
	wh.focus();
	//return false;
}

// 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;
}
//-->
