// JavaScript Document
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
}; 
BrowserDetect.init();
if(BrowserDetect.browser=="Explorer" && BrowserDetect.version>7)
{
BrowserDetect.version=document.documentMode;
var originalDisablerProperty=Object.getOwnPropertyDescriptor(Element.prototype, "disabled");
}
thisbrow=BrowserDetect.browser;
///SELECT MENUS
var allSelectMenus=new Object();
allSelectMenus.legacy=function(){this.legacyOn=1;};
//allSelectMenus.legacy();
function contstructMenu(ul,menu,j,menuSpecs)
{
	  var menuCode=menu.className.toString();
	  menu.className="replaced";
	  menu.id=menu.getAttribute("name");
	  if(menuCode.length<1)
	  {menuCode="srdefault";}
	  menu.menuCode=menuCode;
	  ul.baseColor=menuSpecs[menuCode]["base"];
	  ul.hltColor=menuSpecs[menuCode]["highlight"];
	  ul.capMenu=menuSpecs[menuCode]["capped"];
	  if(ul.capMenu==1)
	  {
	  	  if(menu.style.width)
		  {
			var inlineSize=parseInt(menu.style.width).toString();
		    ul.baseCap=menuSpecs[menuCode]["basecap"][inlineSize];
		    ul.hltCap=menuSpecs[menuCode]["highlightcap"][inlineSize];
		  }
		  else if(menuSpecs[menuCode]["width"])
		  {
			ul.baseCap=menuSpecs[menuCode]["basecap"][menuSpecs[menuCode]["width"]];
			ul.hltCap=menuSpecs[menuCode]["highlightcap"][menuSpecs[menuCode]["width"]];
		  }
		  else
		  {
			ul.baseCap=menuSpecs[menuCode]["basecap"]
			ul.hltCap=menuSpecs[menuCode]["highlightcap"]
		  }
	  }
	  if(menu.style.width)
	  {ul.style.width=(parseInt(menu.style.width)+24)+"px";
	   menu.parentNode.style.width=parseInt(menuSpecs[menuCode]["sidecapwidth"])+(parseInt(menu.style.width)+24)+"px";									}
	  else if(menuSpecs[menuCode]["width"])
	  {ul.style.width=parseInt(menuSpecs[menuCode]["width"])+24+"px";
 	   menu.parentNode.style.width=parseInt(menuSpecs[menuCode]["sidecapwidth"])+parseInt(menuSpecs[menuCode]["width"])+24+"px";}
	  ul.upArrow=menuSpecs[menuCode]["uparrow"];
	  ul.downArrow=menuSpecs[menuCode]["downarrow"];	
	  ul.setAttribute("name",menu.id+"37");
	  ul.id=menu.id+"37";
	  ul.menuId=menu.id;
	  ul.onmouseover=menu.onmouseover;
	  ul.onmouseout=menu.onmouseout;
	  ul.oldOnChange=menu.onchange;
  	  ul.className="selectReplacement";
	  ul.style.zIndex=1000-j;
	  menu.parentNode.style.zIndex=100-j;
 	  ul.lastOption = menu.length-1;
	  if(ul.lastOption>10)
	  {ul.scrollable=1;}
      ul.selectedOption = (!menu.selectedIndex)?0:menu.selectedIndex;
}
function prepSelect(thisSelect,menuSpecs)
{
	if(allSelectMenus.legacyOn!=1)
	{
		var selectParent=thisSelect.parentNode;
		thisSelect.id=(thisSelect.id && thisSelect.id!="")?thisSelect.id:thisSelect.getAttribute("name");
		if(thisSelect.length>=10)
		{
			 var fillerOption=document.createElement("option");
			 fillerOption.text=" ";
			 var fillerOptionBottom=fillerOption.cloneNode(true);
			 try
			  {
			  thisSelect.add(fillerOption, thisSelect.options[1]);
			  }
			catch(blankOptionErrorTop)
			  {
			  thisSelect.add(fillerOption, 1);
			  }
			 try
			  {
			  thisSelect.add(fillerOptionBottom,null);
			  }
			catch(blankOptionErrorBottom)
			  {
			  thisSelect.add(fillerOptionBottom); 
			  } 
		}
		 var menuCode=thisSelect.className.toString();
	 	 if(menuCode.indexOf("sr")==-1)
	  	 {menuCode="srdefault";}
		 var containSelect=document.createElement("div");
		 containSelect.className=menuSpecs[menuCode]["menucontainer"];
		 selectParent.insertBefore(containSelect,thisSelect);
		 containSelect.appendChild(thisSelect);
		 var leftCap=document.createElement("img");
		 var rightCap=document.createElement("img");
		 leftCap.className=menuSpecs[menuCode]["leftcapclass"];
		 rightCap.className=menuSpecs[menuCode]["rightcapclass"];
		 leftCap.src=menuSpecs[menuCode]["leftcap"];
		 rightCap.src=menuSpecs[menuCode]["rightcap"];
		 containSelect.insertBefore(leftCap,thisSelect);
		 containSelect.appendChild(rightCap);
		 leftCap.onclick=function(){var actualSelectReplace=this.parentNode.childNodes[1].id.toString().replace(/37/,'');mimicSelectClick(actualSelectReplace);};
		 rightCap.onclick=function(){var actualSelectReplace=this.parentNode.childNodes[1].id.toString().replace(/37/,'');mimicSelectClick(actualSelectReplace);};
	}		  
}
function fillOption(li,option,ul)
{
	var txt=option.text.toString();
	if(li.arrow=="none" && txt.indexOf("~")==-1)
	{
		var node = document.createTextNode(txt);		
		li.appendChild(node);
	}
	else if(li.arrow=="up" || li.arrow=="down")
	{	
		var arrow=document.createElement('img');
		if(li.arrow=="up")
		{
			arrow.src=ul.upArrow;
			if(BrowserDetect.browser=="Explorer" && BrowserDetect.browser.version<8)
			{li.style.marginBottom="-2px";}
		}
		else
		{
		arrow.src=ul.downArrow;	
		}
		li.appendChild(arrow);
		li.style.textAlign="center";
		

	}
	else
	{
		var icontxt=txt.replace(/\~/,"")
		icon=document.createElement('img');
		icon.src=selectIcon[icontxt];
		icon.style.paddingRight="5px";
		li.appendChild(icon);
		li.appendChild(icontxt);
	}		
}
function closeAllOpenSelects(ul)
{
	if(allSelectMenus.scrollInterval)
	{
	clearInterval(allSelectMenus.scrollInterval);
	}
	var otherUls=document.getElementsByTagName('ul')
	for(var k=0; k<otherUls.length; k++)
	{
		if(otherUls[k].id.match("37")==null)
		{continue;}
		if(otherUls[k].id==ul.id)
		{continue;}
		if(otherUls[k].OpenSelect!=1)
		{continue;}
		var allLis=otherUls[k].getElementsByTagName("li");
		openCloseSelect(allLis[otherUls[k].selectedOption]);
	}			 
}
function openSelect(li)
{
	
	if(li.parentNode.disabledSelect=="1")
	{return;}
	
	closeAllOpenSelects(li.parentNode);
	   
	var currentSelection=li.selIndex;
	var fromLast=li.parentNode.lastOption-currentSelection;
	if(fromLast<=9)
	{
		var bottomBound=li.parentNode.lastOption-1;
		var topBound=bottomBound-9;
		li.parentNode.scrollTopBound=topBound;
	}
	else
	{	
		if (currentSelection==0)
		{
		var bottomBound=currentSelection+11;
		var topBound=1;
		li.parentNode.scrollTopBound=1;
		}
		else
		{
		var bottomBound=currentSelection+9;
		var topBound=currentSelection;
		li.parentNode.scrollTopBound=currentSelection;
		}
	}
	li.parentNode.scrollBottomBound=li.parentNode.scrollTopBound+10;
	
	var allLis = li.parentNode.getElementsByTagName('li');
	for(m=0; m<=li.parentNode.lastOption; m++)
	{
		allLis[m].hideCap=0;
		if((m<topBound || m>bottomBound) && (allLis[m].last!=1 && m!=0 && m!=1))
		{allLis[m].style.display='none';continue;}
		else
		{
		allLis[m].style.display='';
		}
		if(m==currentSelection && m!=0)
		{
			paintOption(allLis[m],1);	
		}
		else
		{
			paintOption(allLis[m],0);	
		}
	
	}
	li.parentNode.className += ' selectOpen';
	li.parentNode.OpenSelect=1;
	li.onclick = function() {
	  openCloseSelect(this);
		};			  
}
function openCloseSelect(li)
{
	if(li.parentNode.disabledSelect=="1")
	{return;}
	if(allSelectMenus.scrollInterval)
	{
	clearInterval(allSelectMenus.scrollInterval);
	}
	var allLis = li.parentNode.getElementsByTagName('li');	
	for (var i=0; i<=li.parentNode.lastOption; i++)
	{
			if(allLis[i] != li)
			{
			 	allLis[i].className='';
				paintOption(li,0)	
			  	allLis[i].onclick = function() {openCloseSelect(this);};
		   }
		   else
		   {
				if(li.parentNode.scrollable==1)
				{
					if(li.arrow=="up" || li.arrow=="down")
					{li=allLis[0];}
				}
			setSelectValue(li.parentNode,li.parentNode.menuId, li.selIndex, li.parentNode.oldOnChange);
			/*?*/li.className='selected';
			li.hideCap=1;
			li.parentNode.className = li.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
			li.parentNode.style.backgroundColor=li.parentNode.baseColor;
			li.parentNode.OpenSelect=0;
			   paintOption(li,0);
				
			for (var j=0; j<=li.parentNode.lastOption; j++)
			{allLis[j].style.display='';}
			li.onclick = function() {openSelect(this);};
		}
	}
   
}
function setSelectValue(ul,objID,val,change) 
{
      var menu = document.getElementById(objID);
      menu.selectedIndex=val;
	  ul.selectedOption=val;
	  if(change)
	  {
		change();
	  }
}
function scrollSelectDown(li)
{

	if(li.parentNode.scrollBottomBound==li.parentNode.lastOption)
	{
		li.parentNode.scrollBottomBound=li.parentNode.lastOption-1;
		li.parentNode.scrollTopBound=li.parentNode.lastOption-11;
		clearInterval(allSelectMenus.scrollInterval);
		return;
	}
	else
	{
		if(li.parentNode.scrollTopBound==1)
		{
		li.parentNode.scrollTopBound++;	
		li.parentNode.scrollBottomBound++;
		}
		var allLis=li.parentNode.getElementsByTagName('li');
		allLis[li.parentNode.scrollTopBound].style.display='none';
		allLis[li.parentNode.scrollBottomBound].style.display='';
		li.parentNode.scrollTopBound++;	
		li.parentNode.scrollBottomBound++;
	}
					
}
function scrollSelectUp(li)
{
	if(li.parentNode.scrollTopBound<=1)
	{
		li.parentNode.scrollTopBound=2;
		li.parentNode.scrollBottomBound=12;
		clearInterval(allSelectMenus.scrollInterval);
		return;
	}
	else
	{
		var allLis=li.parentNode.getElementsByTagName('li');
		if(li.parentNode.scrollBottomBound!=li.parentNode.lastOption)
		{		
		allLis[li.parentNode.scrollTopBound].style.display='';
		allLis[li.parentNode.scrollBottomBound].style.display='none';
		}
		li.parentNode.scrollTopBound--;	
		li.parentNode.scrollBottomBound--;
		
	}					
}
function hoverScrollSelect(li)
{
	if(li.selIndex=="0" || li.parentNode.OpenSelect!=1)
	{
		return;
	}
	else
	{
		paintOption(li,1);
	}
	if(li.parentNode.scrollable==1)
	{
		if(li.arrow=="down")
		{
			allSelectMenus.scrollInterval=setInterval(function(){scrollSelectDown(li);},100);
		}
		if(li.arrow=="up")
		{
			allSelectMenus.scrollInterval=setInterval(function(){scrollSelectUp(li);},100);
		}
	}
}
function unHoverScollSelect(li)
{
	if(li.selIndex=="0" || li.parentNode.OpenSelect!=1 || li.selIndex==li.parentNode.selectedOption)
	{return;}
	else
	{
		paintOption(li,0);
	}
	if(li.arrow=="down" || li.arrow=="up")
	{		
	clearInterval(allSelectMenus.scrollInterval);
	}
}
function paintOption(li,hlt)
{
	if(li.last==1 && li.parentNode.capMenu==1 && li.hideCap!=1)
	{
	capBottom(li,hlt);
	}
	else
	{
		if(hlt==1)
		{
		li.style.backgroundColor=li.parentNode.hltColor;
		}
		else
		{
		li.style.backgroundColor=li.parentNode.baseColor;
		}
	}		
}
function capBottom(li,hlt)
{
	li.style.backgroundColor="transparent";
	if(hlt==1)
	{
	capValue=li.parentNode.hltCap;
	}
	else
	{
	capValue=li.parentNode.baseCap;
	}
	if(BrowserDetect.browser=="Explorer" && BrowserDetect.version<7)
	{
		li.style.background="none";
		li.style.backgroundImage="url(/vissec/newimg/x.gif)";
		li.style.overflow="hidden";
		li.parentNode.style.backgroundColor="transparent";
		var filterValue="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + capValue + "',sizingMethod='scale')";	
		li.style.filter=filterValue;	
	}
	else
	{	
		var backgroundValue="url("+capValue+")";
		li.style.backgroundImage=backgroundValue;	
	}
}
function disableSelectWatch(menu,ul)
{	
	if(menu.disabled==true)
	{
	ul.disabledSelect="1";
	menu.parentNode.className+=" disimage";
	}
	else
	{
	ul.disabledSelect="";
	}	  
	if(BrowserDetect.browser=="Firefox")
	{
		menu.watch("disabled", function (id,oldval,newval){
disableSelect(document.getElementById(this.id),document.getElementById(this.id+"37"),newval);
			return newval;
			});
	}
	if(BrowserDetect.browser=="Explorer")
	{
		if(BrowserDetect.version>7)
		{
			menu.disableHolder=menu.disabled;
			Object.defineProperty(menu, "disabled",
			{
				get:function()
				{
				return this.disableHolder;
				},
				set:function(disabledValue)
				{
				this.disableHolder=disabledValue;
				var ul=document.getElementById(this.id+"37");
				disableSelect(this,ul,"NoValue");
				originalDisablerProperty.set.call(this,disabledValue);
				}

			});
		}
		else
		{
			ghostDiv=document.createElement("div");
			ghostDiv.id=menu.id+"GhostDisable";
			ghostDiv.className="ghost";
			ghostDiv.onpropertychange=function(){
				var menu=document.getElementById(this.id.replace(/GhostDisable/,""));
				var ul=document.getElementById(menu.id+"37");
				disableSelect(menu,ul,"NoValue");
			};
			document.body.appendChild(ghostDiv);
		}
	}
	if(BrowserDetect.browser=="Opera")
	{
		menu.addEventListener("DOMAttrModified",handleDisabledSelectOpera,false);
		function handleDisabledSelectOpera(e){
			if(e.attrName!="disabled")
			{return;}
			else
			{	
				disableSelect(document.getElementById(e.target.id),document.getElementById(e.target.id+"37"),"NoValue");
			}
		};
	}
	if(BrowserDetect.browser=="Safari" || BrowserDetect.browser=="Chrome" )
	{
		menu.parentNode.addEventListener("DOMSubtreeModified",handleDisabledSelectSafari,false); 
		function handleDisabledSelectSafari(e){
			if(e.target.nodeName!="SELECT")
			{return;}
			else
			{
				disableSelect(document.getElementById(e.target.id),document.getElementById(e.target.id+"37"),"NoValue");
			}
		};
		
	}    
}
function disableSelect(menu,ul,newValue)
{
	var disabledValue=newValue!="NoValue"?newValue:menu.disabled;
	if(disabledValue==true)
	{
		if(ul)
		{
		ul.disabledSelect="1";
		ul.parentNode.className+=" disimage";
		}
	}
	else
	{
		if(ul)
		{
		ul.disabledSelect="";
		ul.parentNode.className=ul.parentNode.className.replace(/ disimage/,"");
		}
	}
}
function selectReplacement(menu,j,menuSpecs)
{
	var ul=document.createElement('ul');
	contstructMenu(ul,menu,j,menuSpecs);
	disableSelectWatch(menu,ul);
	for (var i=0; i<=ul.lastOption; i++) 
	{
		var li = document.createElement('li');
		if(menu.style.width)
		{
		li.style.width=menu.style.width;
		}
		else if(menuSpecs[menu.menuCode]["width"])
		{
		li.style.width=menuSpecs[menu.menuCode]["width"]+"px";
		}
		li.arrow="none";
		if(ul.scrollable==1)
		{
			if(i==1)
			{li.arrow="up";}
			if(i==ul.lastOption)
			{li.arrow="down";}
		}
		
		fillOption(li,menu.options[i],ul);
		li.selIndex = i;
		
		if(i==ul.lastOption){li.last=1;}

		if (i==ul.selectedOption)
		{
			li.className='selected';
			li.onclick=function(){openSelect(this);};
		}
		else
		{
			li.onclick=function(){openCloseSelect(this);};
		}
		
		li.onmouseover=function(){hoverScrollSelect(this);};
		li.onmouseout=function(){unHoverScollSelect(this);};
		
		ul.appendChild(li);
	}

	menu.onfocus=function(){closeAllOpenSelects(ul);ul.style.backgroundColor=ul.hltColor;};
	menu.onblur=function(){ul.style.backgroundColor=ul.baseColor;};  
	
	menu.onkeydown=function(e){ 
		if(!e){var e=window.event;}
		var unicode=e.keyCode;
			if(unicode==9)
			{return;}
			else if(unicode==33 || unicode==36)
			{
				this.selectedIndex=0;
			}
			else if(unicode==34 || unicode==35)
			{
				this.selectedIndex=ul.lastOption;
			}
	
				if(ul.scrollable==1 && this.selectedIndex==1)
				{
					if(unicode==39 || unicode==40)
					{
					openCloseSelect(ul.childNodes[2]);
					}
					else
					{
					openCloseSelect(ul.childNodes[0]);
					}
				}
				else if(ul.scrollable==1 && this.selectedIndex==ul.lastOption)
				{
					openCloseSelect(ul.childNodes[ul.lastOption-1]);
				}
				else
				{
					openCloseSelect(ul.childNodes[this.selectedIndex]);
				}
	};
	menu.parentNode.insertBefore(ul,menu);
}
function superMenuCreator(menuString)
{	
	menuSpecs=new Array();
	menuSplit=menuString.split(";");
	for(var i=0; i<menuSplit.length; i++)
	{
		classPosition=menuSplit[i].indexOf("[");
		menuClass=menuSplit[i].slice(0,classPosition);
		menuSpecs[menuClass]=new Array();
		var menuVars=menuSplit[i].substring(classPosition+1,menuSplit[i].length-1);
		var menuVarsSplit=menuVars.split(",");
		for(var j=0; j<menuVarsSplit.length; j++)
		{
			subMenuSpecs=menuVarsSplit[j].split(":");
			if(subMenuSpecs[1].indexOf("(")!=-1)
			{
				menuSpecs[menuClass][subMenuSpecs[0]]=new Array();
				var multiVars=subMenuSpecs[1].substring(1,subMenuSpecs[1].length-1);				
				multiVarsSplit=multiVars.split(")(");
				for(var k=0; k<multiVarsSplit.length; k++)
				{
					subMultiVars=multiVarsSplit[k].split("=");
					menuSpecs[menuClass][subMenuSpecs[0]][subMultiVars[0]]=subMultiVars[1];
				}			
			}
			else
			{
				menuSpecs[menuClass][subMenuSpecs[0]]=subMenuSpecs[1];
			}	
		}
	}
	return menuSpecs;
}
function setForm() {
	menuSpecs=superMenuCreator(allSelectMenus.classArray)
	var selects=document.getElementsByTagName('select');
	for (var i=0; i<selects.length; i++) 
	{ 
		prepSelect(selects[i],menuSpecs);
		selectReplacement(selects[i],i,menuSpecs);
	}
	var selectCaps=document.getElementsByTagName('img');
	for (var i=0; i<selectCaps.length; i++) 
	{
		if(selectCaps[i].className.indexOf("selimg")!=-1)
		{
			selectCaps[i].style.display="inline";
		}
	}
}
function mimicSelectClick(menu)
{ 
	var menuObject=document.getElementById(menu);
	if(menuObject.disabled==true)
	{
	return;
	}
	var ul=document.getElementById(menu+"37");
	var allLis=ul.getElementsByTagName('li');
	if(ul.OpenSelect!=1)
	{
		closeAllOpenSelects(ul);
		openSelect(allLis[menuObject.selectedIndex]);
	}
	else
	{
		openCloseSelect(allLis[menuObject.selectedIndex]);
	}
}
function mimiclick(menu)
{
mimicSelectClick(menu);
}

