//function ShowInformation()
//{
//	var sAnswer=confirm("Any changes that you may have made will not be saved. Do you really want to exit? ");
//	if(document.getElementById("lblExit") != null)
//	{
		//document.getElementById("lblExit").value=sAnswer;
//	}
//}

function ValDOB(source, arguments)
{         
	arguments.IsValid=false;
    
	if (document.getElementById('ctlDOB_txtDate').value == 'dd/mm/yyyy' && document.getElementById('chkOver18').checked == false)
	{
		arguments.IsValid=false;
	}
	else
	{
		arguments.IsValid=true;
	}
	
	return;
}



function ValidateDateInput(obj)
{ 
	if(obj.value.length >= 10) { 
		return false;
	} 
	else if(window.event.keyCode == 47 && (obj.value.length == 2 || obj.value.length == 5)) {
		return true;
	}
	else if(window.event.keyCode > 57 || window.event.keyCode < 48)
	{
        return false;
	} 
	else if(obj.value.length == 1 || obj.value.length == 4)
	{
		obj.value += String.fromCharCode(window.event.keyCode,47);
		return false;                 
	} else {
		return true
	}
}

function ValidateBackspace(obj) {
	if(window.event.keyCode == 8) {
		if(obj.value.charAt(obj.value.length-1) == '/') {
			obj.value = obj.value.substring(0,obj.value.length-2);
			return false;
		} else {
			return true;
		}
	} else {
		return true;
	}
}

function OnDateFocus(objDate)
{
	if(objDate.value == "dd/mm/yyyy" || objDate.value == "dd-mon-yyyy")
	{
		objDate.value = "";
		objDate.style.color = "black";
	}
	return true;
}

function OnDateBlur(objDate)
{
	if(objDate.value == "")
	{
		objDate.value = "dd/mm/yyyy";
		objDate.style.color = "gray";
	}
	return true;
}


function ShowPopupWindow(mypage,myname,w,h,scroll)
{
	var win = null;
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	var settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',	scrollbars='+scroll+',resizable', titlebar='no', toobar='no', status='no', menubar='no';
	win = window.open(mypage,myname,settings);
	if(win.window.focus){win.window.focus();}
}

function CloseWindow()
{
	window.close();
}


function DisableButton(Button)
{
	 var objButton=null;
	 objButton=document.getElementById(Button);
     if(objButton != null)
	 {
		objButton.disabled="true";
		return true;
	 }
}

function ask()
{
		var  answer= confirm ("Are you Sure?");
	if (answer) return true;
	else
		{
		if (document.all && window.event) event.returnValue = false;
		}
	
	return answer;
}
function CheckEventSearchFields(source, arguments)
{
	if(document.getElementById("txtEAN").value  == "" && document.getElementById("txtEventCode").value == "" && document.getElementById("txtEventName").value == ""&& document.getElementById("cmbStatus").value == "" )
	{
		arguments.IsValid=false;
	}
	else
	{
		arguments.IsValid=true;
	}
}

function ValidateDateInput(obj,evt)
{ 
	var e = evt? evt : window.event; 
	if(!e) return; 
	var key = 0; 
	if (e.keyCode) { key = e.keyCode; } // for moz/fb, if keycode==0 use 'which' 
	else if (typeof(e.which)!= 'undefined') { key = e.which; } 
	
	if(obj.value.length >= 10) { 
		return false;
	} 
	else if(key == 47 && (obj.value.length == 2 || obj.value.length == 5)) {
		return true;
	}
	else if(key > 57 || key < 48)
	{
        return false;
	} 
	else if(obj.value.length == 1 || obj.value.length == 4)
	{
		obj.value += String.fromCharCode(key,47);
		return false;                 
	} else {
		return true
	}
}

function ValidateBackspace(obj,evt) {
	var e = evt? evt : window.event; 
	if(!e) return; 
	var key = 0; 
	if (e.keyCode) { key = e.keyCode; } // for moz/fb, if keycode==0 use 'which' 
	else if (typeof(evt.which)!= 'undefined') 
	{ 
		key = evt.which; 
	} 
	
	if(key == 8 || key == 37 || key == 38 || key == 39 || key == 40 || key == 46) 
	{
		obj.value = obj.value.substring(0,obj.value.length-1);
		return false;
	} 
	else 
	{
		return true;
	}
}

