/*************
Encode Base64
***************/
  var base64Chars = new Array(
   'A','B','C','D','E','F','G','H',
   'I','J','K','L','M','N','O','P',
   'Q','R','S','T','U','V','W','X',
   'Y','Z','a','b','c','d','e','f',
   'g','h','i','j','k','l','m','n',
   'o','p','q','r','s','t','u','v',
   'w','x','y','z','0','1','2','3',
   '4','5','6','7','8','9','+','/'
  );
 
  var reverseBase64Chars = new Array();
    for (var i=0; i < base64Chars.length; i++){
      reverseBase64Chars[base64Chars[i]] = i;
     }

function setBase64Str(str){
  base64Str = str;
  base64Count = 0;
}

function readBase64(){
    if (!base64Str) return 'END_OF_INPUT';
      if (base64Count >= base64Str.length) return 'END_OF_INPUT';
        var c = base64Str.charCodeAt(base64Count) & 0xff;
        base64Count++;
        return c;
      }

  var base64Str;
  var base64Count;

function encodeBase64(str){
 setBase64Str(str);
 var result = '';
 var inBuffer = new Array(3);
 var lineCount = 0;
 var done = false;
 while (!done && (inBuffer[0] = readBase64()) != 'END_OF_INPUT'){
    inBuffer[1] = readBase64();
   inBuffer[2] = readBase64();
   result += (base64Chars[ inBuffer[0] >> 2 ]);
   if (inBuffer[1] != 'END_OF_INPUT'){
       result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);
       if (inBuffer[2] != 'END_OF_INPUT'){
           result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
           result += (base64Chars [inBuffer[2] & 0x3F]);
      } else {
           result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);
           result += ('=');
           done = true;
       }
    } else {
        result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);
        result += ('=');
        result += ('=');
       done = true;
    }
    lineCount += 4;
    if (lineCount >= 76){
        result += ('\n');
        lineCount = 0;
    }
  }
  return result;
}

function decode64(input) {
			var keyStr =	"ABCDEFGHIJKLMNOP" +
										"QRSTUVWXYZabcdef" +
									  "ghijklmnopqrstuv" +
										"wxyz0123456789+/" +
										"=";
      var output = "";
      var chr1, chr2, chr3 = "";
      var enc1, enc2, enc3, enc4 = "";
      var i = 0;

      // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
      var base64test = /[^A-Za-z0-9\+\/\=]/g;
      if (base64test.exec(input)) {
         //alert("There were invalid base64 characters in the input text.\n" +
         //      "Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
         //      "Expect errors in decoding.");
      }
      input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

      do {
         enc1 = keyStr.indexOf(input.charAt(i++));
         enc2 = keyStr.indexOf(input.charAt(i++));
         enc3 = keyStr.indexOf(input.charAt(i++));
         enc4 = keyStr.indexOf(input.charAt(i++));

         chr1 = (enc1 << 2) | (enc2 >> 4);
         chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
         chr3 = ((enc3 & 3) << 6) | enc4;

         output = output + String.fromCharCode(chr1);

         if (enc3 != 64) {
            output = output + String.fromCharCode(chr2);
         }
         if (enc4 != 64) {
            output = output + String.fromCharCode(chr3);
         }

         chr1 = chr2 = chr3 = "";
         enc1 = enc2 = enc3 = enc4 = "";

      } while (i < input.length);

      return output;
}

function ClearTextboxValues(oField,sMsg){
    if (oField.value == sMsg){
      oField.value = "";
    }
  }


