/* */
window.onload = function() {
	//alert('onload');
	resetDivision();
  // 
	selectContact();
}

window.onunload = function() {
	//alert('unloaded');
}

var previous_sb;
function selectContact(current_sb) { 
  previous_sb = current_sb;
  if (document.getElementById) {
		
    var contact_tbl = document.getElementById('TABLE_CONTACT');
    var location_sb = document.getElementById('SB_LOCATION');
    var company_sb = document.getElementById('SB_COMPANY');

		if (!contact_tbl || !location_sb || !company_sb) return;

		var lo = location_sb.options[location_sb.selectedIndex].value;

		if (current_sb == 'SB_LOCATION') {
      // reset sb
      company_sb.selectedIndex = 0;
			// mod sb: company_sb
			switch (lo) {
				case 'L1':
				document.getElementById('SB_COMPANY_C1').disabled = false;
				document.getElementById('SB_COMPANY_C2').disabled = false;
				document.getElementById('SB_COMPANY_C3').disabled = false;
				document.getElementById('SB_COMPANY_C4').disabled = false;
				document.getElementById('SB_COMPANY_C5').disabled = false;
				document.getElementById('SB_COMPANY_C6').disabled = false;
				document.getElementById('SB_COMPANY_C7').disabled = false;
				break;
				case 'L2': 
				document.getElementById('SB_COMPANY_C1').disabled = false;
				document.getElementById('SB_COMPANY_C2').disabled = true;
				document.getElementById('SB_COMPANY_C3').disabled = true;
				document.getElementById('SB_COMPANY_C4').disabled = true;
				document.getElementById('SB_COMPANY_C5').disabled = true;
				document.getElementById('SB_COMPANY_C6').disabled = true;
				document.getElementById('SB_COMPANY_C7').disabled = true;
				break;
				case 'L3':
				document.getElementById('SB_COMPANY_C1').disabled = true;
				document.getElementById('SB_COMPANY_C2').disabled = true;
				document.getElementById('SB_COMPANY_C3').disabled = false;
				document.getElementById('SB_COMPANY_C4').disabled = true;
				document.getElementById('SB_COMPANY_C5').disabled = true;
				document.getElementById('SB_COMPANY_C6').disabled = true;
				document.getElementById('SB_COMPANY_C7').disabled = true;
				break;
				case 'L4':
				document.getElementById('SB_COMPANY_C1').disabled = false;
				document.getElementById('SB_COMPANY_C2').disabled = true;
				document.getElementById('SB_COMPANY_C3').disabled = true;
				document.getElementById('SB_COMPANY_C4').disabled = true;
				document.getElementById('SB_COMPANY_C5').disabled = true;
				document.getElementById('SB_COMPANY_C6').disabled = true;
				document.getElementById('SB_COMPANY_C7').disabled = true;
				break;
				case 'L5':
				document.getElementById('SB_COMPANY_C1').disabled = true;
				document.getElementById('SB_COMPANY_C2').disabled = true;
				document.getElementById('SB_COMPANY_C3').disabled = false;
				document.getElementById('SB_COMPANY_C4').disabled = false;
				document.getElementById('SB_COMPANY_C5').disabled = true;
				document.getElementById('SB_COMPANY_C6').disabled = true;
				document.getElementById('SB_COMPANY_C7').disabled = true;
				break;
				default:
				document.getElementById('SB_COMPANY_C1').disabled = false;
				document.getElementById('SB_COMPANY_C2').disabled = false;
				document.getElementById('SB_COMPANY_C3').disabled = false;
				document.getElementById('SB_COMPANY_C4').disabled = false;
				document.getElementById('SB_COMPANY_C5').disabled = false;
				document.getElementById('SB_COMPANY_C6').disabled = false;
				document.getElementById('SB_COMPANY_C7').disabled = false;
			}
		}

		var co = company_sb.options[company_sb.selectedIndex].value;


		// debug
		// 		var debug_s = 'Location: ' + lo + ' - Company: ' + co;
		//		this.document.title = debug_s;
		//var current_cn = lo + ' ' + co + ' ' + fn;

		var lo_b, co_b;
		var result = contact_tbl.getElementsByTagName("*");
 	  for (var i = 0, j = result.length; i < j; i++) {
			
      if (result[i].tagName.toLowerCase() == 'tr') {
				result[i].className.indexOf(lo) != -1 ? lo_b = true : lo_b = false;
				result[i].className.indexOf(co) != -1 ? co_b = true : co_b = false;
				// show all by default
        display = true;

        // Location
				if (lo != 'SEL' && !lo_b ) display = false;
        // Company
				if (co != 'SEL' && !co_b ) display = false;

				
  		  (display) ? result[i].style.display = 'block' : result[i].style.display = 'none';
			}
    }
		
  }
}

