function tamingselect()
{
	if(!document.getElementById && !document.createTextNode){return;}
	
// Classes for the link and the visible dropdown
	var ts_selectclass='turnintodropdown'; 	// class to identify selects
	var ts_listclass='turnintoselect';		// class to identify ULs
	
	var ts_boxclass='dropcontainer'; 		// parent element
	var ts_triggeron='activetrigger'; 		// class for the active trigger link
	var ts_triggeroff='trigger';			// class for the inactive trigger link
	var ts_dropdownclosed='dropdownhidden'; // closed dropdown
	var ts_dropdownopen='dropdownvisible';	// open dropdown
/*
	Turn all selects into DOM dropdowns
*/
	var count=0;
	var toreplace=new Array();
	var sels=document.getElementsByTagName('select');
	for(var i=0;i<sels.length;i++){
		if (ts_check(sels[i],ts_selectclass))
		{
			var hiddenfield=document.createElement('input');
			hiddenfield.name=sels[i].name;
			hiddenfield.type='hidden';
			hiddenfield.id=sels[i].id;
			hiddenfield.value=sels[i].options[0].value;
			sels[i].parentNode.insertBefore(hiddenfield,sels[i])
			var trigger=document.createElement('a');
			ts_addclass(trigger,ts_triggeroff);
			trigger.href='#';
			trigger.onclick=function(){
				ts_swapclass(this,ts_triggeroff,ts_triggeron)
				ts_swapclass(this.parentNode.getElementsByTagName('ul')[0],ts_dropdownclosed,ts_dropdownopen);
				return false;
			}
			trigger.appendChild(document.createTextNode(sels[i].options[0].text));
			sels[i].parentNode.insertBefore(trigger,sels[i]);
			var replaceUL=document.createElement('ul');
			for(var j=0;j<sels[i].getElementsByTagName('option').length;j++)
			{
				var newli=document.createElement('li');
				var newa=document.createElement('a');
				newli.v=sels[i].getElementsByTagName('option')[j].value;
				newli.elm=hiddenfield;
				newli.istrigger=trigger;
				newa.href='#';
				newa.appendChild(document.createTextNode(
				sels[i].getElementsByTagName('option')[j].text));
				newli.onclick=function(){ 
					this.elm.value=this.v;
					ts_swapclass(this.istrigger,ts_triggeron,ts_triggeroff);
					ts_swapclass(this.parentNode,ts_dropdownopen,ts_dropdownclosed)
					this.istrigger.firstChild.nodeValue=this.firstChild.firstChild.nodeValue;
					return false;
				}
				newli.appendChild(newa);
				replaceUL.appendChild(newli);
			}
			ts_addclass(replaceUL,ts_dropdownclosed);
			var div=document.createElement('div');
			div.appendChild(replaceUL);
			ts_addclass(div,ts_boxclass);
			sels[i].parentNode.insertBefore(div,sels[i])
			toreplace[count]=sels[i];
			count++;
		}
	}
	
/*
	Turn all ULs with the class defined above into dropdown navigations
*/	

	var uls=document.getElementsByTagName('ul');
	for(var i=0;i<uls.length;i++)
	{
		if(ts_check(uls[i],ts_listclass))
		{
			var newform=document.createElement('form');
			var newselect=document.createElement('select');
			for(j=0;j<uls[i].getElementsByTagName('a').length;j++)
			{
				var newopt=document.createElement('option');
				newopt.value=uls[i].getElementsByTagName('a')[j].href;	
				newopt.appendChild(document.createTextNode(uls[i].getElementsByTagName('a')[j].innerHTML));	
				newselect.appendChild(newopt);
			}
			newselect.onchange=function()
			{
				window.location=this.options[this.selectedIndex].value;
			}
			newform.appendChild(newselect);
			uls[i].parentNode.insertBefore(newform,uls[i]);
			toreplace[count]=uls[i];
			count++;
		}
	}
	for(i=0;i<count;i++){
		toreplace[i].parentNode.removeChild(toreplace[i]);
	}
	function ts_check(o,c)
	{
	 	return new RegExp('\\b'+c+'\\b').test(o.className);
	}
	function ts_swapclass(o,c1,c2)
	{
		var cn=o.className
		o.className=!ts_check(o,c1)?cn.replace(c2,c1):cn.replace(c1,c2);
	}
	function ts_addclass(o,c)
	{
		if(!ts_check(o,c)){o.className+=o.className==''?c:' '+c;}
	}
}