//Functions for checking dates: START
function CheckNumeric(sField,sType) {
    var bReturn = false;
    var sFieldValue = "";
    var count = 0;
    var str = sField.value;
    var sMsg = "";
	  var CountPeriod = 0; //PLS add this to the top variables before the loop starts

    sType = sType.toLowerCase();

    if (sType == 'integer'){
    bReturn = true;
    }
    if (sType == 'long'){
    bReturn = true;
    }
    if (sType == 'double'){
		bReturn = true;
    }
    
    if (bReturn = false){
    return false;
    }

	for (var i = 0; i < str.length; i++){
      var c = str.charAt(i);
      if ((c == '0') || (c == '1') || (c == '2') || (c == '3') || (c == '4') || (c == '5') || (c == '6') || (c == '7') || (c == '8') || (c == '9'))
      {
        bReturn = true;
        sFieldValue = sFieldValue + c;
      }
      else if(c == '.'){
	      CountPeriod = CountPeriod + 1;
        if (CountPeriod == 2){
					alert('Please do not use more than one full stop (.)');
					sField.select();
					sField.focus();
					return false
				}
        if (sType == 'integer'){
          alert('Please do not use a full stop (.)');
          sField.select();
          sField.focus();
          sField.value = '';
          return false
        }
        if (sType == 'long'){
          alert('Please do not use a full stop (.)');
          sField.select();
          sField.focus();
          sField.value = '';
          return false
        }
        bReturn = true
        sFieldValue = sFieldValue + c;
      }
      else if (c == ',') {
        if (sType == 'integer'){
          alert('Please do not use a comma (,)');
          sField.select();
          sField.focus();
          sField.value = '';
          return false
        }
        if (sType == 'long'){
          alert('Please do not use a comma (,)');
          sField.select();
          sField.focus();
          sField.value = '';
          return false
        }
        alert('Please replace the comma (,) with a full stop (.)');
        sField.select();
        sField.value = '';
        return false
      }
      else {
        sField.value = ''
        alert('Please use only numerical characters');
        return false
      }
    }
    if (bReturn == true) {
      sField.value = sFieldValue;
    }  
  }


function CheckDate(oDay,oMonth,oYear) {
  var bReturn = true;
  var IsDayEmpty = false;
  var IsMonthEmpty = false;
  var IsYearEmpty = false;
  var leap = 0;
  var str = oDay.value+oMonth.value+oYear.value;
  
  if(bReturn == true){
    //Check for leap years
    if ((oYear.value % 4 == 0) ||		(oYear.value % 100 == 0) ||		(oYear.value % 400 == 0)) {
      	leap = 1;
    }
    if ((oMonth.value == 2) && (leap == 1) && (oDay.value > 29)) {
		  oDay.select();
		  oDay.focus();
		  alert("The date you provided is invalid. Please correct it.");
		  bReturn = false
    }
    if ((oMonth.value == 2) && (leap != 1) && (oDay.value > 28)) {
		  oDay.select();
		  oDay.focus();
		  alert("The date you provided is invalid. The year you provided was not a leap year. Please correct it.");
		  bReturn = false
    }
    //Check for month specific day dates
    if (oDay.value > 31) {
      alert('The day you provided is invalid. It does not exist. Please correct it.');
      oDay.select();
		  oDay.focus();
		  bReturn = false
    }
    if (oMonth.value > 12) {
      alert('The month you provided is invalid. Please correct it.');
      oMonth.select();
		  oMonth.focus();
		  bReturn = false
    }
    if (oDay.value > 30){
      if ((oMonth.value == "4") || (oMonth.value == "6") || (oMonth.value == "9")||(oMonth.value == "11")) {
        oDay.select();
		    oDay.focus();
		    alert('The day you provided is invalid. Please correct it.');
		    bReturn = false
      }
    }
    return bReturn
  }
}

function DateCheck(oField,oNextField,DoChange){
  CheckNumeric(oField,'integer')
  if(DoChange == true){
    if (oNextField != oField){
      AddNowDate(oField,oNextField,oField.name)
    }
  }
  BgBlur(oField.name)
}

function AddNowDate(oField,oNextField,sFieldName){
  var dDate
  var newDate
  now = new Date()
  sFieldName = sFieldName.toUpperCase();
  if (sFieldName.indexOf("DAY")>0){
    dDate = now.getMonth()
    newDate = dDate + 1
    if (oNextField.value == 'mm' || oNextField.value == ''){
      oNextField.value = newDate
    }
  }
  if (sFieldName.indexOf("MONTH")>0){
    dDate = now.getYear()
    dDate = (dDate < 1000) ? dDate + 1900 : dDate;
    if (oNextField.value == 'yyyy' || oNextField.value == ''){
      oNextField.value = dDate
    }
  }
}

