var ts_triggeron = 'activetrigger'; 	  // class for the active trigger link
var ts_triggeroff = 'trigger';			  // class for the inactive trigger link
var ts_dropdownclosed = 'dropdownhidden'; // closed dropdown
var ts_dropdownopen = 'dropdownvisible';  // open dropdown

function showHideCC(evt) {
     var sel1 = document.getElementById('sel_a_1');
     var sel2 = document.getElementById('sel_a_2');
     var sel3 = document.getElementById('sel_a_3');

     if (!evt) {
	    evt = window.event;
	 }
     if (document.all) {
	   trgObj = evt.srcElement;
	 }
     else {
	   trgObj = evt.target;
	 }
     if (!trgObj) {
	    return;
     }

	 if (trgObj.id && trgObj.id.substring(0,7) == 'sel_a_1') {
          ts_setclass(sel2, ts_triggeroff);
          ts_setclass(sel2.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);

          ts_setclass(sel3, ts_triggeroff);
          ts_setclass(sel3.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);
     }
	 else if (trgObj.id && trgObj.id.substring(0,7) == 'sel_a_2') {
          ts_setclass(sel1, ts_triggeroff);
          ts_setclass(sel1.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);

          ts_setclass(sel3, ts_triggeroff);
          ts_setclass(sel3.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);
     }
	 else if (trgObj.id && trgObj.id.substring(0,7) == 'sel_a_3') {
          ts_setclass(sel1, ts_triggeroff);
          ts_setclass(sel1.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);

          ts_setclass(sel2, ts_triggeroff);
          ts_setclass(sel2.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);
     }
	 else {
          ts_setclass(sel1, ts_triggeroff);
          ts_setclass(sel1.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);

          ts_setclass(sel2, ts_triggeroff);
          ts_setclass(sel2.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);

          ts_setclass(sel3, ts_triggeroff);
          ts_setclass(sel3.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed);
	 }
	 
	 return false;
}

function ts_setclass(o, c) {
   o.className = c;
}

function tamingselect() {
	if (!document.getElementById && !document.createTextNode){
	   return;
	}

    // Classes for the link and the visible dropdown
	var ts_selectclass = 'turnintodropdown';  // class to identify selects

	var ts_boxclass = 'dropcontainer'; 	      // parent element
	var ts_triggeron = 'activetrigger'; 	  // class for the active trigger link
	var ts_triggeroff = 'trigger';			  // class for the inactive trigger link
	var ts_dropdownclosed = 'dropdownhidden'; // closed dropdown
	var ts_dropdownopen = 'dropdownvisible';  // open dropdown
	var substr_length = 23;

	// Turn all selects into DOM dropdowns
	var count = 0;
	var toreplace = new Array();
	var sels = document.getElementsByTagName('select');
	for (var i = 0; i < sels.length; i++) {
		if (ts_check(sels[i], ts_selectclass)) {
			var hiddenfield = document.createElement('input');
			hiddenfield.name = sels[i].name;
			hiddenfield.type = 'hidden';
			hiddenfield.id = sels[i].id;
			hiddenfield.value = sels[i].options[0].value;
			sels[i].parentNode.insertBefore(hiddenfield, sels[i]);
			var trigger = document.createElement('a');
			trigger.id = "sel_a_" + i;
			ts_addclass(trigger, ts_triggeroff);
			trigger.href = '#';
			trigger.onclick = function() {
				ts_swapclass(this, ts_triggeroff, ts_triggeron);
				ts_swapclass(this.parentNode.getElementsByTagName('ul')[0], ts_dropdownclosed, ts_dropdownopen);
				return false;
			}
			//trigger.onblur = function() {
			//    alert("onBlur");
			//    if (ts_check(this, ts_triggeron)) {
			//	   ts_swapclass(this, ts_triggeron, ts_triggeroff);
			//	   ts_swapclass(this.parentNode.getElementsByTagName('ul')[0], ts_dropdownopen, ts_dropdownclosed);
			//	}
			//	return false;
			//}
			trigger.appendChild(document.createTextNode(sels[i].options[0].text));
			sels[i].parentNode.insertBefore(trigger, sels[i]);
			var replaceUL = document.createElement('ul');

			// start at 1 to skip the "select one" in the actual dropdown
			//for (var j = 1; j < sels[i].getElementsByTagName('option').length; j++) {
			for (var j = 0; j < sels[i].getElementsByTagName('option').length; j++) {
				var newli = document.createElement('li');
				var newa = document.createElement('a');
				newa.id = 'sel_a_' + i + '_' + j;
				newli.id = 'sel_li_' + i + '_' + j;
				newli.v = sels[i].getElementsByTagName('option')[j].value;
				newli.elm = hiddenfield;
				newli.istrigger = trigger;
				newli.col = i;
				newli.index = j;
				newa.href = '#';
				newa.appendChild(document.createTextNode(sels[i].getElementsByTagName('option')[j].text));
				newli.onclick = function() {
					this.elm.value = this.v;
					ts_swapclass(this.istrigger, ts_triggeron, ts_triggeroff);
					ts_swapclass(this.parentNode, ts_dropdownopen, ts_dropdownclosed);
					//this.istrigger.firstChild.nodeValue = this.firstChild.firstChild.nodeValue;
					var xval = this.firstChild.firstChild.nodeValue;
					if (xval.length > (substr_length + 3)) {
					   xval = xval.substring(0, substr_length);
					   xval = xval.replace(/\s\s*$/, '') + "...";
					}
					this.istrigger.firstChild.nodeValue = xval;
					selectCard(this.col, this.index);
					return false;
				}
				newli.appendChild(newa);
				replaceUL.appendChild(newli);
			}

			ts_addclass(replaceUL, ts_dropdownclosed);
			var div = document.createElement('div');
			div.id = "sel_div_" + i;
			div.appendChild(replaceUL);
			ts_addclass(div, ts_boxclass);
			sels[i].parentNode.insertBefore(div, sels[i])
			toreplace[count] = sels[i];
			count++;
		}
	}
	
	for (i = 0; i < count; i++) {
		toreplace[i].parentNode.removeChild(toreplace[i]);
	}
	function ts_check(o, c) {
	 	return new RegExp('\\b'+c+'\\b').test(o.className);
	}
	function ts_swapclass(o, c1, c2) {
		var cn = o.className
		o.className = !ts_check(o,c1) ? cn.replace(c2, c1) : cn.replace(c1, c2);
	}
	function ts_addclass(o, c) {
		if (!ts_check(o, c)) {
		  o.className += o.className == '' ? c:' ' + c;
		}
	}
}

window.onload=function() {
	tamingselect();
	// add more functions if necessary
        var def = gup('def');
        var col1 = gup('col1');
        var col2 = gup('col2');
        var col3 = gup('col3');
        if (col1 == "") {
                col1 = col2;
                col2 = col3;
		col3 = "";
        	if (col1 == "") {
                	col1 = col2;
                	col2 = "";
        	}
        }
        if (col2 == "") {
                col2 = col3;
                col3 = "";
        }
        if (col1 != "")
                selectCardById(1, col1);
	else if (def != "")
                selectCardById(1, def);
	else
		selectCard(1, 0);
        if (col2 != "")
                selectCardById(2, col2);
	else
		selectCard(2, 0);
        if (col3 != "")
                selectCardById(3, col3);
	else
		selectCard(3, 0);
}

