var Mozmode=false;
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement)
{
	Mozmode=true;
	
	HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
	{
			switch (where)
			{
				case 'beforeBegin':
					this.parentNode.insertBefore(parsedNode,this)
					break;
				case 'afterBegin':
					this.insertBefore(parsedNode,this.firstChild);
					break;
				case 'beforeEnd':
					this.appendChild(parsedNode);
					break;
				case 'afterEnd':
					if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling);
					else this.parentNode.appendChild(parsedNode);
					break;
			}
	}

	HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML)
	}
	
	HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr)
		this.insertAdjacentElement(where,parsedText)
	}
}

function setIndex(index,id,lbl)
{		
	if((index > -1) &&(index<document.getElementById(id).options.length))
	{
		document.getElementById(id).selectedIndex = index;
		document.getElementById(lbl).innerHTML = document.getElementById(id).options[index].text;
		
		try
		{
		var clickevent=document.createEvent("MouseEvents");
		clickevent.initEvent("click", true, true)
		document.getElementById(lbl).dispatchEvent(clickevent);
		}
		catch(err)
		{
			document.getElementById(lbl).click();
		}				
	}

} 

function CreateDropDown(select,pWidth,pMaxHeight)
{
	if (Mozmode)return;
	if (select.id==null) select = document.getElementById(select);
	if (select==null)return;

	var id		= select.id;
	var idLbl	= id+"_L";
	var idDD	= id+"_DD";

	if (pWidth==null) pWidth = "175";
	if (pMaxHeight==null) pMaxHeight = "70";
		  
	// set background
	var bg	= select.attributes["BgFileName"];
	if (bg!=null) bg=bg.value;
	  else bg = "";
	  
	// set select width
	var width	= select.attributes["DisplayWidth"];
	if (width!=null) width=width.value;
	  else width = pWidth;
	  
	// set select maxHeight
	var MaxHeight	= select.attributes["MaxHeight"];
      	if (MaxHeight!=null) MaxHeight = MaxHeight.value;
	  else MaxHeight= pMaxHeight;
	
	var styleHeight	= (MaxHeight != '-1')?'height:'+MaxHeight+';':'';		
	
	select.insertAdjacentHTML("afterEnd","<span id='"+idLbl+"' class='dropdownLabel' style=\"background-image:url("+bg+"); WIDTH:" + width + ";max-WIDTH:" + (width-8) + ";\"" + ((!select.disabled)?"onclick=\"if(!this.down){this.down=true;document.getElementById('"+idDD+"').style.display='block'}else{this.down=false;document.getElementById('"+idDD+"').style.display='none'}\"":"")+ "></span>");
	select.insertAdjacentHTML("afterEnd","<span id='"+idDD+"' class='dropdownItems' style=\"WIDTH:" + width + "; "+styleHeight+" \" class='dropdownMain'></span>");
	
	var divDD	= document.getElementById(idDD);
	var temp	= divDD.innerHTML;
	for(var i=0;i<select.options.length;i++) 
	{
	   temp +="<a class=selectOption href=\"javascript:setIndex("+i+",'"+id+"','"+idLbl+"');if(document.getElementById('"+id+"').onchange)document.getElementById('"+id+"').onchange();\">"+select.options[i].text +"</a>";							
	}
	divDD.innerHTML += temp;
	setIndex(select.selectedIndex,id,idLbl);
	setIndex(select.selectedIndex,id,idLbl);
	select.style.display = "none";
}

function CreateDropDowns()
{
	if (Mozmode)return;

	var selects = document.getElementsByTagName("select");
	for(var sel = 0;sel<selects.length;sel++)
	{
	  CreateDropDown(selects[sel]);
	}
		
}	