function ShowMessage(sMsg){
    confirm(sMsg);
}

function AddZero(sFieldName){
  var sValue = "";

  sValue = document.frmMaint.elements(sFieldName).value;
  if (sValue.length == 1){
    document.frmMaint.elements(sFieldName).value = "0" + sValue 
  }
}
function popUpWindow(sPageToOpen){
  if(sPageToOpen == "ShowMaintHelp"){
    window.open("ShowMaintHelp.html","GeneralMaintenanceHelp","width=400,height=300,left=590,top=270,resizable=yes,scrollbars=yes,toolbar=no,location=no,menubar=no,titlebar=yes");
  }
  if(sPageToOpen == "ShowBrwHelp"){
    window.open("ShowBrwHelp.html","GeneralBrowseHelp","width=400,height=300,left=590,top=270,resizable=yes,scrollbars=yes,toolbar=no,location=no,menubar=no,titlebar=yes");
  }
  if(sPageToOpen == "ShowReportHelp"){
    window.open("ShowReportHelp.html","GeneralReportHelp","width=400,height=300,left=590,top=270,resizable=yes,scrollbars=yes,toolbar=no,location=no,menubar=no,titlebar=yes");
  }
}  
function replaceAll( str, from, to ) { //str=the string; from=what you want to replace; to=new value
  var idx = str.indexOf(from);
  while ( idx > -1 ) {
    str = str.replace(from,to);
    idx = str.indexOf(from);
  }
  return str;
}

function ReportPrint(sURL) { 
  window.open(sURL,'Report','menubar=no,location=no,toolbar=no,personalbar=no,status=yes,resizable=yes,scrollbars=1');
}

function DecimalCheck(Decimal, oField){
  var nStr = oField.value + '';
  var x = nStr.split('.');
	var x1 = x[0];
	var x2 = x.length > 1 ? + x[1] : '';
	if((x1=="")&&(x2=="")){
	  x1 = "00"
	  x2 = "00"
	  oField.value = x1+"."+x2
	  return
	}
	if(!(x1=="")&&(x2=="")){
	  x2 = "00"
	  oField.value = x1+"."+x2
	  return
	}
	if(!(x1=="")&& !(x2=="")){
	  oField.value =  parseFloat(oField.value).toFixed(Decimal)
    return 
  }
}

var req;

function loadXMLDoc(url)
{
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    }
}
function ShowToolbarButton(bAdd, bEdit, bRevert, bSave, bDelete)
{
  if(bAdd && CanAdd){
    document.all.item("cmdAdd").innerHTML = '<IMG SRC="Images/new.gif" align="absmiddle" border=0 alt="Add a new entry">';
  }
  else{
    document.all.item("cmdAdd").innerHTML = '';
  }
  if(bEdit && CanEdit){
    document.all.item("cmdEdit").innerHTML = '<IMG SRC="Images/edit.gif" align="absmiddle" border=0 alt="Edit this entry">';
  }
  else{
    document.all.item("cmdEdit").innerHTML = '';
  }
  if(bRevert){
    document.all.item("cmdRevert").innerHTML = '<IMG SRC="Images/revert.gif" align="absmiddle" border=0 alt="Undo">';
  }
  else{
    document.all.item("cmdRevert").innerHTML = '';
  }
  if(bSave){
    document.all.item("cmdSave").innerHTML = '<IMG SRC="Images/save.gif" align="absmiddle" border=0 alt="Save">';
  }
  else{
    document.all.item("cmdSave").innerHTML = '';
  }
  if(bDelete && CanDelete){
    document.all.item("cmdDelete").innerHTML = '<IMG SRC="Images/delete.gif" align="absmiddle" border=0 alt="Delete">';
  }
  else{
    document.all.item("cmdDelete").innerHTML = '';
  }
}

