/*
' Copyright (c) Epic Systems Corporation 1999-2008*/

var activity = 0;
var TRefreshID = "";
var TSessionID = "";
var mycKeepAliveCnt = 0;
var submitcount=0;
var newwindow;











function padNumber(num,length) {
	if(num>0) {
		num = num.toString().replace(/\./,".");
		return Array(length-num.length+1).join("0")+num;
	} else {
		num = (-num).toString().replace(/\./,".");
		return "-".Array(length-num.length).join("0")+num;
	}
}

















function IsNumericMinMax(objName,minvalue,maxvalue,decimalAllowed) {
	if(objName==null) { return false; }

	var number;
	var objValue = objName.value;
	if (objValue == "") { return true; }
	

	
	if(objValue.indexOf(",") != -1 && objValue.indexOf(".")) {
		alert("Please enter a numeric value.");
		objName.select();
		objName.focus();
 		return false;		
	}
	
	objValue = objValue.replace(/[\,\s]/g,""); 
	number = objValue.replace(/\./g,".");             
	number = Number(number);
	
	if(number == NaN) {
		alert("Please enter a numeric value.");
		objName.select();
		objName.focus();
 		return false;
 	} else if(!decimalAllowed && number != Math.round(number)) {
		alert("Please enter a numeric value.");
		objName.select();
		objName.focus();
 		return false;
	} else if((minvalue != "") && (number < Number(minvalue))) {
		alert("Please enter a value no less than @MYCHART@MINVALUE@.".replace("@MYCHART@MINVALUE@",minvalue));
		objName.select();
		objName.focus();
		return false;
	} else if((maxvalue != "") && (number > Number(maxvalue))) {
		alert("Please enter a value no more than @MYCHART@MAXVALUE@.".replace("@MYCHART@MAXVALUE@",maxvalue));
		objName.select();
		objName.focus();
		return false;
	}
	
	objName.value = objValue; 
	return true;
}









function findFrame(what) {
	for (var i=0;i<parent.frames.length;i++) {
		if (parent.frames[i].name == what)
			return true;
	}
	return false;
}



function checkActivity(RefreshTimeOut,SessionTimeOut,WarningPopup,sLogoutPage){  
	
	
	
	
	
	
	
	
	
	
	
	
	

	var img;

	if (activity == 1) {
		mycKeepAliveCnt++;

		if (document.images){
			img = new Image();
			img.src = "./keepalive.asp?cnt=" + mycKeepAliveCnt;
			window.clearTimeout(TSessionID);
		}
		
		else if (document.getElementById('mycKeepAliveFrameIE')) {
			document.getElementById('mycKeepAliveFrameIE').data="./keepalive.asp";
		}
		
		
		
		
		
		
		
		

		intKeepalive();

		activity = 0;
		TRefreshID=window.setTimeout('checkActivity(' + RefreshTimeOut + ',' + SessionTimeOut +  ',"' + WarningPopup + '","' + sLogoutPage + '");',RefreshTimeOut); 
		TSessionID=window.setTimeout('logOut("' + sLogoutPage + '");',SessionTimeOut); 
	}
	
	else if (WarningPopup.length>0) {
		newwindow = window.open('',"_blank","'toolbar=no,location=no,screenX=350,screenY=300,left=350,top=300,directories=no,status=no,menubar=no,resizable=no,width=370,height=110");
		if (!newwindow.opener) newwindow.opener = window;
		var threshold=SessionTimeOut-RefreshTimeOut;
		newwindow.document.write('<html><head>');
		newwindow.document.write('<script language="javascript">');
		newwindow.document.write('setTimeout("self.close();",' + threshold + ')');
		newwindow.document.write('</script>');
		newwindow.document.write('</head><title>Warning</title>');
		newwindow.document.write('<body onload="window.focus();" bgcolor="#ECE9D8" leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0">');
		newwindow.document.write('<center>');
		newwindow.document.write('<font face="arial" font size="2">' + WarningPopup + '</font>');
		newwindow.document.write('<p><font face="arial" font size="2">Do you want to maintain your session?</font>');
		newwindow.document.write('<form><table><tr>');
		newwindow.document.write('<td><input type="button" style="width:65" value="Yes" onClick="if(!opener.closed) {opener.activity=1; opener.checkActivity(' + RefreshTimeOut + ',' + SessionTimeOut + ',\'' + WarningPopup + '\',\'' + sLogoutPage + '\');} self.close()"></td>'); 
		newwindow.document.write('<td><input type="button" style="width:65" value="No" onClick="if(!opener.closed) opener.logOut(\'' + sLogoutPage + '\'); self.close()"></td>'); 
		newwindow.document.write('</tr></table></form>');
		newwindow.document.write('</center></body></html>');
	}
}



