

// [dFilter] - A Numerical Input Mask for JavaScript
// Written By Dwayne Forehand - March 27th, 2003
// Please reuse & redistribute while keeping this notice.

var dFilterStep

function dFilterStrip (dFilterTemp, dFilterMask)
{
	dFilterMask = replace(dFilterMask,'#','');
	for (dFilterStep = 0; dFilterStep < dFilterMask.length++; dFilterStep++)
      {
       dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
      }
      return dFilterTemp;
}

function dFilterMax (dFilterMask)
{
      dFilterTemp = dFilterMask;
	  for (dFilterStep = 0; dFilterStep < (dFilterMask.length+1); dFilterStep++)
      {
             if (dFilterMask.charAt(dFilterStep)!='#')
            {
       dFilterTemp = replace(dFilterTemp,dFilterMask.charAt(dFilterStep),'');
            }
      }
      return dFilterTemp.length;
}

function dFilter (key, textbox, id,dFilterMask)
{
	if (key==9 || key==0)
	{
		return true;
	}else{
	
	 var isIE = (document.all)? true : false;
	 if (isIE){
		dFilterNum = dFilterStrip(textbox.value, dFilterMask);
	 }else
	 {
		dFilterNum = dFilterStrip(document.getElementById(id).value, dFilterMask);
	 } 
    }  
      
      if (key==9 || key==0)
      {
       return true;
      }
      else if (key==8&&dFilterNum.length!=0)
      {
              dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
      }else if (key==8&&dFilterNum.length==0)
      {
		return true;
      }
	   else if ( ((key>47&&key<58)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
      {
		dFilterNum=dFilterNum+String.fromCharCode(key);
      }

      var dFilterFinal='';
	for (dFilterStep = 0; dFilterStep < dFilterMask.length; dFilterStep++)
    {
		if (dFilterMask.charAt(dFilterStep)=='#')
        {
                if (dFilterNum.length!=0)
                {
					dFilterFinal = dFilterFinal + dFilterNum.charAt(0);
					dFilterNum = dFilterNum.substring(1,dFilterNum.length);
                }
				else
				{
					dFilterFinal = dFilterFinal + "";
				}
         }
         else if (dFilterMask.charAt(dFilterStep)!='#')
         {
			dFilterFinal = dFilterFinal + dFilterMask.charAt(dFilterStep);          
         }
//       dFilterTemp = replace(dFilterTemp,dFilterMask.substring(dFilterStep,dFilterStep+1),'');
    }
	if (dFilterFinal.replace(/#/g,"")=="")
	{
		dFilterFinal='';
	}
      textbox.value = dFilterFinal;
return false;
}

function replace(fullString,text,by) 
{
	// Replaces text with by in string
	var strLength = fullString.length, txtLength = text.length;
	if ((strLength == 0) || (txtLength == 0)) return fullString;

	var i = fullString.indexOf(text);
	if ((!i) && (text != fullString.substring(0,txtLength))) return fullString;
	if (i == -1) return fullString;

	var newstr = fullString.substring(0,i) + by;

	if (i+txtLength < strLength)
	newstr += replace(fullString.substring(i+txtLength,strLength),text,by);

	return newstr;
} 


function getHTTPRequest() {
	var xmlhttp = false;
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	try {
	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
	xmlhttp = false;
	}
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function iecompattest(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function showLoading(){
	var ns6 = document.getElementById&&!document.all;
	var loadingDiv = document.getElementById("loadingDiv");
	loadingDiv.style.top=ns6? window.pageYOffset*1+150+"px" : iecompattest().scrollTop*1+150+"px";
	loadingDiv.style.visibility = "visible";
}

function physicianDetail(evt,id)	{
	var ns6=document.getElementById&&!document.all
	var xmlhttp = getHTTPRequest();
	var loadingDiv = document.getElementById("loadingDiv");
	xmlhttp.open("GET","Detail.aspx?ID=" + id);
	xmlhttp.onreadystatechange = function()
	{
		if (xmlhttp.readyState == 4) {
			var planPreview = document.getElementById("navtxt");		
			loadingDiv.style.visibility = "hidden";
			planPreview.innerHTML = xmlhttp.responseText
			overlay(evt,"navtxt","bottom");
			//planPreview.style.top=ns6? window.pageYOffset*1+150+"px" : iecompattest().scrollTop*1+150+"px"
			//planPreview.style.visibility = "visible";
		}
	}
	xmlhttp.send(null);
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}
function loadingHide() {
	getObj("disabledZone").style.visibility = 'hidden';		
}


/***********************************************
* Drop Down/ Overlapping Content- ? Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function getposOffset(overlay, offsettype){
var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
var parentEl=overlay.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function overlay(curobj, subobjstr, opt_position){
if (document.getElementById){
var subobj=document.getElementById(subobjstr)
subobj.style.display=(subobj.style.display!="block")? "block" : "none"
var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
subobj.style.left=xpos+200+"px"
if (ypos<200)
	subobj.style.top=ypos+"px"
else
	subobj.style.top=ypos-200+"px"

return false
}
else
return true
}

function overlayclose(subobj){
document.getElementById(subobj).style.display="none"
}

