var d = detectLstMacXFF();
function detectLstMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}
var openbox_lst_back = false;
function construct_lst_openbox() {
	if(!openbox_lst_back)
		{
		openbox_lst_back = document.createElement('div');
		openbox_lst_back.style.position='absolute';		
		openbox_lst_back.style.top='0px';	
		openbox_lst_back.style.left='0px';
		openbox_lst_back.style.backgroundColor='#000000';
		openbox_lst_back.style.zIndex='1000';
		if (d) {
			//osx ff css opacity + flash wmode transparent doesn't work
			}
			else {
				openbox_lst_back.style.opacity='0.40';
				openbox_lst_back.style.KHTMLOpacity='0.40';
				openbox_lst_back.style.MozOpacity='0.40';
				openbox_lst_back.style.filter='alpha(opacity=40)';
				}
		openbox_lst_back.onclick = function () {hide_lst_openbox();};
		openbox_lst_back.innerHTML = '&nbsp;';
		document.getElementById('box_lst_search').appendChild(openbox_lst_back);
	}
	openbox_lst_back.style.display='block';
	document.getElementById('selectNew').style.zIndex='1005';
	get_size_openbox_lst_back();
	window.onscroll = function () {get_size_openbox_lst_back();};
	window.onresize = function () {get_size_openbox_lst_back();};
}
function hide_lst_openbox() {
	openbox_lst_back.style.display='none';
	//document.getElementById('selectNew').className=document.getElementById('selectNew').className.replace(new RegExp(" selectOpen\\b"), '');
	selectMe(document.getElementById('selectNew').getElementsByTagName("li")[0], 'form_search');
	}
function hide_lst_openboxB() {
	openbox_lst_back.style.display='none';
	}
function get_size_openbox_lst_back() {	
		//openbox_lst_back.style.top=window.getScrollTop()+'px';
		//openbox_lst_back.style.left=window.getScrollLeft()+'px';
		openbox_lst_back.style.height=jQuery(window).height()+'px';
		openbox_lst_back.style.width=jQuery(window).width()+'px';
	}
function selectReplacement(obj, box, vForm) {
  // append a class to the select
  obj.className += ' replaced';
  // create list for styling
  var ul = document.createElement('ul');
  ul.className = 'selectReplacement';
  ul.setAttribute('id','selectNew');
  
//  ul.onmouseover =  function() {
//            ul.className += ' selectOpen';
//  }
//  
//  ul.onmouseout =  function() {
//            ul.className += ul.className.replace(new RegExp(" selectOpen\\b"), '');
//  }
  
  /*if (window.attachEvent) {
    ul.onmouseover = function() {
      ul.className += ' selHover';
    }
    ul.onmouseout = function() {
      ul.className = 
        ul.className.replace(new RegExp(" selHover\\b"), '');
    }
  }*/
  // collect our object’s options
  var opts = obj.options;
  // check for the selected option (default to the first option)
  for (var i=0; i<opts.length; i++) {
    var selectedOpt;
    if (opts[i].selected) {
      selectedOpt = i;
      break; // we found the selected option, leave the loop
    } else {
      selectedOpt = 0;
    }
  }
  // iterate through them, creating <li>s
  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 = opts[i].index;
    li.selectID = obj.id;
    li.onclick = function() {
      //setVal(this.selectID, this.selIndex);
      selectMe(this, vForm);
	  hide_lst_openboxB();
	  document.getElementById(vForm).submit();
    }
	if (i == selectedOpt) {
      li.className = 'selected';
        /**/
		li.onclick = function() {
	  		construct_lst_openbox();
            this.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this, vForm);
			  hide_lst_openboxB();
	  		  document.getElementById(vForm).submit();
            }
          }
		  /**/
    }
	if (window.attachEvent) {
      li.onmouseover = function() {
        this.className += ' selHover';
      }
      li.onmouseout = function() {
        this.className = 
          this.className.replace(new RegExp(" selHover\\b"), '');
      }
    }
    ul.appendChild(li);
  }
  // add the ul to the form
  box.appendChild(ul);
}
function selectMe(obj, vForm) {
  // get the <li>’s siblings
  var lis = obj.parentNode.getElementsByTagName('li');
  // loop through
  for (var i=0; i<lis.length; i++) {
    // not the selected <li>, remove selected class
    if (lis[i] != obj) {
      lis[i].className='';
	  /**/
	  lis[i].onclick = function() {
            selectMe(this, vForm);
			hide_lst_openboxB()
	  		document.getElementById(vForm).submit();
          }
	  /**/
    } else { // our selected <li>, add selected class
      /*lis[i].className='selected';*/
	  /**/
	  	  setVal(obj.selectID, obj.selIndex);
          obj.className='selected';
          obj.parentNode.className = 
            obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
          obj.onclick = function() {
			construct_lst_openbox();
            obj.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this, vForm);
			  hide_lst_openboxB()
			  document.getElementById(vForm).submit();
            }
          }
	  /**/
    }
  }
}
function setVal(objID, selIndex) {
  var obj = document.getElementById(objID);
  obj.selectedIndex = selIndex;
}
function setForm(vId, vBox, vForm) {
  var s = document.getElementById(vId);
  var box = document.getElementById(vBox);
  selectReplacement(s, box, vForm);
}