function OnDateFocus(objDate)
{
	if(objDate.value == "dd/mm/yyyy" || objDate.value == "dd-mon-yyyy")
	{
		objDate.value = "";
		objDate.style.color = "black";
	}
	return true;
}

function OnDateBlur(objDate, lblErrorMessage)
{
	if(objDate.value == "")
	{
		objDate.value = "dd/mm/yyyy";
		objDate.style.color = "gray";
	}
	else 
	{
		if (!isValidDate(objDate.value, false, "lblErrorMessage")){
			objDate.value = "dd/mm/yyyy";
		objDate.style.color = "gray";	
		}
		else {
		if(document.getElementById( "lblErrorMessage") != null) {
						document.getElementById( "lblErrorMessage").innerHTML = "";
					}
		}
	
	}
	return true;
}

		function isValidDate(dateStr, beforeToday, labelID) 
		{
			// Checks for the following valid date formats:
			// DD/MM/YY   DD/MM/YYYY   DD-MM-YY   DD-MM-YYYY
			// Also separates date into month, day, and year variables

			// To require a 2 digit year entry, use this line instead:
			// var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

			// To require a 4 digit year entry, use this line instead:
			var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;

			if(dateStr.length > 0 && dateStr != "dd/mm/yyyy" && dateStr != "dd-mon-yyyy") {
			
				var matchArray = dateStr.match(datePat); // is the format ok?
				if (matchArray == null) {
					if(document.getElementById(labelID) != null) {
						document.getElementById(labelID).innerHTML = "Invalid format";
					}
					return false;
				}
				day = matchArray[1];
				month = matchArray[3]; // parse date into variables
				year = matchArray[4];

				if (month < 1 || month > 12) { // check month range
					if(document.getElementById(labelID) != null) {
						document.getElementById(labelID).innerHTML = "Invalid date";
					}
					return false;
				}
				if (day < 1 || day > 31) {
					if(document.getElementById(labelID) != null) {
						document.getElementById(labelID).innerHTML = "Invalid date";
					}
					return false;
				}
				if ((month==4 || month==6 || month==9 || month==11) && day==31) {
					if(document.getElementById(labelID) != null) {
						document.getElementById(labelID).innerHTML = "Invalid date";
					}
					return false
				}
				if (month == 2) { // check for february 29th
					var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
					if (day>29 || (day==29 && !isleap)) {
						if(document.getElementById(labelID) != null) {
							document.getElementById(labelID).innerHTML = "Invalid date";
						}
						return false;
					}
				}
				
				if(year < 1753) 
				{
					if(document.getElementById(labelID) != null) {
							document.getElementById(labelID).innerHTML = "Date should be at least 1753 or later";
					}
					return false;
				}
				
				if(beforeToday == true) 
				{
					var curDate = new Date();
					var cmpDate = new Date(month + "/" + day + "/" + year);
					if(cmpDate > curDate || (parseInt(year) + 140) < curDate.getFullYear()) 
					{
						if(document.getElementById(labelID) != null) {
							document.getElementById(labelID).innerHTML = "This date must be less than the current date";
						}
						return false;
					}
				}
			
			}
			
			return true;  // date is valid
		}

function DirtyRole(dirty)
{
	try
	{
	document.getElementById("usrMemSearch_txtDirtyRole").value= dirty;
	}
	catch(Exception)
	{
		document.getElementById("AddRole_usrMemSearch_txtDirtyRole").value= dirty;
	}
}
function DirtyMember(dirty)
{
	try
	{
		document.getElementById("usrMemSearch_txtDirtyMember").value=dirty;
	}
	catch(Exception)
	{
		document.getElementById("AddRole_usrMemSearch_txtDirtyMember").value= dirty;
	}
}
function DirtyCont(dirty)
{
	try
	{
		document.getElementById("usrMemSearch_txtDirtyCont").value=dirty;
	}
	catch(Exception)
	{
		document.getElementById("AddRole_usrMemSearch_txtDirtyCont").value= dirty;
	}
}

