function AddOption(objListID,strText,strValue,intIndex) {
		
		var oOption
		var intOld
		var objList
			
		objList			= document.getElementById(objListID)
		intOld			= objList.selectedIndex
		
		var oOption = new Option(strText,strValue)
		
		objList.options[objList.options.length] = oOption
		
		if (intIndex <= intOld) {
			objList.selectedIndex = intOld + 1
		}
		else {
			objList.selectedIndex=intOld
		}
		oOption=null
		
	}

function getData(strURL){
	var objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	         		        		
	objHTTP.Open('Post', strURL ,false);
	objHTTP.Send("");
		
	return objHTTP.ResponseText
}


function cmdPrint_onclick() {
	thisPrint = document.getElementById("cmdPrint")
	thisPrint.style.display = "none"
	window.print()
	thisPrint.style.display = ""
}
function setTitle() {
	var strTitle = window.document.title
	//window.parent.document.title = strTitle
	window.parent.parent.document.title = strTitle
}
function doCancel(strHref) {
	window.location.href = strHref
}
function doMsg(strType,strMsg) {
	if (strType != "") {
		alert(strMsg)
	}
}
function doNext(strURL) {
	window.location.href = strURL
}
function doPrev(strURL) {
	//window.location.href = strURL
	window.history.go(-1)
}
function getXML(strXMLURL,XMLrso){
	var objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
         		        		
	objHTTP.Open('Post', strXMLURL ,false);
	objHTTP.setRequestHeader("Content-Type","text/xml");
	objHTTP.Send("");
	
	XMLrso.async = false;
	//alert(objHTTP.ResponseText)
	//resdiv.innerText = objHTTP.ResponseText
	XMLrso.loadXML(objHTTP.ResponseText);
	
}

function getPagedXML(URL, DataIsland) {
var objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
var objRoot;
var objNode;
var objXMLDoc;

	window.status = 'Loading page, please wait...'
	if(intCurrentPage > intNumPages && intNumPages != -1) {intCurrentPage = intNumPages}
	if(intCurrentPage == 0) {intCurrentPage = 1}

	objHTTP.Open('Post', URL ,false);
	objHTTP.setRequestHeader("Content-Type","text/xml");
	objHTTP.Send("");
	//get page count
	objXMLDoc = new ActiveXObject('MSXML2.DOMDocument.3.0');

	objXMLDoc.loadXML(objHTTP.ResponseText);
	objRoot = objXMLDoc.documentElement;
	objNode = objRoot.getElementsByTagName('pageCount');
	if(objNode.length > 0) {
		//first fetch of records, record page count
		objNode = objRoot.removeChild(objNode[0]);
		intNumPages = objNode.attributes[0].value;
		blnPageResults = true;
	}
	DataIsland.async = false;
	DataIsland.loadXML(objXMLDoc.xml);
	window.status = ''
}

function ValidateDate(ControlID){
	//check that date is in a valid format
	var blnOK;

	blnOK = false;	//initialize
	
	//which control?
	var objTextInput	= document.getElementById(ControlID);
	var strDate			= objTextInput.value;
	var strMsg			= 'Date must be in format dd/mm/yyyy';
	if(strDate.length > 0) {
		//only process if not blank
		//right number of chars
		if(strDate.length == 10) {
			if ((strDate.slice(2,3) == '/') && (strDate.slice(5,6) == '/'))	{
				var intYear  = strDate.slice(6,10);
				var intDay	 = strDate.slice(0,2);
				var intMonth = strDate.slice(3,5);
				//are numeric
				if(!isNaN(intYear) && !isNaN(intDay) && !isNaN(intMonth)){
					//test for leap year
					var intFeb
					if ((intYear % 4) == 0) {
						intFeb = 29;
					}
					else {
						intFeb = 28;
					}
					
					var intMonths = new Array(31,intFeb,31,30,31,30,31,31,30,31,30,31);
					
					//test valid month
					if((intMonth > 0) && (intMonth <= 12)) {
						//test day
						if((intDay > 0) &&(intDay <= intMonths[intMonth - 1])) {
							blnOK = true;
						}
						else {
							strMsg = 'Day must be between 01 and ' + intMonths[intMonth - 1];
						}
					}
					else {
						strMsg = 'Month must be between 01 and 12';
					}
				}
			}
		}
	}
	else {
		blnOK = true;
	}
	
	if(!blnOK) {
		alert(strMsg);
		objTextInput.focus();
		objTextInput.select();
	}
	return blnOK;
}