function ShowMoveButton(bTop, bPrevious, bNext, bBottom)
{
  if(bTop && CanView){
    document.all.item("cmdMoveTop").innerHTML = '<IMG SRC="Images/first.gif" align="absmiddle" border=0 alt="Move Top">';
  }
  else{
    document.all.item("cmdMoveTop").innerHTML = '<IMG SRC="Images/first_disabled.gif" align="absmiddle" border=0 alt="Move Top">';
  }
  if(bPrevious && CanView){
    document.all.item("cmdMovePrevious").innerHTML = '<IMG SRC="Images/previous.gif" align="absmiddle" border=0 alt="Move Previous">';
  }
  else{
    document.all.item("cmdMovePrevious").innerHTML = '<IMG SRC="Images/previous_disabled.gif" align="absmiddle" border=0 alt="Move Previous">';
  }
  if(bNext && CanView){
    document.all.item("cmdMoveNext").innerHTML = '<IMG SRC="Images/next.gif" align="absmiddle" border=0 alt="Move Next">';
  }
  else{
    document.all.item("cmdMoveNext").innerHTML = '<IMG SRC="Images/next_disabled.gif" align="absmiddle" border=0 alt="Move Next">';
  }
  if(bBottom && CanView){
    document.all.item("cmdMoveLast").innerHTML = '<IMG SRC="Images/last.gif" align="absmiddle" border=0 alt="Move Bottom">';
  }
  else{
    document.all.item("cmdMoveLast").innerHTML = '<IMG SRC="Images/last_disabled.gif" align="absmiddle" border=0 alt="Move Bottom">';
  }
}