function DoNotBindCheck() 
{
	if (document.getElementById('chkDontBind') != null)
	{
		document.getElementById('chkDontBind').checked = true;
		
	}
	return true;
}

function CheckMandatoryDates(ControlID, labelID)
{
	var sReturn;
	
	if( (document.getElementById(ControlID+"dtRenewalDate_txtDate") != null &&
			document.getElementById(ControlID+"dtRenewalDate_txtDate").value.length > 0 && 
			(document.getElementById(ControlID+"dtRenewalDate_txtDate").value != "dd/mm/yyyy" && 
			document.getElementById(ControlID+"dtRenewalDate_txtDate").value != "dd-mon-yyyy")) && 
			
			(document.getElementById(ControlID+"dtJoinDate_txtDate") != null &&
			document.getElementById(ControlID+"dtJoinDate_txtDate").value.length > 0 && 
			(document.getElementById(ControlID+"dtJoinDate_txtDate").value != "dd/mm/yyyy" && 
			document.getElementById(ControlID+"dtJoinDate_txtDate").value != "dd-mon-yyyy"))
		)
	{
		sReturn=true;
	}
	else
	{
		if(document.getElementById(labelID) != null) {
			document.getElementById(labelID).innerHTML = "Please input mandatory fields";
		}
		sReturn=false;
	}
	
	return sReturn;
}


			function ValidateContactDetails(ControlID, labelID)
			{				
				if(ControlID.length>0) 
				{
					ControlID = ControlID + "_"
				}
				
				if(document.getElementById(labelID) != null) 
				{
					document.getElementById(labelID).style.visibility = 'visible';
				}
				
				// if home or office email address is specified then make the selection of preferred email mandatory
				// as well as correct preferred email should be selected (Not allowing preferred email to be blank)
				if(document.Form1 != null)
				{
					if(document.Form1.radioPreferredEmail != null && document.Form1.radioPreferredEmail.disabled != true)
					{																			
						if(document.Form1.radioPreferredEmail[0].checked == true)
						{
							if(!(document.getElementById(ControlID+"txtHomeEmail").value.length > 0))
							{
								if(document.getElementById(labelID) != null)
								{
									document.getElementById(labelID).innerHTML = "Must specify the selected preferred email address";
									return false;
								}
							}							
						}
						else if(document.Form1.radioPreferredEmail[1].checked == true)
						{
							if(!(document.getElementById(ControlID+"txtWorkEmail").value.length > 0))
							{
								if(document.getElementById(labelID) != null)
								{
									document.getElementById(labelID).innerHTML = "Must specify the selected preferred email address";
									return false;
								}
							}
						}
						else
						{
							if(document.getElementById(ControlID+"txtHomeEmail").value.length > 0 
								|| document.getElementById(ControlID+"txtWorkEmail").value.length > 0)
								{
									if(document.getElementById(labelID) != null)
									{	
										document.getElementById(labelID).innerHTML = "Must specify preferred email address";
										return false;
									}	
								}
						}
					}
						
				}
				
				
					// Validate Email
					if(document.getElementById(ControlID+"txtHomeEmail") != null && document.getElementById(ControlID+"txtHomeEmail").disabled != true) 
					{
						if(!IsValidEmail(document.getElementById(ControlID+"txtHomeEmail").value, "Home Email address", labelID))
						{
							document.getElementById(ControlID+"txtHomeEmail").focus();
							return false;
						}
					}
					
										// Validate Email
					if(document.getElementById(ControlID+"txtWorkEmail") != null && document.getElementById(ControlID+"txtWorkEmail").disabled != true) 
					{
						if(!IsValidEmail(document.getElementById(ControlID+"txtWorkEmail").value, "Work Email address", labelID))
						{
							document.getElementById(ControlID+"txtWorkEmail").focus();
							return false;
						}
					}
					
					// Validate Phones
					// HOME
					if(document.getElementById(ControlID+"txtHomeAreaCode") != null && document.getElementById(ControlID+"txtHomeAreaCode").disabled != true &&
						document.getElementById(ControlID+"txtHomeTel") != null && document.getElementById(ControlID+"txtHomeTel").disabled != true) 
					{		
						if(!IsValidPhone(document.getElementById(ControlID+"txtHomeAreaCode").value,
							document.getElementById(ControlID+"txtHomeTel").value,
							"Home Phone number", 
							labelID))
						{
							document.getElementById(ControlID+"txtHomeTel").focus();
							return false;
						}
					}
							
					// WORK
					if(document.getElementById(ControlID+"txtWorkAreaCode") != null && document.getElementById(ControlID+"txtWorkAreaCode").disabled != true &&
						document.getElementById(ControlID+"txtWorkTel") != null && document.getElementById(ControlID+"txtWorkTel").disabled != true) 
					{	
						if(!IsValidPhone(document.getElementById(ControlID+"txtWorkAreaCode").value,
							document.getElementById(ControlID+"txtWorkTel").value,
							"Work Phone number", 
							labelID))
						{
							document.getElementById(ControlID+"txtWorkTel").focus();
							return false;
						}
					}	
						
					// MOBILE	
					if(document.getElementById(ControlID+"txtMobileAreaCode") != null && document.getElementById(ControlID+"txtMobileAreaCode").disabled != true &&
						document.getElementById(ControlID+"txtMobileTel") != null && document.getElementById(ControlID+"txtMobileTel").disabled != true) 
					{		
						if(!IsValidPhone(document.getElementById(ControlID+"txtMobileAreaCode").value,
							document.getElementById(ControlID+"txtMobileTel").value,
							"Mobile Phone number", 
							labelID))
						{
							document.getElementById(ControlID+"txtMobileTel").focus();
							return false;
						}
					}	
						
					// FAX	
					if(document.getElementById(ControlID+"txtFaxAreaCode") != null && document.getElementById(ControlID+"txtFaxAreaCode").disabled != true &&
						document.getElementById(ControlID+"txtFaxTel") != null && document.getElementById(ControlID+"txtFaxTel").disabled != true) 
					{
						if(!IsValidPhone(document.getElementById(ControlID+"txtFaxAreaCode").value,
							document.getElementById(ControlID+"txtFaxTel").value,
							"Fax Phone number", 
							labelID))
						{
							document.getElementById(ControlID+"txtFaxTel").focus();
							return false;
						}
					}
						
					if(document.getElementById(labelID) != null) 
					{
						document.getElementById(labelID).style.visibility = 'hidden';
					}
	
					return true;
			}



		function IsValidPhone(areaStr, localStr, controlName, labelID) 
		{
			if((areaStr.length > 0 && localStr.length == 0))
			{
				if(document.getElementById(labelID) != null) {
					document.getElementById(labelID).innerHTML = "Local Number is mandatory for "+controlName;
				}
				return false;
			} 
			return true;
		}

		function IsValidEmail(emailStr, controlName, labelID)
		{
			if (emailStr.length > 0)
			{
				var regex = /^([\w-']+(?:\.[\w-']+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
				if(!regex.test(emailStr)) 
				{
					if(document.getElementById(labelID) != null) {
						document.getElementById(labelID).innerHTML = controlName+" is not in a valid format";
					}
					
					return false;
				}
			}
			
			return true
		}
		
function EmailValidation(ControlID)
{
		var str = document.getElementById(ControlID).value
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		
		if (str == ""){
			return true ;
		}
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   document.getElementById(ControlID).value = ""
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   document.getElementById(ControlID).value = ""
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		   alert("Invalid E-mail ID")
		   document.getElementById(ControlID).value = ""
		   return false
		}

		if (str.indexOf(at,(lat+1))!=-1){
		   alert("Invalid E-mail ID")
		   document.getElementById(ControlID).value = ""
		   return false
		}

		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		   alert("Invalid E-mail ID")
		   document.getElementById(ControlID).value = ""
		   return false
		}

		if (str.indexOf(dot,(lat+2))==-1){
		   alert("Invalid E-mail ID")
		   document.getElementById(ControlID).value = ""
		   return false
		}
		
		if (str.indexOf(" ")!=-1){
		   alert("Invalid E-mail ID")
		   document.getElementById(ControlID).value = ""
		   return false
		}

 		return true					
}