function logOut(sLogoutPage){  
	if(newwindow)
	{
		if(!newwindow.closed){
			newwindow.close();
		}
	}
    if ((sLogoutPage != "") && (sLogoutPage != null) && (sLogoutPage != "undefined")) {  
		self.location.href = sLogoutPage;
	}
	else {  
		self.location.href="./bye.asp";
	}
	
}



function SetActivity(){
	activity=1;
	
}

function SetBlurActivity(){
	SetActivity();
	
}


function HandleKeyPress(evt,o){
 var lKeyCode;
 if (navigator.appName!="Netscape") {
	 lKeyCode = window.event.keyCode;
 } else {
	 lKeyCode = evt.which;
 }

 SetActivity();
 return true;
}



function CheckLength(sElement,lMaxLength,sErrorMsg,IsKeyPress) {
	var origLen;
	var sMessage;

	origLen=lMaxLength;
	if ((IsKeyPress!="") && (IsKeyPress!=null) && (IsKeyPress=="1")) {
		lMaxLength=lMaxLength-1
	}

	sMessage = sElement.value.replace(/\r\n/g,'')
	if (sMessage.length>lMaxLength) {
		if (sErrorMsg=="") {
			sErrorMsg = "Text may not exceed @MYCHART@MAXMIMUMLENGTH@ characters. \n".replace("@MYCHART@MAXMIMUMLENGTH@",origLen);
		}
		alert(sErrorMsg);
		sElement.focus();
		return false;
	}
	return true;
}



function HandleKeyPressAndMaxLen(evt,sElement,lMaxLength,sErrorMsg){
	var lKeyCode;
	if (navigator.appName!="Netscape") {
	 lKeyCode = window.event.keyCode;
	} else {
	 lKeyCode = evt.which;
	}
	SetActivity();
	if ((lKeyCode == 8) || (lKeyCode == 0)) { 
		return true;
	} else {
		return CheckLength(sElement,lMaxLength,sErrorMsg,1);
	}
}


function HandleBlurAndMaxLen(evt,sElement,lMaxLength,sErrorMsg){
	return HandleKeyPressAndMaxLen(evt,sElement,lMaxLength,sErrorMsg);
}


function HandleOnChangeAndMaxLen(sElement,lMaxLength,sErrorMsg){
	SetActivity();
	return CheckLength(sElement,lMaxLength,sErrorMsg);
}





function insideBodyLoad(sRefreshTimeout, sSessionTimeout, sWarningPopup, sTitle, sLogoutPage){ 
	
	var fn = document.body.getAttribute('onload').toString();
	if (fn.indexOf('dataTileLoad') == -1)
	{
		breakOut();
	}

	var sTimeoutParams
	sTimeoutParams='checkActivity(' + sRefreshTimeout + ', ' + sSessionTimeout + ',"' + sWarningPopup + '","' + sLogoutPage + '");'  
	TRefreshID=window.setTimeout(sTimeoutParams, sRefreshTimeout);
	TSessionID=window.setTimeout('logOut("' + sLogoutPage + '");', sSessionTimeout); 
	top.document.title=sTitle;
	window.focus();
	return true;
}











function breakOut()
{
	if (self != top) top.location.replace(self.location.href);
}



function getObjectValue(obj) {
	var objLen,i,objValue
	if (obj) {	
		objLen = 0;
		objLen = obj.length;
		objValue = "";
		if (objLen>0) {
			for(i=0;i<objLen;i++){
			objValue = objValue + obj[i].value;
			}
		}
		else {
			objValue=obj.value;
		}
		return objValue;
	}
}