//Disable/enable Maint toolbar button
function DisableToolBar(bAdd, bEditRevert, bSave, bDelete, bTop, bNext, bPrevious, bBottom, bClose, bHelp, bSaveMode, sScreen)
{
//ADD
  if (bSaveMode){
    document.all.item("DivAdd").innerHTML = '<a href="javascript:void ScreenAddMode()" id="cmdAdd"></a>';
  } 
  else if(bAdd && CanAdd){
    document.all.item("DivAdd").innerHTML = '<a href="javascript:void ScreenAddMode()" id="cmdAdd"><IMG SRC="Images/new.gif" align="absmiddle" border=0 alt="Add a new entry"></a>';
  }
  else {
    document.all.item("DivAdd").innerHTML = '<a id="cmdAdd"><IMG SRC="Images/new_disabled.gif" align="absmiddle" border=0 alt="Add a new entry"></a>';
  }
//EDIT/REVERT
  if (bSaveMode){
    if(bEditRevert && CanEdit){
      document.all.item("DivEditRevert").innerHTML = '<a href="javascript:void ScreenEditMode()"  id="cmdEdit"></a><a href="javascript:void ScreenRevert()" id="cmdRevert"><IMG SRC="Images/revert.gif" align="absmiddle" border=0 alt="Undo"></a>';
    }
    else {
      document.all.item("DivEditRevert").innerHTML = '<a href="javascript:void ScreenEditMode()"  id="cmdEdit"></a><a id="cmdRevert"><IMG SRC="Images/revert_disabled.gif" align="absmiddle" border=0 alt="Undo"></a>';
    }
  }
  else{
    if(bEditRevert && CanEdit){
      document.all.item("DivEditRevert").innerHTML = '<a href="javascript:void ScreenEditMode()"  id="cmdEdit"><IMG SRC="Images/edit.gif" align="absmiddle" border=0 alt="Edit this entry"></a><a href="javascript:void ScreenRevert()" id="cmdRevert"></a>';
    }
    else {
      document.all.item("DivEditRevert").innerHTML = '<a id="cmdEdit"><IMG SRC="Images/edit_disabled.gif" align="absmiddle" border=0 alt="Edit this entry"></a><a href="javascript:void ScreenRevert()" id="cmdRevert"></a>';
    }
  } 
//SAVE
  if (!bSaveMode){
    document.all.item("DivSave").innerHTML = '<a href="javascript:void ScreenSave()" id="cmdSave"></a>';
  } 
  else
  if(bSave){
    document.all.item("DivSave").innerHTML = '<a href="javascript:void ScreenSave()" id="cmdSave"><IMG SRC="Images/save.gif" align="absmiddle" border=0 alt="Save"></a>';
  }
  else{
    document.all.item("DivSave").innerHTML = '<a id="cmdSave"><IMG SRC="Images/save_disabled.gif" align="absmiddle" border=0 alt="Save"></a>';
  }
//DELETE
  if (bSaveMode){
    document.all.item("DivDelete").innerHTML = '<a href="javascript:void ScreenDelete()" id="cmdDelete"></a>';
  } 
  else
  if(bDelete && CanDelete){
    document.all.item("DivDelete").innerHTML = '<a href="javascript:void ScreenDelete()" id="cmdDelete"><IMG SRC="Images/delete.gif" align="absmiddle" border=0 alt="Delete"></a>';
  }
  else {
    document.all.item("DivDelete").innerHTML = '<a id="cmdDelete"><IMG SRC="Images/delete_disabled.gif" align="absmiddle" border=0 alt="Delete"></a>';
  }
//MOVETOP
  if(bTop && CanView){
    document.all.item("DivTop").innerHTML = '<a href="javascript:void MoveTop()" id="cmdMoveTop" ><IMG SRC="Images/first.gif" align="absmiddle" border=0 alt="Move Top"></a>';
  }
  else{
    document.all.item("DivTop").innerHTML = '<a id="cmdMoveTop" ><IMG SRC="Images/first_disabled.gif" align="absmiddle" border=0 alt="Move Top"></a>';
  }
//MOVE PREVIOUS
  if(bPrevious && CanView){
    document.all.item("DivPrevious").innerHTML = '<a href="javascript:void MovePrevious()" id="cmdMovePrevious"><IMG SRC="Images/previous.gif" align="absmiddle" border=0 alt="Move Previous"></a>';
  }
  else{
    document.all.item("DivPrevious").innerHTML = '<a id="cmdMovePrevious"><IMG SRC="Images/previous_disabled.gif" align="absmiddle" border=0 alt="Move Previous"></a>';
  }
//MOVE NEXT
  if(bNext && CanView){
    document.all.item("DivNext").innerHTML = '<a href="javascript:void MoveNext()" id="cmdMoveNext"><IMG SRC="Images/next.gif" align="absmiddle" border=0 alt="Move Next"></a>';
  }
  else{
    document.all.item("DivNext").innerHTML = '<a id="cmdMoveNext"><IMG SRC="Images/next_disabled.gif" align="absmiddle" border=0 alt="Move Next"></a>';
  }
//MOVE BOTTOM
  if(bBottom && CanView){
    document.all.item("DivBottom").innerHTML = '<a href="javascript:void MoveBottom()" id="cmdMoveLast" ><IMG SRC="Images/last.gif" align="absmiddle" border=0 alt="Move Bottom"></a>';
  }
  else{
    document.all.item("DivBottom").innerHTML = '<a id="cmdMoveLast" ><IMG SRC="Images/last_disabled.gif" align="absmiddle" border=0 alt="Move Bottom"></a>';
  }
//CLOSE
  if(bClose){
    document.all.item("DivClose").innerHTML = '<a href="' + sScreen + '.aspx?action=closescreen" id="cmdClose"><IMG SRC="Images/close.gif" align="absmiddle" border=0 alt="Close"></a>';
  }
  else{
    document.all.item("DivClose").innerHTML = '<a id="cmdClose"><IMG SRC="Images/close_disabled.gif" align="absmiddle" border=0 alt="Close"></a>';
  }
//HELP
  if(bHelp){
    var sRef = "('ShowMaintHelp')";
    document.all.item("DivHelp").innerHTML = '<a href="##" id="cmdHelp" onclick="popUpWindow'+sRef+'"> <IMG SRC="Images/help.gif" align="absmiddle" border=0 alt="General help on maintenance screens"></a>';
  }
  else{
    document.all.item("DivHelp").innerHTML = '<a id="cmdHelp"><IMG SRC="Images/help_disabled.gif" align="absmiddle" border=0 alt="General help on maintenance screens{"></a>';
  }
} 