var FormElements;

function fnPleaseWait()
{
	ShowMsgBox('Please Wait...');
	
	// Ajax dropdownlist fires change event twice 
	// caused initial state to be lost
	if(FormElements == null || FormElements == 'undefined') 
	{
		j = 0;
		FormElements = new Array();
	
    for (i=0; i<window.document.forms[0].length; i++) 
    {
			// Specify elements to be disable - values will be reset by fnResume()
        if ((window.document.forms[0].elements[i].name.indexOf("btnNext") !=-1) ||
			(window.document.forms[0].elements[i].name.indexOf("btnClear") !=-1) ||
			(window.document.forms[0].elements[i].name.indexOf("btnBack") !=-1) ||
			(window.document.forms[0].elements[i].name.indexOf("btnExit") !=-1) ||
			(window.document.forms[0].elements[i].name.indexOf("btnAddNew") !=-1) ||
			(window.document.forms[0].elements[i].name.indexOf("btnExportToCSV") !=-1) ||
			(window.document.forms[0].elements[i].name.indexOf("btnDeRegister") !=-1)||
			(window.document.forms[0].elements[i].name.indexOf("btnPreContractAgreement") !=-1)
			) 
        {
				FormElements[j] = new Array(2);
				FormElements[j][0] = window.document.forms[0].elements[i].id;
				FormElements[j][1] = window.document.forms[0].elements[i].disabled;
				j++;
            window.document.forms[0].elements[i].disabled=true;
        }
    }
}
}


