// JavaScript Document
var rep_target;
var max_lines=10;
// var zind=(document.URL.indexOf('/calculator.html')==-1) ? 999:99;
function repClick(item){
	repHover(item);
	var sel=geBi(item.parentNode.id.replace(/_ul$/,''));
	var span=geBi(item.parentNode.id.replace(/_ul$/,'_f'));
	if(isIE()!=0) span.innerText=item.innerHTML;
	else span.innerHTML=item.innerHTML;
	sel.value=item.getAttribute('value');
	selColl(item.parentNode);
	if(sel.getAttribute('onchange')){
		if(isIE()!=0) sel.fireEvent('onchange');
		else{
			var str=sel.getAttribute('onchange').toString().replace(/selChange\(this\);/,'').replace(/this/g,'sel');
			eval(str);
		}
	}
	if(isIE()!=0) sel.setActive();
	else sel.focus();
}
function repHover(item){
	var nodes=item.parentNode.childNodes;
	for(var i=0;i<nodes.length;i++){ nodes[i].className=''; }
	item.className='rep_selected';
}
function selClick(item,fl){
	var ul= (fl==1) ? geBi(item.id+'_ul') : geBi(item.id.replace(/_f$/,'_ul'));
	selColl(ul);
	if(isIE()!=0){ geBi(item.id.replace(/_f$/,'')).setActive(); }
	else geBi(item.id.replace(/_f$/,'')).focus();
}
function selColl(ul,flag){
	var span=geBi(ul.id.replace(/_ul$/,'_f'));
	if(ul.className.indexOf('rep_collapsed_ul')!=-1 && !flag){
		ul.className=ul.className.replace(/[\s]?rep_collapsed_ul/,' rep_exp_ul');
		span.className=span.className+' rep_exp';
		rep_target=ul;
		addEvnt(document,'click',docClick);
	}else{
		remEvnt(document,'click',docClick);
		ul.className=ul.className.replace(/[\s]?rep_exp_ul/,' rep_collapsed_ul');
		span.className=span.className.replace(/[\s]?rep_exp/,'');
	}
	// if(isIE()!=0 && flag==2){ alert('1'); geBi(ul.id.replace(/_ul$/,'')).setActive(); }
}
function selChange(item){
	var ul_ch=geBi(item.id+'_ul').childNodes;
	var i=0;
	while(ul_ch[i].getAttribute('value')!=item.value){
		i++;
	}
	repHover(ul_ch[i]);
	var span=geBi(item.id+'_f')
	if(isIE()!=0) span.innerText=ul_ch[i].innerHTML;
	else span.innerHTML=ul_ch[i].innerHTML;
	if(isIE()!=0) item.setActive();
	else item.focus();
}
function addEvnt(src,ev_name,func){
	if(isIE()!=0){
		if(src==document) src=window.document; 
		src.attachEvent('on'+ev_name,func); // docClick
	}
	else src.addEventListener(ev_name, func, false);
}
function remEvnt(src,ev_name,func){
	if(isIE()!=0){
		if(src==document) src=window.document;
		src.detachEvent('on'+ev_name,func);
	}
	else src.removeEventListener(ev_name, func, false);
}
function crF(sel,s_class,num,zind){
	var div=Elemnt('div',{'class':'rep_div '+s_class},{'zIndex':zind-num});
	var ul=Elemnt('ul',{'id':sel+'_ul','class':'rep_ul rep_collapsed_ul'});
	var opt=geBi(sel).options;
	for(var i=0;i<opt.length; i++){
	    var li=Elemnt('li','','',opt[i].text);
		// alert(opt[i].value);
		li.setAttribute('value',opt[i].value);
		var cl_name=(opt[i].className) ? opt[i].className+' rep_selected':'rep_selected';
		if(opt[i].getAttribute('selected')){ li.className=cl_name; var selected=i; }
		li.onmouseover=function(){ repHover(this); }
		li.onclick=function(){ repClick(this); }
		ul.appendChild(li);
	}
	if(opt.length>max_lines) Style(ul,{'height':(max_lines*17)+'px','overflowY':'scroll','overflowX':'hidden'});
	if(!selected){ var selected=0; ul.firstChild.className='rep_selected'; }
	var span=Elemnt('span',{'id':sel+'_f','class':'rep_field'},'',opt[selected].text);
	span.onclick=function(){ selClick(this); }
	div.appendChild(span);
	sel=geBi(sel);
	// sel.onchange=function(){ eval(this.getAttribute('onchange')+'selChange(this)'); }
	// sel.onfocus=function(){ event.cancelBubble=true; return false; }
	// sel.onblur=function(){ this.blur(); }
	if(isIE()==1) sel.onkeydown=function(e){
		if(window.event.keyCode==9){ docClick(e); }
	}
	sel.onkeyup=function(e){
		selChange(this);
		if(isIE()!=0) e=window.event;
		// alert(e.altKey);
		if(e.keyCode==9){ docClick(e); }
		if(e.altKey){
			switch (e.keyCode){
				case 40:
				case 38:
					selClick(this,1);
				break;
			}
		}
	}
	sel.onkeypress=function(e){
		if(isIE()!=0) e=window.event; 
		// alert(e.keyCode);
		switch (e.keyCode){
			case 13:
			case 27:
				selColl(geBi(this.id+'_ul'),1);
				if(isIE()==0) e.preventDefault();
			break;
			case 33: // Page Up
			case 36: // Home
				if(isIE()!=0) e.returnValue=false;
				else e.preventDefault();
				this.value=this.firstChild.value;
				selChange(this);
			break;
			case 34: // Page Down
			case 35: // End
				if(isIE()!=0) e.returnValue=false;
				else e.preventDefault();
				this.value=this.lastChild.value;
				selChange(this);
			break;
		}
	}
	sel.className=sel.className+' rep_select';
	var parent=sel.parentNode;
	div.appendChild(span);
	div.appendChild(ul);
	parent.appendChild(div);
}
function docClick(e){
	// alert(e);
	var src = (window.event) ? window.event.srcElement : e.target;
	if(src!=rep_target && src.parentNode!=rep_target && src.nextSibling!=rep_target) selColl(rep_target,1);
}
function repSel(sel,zind){
	if(!zind) zind=99;
	if(sel.all){
		class_s=sel.all;
		sel=document.getElementsByTagName('select');
		for(var i=0;i<sel.length;i++){ crF(sel[i],class_s,i,zind); }
	}else{
		var i=0;
		for(key in sel){
			crF(key,sel[key],i,zind);
			i++;
		}
	}
}