function MakeDate(varDate) {
    var strDay        
    var strmonth      
    var strYear       
    var blnSeperator  
    var strNewDate    
   // var strSeperator  
    var intSeperator1 
    var intSeperator2 
    
    if(!varDate == '') {
      if(DateHasSeperator(varDate)) {
        intSeperator1 =  varDate.indexOf(strSeperator);
        intSeperator2 =  varDate.indexOf(strSeperator, intSeperator1 + 1);
        strDay = varDate.slice(0, intSeperator1);
        if (strDay.length == 1) {strDay = '0' + strDay;}
        if(intSeperator2 > -1) {
          //date is formatted 11/1/02
          strmonth = varDate.slice(intSeperator1 + 1, intSeperator2);
          strYear = varDate.slice(intSeperator2 + 1);
          if (strYear.length == 2) {strYear = TwoToFourDigitYear(strYear);}
        }
        else {
          //date is formatted 11/1
          strmonth	= varDate.slice(intSeperator1 + 1);
          strYear	= new Date().getYear();
        }
        if (strmonth.length == 1) {strmonth = '0' + strmonth;}
      }
      else {
				//date entered with no seperators
        strDay		= varDate.slice(0, 2);
        strmonth	= varDate.slice(2, 4);
		
		switch(varDate.length) {
          case 4: {
						//day & month entered, no separator
            strYear = new Date().getYear();
            break;
          }
          case 6: { 
						//day, month & two digit year entered, no separator
            strYear = TwoToFourDigitYear(varDate.slice(4, 6));
            break;
          }
          case 8: { 
						//day, month & four digit year entered, no separator
            strYear = varDate.slice(4, 8);
            break;
          }
        }
      }
      //build date
      strNewDate = strDay + '/' + strmonth + '/' + strYear;
    }
    else {
      strNewDate = '';
    }
    return strNewDate;
}

function DateHasSeperator(strDate) {
//check for a date like 12/2/02
//var strSeperator
	var intPosition 

  intPosition = strDate.indexOf('/');
  if(intPosition > -1) {strSeperator = '/';}
  
  if(intPosition == -1) {
    intPosition = strDate.indexOf('\\');
		if(intPosition > -1) {strSeperator = '\\';}
  }
  
  if(intPosition == -1) {
    intPosition = strDate.indexOf('-');
		if(intPosition > -1) {strSeperator = '-';}
  }
  
  if(intPosition == -1) {
    intPosition = strDate.indexOf('.');
		if(intPosition > -1) {strSeperator = '.';}
  }
  
  if(intPosition == -1) {
    intPosition = strDate.indexOf(',');
		if(intPosition > -1) {strSeperator = ',';}
  }
  if(intPosition == -1) {
    intPosition = strDate.indexOf('_');
		if(intPosition > -1) {strSeperator = '_';}
  }
  return (intPosition > -1);
}

function TwoToFourDigitYear(TwoDigitYear) {
//'converts a two digit year to a four digit
var intCurrentYear
var strNewYear
  
  if (isNaN(TwoDigitYear)) {
    strNewYear = 'Invalid';
  }
  else {
    intCurrentYear = new String(new Date().getYear()).slice(2);
    if (TwoDigitYear < parseInt(intCurrentYear) + 15) {
      //assume current century
      strNewYear = '20' + TwoDigitYear;
    }
    else {
      //TwoDigitYear ismore than 15 years into the future, so assume last century
      strNewYear = '19' + TwoDigitYear;
    }
  }
  return strNewYear;
  
}

function Trim(str)
/***
        PURPOSE: Remove trailing and leading blanks from our string.
        IN: str - the string we want to Trim

        RETVAL: A Trimmed string!
***/
{
        return RTrim(LTrim(str));
}

function LTrim(str)
/***
        PURPOSE: Remove leading blanks from our string.
        IN: str - the string we want to LTrim

        RETVAL: An LTrimmed string!
***/
{
        var whitespace = new String(" \t\n\r");

        var s = new String(str);

        if (whitespace.indexOf(s.charAt(0)) != -1) {
            // We have a string with leading blank(s)...

            var j=0, i = s.length;

            // Iterate from the far left of string until we
            // don't have any more whitespace...
            while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
                j++;


            // Get the substring from the first non-whitespace
            // character to the end of the string...
            s = s.substring(j, i);
        }

        return s;
}

 function RTrim(str)
/***
        PURPOSE: Remove trailing blanks from our string.
        IN: str - the string we want to RTrim

        RETVAL: An RTrimmed string!
***/
{
        // We don't want to trip JUST spaces, but also tabs,
        // line feeds, etc.  Add anything else you want to
        // "trim" here in Whitespace
        var whitespace = new String(" \t\n\r");

        var s = new String(str);

        if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
            // We have a string with trailing blank(s)...

            var i = s.length - 1;       // Get length of string

            // Iterate from the far right of string until we
            // don't have any more whitespace...
            while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
                i--;


            // Get the substring from the front of the string to
            // where the last non-whitespace character is...
            s = s.substring(0, i+1);
        }

        return s;
}
function checkMenu(strTab,strItem,strLevel) {
	if (window.parent.parent.TopLoad) {
		if (window.parent.parent.topmenu != null) {
			if (window.parent.parent.topmenu.strCurrentTab != strTab && strTab != "0") {
				window.parent.parent.topmenu.tabClick(strTab,"")
			}
		}
	}
	if (window.parent.parent.LeftLoad) {
		if (window.parent.menu != null) {
			if (window.parent.menu.strCurrentMenu != ("menu" + strItem) && strItem != "0") {
				if (window.parent.menu.document.getElementById("menu" + strItem) !== null) {
					window.parent.menu.menuclick("menu" + strItem,"",strLevel,"")
				}
			}
		}
	}
}