function fnResume()
{
	HideMsgBox();
	// Reset Form
    
    if(FormElements != null && FormElements != 'undefined') 
	{
		for (i=0; i<FormElements.length; i++)
		{
			if(window.document.getElementById(FormElements[i][0]) != null) 
			{
				window.document.getElementById(FormElements[i][0]).disabled = FormElements[i][1];
			}
		}
	    
		FormElements = null;
    }
}


function ShowMsgBox(sMessage)
{			
	oInfoBox = window.document.createElement("TABLE");
	
	window.document.body.insertBefore(oInfoBox,null);
	
	oInfoBox.id = "MsgBox";
	oInfoBox.style.position = 'absolute';
	oInfoBox.style.right =  6 + 'px';
	oInfoBox.style.top = 12 + 'px';
	oInfoBox.style.zIndex = '99999';
		
	if (window.attachEvent) {
		var oRow = oInfoBox.insertRow();
	}
	else
	{
		var oRow = window.document.createElement("TR");
		oInfoBox.insertBefore(oRow, null);
	}
	
	var oTD = window.document.createElement('TD');
	oTD.style.width = '100%';
	var oDIV = window.document.createElement('DIV');
	
	oDIV.id = "MsgBoxMessage";
	oDIV.innerHTML = '<TABLE style="width:180px;height=100%;"><TR valign=middle><TD valign=middle align=center height=40%><B>' + sMessage + '</B></td></tr><tr><td valign=top align=center><img src=./Images/wait.gif></TD></TR></TABLE>';
	oDIV.className = 'FWMsgBox';
	
	oTD.insertBefore(oDIV, null);
	oRow.insertBefore(oTD, null);
}


function HideMsgBox()
{
	var oInfoBox = window.document.getElementById('MsgBox');
	if (oInfoBox != undefined)
		window.document.body.removeChild(oInfoBox);	
}