///Styles textboxes and passwords .text and .password classes
function registerInputs(button)
{
if(button!=1)
{
this.Clean=function(){this.removeStyles=1;}
this.Round=function(){this.needNifty=1;}
this.legacyRound=function(){this.haveNifty=1;}
}
else
{
this.Center=function(){this.middle=1;};
}
this.legacyClass=function(){this.legacyTypeClass=1;};
}
function registerAllInputs()
{
this.text=new registerInputs(0);
this.password=new registerInputs(0);
this.textarea=new registerInputs(0);
this.button=new registerInputs(1);
this.fileUploadImage=new String();
}
allInputs=new registerAllInputs();
function roundContainer(element,currentClass,currentType)
{
var container=document.createElement('div');
container.className=currentType+"con"+currentClass;
element.parentNode.insertBefore(container,element);
container.appendChild(element);
element.rounded=1;
}
function centerButton(element)
{
var container=document.createElement('div');
container.className="centerbutton";
var insulator=document.createElement('span');
element.parentNode.insertBefore(container,element);
container.style.width=element.style.width;
container.appendChild(insulator);
insulator.appendChild(element);
}
function cleanStyles(element)
{
element.removeAttribute("style");
element.removeAttribute("rows");
element.removeAttribute("cols");
element.removeAttribute("size");
}
function buildInput(element,currentType)
{
	element.id=(element.id && element.id!="")?element.id:element.getAttribute("name");
	if(allInputs[currentType].legacyTypeClass!=1)
	{
	currentClass=element.className;
	element.className=currentType+currentClass;
	}
	if(allInputs[currentType].removeStyles==1)
	{
		cleanStyles(element);
	}
	if(allInputs[currentType].needNifty==1)
	{
		roundContainer(element,currentClass,currentType);
	}
	else if(allInputs[currentType].haveNifty==1)
	{
	element.rounded=1;
	}
	if(allInputs[currentType].middle==1)
	{
		centerButton(element);
	}
	disableInputWatch(element);
}
function disableInputWatch(input)
{		  
	if(BrowserDetect.browser=="Firefox")
	{
		input.watch("disabled", function (id,oldval,newval){
		disableInput(document.getElementById(this.id),newval);
			return newval;
			});
	}
	if(BrowserDetect.browser=="Explorer")
	{
		if(BrowserDetect.version>7)
		{
			input.disableHolder=input.disabled;
			Object.defineProperty(input, "disabled",
			{
				get:function()
				{
				return this.disableHolder;
				},
				set:function(disabledValue)
				{
				this.disableHolder=disabledValue;
				disableInput(this,"NoValue");
				originalDisablerProperty.set.call(this,disabledValue);
				}

			});
		}
		else
		{
			var ghostDiv=document.createElement("div");
			ghostDiv.id=input.id+"GhostDisable";
			ghostDiv.className="ghost";
			ghostDiv.onpropertychange=function(){
				var input=document.getElementById(this.id.replace(/GhostDisable/,""));
				disableInput(input,"NoValue");
			};
			document.body.appendChild(ghostDiv);
		}
	}
	if(BrowserDetect.browser=="Opera")
	{	input.disabling=1;
		input.addEventListener("DOMAttrModified",handleDisabledInputOpera,false);
		function handleDisabledInputOpera(e){
			if(e.attrName!="disabled")
			{return;}
			else
			{	
				disableInputOpera(document.getElementById(e.target.id),document.getElementById(e.target.id).disabling);
			}
		};
	}
	if(BrowserDetect.browser=="Safari" || BrowserDetect.browser=="Chrome")
	{
		input.parentNode.addEventListener("DOMSubtreeModified",handleDisabledInputSafari,false); 
		function handleDisabledInputSafari(e){
			if((e.target.nodeName!="INPUT" && (e.target.getAttribute('type')!=="text" && e.target.getAttribute('type')!=="password" && e.target.getAttribute('type')!=="submit" && e.target.getAttribute('type')!=="button")) && e.target.nodeName!="TEXTAREA")
			{return;}
			else
			{
				disableInput(document.getElementById(e.target.id),"NoValue");
			}
		};
		
	} 

		if(input.disabled==true)
		{
			if(BrowserDetect.browser=="Opera")
			{
			disableInputOpera(input,input.disabling);
			}
			else
			{
			disableInput(input,"NoValue");
			}
		}
}
function disableInputOpera(input,attempt)
{
	if(attempt==1)
	{
	input.disabling=2;
	input.disabled=false;
	}
	else if(attempt==2)
	{
	input.className+="disimage";
	input.disabling=3;
	input.disabled=true;
	}
	else if(attempt==3)
	{
		if(input.rounded)
		{
		input.parentNode.className+=" disimage";
		}
	input.disabling=4;
	}
	else if(attempt==4)
	{
		input.className=input.className.replace(/disimage/,"");
		if(input.rounded)
		{
		input.parentNode.className=input.parentNode.className.replace(/ disimage/,"");
		}
		input.disabling=1;
	}
}
function disableInput(input,newValue)
{
	var disabledValue=newValue!="NoValue"?newValue:input.disabled;
	if(disabledValue==true)
	{
		input.className+=" disimage";
		if(input.rounded)
		{
			if(BrowserDetect.browser=="Explorer" && input.getAttribute('type')=="text")
			{
			input.style.visibility="hidden";
			}
			input.parentNode.className+=" disimage";
		}
	}
	else
	{
		input.className=input.className.replace(/ disimage/,"");
		input.className=input.className.replace(/disimage/,"");
		if(input.rounded)
		{
		input.parentNode.className=input.parentNode.className.replace(/ disimage/,"");
		input.parentNode.className=input.parentNode.className.replace(/disimage/,"");
			if(BrowserDetect.browser=="Explorer" && input.getAttribute('type')=="text")
			{
			input.style.visibility="visible";
			}
		}
	}
}
function setTextbox() 
{
	var inputs=document.getElementsByTagName('input'); 
	for(var i=0;i<inputs.length;i++)
	{ 
		if(inputs[i].getAttribute('type')!="text" && inputs[i].getAttribute('type')!="password")
		{continue;}
		buildInput(inputs[i],inputs[i].getAttribute('type'))
	}
	var textareas=document.getElementsByTagName('textarea'); 
	for (var i=0;i<textareas.length;i++)
	{ 
		buildInput(textareas[i],"textarea")		
	}
}
function setButtons() 
{
	var inputs=document.getElementsByTagName('input'); 
	for(var i=0;i<inputs.length;i++)
	{ 
		if(inputs[i].getAttribute('type')!="submit" && inputs[i].getAttribute('type')!="button")
		{continue;}
		buildInput(inputs[i],"button");
	}
}
function clickContainer(element,classLabel)
{
var positionContainer=document.createElement('div');
var clickContainer=document.createElement('div');
element.parentNode.insertBefore(positionContainer,element);
positionContainer.appendChild(clickContainer)
clickContainer.appendChild(element);
element.parentNode.parentNode.className=classLabel;
	if(BrowserDetect.browser=="Explorer" && BrowserDetect.version>7)
	{
	clickContainer.style.display="inline-block";
	clickContainer.style.verticalAlign="text-bottom";
	}
}
function clickCheckRadio(element,radioExt)
{
	if(element.checked==true)
	{element.parentNode.className=element.parentNode.className.replace(/off/,"on");}
	if(element.checked==false)
	{element.parentNode.className=element.parentNode.className.replace(/on/,"off");}
	if(radioExt==1)
	{
			for(var i=0;i<element.relatedRadios.length;i++)
			{
			document.getElementById(element.relatedRadios[i]).parentNode.className=document.getElementById(element.relatedRadios[i]).parentNode.className.replace(/on/,"off");
			}
	}
	if(element.oldOnClick)
	{
	element.oldOnClick();
	}
	
}
function disableCheckRadioWatch(checkRadio)
{		
	if(checkRadio.disabled==true && (BrowserDetect.browser!="Explorer" ||(BrowserDetect.browser=="Explorer" && BrowserDetect.version>7)))
	{
		checkRadio.parentNode.className+="dis";
		if(BrowserDetect.browser=="Safari" || BrowserDetect.browser=="Chrome" )
		{
		checkRadio.style.opacity=0;	
		}
	}	  
	if(BrowserDetect.browser=="Firefox")
	{
		checkRadio.watch("disabled", function (id,oldval,newval){
		disableCheckRadio(document.getElementById(this.id),newval);
			return newval;
			});
	}
	if(BrowserDetect.browser=="Explorer")
	{
		if(BrowserDetect.version>7)
		{
			checkRadio.disableHolder=checkRadio.disabled;
			Object.defineProperty(checkRadio, "disabled",
			{
				get:function()
				{
				return this.disableHolder;
				},
				set:function(disabledValue)
				{
				this.disableHolder=disabledValue;
				disableCheckRadio(this,"NoValue")
				originalDisablerProperty.set.call(this,disabledValue);
				}

			});
		}
		else
		{
			ghostDiv=document.createElement("div");
			ghostDiv.id=checkRadio.id+"GhostDisable";
			ghostDiv.className="ghost";
			ghostDiv.onpropertychange=function(){
				var checkRadio=document.getElementById(this.id.replace(/GhostDisable/,""));
				disableCheckRadio(checkRadio,"NoValue");
			};
			document.body.appendChild(ghostDiv);
		}
	}
	if(BrowserDetect.browser=="Opera")
	{
		checkRadio.addEventListener("DOMAttrModified",handleDisabledCheckRadioOpera,false);
		function handleDisabledCheckRadioOpera(e){
			if(e.attrName!="disabled")
			{return;}
			else
			{	
				disableCheckRadio(document.getElementById(e.target.id),"NoValue");
			}
		};
	}
	if(BrowserDetect.browser=="Safari" || BrowserDetect.browser=="Chrome")
	{
		checkRadio.parentNode.addEventListener("DOMSubtreeModified",handleDisabledCheckRadioSafari,false); 
		function handleDisabledCheckRadioSafari(e){
			if(e.target.nodeName!="INPUT" && (e.target.getAttribute('type')!=="radio"||e.target.getAttribute('type')!=="check"))
			{return;}
			else
			{
				disableCheckRadio(document.getElementById(e.target.id),"NoValue");
			}
		};
		
	}    
}
function disableCheckRadio(checkRadio,newValue)
{
	var disabledValue=newValue!="NoValue"?newValue:checkRadio.disabled;
	if(disabledValue==true)
	{
		checkRadio.parentNode.className+="dis";
		if(BrowserDetect.browser=="Safari" || BrowserDetect.browser=="Chrome" )
		{
		checkRadio.style.opacity=0;	
		}
	}
	else
	{
		checkRadio.parentNode.className=checkRadio.parentNode.className.replace(/dis/,"");
	}
}
var allCheckRadios=new Object();
function checkRadioBuilder(inputType,hiddenValue,elementContainer,colorPrefix,classType,defaultCRColor)
{
	var elements=document.getElementsByTagName('input');
	for(var i=0;i<elements.length;i++) 
	{
		if(elements[i].getAttribute('type')!=inputType){continue;}
		if(inputType=="radio")
		{
			elements[i].relatedRadios=new Array();
			var key=0;
			for(var j=0;j<elements.length;j++)
			{
			if(elements[i].getAttribute("name")!=elements[j].getAttribute("name")){continue;}
			if(elements[i].id==elements[j].id){continue;}
			elements[i].relatedRadios[key]=elements[j].id;
			key++;
			}
			var findRadios=1;
		}
		else
		{
			var findRadios=0;
		}	
		if(elements[i].className==hiddenValue){continue;}		
		clickContainer(elements[i],elementContainer);
		var colorOverride=elements[i].className;
		var colorOverride=colorOverride.replace(colorPrefix,"");
		var checkClass=colorOverride!=''?colorOverride+classType:defaultCRColor+classType;
		elements[i].oldOnClick=elements[i].onclick;
		elements[i].className=hiddenValue;
		if(elements[i].checked==true)
		{elements[i].parentNode.className=checkClass+'on';}
		else
		{elements[i].parentNode.className=checkClass+'off';}
		disableCheckRadioWatch(elements[i]);
		
		elements[i].onclick=function(){clickCheckRadio(this,findRadios);}
	}
}
function setCheck() 
{
checkRadioBuilder("checkbox","hidecheck","checkContainer","ch","check",allCheckRadios.defaultCheck);		
}
///RadioButtons
function setRadio() 
{
checkRadioBuilder("radio","hideradio","radioContainer","rd","radio",allCheckRadios.defaultRadio);	
}
///File Uploads  Must hide can't detect disabling
function setFileUploads() {
	var submitSet=0;
	var fileUploadContainer=document.createElement('div');
	fileUploadContainer.className='filecontain';
	var uploadButton=document.createElement('img');
	uploadButton.src=allInputs.fileUploadImage;
	fileUploadContainer.appendChild(uploadButton);
	var elements=document.getElementsByTagName('input');
	for (var i=0; i<elements.length; i++) 
	{
		if(elements[i].type!='file'){continue;}
		if(submitSet!=1)
		{
			var inputsForm=document.getElementById("fi").form;	
			var oldOnSubmit=inputsForm.onsubmit;
			inputsForm.onsubmit=function(){oldOnSubmit();cleanSubmit();};
		}	
		elements[i].className = 'filehidden';
		elements[i].size="1";
		elements[i].parentNode.style.width="30px";
		elements[i].parentNode.style.overflow="hidden";
		elements[i].style.fontSize="1px";
		elements[i].uploadDisplay=document.getElementById(elements[i].id+"display")?document.getElementById(elements[i].id+"display"):document.getElementById(elements[i].id+"b2b2");
		elements[i].uploadCancel=document.getElementById(elements[i].id+"cancel")?document.getElementById(elements[i].id+"cancel"):document.getElementById(elements[i].id+"b2b23");
		elements[i].uploadDisplay.style.display="block";
		elements[i].uploadCancel.style.display="";
		elements[i].uploadCancel.firstChild.onclick="";
		elements[i].uploadCancel.UploadDisplay=elements[i].uploadDisplay;
		elements[i].uploadCancel.fileUpload=elements[i];
		elements[i].uploadCancel.onclick=function(){cancelUpload(this);}
		var uploadClone = fileUploadContainer.cloneNode(true);
		elements[i].parentNode.appendChild(uploadClone);
		elements[i].onchange = elements[i].onmouseup = function () {
			this.cancelled="0";
			this.uploadDisplay.innerHTML= this.value;
				
		}
	}
}