function doMainKeyPress(e) {
	return routeEvent(e)

}
if (navigator.appName=="Netscape") {
	window.captureEvents(Event.KEYPRESS)
	window.onkeypress=doMainKeyPress
}




function submitForm(element) {
	if (element.form.submitcontrol.value=='submit form'){
		element.form.submitform.click();
		return false;
	
		
	}
}
function addFocus(element) {
	element.form.submitcontrol.value='nosubmit'
	return true;
}
function taKeyDown(element) {
	element.form.submitcontrol.value='nosubmit';
}
function recordKey(element) {
	if ((window.event.keyCode==13)&&(element.submitcontrol.value!='nosubmit')) {
		element.submitcontrol.value="submit form";
	} else {
		element.submitcontrol.value="";
	}
}


	
function containsSpace(text){
	for (var i=0; i<text.length; ++i) {
		if (text.charAt(i) == " ") return true;
	}
	return false;
}




 function containsPunctuation(text){
	var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@._-";
	var utext = text.toUpperCase();
	for (var i=0; i<utext.length; ++i) {
		var ch = utext.charAt(i);
		if (validChars.indexOf(ch) < 0) return true;
	}
	return false;
}





function selectCheckBox(chkBoxGrp){
	if ((chkBoxGrp!=null) && (document.all||document.getElementById)){
		for (var i=0; i < chkBoxGrp.length;i++){
			if (chkBoxGrp[i].checked==true) return true;
		}
		if (chkBoxGrp.checked==true) return true;    

		alert("At least one checkbox must be checked");
		return false;
	}
	return true;
}


function disableButton(formObj){
	if (submitcount==0){
		submitcount++;
		return true;
	}
	else{
		formObj.disabled=true;
		return false;
	}
}


function enableIfReqFilled(frmID,btns) {
  if (!document.getElementById) {return; }
	var frm,i,arr,errs,verify,name,disp,key,errCnt,input,list;
	frm=document.getElementById(frmID);
	if(!frm){ return; }
	list=btns.split("^");
	if(!list || list.length==0){ return; }
	var args=enableIfReqFilled.arguments;
	verify = new Array();
	errs   = new Array();
	errCnt=0;
	for(i=2;i<args.length;i++){
		arr   = args[i].split("^");
		name  = arr[0];
		disp  = arr[1] || name;
		key   = arr[2] || name;
		input = frm[name];
		if( input && !(verify[key]) ) {
			if( removeWhiteSpace(input.value).length == 0 ) {
				if(!errs[key]){	
					errs[key]=true; 
					errCnt++;				
				}
			}else{
				verify[key]=true;
				if(errs[key]){
					errs[key]=false;
					errCnt--;
				}
			}
		}
	}
	if( errCnt>0 ){
		for(i=0;i<list.length;i++){
			disableBtn(frm[list[i]]); 
		}
	}else{ 
		for(i=0;i<list.length;i++){
			enableBtn(frm[list[i]]); 
		}
	}
}

	
function removeWhiteSpace(txt){
	var str = ""+txt;
	str = str.replace(/\W/g,"");
	return str;
}


function confirmDelete(sMessage){
		if(confirm(sMessage) == true) return true;
		return false;
}



function setAllCheckboxes(master) {
	var value = master.checked;
	var list = document.getElementsByTagName("input");
	var n,ipt;
	for (n = 1; n < list.length; n++) {
		ipt = list[n];
		if (!ipt.getAttribute) { continue; }
		if (ipt.getAttribute("type") != "checkbox") { continue; }
		ipt.setAttribute("checked", value);
		ipt.checked = value;
	}
}



function checkAll(formname,groupname){
  if( typeof(document)=='object' &&
      formname != null &&
      groupname != null &&
      document.getElementById &&
      typeof(document.getElementById(formname))=='object'){
      var form = document.getElementById(formname);
      var element,index=0;
      while( element = form[index++] ){
	if(element.type=='checkbox'){
	  element.checked = true;
	}
      }
  }
}


