var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		}
	]

};

// TODO - chain this javascript event to the onload function
//BrowserDetect.init();

if (BrowserDetect.browser == 'Safari') {

} else {
		function selectReplacement(obj) {
			var ddName = obj.className;
		
      obj.className += ' replaced';
      var ul = document.createElement('ul');
      
      //alert('ddName: ' + ddName);
      
      //if (ddName == 'sdd2' || ddName == 'sdd2 replaced'){
      	//ul.id = 'dd-miles';
      	//ul.className = 'selectReplacementSm';      	
      //} else {
      	ul.className = 'selectReplacement';
      //}

      var opts = obj.options;
      for (var i=0; i<opts.length; i++) {
        var selectedOpt;
        if (opts[i].selected) {
          selectedOpt = i;
          break;
        } else {
          selectedOpt = 0;
        }
      }
      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() {
          selectMe(this);
        }
        if (i == selectedOpt) {
          li.className = 'selected';
          li.onclick = function() {
            this.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
        }
        if (window.attachEvent) {
          li.onmouseover = function() {
            this.className += ' hover';
          }
          li.onmouseout = function() {
            this.className = 
              this.className.replace(new RegExp(" hover\\b"), '');
          }
        }
        ul.appendChild(li);
      }
      obj.parentNode.insertBefore(ul,obj);
    }
    function selectMe(obj) {
		//alert(obj);
      var lis = obj.parentNode.getElementsByTagName('li');
      for (var i=0; i<lis.length; i++) {
        if (lis[i] != obj) {
          lis[i].className='';
          lis[i].onclick = function() {
            selectMe(this);
          }
        } else {
          setVal(obj.selectID, obj.selIndex);
          obj.className='selected';
          obj.parentNode.className = 
            obj.parentNode.className.replace(new RegExp(" selectOpen\\b"), '');
          obj.onclick = function() {
            obj.parentNode.className += ' selectOpen';
            this.onclick = function() {
              selectMe(this);
            }
          }
        }
      }
    }
    function setVal(objID, selIndex) {
      var obj = document.getElementById(objID);
      obj.selectedIndex = selIndex;
		//alert('aaa');
	  document.manufacturers.submit();
    }
    function setForm() {

      var s = document.getElementById('sddh1').getElementsByTagName('select');
      	
      for (var i=0; i<s.length; i++) {
        selectReplacement(s[i]);
      }
      
      //var s2 = document.getElementById('sddh2').getElementsByTagName('select');
      	
      //for (var i=0; i<s.length; i++) {
        //selectReplacement(s2[i]);
      //}    
      
    }
    window.onload = function() {
      (document.all && !window.print) ? null : setForm();
    }
}