function getElementsByClassName(classname, node) {
	if (!node) node = document.getElementsByTagName("body")[0];
 	var a = [];
 	var re = new RegExp('\\b' + classname + '\\b');
 	var els = node.getElementsByTagName("*");
 	for (var i=0, j=els.length; i < j; i++) {
    if (re.test(els[i].className))a.push(els[i]);
 	}
 	return a;
}

var previousClassValue;
function showDivision(division) {
  if (document.getElementById) {
    var element = document.getElementById('MENU_SERVICES');
		if (!element.className) {
      element.className = 'SHOW_DIVISION_' + division;
		} else {
			previousClassValue = element.className;
			element.className = element.className + ' SHOW_DIVISION_' + division;
		}
  }
}
function hideDivision() {
  if (document.getElementById) {
    var element = document.getElementById('MENU_SERVICES');
		if (element.className) {
      element.className = previousClassValue;
		}
  }
}
function resetDivision(division) { 
  if (document.getElementById) {
    var element = document.getElementById('MENU_SERVICES');
		if (element.className) {
      element.className = 'MENU_SERVICES';
		} 
  }
}

function showImage(img) {
	
	if (document.getElementById) {
      var element = document.getElementById('STAGE');
			element.src = img;
  } else {
		//alert(img);
	}  
}

/**
 * Adobe Flash Player 8
 * 
 * @param string element 
 * @param string id 
 * @param string class 
 * @param string src 
 * @param string width 
 * @param string height 
 * @param string bgcolor
 * @return boolean returns TRUE on success or FALSE on failure 
 */
function swf(_element, _id, _class, _src, _width, _height, _bgcolor) {
  if (hasFlashPlayer8()) {
    if (document.getElementById) {
      var element = document.getElementById(_element);
    }

    if (element) { 
      var xhtml = ''; 
      if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { 
        xhtml += '<embed';
        xhtml += ' id="' + _id + '"';
        xhtml += ' class="' + _class + '"';
        xhtml += ' src="' + _src + '"';
        xhtml += ' type="application/x-shockwave-flash"';
        xhtml += ' width="' + _width + '"';
        xhtml += ' height="' + _height + '"';
        xhtml += ' bgcolor="' + _bgcolor + '"';
        xhtml += ' wmode="transparent"';
        xhtml += ' allowScriptAccess="sameDomain"';
        xhtml += '></embed>';
      } else { 
        xhtml += '<object';
        xhtml += ' id="' + _id + '"';
        xhtml += ' class="' + _class + '"';
        xhtml += ' src="' + _src + '"';
        xhtml += ' type="application/x-shockwave-flash"';
        xhtml += ' width="' + _width + '"';
        xhtml += ' height="' + _height + '"';
        xhtml += '>';
        xhtml += '<param name="movie" value="' + _src + '" />';
        xhtml += '<param name="allowScriptAccess" value="sameDomain" />';
        xhtml += '<param name="bgcolor" value="' + _bgcolor + '" />';
        xhtml += '<param name="wmode" value="transparent" />';
        xhtml += '</object>';
	  }
      element.innerHTML = xhtml;
      return true;
    }
  }
  return false; 

}

/**
 * hasFlashPlayer8
 * 
 * @return boolean returns TRUE on success or FALSE on failure 
 */
function hasFlashPlayer8() {
  var majorVersion;
  if (typeof(navigator.plugins['Shockwave Flash']) == 'object') {
    var description = navigator.plugins['Shockwave Flash'].description;
    majorVersion = description.substr(16, (description.indexOf('.', 16) - 16));
  } else if (typeof(ActiveXObject) == "function") {
    try {
      if (typeof(new ActiveXObject('ShockwaveFlash.ShockwaveFlash.8')) == 'object') {
        var fp8 = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.8');
        fp8.AllowScriptAccess = 'sameDomain';
        majorVersion = fp8.GetVariable('$version').split(' ')[1].split(',')[0];
      }
    }
    catch(error) {
    }
  } 
  if (parseInt(majorVersion) >= 8) {
    return true;
  } else {
    return false;
  }
}