function selectRadioButton(radButGrp){
	if (document.all||document.getElementById){
	  for (var i=0; i < radButGrp.length;i++){
		if (radButGrp[i].checked==true) return true;
	  }
	  if (radButGrp.checked==true) return true;    

	  alert("Please make a selection before submitting.");
	  return false;
    }
    return true;
}



function disableButton1(oButton){
	if (typeof(oButton)=='object'){
		oButton.disabled=true;
	}
	return true;
}


var browser,version,total,thestring,place;
function checkIt(agent,string){
	place = agent.indexOf(string) + 1;
	thestring = string;
	return place;
}






function dataTileLoad() {
	var agent = navigator.userAgent.toLowerCase();
	var isIE,isOpera,isWebKit,container;
	var sHeight,oHeight,iHeight;
	if (checkIt(agent,'konqueror')){       browser = "Konqueror"; }
	else if(checkIt(agent,'safari')){      browser = "Safari"; isWebKit=true; }
	else if(checkIt(agent,'omniweb')){     browser = "OmniWeb"; isWebKit=true;  }
	else if(checkIt(agent,'opera')){       browser = "Opera"; isOpera=true; }
	else if(checkIt(agent,'webtv')){       browser = "WebTV"; }
	else if(checkIt(agent,'icab')){        browser = "iCab"; }
	else if(checkIt(agent,'msie')){        browser = "Internet Explorer"; isIE=true; }
	else if(!checkIt(agent,'compatible')){ browser = "Netscape Navigator"; version = agent.charAt(8); }
	else{                                  browser = "Unknown"; }
	if (!version) version = agent.charAt(place + thestring.length);

	if( !parent || !parent.document || !window || !window.name){ return; }
	else if( parent.document.getElementById ){
		container = parent.document.getElementById(window.name);
	}else if( parent.document.all ){
		container = parent.document.all[window.name];
	}else{ return; }
	if( !container || !document || !document.body || !container.style || (typeof('container.style.height')=='undefined') ){ return; }

	if(isIE){
		iHeight = document.body.scrollHeight;
		container.style.height = iHeight + 16 +'px'; 
	}else if(isWebKit){
		window.setTimeout('resizeWebKit("' + window.name +'");',250);
	}else if(isOpera){
		sHeight = (typeof(document.body.scrollHeight) != 'undefined' ? document.body.scrollHeight : 200);
		oHeight = (typeof(document.body.offsetHeight) != 'undefined' ? document.body.offsetHeight : 200);
		iHeight = (sHeight <= oHeight ? oHeight : sHeight); 
		container.style.height = iHeight + 16 + 'px'; 
	}else{
		container.style.height = 150 + 'px';
		sHeight = (typeof(document.body.scrollHeight) != 'undefined' ? document.body.scrollHeight : 200);
		oHeight = (typeof(document.body.offsetHeight) != 'undefined' ? document.body.offsetHeight : 200);
		iHeight = (sHeight <= oHeight ? oHeight : sHeight); 
		sHeight =  (typeof(document.documentElement.scrollHeight) != 'undefined' ? document.documentElement.scrollHeight : 0);
		iHeight = (sHeight <= iHeight ? iHeight : sHeight); 
		container.style.height = iHeight + 16 + 'px'; 
	}
}


function resizeWebKit(sName)
{
	if(document.getElementById) {
		var container,iHeight;
		container = parent.document.getElementById(sName);
		iHeight = document.body.scrollHeight;
		container.style.height = iHeight + 16 +'px';
	}
}


function DoRedirect()
{
	this.document.write('<br /><br /><br /><br /><center>You are being logged out</center>');
	window.location='./bye.asp';
	return false;
}


function DoRedirectOE()
{
	this.document.write('<br /><br /><br /><br /><center>You are being logged out</center>');
	window.location='./oebye.asp';
	return false;
}