if(typeof window.opera != 'undefined') 
{ 
    // opera does not support beforeunload
    window.addEventListener('unload', fnDisableForm, false);
    window.addEventListener('mousedown', DisableClick, false);
	window.addEventListener('keydown', BackButtonCheck, false);
} 
else if(typeof window.addEventListener != 'undefined') 
{ 
    // moz, saf1.2, ow5b6.1 
    window.addEventListener('beforeunload', fnDisableForm, false); 
    document.onclick = DisableClick;
    document.onkeypress = BackButtonCheck;

} 
else if (typeof document.addEventListener != 'undefined') 
{ 
    // MSN/OSX, op7.50, saf1.2, ow5b6.1 
    document.addEventListener('beforeunload', fnDisableForm, false);
    document.addEventListener('mousedown', DisableClick, false);
	document.addEventListener('keydown', BackButtonCheck, false); 
} 
else if (typeof window.attachEvent != 'undefined') 
{ 
    // ie5.0w, ie5.5w, ie6w 
    window.attachEvent('onbeforeunload', fnDisableForm);
    document.attachEvent('onmousedown', DisableClick);
    document.attachEvent('onkeydown', BackButtonCheck); 
} 
else 
{ 
    // all other browsers 
    if (typeof window.onbeforeunload == 'function') 
    { 
        var oldonbeforeunload = onbeforeunload; 
        window.onbeforeunload = function() { fnDisableForm(); oldonbeforeunload(); }; 
    } 
    else 
    { 
        window.onbeforeunload = fnDisableForm; 
    }
     
    document.onmousedown = DisableClick;
	document.onkeydown = BackButtonCheck;
}


		
function fnDisableForm()
{
	DisableEnableForm(window.document.forms[0].elements, true, false);
	DisableEnableLinks(true);
	DisableEnableForm(window.document.getElementById("pnlNavigation"), true, true);
	DisableEnableForm(window.document.getElementById("tabGrids"), true, true);
	DisableEnableForm(window.document.getElementById("tabMain"), true, true);
	ShowMsgBox('Please Wait...');
}