window.onload=function()
{
	tamingselect();
	// add more functions if necessary
}



function CheckKey() {
	key=event.keyCode;
	if (key==13){
		document.all["<%=btnAddUpdate.UniqueID%>"].click();
		return false;
	}
}

var loadingPage = true;

// Opens a popup-window for editing or creating items
// IN: url, page that will be displayed in the popup window
//		 name, a name of the new window
function openDialog(url, name) {
  window.open(url, name, 'toolbar=no, directories=no, location=no, status=yes, menubar=no, resizable=no, scrollbars=no, width=615, height=550')
}
//
//
//
function openModalDateDialog(url) {
  var lsReturnValue
  lsReturnValue = window.showModalDialog(url, "", "dialogHeight: 180px; dialogWidth: 150px; dialogTop: px; dialogLeft: px; edge: Raised; center: Yes; help: Yes; resizable: No; status: No; scroll: No;")
  if (lsReturnValue == "")
    // cancel
    return;    
  else {
    //  
    //window.document.all.txtVisibleFrom.value; = lsReturnValue;   
  }
}
//
//
//
function openDateDialog(url) {
  var lsReturnValue
  window.open(url, "Date", 'toolbar=no, directories=no, location=no, status=no, menubar=no, resizable=no, scrollbars=no, width=150, height=180')
  if (lsReturnValue == "")
    // cancel
    return;    
  else {
    //  
    //window.document.all.txtVisibleFrom.value; = lsReturnValue;   
  }
}
function doModalCancel() {
    window.returnValue = "";
    window.close();
}

function showLoading() {
	loadingPage = true;
}
function hideLoading() {
	loadingPage = false;
}
function testLoading() {
	if (loadingPage==true) {
		alert("Du har begärt en sida innan den föregående laddats klart.\n\nVänta till sidan laddat klart för att inte bli utloggad.");
		loadingPage=false;
	}	
}