//Creates Clear button and blocks upload until new file is choosen
function cancelUpload(uploadCancel)
{
uploadCancel.fileUpload.cancelled="1";
uploadCancel.UploadDisplay.innerHTML="";
}

function cleanSubmit()
{
	var elements=document.getElementsByTagName('input');
	for (var i=0; i<elements.length; i++) 
	{
		if(elements[i].cancelled)
		{ 
			if(elements[i].cancelled=="1")
			{
				elements[i].parentNode.removeChild(elements[i]);
			}
		}
	}
}

function submitUP(){}

///used in redirection drop downs. Dropdowns here this here!
function jumptosort(objectID)
{
var menu=document.getElementById(objectID);
if(menu.options[menu.selectedIndex].value!="")
{
eval("window.location='"+menu.options[menu.selectedIndex].value+"'");
}
}
////can be used to mask links as a form format of delete
function delete_what(idme)
{
	document.getElementById('delete_what').value=idme;
	document.getElementById('delete_this_what').submit();
}
//ads confirm
function delete_what_confirm(idme,messages)
{
	var theconfirm=confirm(messages);
	
	if(theconfirm==true)
	{
	document.getElementById('delete_what').value=idme;
	document.getElementById('delete_this_what').submit();
	}
}
////can be used to mask links as a form feeder function
function pull_form_what(idme)
{

	document.getElementById('pull_form_what').value=idme;
	document.getElementById('pull_this_form_what').submit();
}
///link as submit button
function go_do(idme)
{
	document.getElementById(idme).submit();
}
///One function so onload only reads setForm();setStyles();
function setStyles()
{
	setFileUploads();
	setTextbox();
	setCheck();
	setRadio();
	setButtons();
	////FIX for Opera Sessions
	if(BrowserDetect.browser.indexOf("Opera")!=-1 && fffc!="0")
	{
		anchor_mod();
	}
}
//used to change text of field on fly
function replace_value(field,nvalue,frid)
{
	document.getElementById(field).value=nvalue;
	if(frid!="")
	{document.getElementById(frid).submit();}
}
function anchor_mod()
{
	var anchors=document.getElementsByTagName("a");
	var alen=anchors.length;
	for(var i=0; i<alen; i++)

	{
		if(anchors[i].href.indexOf("javascript:")!=-1)
		{continue;}
		if(anchors[i].onclick)
		{
			var substitute=anchors[i].onclick;
			anchors[i].onclick=function (){
				rdc(fffc);substitute();void(0);
			}
		}
		else
		{
			anchors[i].onclick=function (){
				rdc(fffc);void(0);
			}
		}
	}
}
function form_mod()
{
	var forms=document.getElementsByTagName("form");
	var flen=forms.length;
	for(var i=0; i<flen; i++)
	{
		if(forms[i].onsumbit)
		{
			var substitute=forms[i].onsumbit
			
			forms[i].onsumbit=function (){
				rdc(fffc);substitute();void(0);
			}
		}
		else
		{
			forms[i].onsumbit=function (){
				rdc(fffc);void(0);
			}
		}
	}
}