function DisableEnableForm(objElems, Disable, recursive){
	if(objElems !=null)
	{
		for(i=0;i<objElems.length;i++){
			// We Do Not want to Disable the CRViewer or hidden inputs
			if(objElems[i].name.indexOf("CRViewer") == -1 && objElems[i].type != "hidden") 
			{		
				objElems[i].disabled = Disable;
			    
				//OnClick
				if(Disable && objElems[i].onclick && objElems[i].onclick != "function(){\"return false;\"}"){  
					objElems[i].onclick = new Function("return false;" + objElems[i].onclick.toString().getFuncBody());
				}
				//link without onclick
				else if(Disable && objElems[i].onclick == null){  
				objElems[i].onclick = function(){"return false;"}
				}
				//remove return false with link without onclick
				else if(!Disable && objElems[i].onclick.toString().indexOf("function(){return false;}") != -1){            
				objElems[i].onclick = null;
				}
				//remove return false link with onclick
				else if(!Disable && objElems[i].onclick.toString().indexOf("return false;") != -1){  
				strOnClick = objElems[i].onclick.toString().getFuncBody().replace("return false;","")
				objElems[i].onclick = new Function(strOnClick);
				}

			    
				//MouseOver
				if(Disable && objElems[i].mouseover && objElems[i].mouseover != "function(){\"return false;\"}"){  
					objElems[i].mouseover = new Function("return false;" + objElems[i].mouseover.toString().getFuncBody());
				}
				//link without mouseover
				else if(Disable && objElems[i].mouseover == null){  
				objElems[i].mouseover = function(){"return false;"}
				}
				//remove return false with link without mouseover
				else if(!Disable && objElems[i].mouseover.toString().indexOf("function(){return false;}") != -1){            
				objElems[i].mouseover = null;
				}
				//remove return false link with mouseover
				else if(!Disable && objElems[i].mouseover.toString().indexOf("return false;") != -1){  
				strMouseover = objElems[i].mouseover.toString().getFuncBody().replace("return false;","")
				objElems[i].mouseover = new Function(strMouseover);
				}
				
				//MouseOut
				if(Disable && objElems[i].mouseout && objElems[i].mouseout != "function(){\"return false;\"}"){  
					objElems[i].mouseout = new Function("return false;" + objElems[i].mouseout.toString().getFuncBody());
				}
				//link without mouseout
				else if(Disable && objElems[i].mouseout == null){  
				objElems[i].mouseout = function(){"return false;"}
				}
				//remove return false with link without mouseout
				else if(!Disable && objElems[i].mouseout.toString().indexOf("function(){return false;}") != -1){            
				objElems[i].mouseout = null;
				}
				//remove return false link with mouseout
				else if(!Disable && objElems[i].mouseout.toString().indexOf("return false;") != -1){  
				strMouseout = objElems[i].mouseout.toString().getFuncBody().replace("return false;","")
				objElems[i].mouseout = new Function(strMouseout);
				}
			}
		}
		if(recursive)
		{
			if(objElems.children != null)
			{
				if(objElems.children.Length > 0)
				{
					DisableEnableForm(objElems.children, recursive);
				}
			}
		}
	}
	};

	function DisableEnableLinks(xHow){
	if(window.document.links)
	{
		objLinks = window.document.links;
	}
	else
	{
		objLinks = window.document.getElementsByTagName("a");
	}
	
	for(i=0;i<objLinks.length;i++){
		objLinks[i].disabled = xHow;
		//link with onclick
		if(objLinks[i].onclick && xHow && objLinks[i].onclick != "function(){\"return false;\"}"){  
		objLinks[i].onclick = new Function("return false;" + objLinks[i].onclick.toString().getFuncBody());
		}
		//link without onclick
		else if(xHow){  
		objLinks[i].onclick = function(){"return false;"}
		}
		//remove return false with link without onclick
		else if(!xHow && objLinks[i].onclick.toString().indexOf("function(){return false;}") != -1){            
		objLinks[i].onclick = null;
		}
		//remove return false link with onclick
		else if(!xHow && objLinks[i].onclick.toString().indexOf("return false;") != -1){  
		strClick = objLinks[i].onclick.toString().getFuncBody().replace("return false;","")
		objLinks[i].onclick = new Function(strClick);
		}
	    
		//MouseOver
		if(objLinks[i].mouseover && xHow && objLinks[i].mouseover != "function(){\"return false;\"}"){  
			objLinks[i].mouseover = new Function("return false;" + objLinks[i].mouseover.toString().getFuncBody());
		}
		//link without mouseover
		else if(xHow){  
		objLinks[i].mouseover = function(){"return false;"}
		}
		//remove return false with link without mouseover
		else if(!xHow && objLinks[i].mouseover.toString().indexOf("function(){return false;}") != -1){            
		objLinks[i].mouseover = null;
		}
		//remove return false link with mouseover
		else if(!xHow && objLinks[i].mouseover.toString().indexOf("return false;") != -1){  
		strMouseover = objLinks[i].mouseover.toString().getFuncBody().replace("return false;","")
		objLinks[i].mouseover = new Function(strMouseover);
		}
	    
		//MouseOut
		if(objLinks[i].mouseout && xHow && objLinks[i].mouseout != "function(){\"return false;\"}"){  
			objLinks[i].mouseout = new Function("return false;" + objLinks[i].mouseout.toString().getFuncBody());
		}
		//link without mouseout
		else if(xHow){  
		objLinks[i].mouseout = function(){"return false;"}
		}
		//remove return false with link without mouseout
		else if(!xHow && objLinks[i].mouseout.toString().indexOf("function(){return false;}") != -1){            
		objLinks[i].mouseout = null;
		}
		//remove return false link with mouseout
		else if(!xHow && objLinks[i].mouseout.toString().indexOf("return false;") != -1){  
		strMouseout = objLinks[i].mouseout.toString().getFuncBody().replace("return false;","")
		objLinks[i].mouseout = new Function(strMouseout);
		}
	}
	};

	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; 
	};

// Disable the right mouse button click across the application
RightClickMessage="Right Click Disabled";