function captureBackEnterKey() {
	SetActivity();
	if (window.event && ((window.event.keyCode == 8) || (window.event.keyCode == 13))) {
		var Elem=window.event.srcElement;
		var ElemFiringBS=Elem.type;
		if (!Elem.readOnly) {
			if ((ElemFiringBS == "text" || ElemFiringBS=="textarea" ||ElemFiringBS=="password") && (window.event.keyCode == 8)){
				return ;
			}
			if ((ElemFiringBS=="textarea" || ElemFiringBS=="submit") && (window.event.keyCode == 13)){
				return ;
			}

		}
		window.event.cancelBubble = true;
		window.event.returnValue = false;
		return false;
	}
}


function showItem(objID){
  var tblObj;
  if (document.getElementById){
    tblObj=document.getElementById(objID);
  }
  else {
    if (document.all) {
      tblObj=document.all.item(objID);
    }
  }
  if (tblObj != null){
    tblObj.style.display="block";
    return true;
  }
  return false;
}

function hideItem(objID){
  var tblObj;
  if (document.getElementById){
    tblObj=document.getElementById(objID);
  }
  else {
    if (document.all) {
      tblObj=document.all.item(objID);
    }
  }
  if (tblObj != null){
    tblObj.style.display="none";
    return true;
  }
  return false;
}



function enableIfChecked(formID) {
  if (!document.getElementById) {return; }
  var cb, btn, frm;
  var btns = new Array();
  var frm = document.getElementById(formID);
  if(!frm) { return; }
  var args = enableIfChecked.arguments;
  for(var i = 1; i < args.length; i++) {
      btn = frm[args[i]];  
      if (btn) { btns.push(btn); }
  }
  var inp = frm.getElementsByTagName('input');
  var checked = false;
  for(var x = 0; x < inp.length; x++) {
     cb = inp[x];
     if(cb.type != 'checkbox' && cb.type != 'radio') { continue; }
     if(cb.className.toLowerCase().indexOf('hidden') != -1) { continue; }
     if(cb.checked) {
         checked = true;
         break;
     }
  }
  for (var i=0; i<btns.length; i++) {
    btn = btns[i];
    if(checked) {
      enableBtn(btn);
    } else {
      disableBtn(btn);
    }
  }
}

function enableBtn(btn) {
   if(btn && btn.removeAttribute) {
      btn.removeAttribute('disabled');
      btn.className = btn.className.replace(/\ ?disabled/, '');
   }
}
function disableBtn(btn) {
   var ds = 'disabled';
   if(btn) {
      btn.disabled = ds;
      if(btn.className.indexOf(ds) == -1) {
          btn.className = btn.className.replace(/\ *$/, '');
          if(btn.className.length > 0) { ds = ' ' + ds; }
          btn.className = btn.className + ds;
      }
   }
}










function getElementPosition(elem, container) {
	if(!elem.offsetParent) { return; }
	var currentElement = elem;
	var left = 0;
	var top = 0;
	var chain = "";
	var topElement;
	while (currentElement){
		topElement = currentElement;
		if(currentElement.tagName == "HTML") { break; }
		if(container && currentElement == container) { break; }
		left += currentElement.offsetLeft;
		top += currentElement.offsetTop;
		if (currentElement.scrollLeft) {
			left -= currentElement.scrollLeft;
		}
		if(currentElement.id.toLowerCase() == "wrap") {
			left -= currentElement.offsetLeft;
			top -= currentElement.offsetTop;
			break;
		}
		currentElement = currentElement.offsetParent;
	}
	
	if (navigator.userAgent.indexOf('Mac') != -1 && typeof document.body.leftMargin != 'undefined') {
		left += document.body.leftMargin;
		top += document.body.topMargin;
	}
	left += "px";
	top += "px";
	if (topElement.tagName == "HTML") {  
		topElement = topElement.getElementsByTagName("body")[0];
		if(topElement.offsetLeft) left -= topElement.offsetLeft;
		if(topElement.offsetTop) top -= topElement.offsetTop;
	}
	return {x:left, y:top, topElement:topElement};
}
	



