/* disable due to Rosetta-EFR 
var ulNode = new Array();
var numDropdown=0;
var dropdownList = new Array();
var previousone=-1;
var onChangeDropDown=0;
*/

function selectReplacement(obj, objIndex) {
  obj.className += ' replaced';
  ulNode[objIndex] = document.createElement('ul');
  ulNode[objIndex].className = 'select ' + obj.id;
  ulNode[objIndex].name=obj.id;

  if (obj.className == 'required replaced') {
		ulNode[objIndex].className = 'select required';
  }
  var opts = obj.options;
  var selectedOpt = (!obj.selectedIndex) ? 0 : obj.selectedIndex;
  for (var i=0; i<opts.length; i++) {
		var li = document.createElement('li');
		var txt = document.createTextNode(opts[i].text);
		li.appendChild(txt);
		li.selIndex = i;
		li.selectID = obj.id;
		li.onclick = function() {
			selectMe(this, -1);
		};
		if (i == selectedOpt) {
			li.className = 'selected';
			li.onclick = function() {
				this.parentNode.className += ' open';
				opendropdown=this.parentNode;
				this.onclick = function() {
					selectMe(this, -1);
				};
			};
		}
		if (window.attachEvent) {
			li.onmouseover = function() {
			this.className += ' hover';
			};
			li.onmouseout = function() {
			this.className = 
				this.className.replace(new RegExp(" hover\\b"), '');
			};
		}
		ulNode[objIndex].appendChild(li);
		document.onclick=function(e){
	        var elem;
	        if (!e){
	           var e = window.event;
	        }
			
			var whichoneopen=-1;
			var count=0;
				
			for(var k=0; k<numDropdown;k++){
				if(ulNode[k].className.match(new RegExp("open\\b"))) 
					count++;
			}
			
			if(count==1){
				for(var k=0; k<numDropdown;k++){	
					if(ulNode[k].className.match(new RegExp("open\\b"))){
						previousone=k;
						whichoneopen=k;
						break;
					} 
				}
			}
			else if(count>1){
				for(var k=0; k<numDropdown;k++){
					if(ulNode[k].className.match(new RegExp("open\\b"))){  
						if(k!=previousone){
							whichoneopen=previousone;
							previousone=k;
							break;	
						}
					}
				}
			}
				
			if(count>=1){          
	            if(e.target){
	            	if((e.target.tagName != "LI") || (count>1)){
						selectMe(this, whichoneopen);
	            	}	
	            }
	            else if (e.srcElement){
	                if(event.srcElement.tagName != "LI" || (count>1)){
	                    selectMe(this, whichoneopen);
	                }
	            }
	        }
  		};
  }
  ulNode[objIndex].onmouseover = function() {
		ulNode[objIndex].className += ' hover';
  };
  ulNode[objIndex].onmouseout = function() {
		ulNode[objIndex].className = 
		  ulNode[objIndex].className.replace(new RegExp(" hover\\b"), '');
  };
  obj.onfocus = function() {
		ulNode[objIndex].className += ' focus';
  };
  obj.onblur = function() {
		ulNode[objIndex].className = 
		  ulNode[objIndex].className.replace(new RegExp(" focus\\b"), '');
  };
  obj.onkeyup = function() {
		var idx = this.selectedIndex;
		selectMe(ulNode[objIndex].childNodes[idx], -1);
  };
  obj.parentNode.insertBefore(ulNode[objIndex],obj);
}

function selectMe(obj, whichone) {
 var lis;
 if(obj.nodeName=="#document"){
    lis=ulNode[whichone].getElementsByTagName('li');
 }
 else{
  onChangeDropDown=1;
  lis = obj.parentNode.getElementsByTagName('li');
 }
 var selectLI=0;
 for (var i=0; i<lis.length; i++) {
		if (lis[i] != obj) {
			lis[i].className='';
			lis[i].onclick = function() {
				selectMe(this, whichone);
			};
		 } else {
		    selectLI=1;
			setVal(obj.selectID, obj.selIndex);
			obj.className='selected';
			obj.parentNode.className = 
				obj.parentNode.className.replace(new RegExp(" open\\b"), '');
			obj.onclick = function() {
				obj.parentNode.className += ' open';
				this.onclick = function() {
					selectMe(this, whichone);
				};
			};
		}
  }

  if(selectLI==0){
       setVal(lis[dropdownList[whichone].selectedIndex].selectID, lis[dropdownList[whichone].selectedIndex].selIndex);          
          lis[dropdownList[whichone].selectedIndex].className='selected';
          ulNode[whichone].className = 
            ulNode[whichone].className.replace(new RegExp(" open\\b"), '');
          lis[dropdownList[whichone].selectedIndex].onclick = function() {
            ulNode[whichone].className += ' open';
			opendropdown=ulNode[whichone];
            this.onclick = function() {
              selectMe(this, whichone);
            }
          }
  }
  if(onChangeDropDown==1){
      document.getElementById("rosetta_form").submit();
  }
}

function setVal(objID,val) {
  var obj = document.getElementById(objID);
  obj.selectedIndex = val;
}

/* 
	Only SELECT elements contained within divs with @class="dropdown" are parsed. 
*/
function setForm() {
  var d = document.getElementsByTagName('div');
  for (var i=0; i<d.length; i++) {
    var s;
	if (d[i].className.split(' ')[0] == 'rosetta_menu') {
		 s= d[i].getElementsByTagName('select');
    for (var j=0; j<s.length; j++) {
         dropdownList[numDropdown++]=s[j];
    }	
    }
  } 

  for(var k=0; k<numDropdown; k++){
      selectReplacement(dropdownList[k],k);
  }
}

function detectThisObject(id){
    YAHOO.util.Event.onAvailable(id, this.handleOnAvailable, this);
}

/* comment it since dropdown.js is not referenced due to rosetta-EFR
detectThisObject.prototype.handleOnAvailable = function(me) {
   setForm();
}

var detectId=new detectThisObject("rosetta_dropdown");
*/

//addLoadEvent(function() {
//	setForm();       // run our new function as soon as the page loads. 
//});