function DisableClick(evt)
{	
	var e = evt? evt : window.event; 
	return;
	if(!e) return;
	
	if (e.button==2)
	{
		// This try catch is in place just in case there is a scenario that hasnt been considered
		try
		{
			var selectsection;
			
			if(e.srcElement){	
				// IF it is a text box for input or a label or a text box then let the usual Context Menu through (copy paste etc)
				if ((e.srcElement.tagName == "LABEL") || (e.srcElement.tagName == "INPUT") || ((e.srcElement.id.toLowerCase().indexOf("label") !=-1) || (e.srcElement.id.toLowerCase().indexOf("lbl") !=-1) || (e.srcElement.id.toLowerCase().indexOf("hyp") !=-1) && (e.srcElement.tagName == "SPAN") ) || ((e.srcElement.tagName == "SPAN") && (e.srcElement.parentElement.tagName == "TD")) || ((e.srcElement.tagName == "TD") && ((e.srcElement.parentElement.parentElement.parentElement.id.toLowerCase().indexOf("grd") !=-1) || (e.srcElement.parentElement.parentElement.id.toLowerCase().indexOf("grd") !=-1)) ) )
				{
					// This section of code selects all of the label or text in the text area when the user
					// does a right mouse button click.
					if (e.srcElement.isTextEdit)
					{
						selectsection=e.srcElement.createTextRange();
					}
					else // Its a non-input field
					{
						var parentelement=e.srcElement.parentTextEdit;
						selectsection = document.body.createTextRange();
						selectsection.moveToElementText(e.srcElement);
						selectsection.findText(e.srcElement.innerText,0,6);
					}
					selectsection.select();
					return true;
				}
				else if (e.srcElement.id.toLowerCase().indexOf("hyp") !=-1 && e.srcElement.tagName == "A")
				{
					return true;
				}
			} 
			else if (e.target)
			{
				// IF it is a text box for input or a label or a text box then let the usual Context Menu through (copy paste etc)
				if ((e.target.nodeName == "LABEL") || (e.target.nodeName == "INPUT") || ((e.target.id.toLowerCase().indexOf("label") !=-1) || (e.target.id.toLowerCase().indexOf("lbl") !=-1) || (e.target.id.toLowerCase().indexOf("hyp") !=-1) && (e.target.tagName == "SPAN") ) || ((e.target.tagName == "SPAN") && (e.target.parentNode.tagName == "TD")) || ((e.target.tagName == "TD") && ((e.target.parentNode.parentNode.parentNode.id.toLowerCase().indexOf("grd") !=-1) || (e.target.parentNode.parentNode.id.toLowerCase().indexOf("grd") !=-1)) ) )
				{				
					selectsection=e.target;
					if(selectsection.setSelectionRange){
						selectsection.focus();
						selectsection.selectionStart = 0;
						selectsection.selectionEnd = e.target.value.length;
					} 
					else 
					{
						if( document.layers ) 
						{
							//Against the JS spec, Netscape 4 will produce errors if too many arguments are given
							window.find(e.target.textContent, false, false);
						} 
						else 
						{
							window.find(e.target.textContent, false, false, true, false, true, false);
						}
					}
					
					return true;
				}
				else if (e.target.id.toLowerCase().indexOf("hyp") !=-1 && e.target.tagName == "A")
				{
					return true;
				}
			}
		}
		catch(oErr)
		{
			// Do Nothing
		}
		alert(RightClickMessage);
		if (e.stopPropagation) 
		{
			e.stopPropagation();
			e.preventDefault();
		}
		return false;
	}

	if (document.layers)
	{
    	if (e.which == 3) 
		{
      		alert(RightClickMessage);
      		return false;
	    }
	}

}


// Disable Backspace if not on a text box type of input
// This is to prevent workflows from getting lost which causes crashes when the user
// navigates with the back button
function BackButtonCheck(evt)
{
	var e = evt? evt : window.event;
	if(!e) return; 
	var key = 0;
	var SourceElement; 
	var target; 
	
	if (e.keyCode) { key = e.keyCode; } // for moz/fb, if keycode==0 use 'which' 
	else if (typeof(e.which)!= 'undefined') { key = e.which; } 

	if(e.srcElement){ SourceElement = e.srcElement.tagName; target = e.srcElement; }
	else if (e.target) { SourceElement = e.target.nodeName; target = e.target; }
	
	if (key == 8 && ((SourceElement  != "INPUT" && SourceElement  != "TEXTAREA") || target.readOnly) ) 
	{
		e.cancelBubble = true;
		e.returnValue = false;
		if (e.stopPropagation) 
		{
			e.stopPropagation();
			e.preventDefault();
		}
	}

	if ((e.altKey == true) && ((key == 37) || (key == 39)))
	{
		e.cancelBubble = true;
		e.returnValue = false;
		if (e.stopPropagation) 
		{
			e.stopPropagation();
			e.preventDefault();
		}
	}

}

function HideRow(RowID)
{
	var row = document.getElementById(RowID);
	if(row != null) 
	{
		row.style.display = 'none';
	}
}

function ShowRow(RowID)
{
	var row = document.getElementById(RowID);
	if(row != null) 
	{
		row.style.display = '';
	}
}




			
