// JavaScript Document
var dFilterStep;
var UHPCommWindow = null;

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, dFilterMask)
{
		dFilterNum = dFilterStrip(textbox.value, dFilterMask);
		
		if (key==9)
		{
		    return true;
		}
		else if (key==8&&dFilterNum.length!=0)
		{
		 	 	dFilterNum = dFilterNum.substring(0,dFilterNum.length-1);
		}
 	  else if ( ((key>47&&key<58)||(key>95&&key<106)) && dFilterNum.length<dFilterMax(dFilterMask) )
		{
			if(key>95&&key<106)key-=48;
        	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),'');
		}


		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 addLoadEvent(fn) {
	if (window.addEventListener) {
		window.addEventListener("load", fn, false);
	}
	else if (document.addEventListener) {
		document.addEventListener("load", fn, false);
	}
	else if (window.attachEvent) {
		window.attachEvent("onload", fn);
	}
	else if (typeof window.onload == "function") {
		var fnOld = window.onload;
		window.onload = function(){
			fnOld();
			fn();
		};
	}
	else {
		window.onload = fn;
	}
}

sfHover = function() {
	if(document.getElementById("menu-a") == null)
		return;
	var sfEls = document.getElementById("menu-a").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
addLoadEvent(sfHover);


function correctPNG(){
   for(var i=0; i<document.images.length; i++){
	  var img = document.images[i];
	  var imgName = img.src.toUpperCase();
	  if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
		 var imgID = (img.id) ? "id='" + img.id + "' " : ""
		 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
		 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
		 var imgStyle = "display:inline-block;" + img.style.cssText 
		 if (img.align == "left") imgStyle = "float:left;" + imgStyle
		 if (img.align == "right") imgStyle = "float:right;" + imgStyle
		 //if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle		
		 var strNewHTML = "<div " + imgID + imgClass + imgTitle
		 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
	     + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
		 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></div>" 
		 img.outerHTML = strNewHTML;
		 i = i-1;
     }
   }
}
addLoadEvent(correctPNG);

// Code Entry Box functions
closeCodeEntry = function() {
	document.getElementById("code-entry-holder").style.display="none";
}

var startX=-500;
var finalX=190;
var xpos=startX;
var started=0;
var Id=0;
function openCodeEntry(){
	var codeBox = document.getElementById("code-entry-holder");
	if(codeBox){
		codeBox.style.left=startX.toString()+"px";
		codeBox.style.visibility="visible";
		if(!Id){moveCodeBox();started=1;}
	}
}

function moveCodeBox(){
	xpos+=(finalX-xpos)/4;
	if(Math.abs(finalX-xpos)<1){xpos=finalX;}
	var codeBox = document.getElementById("code-entry-holder");
	codeBox.style.left=xpos.toString()+"px";
	if (xpos==finalX){window.clearTimeout(Id);Id=0;}else{Id = window.setTimeout("moveCodeBox();",100);}
}
addLoadEvent(openCodeEntry);

function datePopulate(objMonth,objDay,objYear) 
{
	var timeA = new Date(objYear.value, objMonth.value,1);
	timeDifference = timeA - 86400000;
	timeB = new Date(timeDifference);
	var daysInMonth = timeB.getDate();
	var selectedDay = objDay.selectedIndex;

	objDay.options.length = 0;

	for (var i = 0; i < daysInMonth; i++) {
		objDay.options[i] = new Option(i+1,i+1);
	}
	
	if(selectedDay > objDay.options.length)
		objDay.selectedIndex = objDay.options.length - 1;
	else
		objDay.selectedIndex = selectedDay;
}

function datePopulate(objMonth,objDay,objYear,objDBDate) 
{
	timeA = new Date(objYear.value, objMonth.value,1);
	timeDifference = timeA - 86400000;
	timeB = new Date(timeDifference);
	var daysInMonth = timeB.getDate();
	
	var selectedDay = '01';

	if(objDay)
	{
		selectedDay = objDay.selectedIndex;
	objDay.options.length = 0;

	for (var i = 0; i < daysInMonth; i++) {
		objDay.options[i] = new Option(i+1,i+1);
	}
	
	if(selectedDay > objDay.options.length)
		objDay.selectedIndex = objDay.options.length - 1;
	else
		objDay.selectedIndex = selectedDay;
		
		selectedDay = objDay.value;
	}
	
	if(objDBDate)
		objDBDate.value = objYear.value + "-" + objMonth.value + "-" + selectedDay;
}

function iconLinkCallout(txt)
{
	var cobj = document.getElementById("icon-links-desc");
	cobj.innerHTML = txt;
}

function moreDetails(destination) 
{
	parent.window.location = destination;
}

function toggleCategoryDiv(myDiv)
{
	var catDiv = document.getElementById(myDiv);
	if(catDiv.style.display == 'none')
	{
		catDiv.style.display = 'block';
	}
	else
	{
		catDiv.style.display = 'none';
	}
}