//Disable/enable BROWSE toolbar button
function DisableBrowseToolBar(bAdd, bClose, bFind, bHelp, sScreen, sMnt, sFind)
{
//ADD
  if (!CanAddBrw){
    document.all.item("DivAdd").innerHTML = '';
  }
  else if(bAdd && CanAddBrw){
    document.all.item("DivAdd").innerHTML = '<a href=" '+ sMnt +'.aspx?ACTION=addmode" id="add"><IMG SRC="Images/new.gif" align="absmiddle" border=0 alt="Add a new entry"></a>';
  }
  else {
    document.all.item("DivAdd").innerHTML = '<a id="add"><IMG SRC="Images/new_disabled.gif" align="absmiddle" border=0 alt="Add a new entry"></a>';
  }
//CLOSE
  if(bClose){
    document.all.item("DivClose").innerHTML = '<a href=" '+ sScreen +'.aspx?action=close" id="close"><IMG SRC="Images/close.gif" align="absmiddle" border=0 alt="Close"></a>';
  }
  else{
    document.all.item("DivClose").innerHTML = '<a id="close"><IMG SRC="Images/close_disabled.gif" align="absmiddle" border=0 alt="Close"></a>';
  }
//FIND
  if(bFind){
    document.all.item("DivFind").innerHTML = '<a href="javascript:void '+ sFind +'" id="F1"><IMG SRC="Images/search.gif" align="absmiddle" border=0 alt="Find"></a>';
  }
  else{
    document.all.item("DivFind").innerHTML = '<a id="F1"><IMG SRC="Images/search_disabled.gif" align="absmiddle" border=0 alt="Find"></a>';
  }
//HELP
  if(bHelp){
    var sRef = "('ShowBrwHelp')";
    document.all.item("DivHelp").innerHTML = '<a href="##" id="A1" onclick="popUpWindow'+sRef+'"><IMG SRC="Images/help.gif" align="absmiddle" border=0 alt="General help on browse screens"></a>';
  }
  else{
    document.all.item("DivHelp").innerHTML = '<a id="A1"><IMG SRC="Images/help_disabled.gif" align="absmiddle" border=0 alt="General help on browse screens"></a>';
  }
}

function URLEncode(val) {
    // The Javascript escape and unescape functions do not correspond
    // with what browsers actually do...
    var SAFECHARS = "0123456789" + 				// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()<>"; 				// RFC2396 Mark characters
    var HEX = "0123456789ABCDEF";

    var plaintext = val;
    var encoded = "";
    for (var i = 0; i < plaintext.length; i++) {
        var ch = plaintext.charAt(i);
        if (ch == " ") {
            encoded += "+"; 			// x-www-urlencoded, rather than %20
        } else if (SAFECHARS.indexOf(ch) != -1) {
            encoded += ch;
        } else {
            var charCode = ch.charCodeAt(0);
            if (charCode > 255) {
                alert("Unicode Character '"
                        + ch
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted.");
                encoded += "+";
            } else {
                encoded += "%";
                encoded += HEX.charAt((charCode >> 4) & 0xF);
                encoded += HEX.charAt(charCode & 0xF);
            }
        }
    } // for

    //document.URLForm.F2.value = encoded;
    return encoded;
}
//***HTTPRequest Cross Browser Scripting******
var bIE

if (document.all) { //check if Internet Explorer
    bIE = true;
} else {
bIE = false; //Mozilla, safari etc.
}
function GetChildNode(response, sNodeName) {
    var j;
    var sRet;
    j = parseInt(GetNumberForName(response, sNodeName));
    if (bIE==true) {
        sRet = decode64(response.childNodes[j].text)
    } else {
       sRet =decode64(response.childNodes[j].textContent)

   }
    return sRet
}
function GetChildNodeID(response, sNodeName) {
    var j;
    var sRet;
    j = parseInt(GetNumberForName(response, sNodeName));
    if (bIE == true) {
        sRet = response.childNodes[j].text
    } else {
        sRet = response.childNodes[j].textContent

    }
    return sRet
}


function GetNumberForName(DOMNode, nodename) {
    var i = 0;
    for (i = 0; i < parseInt(DOMNode.childNodes.length); i++) {
        if (DOMNode.childNodes[i].nodeName == nodename) {
            return i;
        }
    }
}

