// Cookie Support Javascript functions



function extractCookieValue(val) {

	if ((endOfCookie = document.cookie.indexOf(";",val)) ==-1) {

		endOfCookie = document.cookie.length;

	}

	return unescape(document.cookie.substring(val,endOfCookie));

}



function createCookie(name,val) {

	document.cookie=name+"="+val+";";

}

 

function createCookieWithExpiry(name,val,date) {

	document.cookie=name+"="+val+"; expires="+date+";";

}



function createCookieNoExpiry(name,val) {

	var futureDate=new Date();

	futureDate.setUTCFullYear(futureDate.getUTCFullYear()+10);

	document.cookie = name+"="+val+"; expires="+futureDate.toUTCString()+";";

	

}



function deleteCookie(name) {

	var pastDate =new Date();

	pastDate.setUTCFullYear(pastDate.getUTCFullYear()-1);

	document.cookie = name+"='nothing'; expires="+pastDate.toUTCString()+";";

}



function getCookie(cookiename) {

	var numOfCookies = document.cookie.length;

	var nameOfCookie = cookiename+"=";

	var cookielength= nameOfCookie.length;

	var x=0;

	while(x<= numOfCookies) {

		var y=(x+cookielength);

		if (document.cookie.substring(x,y) == nameOfCookie)

			return (extractCookieValue(y));

		x = document.cookie.indexOf(" ",x)+1;

		if (x==0)

			break;

	}

	return null;

}



function cookiesEnabled() {

  var retVal;

  createCookie('testCookie','Y');

  if (getCookie('testCookie') == 'Y') {

  	retVal = true; 

  } else {

    retVal = false;

  }

  deleteCookie('testCookie');

  return retVal;

}



// END OF Cookie Support Javascript functions





function writeString(outputObject,englishString,frenchString) {

  if (getCookie("userLanguage")=="F") {

  	outputObject.write(frenchString);

  } else {

  	outputObject.write(englishString);

  }



}





function getBrowser() {

	return navigator.appName;

}



function getVersion() {

	return navigator.appVersion;

}







function iadf_onSubmit() {

//	if (parent.frames.length == 0) {

//		window.location.href="index.html";

//		return false;

// } else {

		return true;

//	}

}



function iadf_setP1(_value) {

	document.forms[0].p1.value=_value;

}



function iadf_setP2(_value) {

	document.forms[0].p2.value=_value;

}