function changePasswdCheck(formObj){
	if(formObj==null) return false;

	var sOldPasswd, sNewPasswd,sVerPasswd

	sOldPasswd = formObj.oldpasswd.value;
	if (sOldPasswd == "") {
		alert("Please enter your current password.");
		formObj.oldpasswd.focus();
		return false;
	}

	sNewPasswd = formObj.newpasswd.value;
	if (containsSpace(sNewPasswd)) {
	 alert("Your new password cannot contain any spaces.");
	 formObj.newpasswd.focus();
	 return false;
	}

	sVerPasswd = formObj.verifypasswd.value;
	if (sNewPasswd != sVerPasswd) {
		alert("Your new password and the retyped new password are not the same.");
		formObj.verifypasswd.focus();
		return false;
	}
	return true;
 }
	 
 
 

 function changeQuesAnsCheck(formObj){
		if(formObj==null) return false;

		var sPasswd,sNewAns

		sPasswd = formObj.oldpasswd.value;
		if (sPasswd == "") {
			alert("Please enter your current password.");
			formObj.oldpasswd.focus();
			return false;
		}

		sNewAns = formObj.pwdans.value;
		if (sNewAns == "") {
		 alert("Please enter your new answer.");
		 formObj.pwdans.focus();
		 return false;
		}

		return true;
 }
	 
 
 function writeInstructionImage(PtInstructions,imageSource,showLeft){
		document.write(InstructionHTML(PtInstructions,imageSource,showLeft));
 }
	 
 function InstructionHTML(PtInstructions,imageSource,showLeft) {
		PtInstructions=unescape(PtInstructions);	
		return "<a onclick='showInstructions(this,\"" + escape(PtInstructions) + "\",\"" + showLeft + "\"); return false;' href='#'>" + unescape(imageSource) + "</a>";	 
 }  

 function showInstructions(trigger,PtInstructions,showLeft)
	 {	
		cancelInstructions();

		var theDiv = document.createElement("div");
		theDiv.className="popupInstructions";
		theDiv.id="popupInstructions";

		var pos = getElementPosition(trigger);

		if(trigger.offsetParent) {
			var topElement = document.getElementsByTagName("body")[0];
			topElement.insertBefore(theDiv,document.getElementById("wrap"));
			theDiv.innerHTML = "<a class='right' onclick='cancelInstructions();return false;' href='#'>" + "Close" + "</a><h4>" + "Instructions:" + "</h4><p>" + unescape(PtInstructions) + "</p>";
			theDiv.style.zIndex = 1001;
			theDiv.style.backgroundColor='white';
			theDiv.style.display='block';

			if (showLeft) {
				var posLeft = parseInt(pos.x) - theDiv.clientWidth - 20;
				if (posLeft < 5) posLeft = 5;
				theDiv.style.left = posLeft + "px";
			} else {
				theDiv.style.left = pos.x;
			}
			var posTop = parseInt(pos.y) - (theDiv.clientHeight / 2);
			if (posTop < 5) posTop = 5;
			theDiv.style.top = posTop + "px";
			theDiv.style.position = "absolute";

		} else {
			trigger.parentNode.insertBefore(theDiv, trigger);
			trigger.className = "hidden";
		}	
 }


 function cancelInstructions()
 {
	var theDiv = document.getElementById('popupInstructions');
	if(theDiv!=null){
		theDiv.parentNode.removeChild(theDiv);
	}

	var theDivFrame = document.getElementById('DivFrame');
	if(theDivFrame!=null){
		theDivFrame.parentNode.removeChild(theDivFrame);
	}
 }




function showDemographicsSection(checked) {
	var dem = document.getElementById("demographics_section");
	if (dem) { 
		dem.style.display = "block"; 
		if (checked) {
			var cb = document.getElementById("SendDemographics");
			if(cb) { cb.checked = "checked"; }
		}
	}
}

function setDemographicsSharing() {
	var cb = document.getElementById("SendDemographics");
	var share = !!cb.checked;   
	var link = document.getElementById("newaccountlink");
	if(link) {
		if(share && link.href.indexOf("share=1") == -1) {
			link.href = link.href + "&share=1";
		}
		if(!share && link.href.indexOf("share=1") > -1) {
			link.href = link.href.replace(/&?share=1/,"");
		}
	}
}