function createLayer(id,nestref,left,top,width,height,content,bgColor,visibility,zIndex) {
	if (document.layers) {
		if (nestref) {
			var lyr = eval("document."+nestref+".document."+id+" = new Layer(width, document."+nestref+")")
		}
		else {
			var lyr = document.layers[id] = new Layer(width)
			eval("document."+id+" = lyr")
		}
		lyr.name = id
		lyr.left = left
		lyr.top = top
		if (height!=null) lyr.clip.height = height
		if (bgColor!=null) lyr.bgColor = bgColor
		lyr.visibility = (visibility=='hidden')? 'hide' : 'show'
		if (zIndex!=null) lyr.zIndex = zIndex
		if (content) {
			lyr.document.open()
			lyr.document.write(content)
			lyr.document.close()
		}
	} else if (document.getElementById) {
		var divel = document.createElement("div");
		
		divel.name = id;
		divel.id = id;
		divel.style.position="absolute";
		divel.style.left = left + "px";
		divel.style.top = top + "px";
		if (height!=null) divel.style.height = height + "px";
		if (bgColor!=null) divel.style.backgroundColor = bgColor;
		divel.style.visibility = (visibility=='hidden')? 'hidden' : 'visible';
		if (zIndex!=null) divel.style.zIndex = zIndex;
		divel.innerHTML = content;
		document.body.appendChild(divel);
	} else if (document.all) {
		var str = '\n<DIV id='+id+' style="position:absolute; left:'+left+'; top:'+top+'; width:'+width
		if (height!=null) {
			str += '; height:'+height
			str += '; clip:rect(0,'+width+','+height+',0)'
		}
		if (bgColor!=null) str += '; background-color:'+bgColor		
		if (zIndex!=null) str += '; z-index:'+zIndex
		if (visibility) str += '; visibility:'+visibility
		str += ';">'+((content)?content:'')+'</DIV>'
		if (nestref) {
			index = nestref.lastIndexOf(".")
			var nestlyr = (index != -1)? nestref.substr(index+1) : nestref
			document.all[nestlyr].insertAdjacentHTML("BeforeEnd",str);
		}
		else {
			document.body.insertAdjacentHTML("BeforeEnd",str)
		}
	}
}
function destroyLayer(id,nestref) {
	if (document.layers) {
		if (nestref) eval("document."+nestref+".document."+id+".visibility = 'hide'")
		else document.layers[id].visibility = "hide"
	}
	else if (document.all) {
		document.all[id].innerHTML = ""
		document.all[id].outerHTML = ""
	}
}
		function showWaitBox(waitHeader, waitBody) {
			// This function is not implemented for Netscape
			if (document.layers)
				return;
				
			var w = 256;
			var h = 220;
			var x = 20 //(585 - w) / 2;
			var y = 20 //(460 - h) / 2;
			if (document.body.scrollTop)
				y += document.body.scrollTop;
				
			var strContent = '';

			strContent += '<table border="0" width="256" cellpadding="0" cellspacing="0" style="font-family: Verdana, Arial, Helvetica;font-size:x-small; color:#FFFFFF;">';
			strContent += '<tr bgcolor="#ff9900"><td width="3" rowspan="3"></td>';
			strContent += '<td width="250" height="3" colspan="3"></td>';
			strContent += '<td width="3" rowspan="3"></td></tr>';
			strContent += '<tr><td bgcolor="#000000" width="5"></td>';
			strContent += '<td bgcolor="#000000" align="center" valign="center"><br />';
			
			strContent += '<b>' + waitHeader + '</b>';

			strContent += '<br />';

			strContent += waitBody;

			strContent += '<br />&nbsp;</td><td bgcolor="#000000" width="5"></td></tr>';
			strContent += '<tr bgcolor="#ff9900"><td width="250" height="3" colspan="3"></td></tr>';
			strContent += '</table>\n'

			createLayer("waitbox",null,x,y,w,null,strContent,null,"visible",101);
		}
		/*'-------------------------------------------------------------------------------
		' 
		' IN:
		' OUT: 
		' Known bugs:
		' Date   Who Comment
		' 021011 DBR Created
		'-------------------------------------------------------------------------------*/			
		function confirmAction(confirmString, objToAskFor)
		{
		if (!confirm(confirmString + ' ' + objToAskFor + '?'))
			{
				event.cancelBubble = true;
				event.returnValue = false;
			}
		}
		function confirmAction(confirmString)
		{
		if (!confirm(confirmString ))
			{
				event.cancelBubble = true;
				event.returnValue = false;
			}
		}
		function stopEventWithString(messageString)
		{
			alert(messageString);
			event.cancelBubble = true;
			event.returnValue = false;
		}
		function doEventWithString(messageString)
		{
			alert(messageString);
		}
		
		/*'-------------------------------------------------------------------------------
		' 
		' IN:
		' OUT: 
		' Known bugs:
		' Date   Who Comment
		' 021022 DBR Created
		'-------------------------------------------------------------------------------*/			
		function IsEmailValid()
		{
			var EmailOk  = true
			var Temp     = document.frmRegUser.txtUserEmail
			var AtSym    = Temp.value.indexOf('@')
			var Period   = Temp.value.lastIndexOf('.')
			var Space    = Temp.value.indexOf(' ')
			var Length   = Temp.value.length - 1   // Array is from 0 to length-1

			if ((AtSym < 1) ||                     // '@' cannot be in first position
					(Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
					(Period == Length ) ||             // Must be atleast one valid char after '.'
					(Space  != -1))                    // No empty spaces permitted
				{  
						EmailOk = false
						Temp.focus()
				}
			return EmailOk
		}
				
  function hideDropdowns() {
		var f = document.forms["aspnetForm"]
		
    if (document.forms) { 
			// Loop through controls on form
      for (var i=0; i<f.length; i++) {
				// Set display to 'none' if select-button and not on RouteEdit control
        if (f[i].type == 'select-one' && f[i].style && f[i].name.indexOf("RouteEdit") == -1) { 
           f[i].style.display = 'none'; 
        } 
      } 
    } 
  }   

	
//
//
//

