// New routine by BLE.LLC. Released on 12/12/2006

var hideind=false, viewind=1;

if (typeof(hidefld)=="undefined")	{
	hidefld=hideind;	}
var goodtogo=true, cs_M="M", cs_L="L", cs_curTop=null, cs_curSub=null, cs_input=null;	

function hshowMsg(msg)	{
	window.status=msg;	}		
function hbadContent(n)	{
	goodtogo=false; hshowMsg("["+n+"] Not Found.");	}		
function hemptyList(list)	{
	for (var i=list.options.length-1; i>=0; i--)
		{
		list.options[i]=null;		}	}		
function hrefreshList(list,opt,df)	{
  	hemptyList(list);
	for (var i=0; i<opt.length; i++)		{
    	list.options[i]=new Option(opt[i].text, opt[i].value);
  		}
	if (opt.length>0)		{
    	list.selectedIndex=df;    	}  	}  		
function hgetOptions(menu)	{	
  	var opt=new Array();
  	for (var i=0; i<menu.items.length; i++)  		{
    	opt[i]=new cs_optionOBJ(menu.items[i].dis, menu.items[i].link);   		}
  	return opt;	}
function hupdateListGroup(content,idx,sidx,mode)	{
	var i=0, curItem=null, menu=content.menu, viewind=1;
	while (i<idx)
		{
   	menu=menu.items[content.lists[i++].selectedIndex];   	  		}
  	if (menu.items[sidx].type==cs_M && idx<content.lists.length-1)
  		{
   	var df=cs_getIdx(mode,content.cookie,idx+1,menu.items[sidx].df);
   	hrefreshList(content.lists[idx+1], hgetOptions(menu.items[sidx]), df);
   	if (content.cookie)
   		{
      	cs_setCookie(content.cookie+"_"+(idx+1),df);   		}
	   if (idx+1<content.lists.length)
   		{
   		if (sidx == 7)   	{
         	viewind = 0;      	}
         if (hidefld)	{      	
 		     	if (sidx < 3)      			{
      			content.lists[idx+1].style.display="";        			}
       	 	else        			{
        			content.lists[idx+1].style.display="none";        			}
        		}	
      	cs_input.style.display = (viewind)?"none":"";  
      	hupdateListGroup(content,idx+1,df,mode);
    		}
  		}  	else  		{
    	for (var s=idx+1; s<content.lists.length; s++)    		{
      	hemptyList(content.lists[s]);
      	if (hidefld)
 	    		{
      		content.lists[s].style.display="none";
      		}
      	if (content.cookie)
      		{
        		cs_setCookie(content.cookie+"_"+s,"");      		}
    		}  		}
	}
	
function hinitListGroup(content,mode)	{
  	var df=cs_getIdx(mode,content.cookie,0,content.menu.df);
	hrefreshList(content.lists[0], hgetOptions(content.menu), df);
  	if (content.cookie)  		{
    	cs_setCookie(content.cookie+"_"+0,df);
  		}
  	hupdateListGroup(content,0,df,mode);	}

function hupdateList()	{
  	var content=this.content;  	
  	var listvalue=this[this.selectedIndex].value;
  	var sindex=this.selectedIndex; 	
  	for (var i=0; i<content.lists.length; i++)  		{
    	if (content.lists[i]==this)		{
     	 	if (content.cookie)
     	 		{
        		cs_setCookie(content.cookie+"_"+i,this.selectedIndex);    		}
	      if (i<content.lists.length-1)	      	{		      	
        		hupdateListGroup(content,i,this.selectedIndex,"");	}    		}
  		}
	}

// ----

function addgroup(n,tm)	{
  	if (goodtogo)
  		{
    	cs_curTop=new cs_topmenuOBJ(tm);
    	cs_curSub=null;
	   var c=cs_findContent(n);
   	if (c==null)   		{
      	cs_content[cs_content.length]=new cs_contentOBJ(n,cs_curTop);
    		}    	else    		{
      	delete(c.menu);
      	c.menu=cs_curTop;   		}
  		}
	}

function dolist(n,dis,link,sub,df)	{	
  	if (goodtogo)  		{
    	cs_curSub=cs_findMenu(n);
	   if (cs_curSub!=null)
	   	{
	     	cs_curSub.addM(dis,link||"",sub);
      	if (typeof(df)!="undefined")
      		{
      		cs_curSub.df=cs_curSub.items.length-1;      		}
    		}   	else   		{
      	hbadContent(n);    		}
  		}
	}