function iadf_setActionNoPleaseWait(_actionValue) {

	try {

		document.forms[0].currentaction.value=_actionValue;

	} catch (e) { 

		try {

			document.forms[0].curactn.value=_actionValue;

		} catch (e) { 

			document.forms[0].action.value=_actionValue;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}







function iadf_setAction(_actionValue) {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value=_actionValue;

	} catch (e) { 

		try {

			document.forms[0].curactn.value=_actionValue;

		} catch (e) { 

			document.forms[0].action.value=_actionValue;

		}

	}

	if (iadf_onSubmit()) {

    		if (_actionValue.indexOf("upload") > -1) {

		      var d = document.createElement('DIV');

		      d.innerHTML = '<iframe name="dataframe" id="dataframe" src="/iadtmplt4/iad/js/blank.html" style="display:none" ></iframe>';

		      document.body.appendChild(d);

	 	      originalAction = document.forms[0].action;

		      document.forms[0].action = originalAction+"upload";

		      document.forms[0].encoding = "multipart/form-data";

		      document.forms[0].target = "dataframe" ;

		      try {
		         if (document.forms[0].jsenabled.value == "2") {
			     document.forms[0].target = "_self";
			  }
		      } catch (e) {}


		      document.forms[0].submit();

		      document.forms[0].action = originalAction;

		} else if ((_actionValue.indexOf("download") > -1) || (_actionValue.indexOf("runReport"))> -1) {

		      document.forms[0].target = "_self" ;

		      document.forms[0].submit();

		} else {

		      iadf_ajaxMakeRequest();

	    }

	}

}



function iadf_gotoScreen(_newScreen) {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='gotoScreen';

	} catch (e) { 

		try { 

			document.forms[0].curactn.value='gotoScreen';

		} catch (e) { 

			document.forms[0].action.value='gotoScreen';

		}

	}

	try {

		document.forms[0].nextjsp.value=_newScreen;

	} catch (e) { 

		try { 

			document.forms[0].nxtjsp.value=_newScreen;

		} catch (e) { 

			document.forms[0].gotoScreen.value=_newScreen;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_gotoScreenAutoSave(_newScreen) {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='gotoScreenAutoSave';

	} catch (e) { 

		try {

			document.forms[0].curactn.value='gotoScreenAutoSave';

		} catch (e) { 

			document.forms[0].action.value='gotoScreenAutoSave';

		}

	}

	try {

		document.forms[0].nextjsp.value=_newScreen;

	} catch (e) { 

		try {

			document.forms[0].nxtjsp.value=_newScreen;

		} catch (e) { 

			document.forms[0].gotoScreen.value=_newScreen;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_gotoScreenAutoSaveKeepSession(_newScreen) {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='gotoScreenAutoSaveKeepSession';

	} catch (e) { 

		try {

			document.forms[0].curactn.value='gotoScreenAutoSaveKeepSession';

		} catch (e) { 

			document.forms[0].action.value='gotoScreenAutoSaveKeepSession';

		}

	}

	try {

		document.forms[0].nextjsp.value=_newScreen;

	} catch (e) { 

		try {

			document.forms[0].nxtjsp.value=_newScreen;

		} catch (e) { 

			document.forms[0].gotoScreen.value=_newScreen;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_abandonChanges() {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='abandonChanges';

	} catch (e) {

		try {

			document.forms[0].curactn.value='abandonChanges';

		} catch (e) {

			document.forms[0].action.value='abandonChanges';

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_dbUpdate() {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='dbUpdate';

	} catch (e) {

		try {

			document.forms[0].curactn.value='dbUpdate';

		} catch (e) {

			document.forms[0].action.value='dbUpdate';

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}





function iadf_insertRow(_rowNumber) {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='insertRow';

	} catch (e) {

		try {

			document.forms[0].curactn.value='insertRow';

		} catch (e) {

			document.forms[0].action.value='insertRow';

		}

	}

	try {

		document.forms[0].actionrow.value=_rowNumber;

	} catch (e) {

		try {

			document.forms[0].actionrow.value=_rowNumber;

		} catch (e) {

			document.forms[0].actionRowNumber.value=_rowNumber;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_insertRowSingleRow() {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='insertRow';

	} catch (e) {

		try {

			document.forms[0].curactn.value='insertRow';

		} catch (e) {

			document.forms[0].action.value='insertRow';

		}

	}

	try {

		document.forms[0].actionrow.value=1;

	} catch (e) {

		try {

			document.forms[0].actionrow.value=1;

		} catch (e) {

			document.forms[0].actionRowNumber.value=1;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_deleteRow(_rowNumber) {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='deleteRow';

	} catch (e) {

		try {

			document.forms[0].curactn.value='deleteRow';

		} catch (e) {

			document.forms[0].action.value='deleteRow';

		}

	}

	try {

		document.forms[0].actionrow.value=_rowNumber;

	} catch (e) {

		try {

			document.forms[0].actionrow.value=_rowNumber;

		} catch (e) {

			document.forms[0].actionRowNumber.value=_rowNumber;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}





function iadf_deleteRowWithConfirm(_rowNumber) {

	usermessage = "";

	if (appuserlanguage == "fr") {

		usermessage =  "Voulez-vous vraiment supprimer cet enregistrement?";

	} else {

		usermessage =  "Are you sure you want to delete this row?";

	}

	if (confirm(usermessage)) {

		hideLayer("menu");

		activatePleaseWait();

		try {

			document.forms[0].currentaction.value='deleteRow';

		} catch (e) {

			try {

				document.forms[0].curactn.value='deleteRow';

			} catch (e) {

				document.forms[0].action.value='deleteRow';

			}

		}

		try {

			document.forms[0].actionrow.value=_rowNumber;

		} catch (e) {

			try {

				document.forms[0].actionrow.value=_rowNumber;

			} catch (e) {

				document.forms[0].actionRowNumber.value=_rowNumber;

			}

		}

		if (iadf_onSubmit()) {

			iadf_ajaxMakeRequest();

		}

	}

}



function iadf_deleteRowSingleRow() {

	hideLayer("menu");

	activatePleaseWait();

	try {

		document.forms[0].currentaction.value='deleteRow';

	} catch (e) {

		try {

			document.forms[0].curactn.value='deleteRow';

		} catch (e) {

			document.forms[0].action.value='deleteRow';

		}

	}

	try {

		document.forms[0].actionrow.value=1;

	} catch (e) {

		try {

			document.forms[0].actionrow.value=1;

		} catch (e) {

			document.forms[0].actionRowNumber.value=1;

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_removeAttachment() {

	usermessage = "";

	if (appuserlanguage == "fr") {

		usermessage =  "Vous allez supprimer la piŠce jointe de ce dossier. Voulez-vous continuer?";

	} else {

		usermessage =  "You are about to remove the attachment from this record.  Continue?";

	}

	

	if (confirm(usermessage)) {

		try {

			document.forms[0].currentaction.value='removeattachment';

		} catch (e) {

			document.forms[0].curactn.value='removeattachment';

		}

		if (iadf_onSubmit()) {

			iadf_ajaxMakeRequest();

		}

	}



}



function iadf_exportToFile() {

	try {

		document.forms[0].currentaction.value='export';

	} catch (e) {

		try {

			document.forms[0].curactn.value='export';

		} catch (e) {

			document.forms[0].action.value='export';

		}

	}

	if (iadf_onSubmit()) {

		iadf_ajaxMakeRequest();

	}

}



function iadf_screenChanged() {

	try {

		document.forms[0].modifiedind.value='1';

	} catch (e) {

		document.forms[0].modifiedInd.value='1';

	}



}





// DIV Routines for Menus

function newPos(e) {

	if (isNS6 || isNS4) {

		mouseX = e.pageX;

		mouseY = e.pageY;

	} else {

		mouseX = event.clientX;

		mouseY = event.clientY;

	}

}



agent = navigator.userAgent.toLowerCase();

major = parseInt(navigator.appVersion);

var isIE5 = ((agent.indexOf("msie") > -1) && (document.compatMode != 'CSS1Compat'));

var isIE6 = ((agent.indexOf("msie") > -1) && (document.compatMode == 'CSS1Compat'));

var isNS4 = ((agent.indexOf('mozilla') > -1) && 

			(agent.indexOf('spoofer') == -1) && 

			(agent.indexOf('compatible') ==  -1) && 

			(major == 4));

var isNS6 = ((agent.indexOf('mozilla') > -1) && 

			(agent.indexOf('spoofer') == -1) && 

			(agent.indexOf('compatible') ==  -1) && 

			(major >= 5));

var activeMenu = 0;

var mouseX = 0;

var mouseY = 0;

if (isNS4) {

	document.captureEvents(Event.MOUSEMOVE);

}

document.onmousemove=newPos;





function activateMenu() {

	try {

		if (isNS6) {

			document.getElementById("menu").style.top = mouseY+"px";

		} else if (isNS4) {

			document["menu"].top = mouseY;

		} else if (isIE6) {

			document.all["menu"].style.top = document.documentElement.scrollTop + mouseY;

		} else {

			document.all["menu"].style.top = document.body.scrollTop + mouseY;

		}

		showLayer("menu");

	} catch (e) {

	}

}





function deactivatePopup(menuLayerRef) {

	hideLayer(menuLayerRef);

}



function showLayer(layerID) {

	try {

		if (isNS6) {

		    eval('document.getElementById("'+layerID+'").style.visibility = "visible"');

		} else if (isNS4) {

		    eval('document["'+layerID+'"].visibility = "visible"');

		} else {	

		    eval('document.all["'+layerID+'"].style.visibility = "visible"');

		}

	} catch (e) {

	}

}



function hideLayer(layerID) {

	try {

		if (isNS6) {

		    eval('document.getElementById("'+layerID+'").style.visibility = "hidden"');

		} else if (isNS4) {

		    eval('document["'+layerID+'"].visibility = "hidden"');

		} else {	

		    eval('document.all["'+layerID+'"].style.visibility = "hidden"');

		}

	} catch (e) {

	}	

}



// check if there's a menu active

function turnOff() {

    if (activeMenu) {

		hideLayer(activeMenu);

		activeMenu = 0;

    }

}



// kills menu on clickup

function initLayers() {

	if (isNS4) {

	    document.captureEvents(Event.MOUSEUP);

	}

	document.onmouseup = turnOff;



	//

	// Code to default HTML button "searchButton" to fire when user clicks "Enter"

	//

	try {

		if (document.forms[0].searchButton) {

			if (document.layers){  

				document.captureEvents(Event.KEYDOWN);  

			}  

			document.onkeydown =  function (evt) {  

				var keyCode = evt ? (evt.which ? evt.which : evt.keyCode) : event.keyCode;  

				if (keyCode == 13) {  

					if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {  

						theform = document.form;  

					}  

					else {  

						theform = document.forms["form"];  

					}  

					document.forms[0].searchButton.click();  

					return false;  

				}  

				else  

				{  

					return true;  

				}  

			}

		}

	} catch (e) { }

}



// Work-around Netscape resize bug

if (isNS4) {

    origWidth = innerWidth;

    origHeight = innerHeight;	

}

	

function reDo() {	

    if (innerWidth != origWidth || innerHeight != origHeight) {

	location.reload();

    }

}



if (isNS4) {

    onresize = reDo;

}

//

// END OF LAYERS ROUTINES

//





zz=setTimeout("initLayers()", 500);





function setupMenuClickSpace() {

	try {

		showLayer("tabButtonsSpace");

	} catch (e) {

	}

	try {

		showLayer("tabButtonsSpace2");

	} catch (e) {

	}

	try {

		showLayer("tabButtonsSpace3");

	} catch (e) {

	}

	if (appisprinterfriendlyind == "1") {

		iadf_disableLinks();

	}



}



function activatePleaseWait() {

	try {

		if (isNS6) {

			document.getElementById("pleaseWait").style.top = 125+"px";

		} else if (isNS4) {

			document["pleaseWait"].top = "125";

		} else if (isIE6) {

			document.all["pleaseWait"].style.top = document.documentElement.scrollTop + 75;

		} else {

			document.all["pleaseWait"].style.top = document.body.scrollTop + 75;

		}

		showLayer("pleaseWait");

	} catch (e) {

	}

}



function iadf_openPopup(_windowName) {

  calwin = open(_windowName,"","width=525,height=425,resizable=yes");

}



function matchColumnHeight(){ 

 try {

	leftHeight = document.getElementById("left").offsetHeight;

	centerHeight = document.getElementById("center").offsetHeight;

	maxHeight=Math.max(leftHeight,centerHeight); 

    document.getElementById("left").style.height=(maxHeight) + "px"; 

 } catch (e) {

 }

} 



function clickButton(e, buttonid){ 

	var bt = document.getElementById(buttonid); 

	if (typeof bt == 'object'){ 

		if (navigator.appName.indexOf("Netscape")>(-1)){ 

			if (e.keyCode == 13){ 

				bt.click(); 

				return false; 

			} 

		} 

		if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1)){ 

			if (event.keyCode == 13){ 

				bt.click(); 

				return false; 

			} 

		} 

	} 

} 



function iadf_reloadAppCache() {

	if (appuserlanguage == "fr") {

		usermessage =  "Sur le point de recharger la m‚moire cache. Voulez-vous continuer?";

	} else {

		usermessage =  "About to reload the public site cache.  Continue?";

	}

	if (confirm(usermessage)) { 

		iadf_setAction('reloadAppCache'); 

	}

}



function iadf_showCountry() {

	document.getElementById("addcountryhrefdiv").style.display = "none";

	document.getElementById("addcountrydiv").style.display = "block";

}	



function iadf_showCity() {

	document.getElementById("addcityhrefdiv").style.display = "none";

	document.getElementById("addcitydiv").style.display = "block";

}	





function iadf_showCity1() {

	document.getElementById("addcityhrefdiv1").style.display = "none";

	document.getElementById("addcitydiv1").style.display = "block";

}	



function iadf_showCity2() {

	document.getElementById("addcityhrefdiv2").style.display = "none";

	document.getElementById("addcitydiv2").style.display = "block";

}	







function iadf_disableLinks(){

  allLinks = document.links;

  for(i=0;i < allLinks.length;i++){

    // allLinks[i].disabled = true;

    //link with onclick

    if(allLinks[i].onclick){  

        allLinks[i].onclick = new Function("return false;" + allLinks[i].onclick.toString().getFuncBody());

    }

    //link without onclick

    else {  

      allLinks[i].onclick = function(){return false;};

    }

  }

  allInputs = document.getElementsByTagName("input");

  for(i=0;i < allInputs.length;i++){

	if (allInputs[i].type == 'button') {

		allInputs[i].style.visibility="hidden";

	}

  	allInputs[i].disabled = true;

  }

   

}



String.prototype.getFuncBody = function(){ 

  var str=this.toString(); 

  str=str.replace("/[^{]+{/","");

  str=str.substring(0,str.length-1);   

  str = str.replace("/\n/gi","");

  if(!str.match("/\(.*\)/gi"))str += ")";

  return str; 

} 





function iadf_showDiv(_divId) {

  document.getElementById(_divId).style.display = 'block';

}

function iadf_hideDiv(_divId) {

  document.getElementById(_divId).style.display = 'none';

}







function iadf_ajaxCreateRequestString() {

  var reqStr = "";

  for (i=0; i < document.forms[0].elements.length; i++) {

    isFormObject = false;

//    alert(document.forms[0].elements[i].tagName);

    switch (document.forms[0].elements[i].tagName) {

      case "INPUT":

        switch (document.forms[0].elements[i].type) {

          case "text":

          case "hidden":

          case "password":

          reqStr += document.forms[0].elements[i].name + "=" + encodeURIComponent(document.forms[0].elements[i].value);

          isFormObject = true;

          break;

      case "checkbox":

        if (document.forms[0].elements[i].checked) {

          reqStr += document.forms[0].elements[i].name + "=" + document.forms[0].elements[i].value;

          isFormObject = true;

        } else {

          // reqStr += document.forms[0].elements[i].name + "=";

        }

        break;

      case "radio":

        if (document.forms[0].elements[i].checked) {

          reqStr += document.forms[0].elements[i].name + "=" + document.forms[0].elements[i].value;

          isFormObject = true;

        }

      }

      break;

    case "TEXTAREA":

      reqStr += document.forms[0].elements[i].name + "=" + encodeURIComponent(document.forms[0].elements[i].value);

      isFormObject = true;

      break;

    case "SELECT":

      var sel = document.forms[0].elements[i];

      if (sel.selectedIndex > -1) {

        reqStr += sel.name + "=" + sel.options[sel.selectedIndex].value;

      } else {

        reqStr += sel.name + "=";

      }

      isFormObject = true;

      break;

    }

    if ((isFormObject) && ((i+1)!= document.forms[0].elements.length)) {

      reqStr += "&";

    }

  }

  // alert(reqStr);

  return reqStr;

}     





function iadf_ajaxGetRequestObject() {

  try {

  	if (appajaxenabledind != 'true') {

	    return false;

	  }

  } catch (e) {}

  var httpRequest;

  if (window.XMLHttpRequest) { // Mozilla, Safari, ...

    httpRequest = new XMLHttpRequest();

    if (httpRequest.overrideMimeType) {

      // httpRequest.overrideMimeType('text/xml');

    }

  } else if (window.ActiveXObject) { // IE

    try {

      httpRequest = new ActiveXObject("Msxml2.XMLHTTP");

    } catch (e) {

      try {

        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");

      } catch (e) {}

    }

  }

  return httpRequest;

}



// var requestcount = 0;



function iadf_ajaxMakeRequest() {

//  requestcount++;

//  Commented out by Clive 2011-02-26 for version 4 of the template.  Ajax requests often don't work correctly,

//  and they are slow compared to a hidden frame, so all requests are going to go through

//  hidden frames.

//  var httpRequest = iadf_ajaxGetRequestObject();

//  if (!httpRequest) {

      // alert('ActiveX is not enabled, so using hidden iframe method');

      var d = document.createElement('DIV');

      d.innerHTML = '<iframe name="dataframe" id="dataframe" src="/iadtmplt4/iad/js/blank.html" style="display:none" ></iframe>';

      document.body.appendChild(d);

      try {

        tinyMCE.triggerSave();

      } catch (e) {} 

      originalmethod = document.forms[0].method;

      originalaction = document.forms[0].action; 

      originaltarget = document.forms[0].target;

      document.forms[0].target = 'dataframe' ;

      try {

        if (appjssubmittarget != 'dataframe') {

	  // alert("about to set target to "+appjssubmittarget);

	  document.forms[0].target = appjssubmittarget;

          // alert("successfully set target to "+appjssubmittarget);

        }

      } catch (e2) {}

      document.forms[0].action = appservletalias ;

      document.forms[0].method = "post" ;

	  // alert('clive\t'+document.forms[0].target);

      document.forms[0].submit();

      document.forms[0].target = originaltarget ;

      document.forms[0].action = originalaction ;

      document.forms[0].method = originalmethod ;

      // alert('finished submit');

      return;

//  }

//  try {

//    tinyMCE.triggerSave();

//  } catch (e) {} 

//  document.body.style.cursor='wait';

//  httpRequest.onreadystatechange = function() { iadf_ajaxAlertContents(httpRequest); };

//  httpRequest.open('POST', appservletalias, true);

//  httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=utf-8");   

//  httpRequest.send(iadf_ajaxCreateRequestString());

}



function iadf_ajaxAlertContents(httpRequest) {

  // alert('Status: '+httpRequest.readyState);

  if (httpRequest.readyState == 4) {

    if (httpRequest.status == 200) {

      // alert(httpRequest.responseText);

      iadf_ajaxSetHtml(httpRequest.responseText); 

      requestcount=0;

    } else {

      if (requestcount <= 4) {

        // alert(requestcount);

        iadf_ajaxMakeRequest();

        return;

      }

      alert('There was a problem with the request: '+httpRequest.status);

      requestcount=0;

    }

  }

}



function iadf_ajaxSetHtml(content) {

  var search = content; 

  var script; 

  while( script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i)) { 

    search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length); 

    if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) {

      break;

    } 

    hideLayer("pleaseWait");

    showLayer("menu");

    block = search.substr(0, search.indexOf(RegExp.$1)); 

    search = search.substring(block.length + RegExp.$1.length); 

    var oScript = document.createElement('script'); 

    oScript.text = block; 

    document.getElementsByTagName("head").item(0).appendChild(oScript); 

  } 

  document.getElementById("ajaxdiv").innerHTML=content;

  document.body.style.cursor='auto';

}





selectAsYouTypeKeyPressedTimeout = null;

var keysPressed = "";



function iadf_selectAsYouType(e) {

    clearTimeout(selectAsYouTypeKeyPressedTimeout);

    selectAsYouTypeKeyPressedTimeout = setTimeout("iadf_clearKeysPressed()", 5000);



    var keyChar; var keyNum;

    var comboBox;

    if (window.event) { // IE

    	keyNum = e.keyCode;            

    } else {

      return true; // browser doesn't support DOM, do default processing.

    }

    keyChar = String.fromCharCode(keyNum);

    comboBox = e.srcElement;

    if (!comboBox) {

      return true; // if DOM didn't work, do default processing

    }

    if (keyNum == 27) { // Esc key 

      iadf_clearKeysPressed();

    } else {

      return iadf_selectElement(comboBox, keyChar);

    }

    return true;

} 





function iadf_clearKeysPressed() {

	keysPressed = "";

}



function iadf_selectElement(comboBox, keyChar) {

  keysPressed += keyChar;

  var options = comboBox.options;

  for (var i = 0; i < options.length; ++i) {

    if (options[i].text.toUpperCase().indexOf(keysPressed.toUpperCase(), 0) == 0) {

      comboBox.selectedIndex = i;

      return false; // don't do default processing

    }

  }

  return false;        

}



function iadf_clickButtonOnEnterPressed(buttonObject) {

  try {

  if (event.keyCode == 13) {

    event.cancelBubble = true;

    event.returnValue = false;

    buttonObject.click();

  }

  } catch (e) {}

}



function clickButtonOnEnterPressed(buttonObject) {

	iadf_clickButtonOnEnterPressed(buttonObject);

}


function iadf_clickButtonOnEnterKeyPressed(ev, buttonObject) {
	try {
		ev = (window.event)? event : ev;
		var intKey = (ev.which) ? ev.which: ev.keyCode;
		if (intKey == 13) { //enter key
			ev.cancelBubble = true;
			ev.returnValue = false; 
			buttonObject.click();                     
		}
	} catch (err) {} 
}

function clickButtonOnEnterKeyPressed(ev,buttonObject) {
	iadf_clickButtonOnEnterKeyPressed(ev,buttonObject); 
}




function selectWrapped(selObj) {

  var curSelected = selObj.selectedIndex;

  if (curSelected > 0 && curSelected < selObj.options.length && selObj.options[curSelected].value == selObj.options[curSelected - 1].value) {

    selObj.options[curSelected - 1].selected = true;

  }

}



function iadf_jumpToNextField(_element) {

	var index = -1, i = 0;

  while (i < _element.form.length && index == -1) {

  	if (_element.form[i] == _element) {

    	index = i;

   	} else {

    	i++

    }

  }

  try {

  	if (event.shiftKey) { 

	 		_element.form[(index-1) % _element.form.length].focus();

  	} else {

	 		_element.form[(index+1) % _element.form.length].focus();

	 	}

 	} catch (e) {

 		_element.blur();

 	}

}





function iadf_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;

}

  









// Picklist is assumed that the select list is in sort sequence initially

var singleSelect = true;  // Allows an item to be selected once only

var sortSelect = true;  // Only effective if above flag set to true

var sortPick = true;  // Will order the picklist in sort sequence





// Adds a selected item into the picklist



function iadf_addToPicklist(_picklistFieldName, _pickvaluesFieldName, _selectlistFieldName) {

  var selectList = document.getElementById(_selectlistFieldName);

  var selectIndex = selectList.selectedIndex;

  var selectOptions = selectList.options;

  var pickList = document.getElementById(_picklistFieldName);

  var pickOptions = pickList.options;

  var pickOLength = pickOptions.length;



  // An item must be selected



  if (selectIndex > -1) {

    pickOptions[pickOLength] = new Option(selectList[selectIndex].text);

    pickOptions[pickOLength].value = selectList[selectIndex].value;

    // If single selection, remove the item from the select list

    if (singleSelect) {

      selectOptions[selectIndex] = null;

    }

    if (sortPick) {

      var tempText;

      var tempValue;

      // Sort the pick list

      while (pickOLength > 0 && pickOptions[pickOLength].value < pickOptions[pickOLength-1].value) {

        tempText = pickOptions[pickOLength-1].text;

        tempValue = pickOptions[pickOLength-1].value;

        pickOptions[pickOLength-1].text = pickOptions[pickOLength].text;

        pickOptions[pickOLength-1].value = pickOptions[pickOLength].value;

        pickOptions[pickOLength].text = tempText;

        pickOptions[pickOLength].value = tempValue;

        pickOLength = pickOLength - 1;

      }

    }

  }

  iadf_movePicklistValuesToHiddenField(_picklistFieldName, _pickvaluesFieldName);

  iadf_screenChanged();

}



function iadf_deleteFromPicklist(_picklistFieldName, _pickvaluesFieldName, _selectlistFieldName) {

  var selectList = document.getElementById(_selectlistFieldName);

  var selectOptions = selectList.options;

  var selectOLength = selectOptions.length;

  var pickList = document.getElementById(_picklistFieldName);

  var pickIndex = pickList.selectedIndex;

  var pickOptions = pickList.options;

  if (pickIndex > -1) {

    // If single selection, replace the item in the select list

    if (singleSelect) {

      selectOptions[selectOLength] = new Option(pickList[pickIndex].text);

      selectOptions[selectOLength].value = pickList[pickIndex].value;

    }

    pickOptions[pickIndex] = null;

    if (singleSelect && sortSelect) {

      var tempText;

      var tempValue;

      // Re-sort the select list

      while (selectOLength > 0 && selectOptions[selectOLength].value < selectOptions[selectOLength-1].value) {

        tempText = selectOptions[selectOLength-1].text;

        tempValue = selectOptions[selectOLength-1].value;

        selectOptions[selectOLength-1].text = selectOptions[selectOLength].text;

        selectOptions[selectOLength-1].value = selectOptions[selectOLength].value;

        selectOptions[selectOLength].text = tempText;

        selectOptions[selectOLength].value = tempValue;

        selectOLength = selectOLength - 1;

      }

    }

  }

  iadf_movePicklistValuesToHiddenField(_picklistFieldName, _pickvaluesFieldName);

  iadf_screenChanged();

}



function iadf_movePicklistValuesToHiddenField(_picklistFieldName, _pickvaluesFieldName) {

	// move to hidden field to get saved

  var pickList = document.getElementById(_picklistFieldName);

  var pickOptions = pickList.options;

  var pv = document.getElementById(_pickvaluesFieldName);

  pv.value = '';

  var curpick = 0;

   while (curpick < pickList.length   ) {

    if (curpick>0) {

      pv.value =   pv.value + ',';

    }

    pv.value = pv.value + pickOptions[curpick].value;

    curpick++;

   }

}


function iadf_populateJsVarsForJsVarsDiv() {

    var arr = new Array();

    arr = document.getElementsByName('curactn');

    for (var i = (arr.length-1); i >= 0; i--) {

	var obj = document.getElementsByName('curactn').item(i);

        obj.parentNode.removeChild(obj);

    }

    document.getElementById('jsvarsdiv').innerHTML = "<input type=\"hidden\" name=\"curactn\" />";

    return;

}



$.maxZIndex = $.fn.maxZIndex = function(opt) {

    /// <summary>

    /// Returns the max zOrder in the document (no parameter)

    /// Sets max zOrder by passing a non-zero number

    /// which gets added to the highest zOrder.

    /// </summary>    

    /// <param name="opt" type="object">

    /// inc: increment value, 

    /// group: selector for zIndex elements to find max for

    /// </param>

    /// <returns type="jQuery" />

    var def = { inc: 10, group: "*" };

    $.extend(def, opt);

    var zmax = 0;

    $(def.group).each(function() {

        var cur = parseInt($(this).css('z-index'));

        zmax = cur > zmax ? cur : zmax;

    });

    if (!this.jquery)

        return zmax;



    return this.each(function() {

        zmax += def.inc;

        $(this).css("z-index", zmax);

    });

}


function iadf_jsUIDatePickerBeforeShow(_datePicker) {

	setTimeout(function() { _datePicker.css("z-index", 999); }, 10);

}



document.getElementsByClassName = function(cl) {

	var retnode = [];

	var myclass = new RegExp('\\b'+cl+'\\b');

	var elem = this.getElementsByTagName('*');

	for (var i = 0; i < elem.length; i++) {

		var classes = elem[i].className;

		if (myclass.test(classes)) {

			retnode.push(elem[i]);

		}

	}

	return retnode;

}; 

	



function iadf_checkForEnterKey(event) {

	var keycode = (event.keyCode ? event.keyCode : event.which);

	if (keycode == '13') {

		return true;

	}

	return false;

}