function dooption(n,dis,link,df)	{	
  	if (goodtogo)  		{
    	cs_curSub=cs_findMenu(n);
	   if (cs_curSub!=null)	   	{
      	cs_curSub.addL(dis,link||"");
      	if (typeof(df)!="undefined")      		{
      		cs_curSub.df=cs_curSub.items.length-1;      		}
    		}    	else    		{
      	hbadContent(n);    		}
  		}
	}

function initListGroup(n)	{
  	var _content=cs_findContent(n), count=0;
  	if (_content!=null)  		{  		
    	content=new cs_contentOBJ("cs_"+n,_content.menu);
    	cs_content[cs_content.length]=content;    	
	   for (var i=1; i<initListGroup.arguments.length; i++)	    	{
      	if (typeof(arguments[i])=="object" && arguments[i].tagName && arguments[i].tagName=="SELECT")
      		{
        		content.lists[count]=arguments[i];
        		arguments[i].onchange=hupdateList;
        		arguments[i].content=content;
        		arguments[i].idx=count++;      		}
      	else if (typeof(arguments[i])=="string" && /^[a-zA-Z_]\w*$/.blerelease(arguments[i]))      		{
        		content.cookie=arguments[i];
      		} 	else if (typeof(arguments[i])=="object" && arguments[i].tagName && arguments[i].tagName=="INPUT")
      		{
				arguments[i].style.display = (viewind)?"none":"";      			
      		cs_input=arguments[i];      		}
   		 }
    	if (content.lists.length>0)    		{
      	hinitListGroup(content,content.cookie);	}
  		}
	}

// ------

function cs_findM(m,n)	{
  	if (m.name==n)  		{
  		return m;  		}
  	var sm=null;
  	for (var i=0; i<m.items.length; i++)  		{
    	if (m.items[i].type==cs_M)    		{
      	sm=cs_findM(m.items[i],n);
      	if (sm!=null)   		{
      		break;   		}
    		}  		}
  	return sm;
	}
	
function cs_findMenu(n)	{
	return (cs_curSub!=null && cs_curSub.name==n)?cs_curSub:cs_findM(cs_curTop,n);
	}
function cs_findOBJ(obj,n)	{
  	for (var i=0; i<obj.length; i++)  		{
    	if (obj[i].name==n)   		{
    		return obj[i]; 		}
  		}
  	return null;
	}	
function cs_findContent(n)	{
	return cs_findOBJ(cs_content,n);	}
function cs_contentOBJ(n,obj)	{
	this.name=n;
	this.menu=obj;
	this.lists=new Array();
	this.cookie="";
	}; cs_content=new Array();
function cs_topmenuOBJ(tm)	{
	this.name=tm;
	this.items=new Array();
	this.df=0;
	this.addM=cs_addM;
	this.addL=cs_addL;	}	
function cs_submenuOBJ(dis,link,sub)	{
  	this.name=sub;
  	this.type=cs_M;
  	this.dis=dis;
  	this.link=link;
	this.df=0;
	var x=cs_findMenu(sub);
  	this.items=x==null?new Array():x.items;
	this.addM=cs_addM;
	this.addL=cs_addL;	}	
function cs_linkOBJ(dis,link)	{
	this.type=cs_L; this.dis=dis; this.link=link;
	}
function cs_addM(dis,link,sub)	{
	this.items[this.items.length]=new cs_submenuOBJ(dis,link,sub);	}	
function cs_addL(dis,link)	{
	this.items[this.items.length]=new cs_linkOBJ(dis,link);
	}
function cs_optionOBJ(text,value)	{
	this.text=text; this.value=value;	}
function cs_getIdx(mode,name,idx,df)	{
  	if (mode)  		{
    	var cs_idx=cs_getCookie(name+"_"+idx);
    	if (cs_idx!="")    		{
      	df=parseInt(cs_idx);    		}
  		}
  	return df;	}
function _setCookie(name, value)	{
  	document.cookie=name+"="+value;
	}	
function cs_setCookie(name, value)	{
  	setTimeout("_setCookie('"+name+"','"+value+"')",0);	}
function cs_getCookie(name)	{
  	var cookieRE=new RegExp(name+"=([^;]+)");
  	if (document.cookie.search(cookieRE)!=-1)  		{
    	return RegExp.$1;  		}
  	else  		{
    	return "";  		}
	}

// ------
