function getElementsByClassName(classname) {
  var rl = new Array();
  var re = new RegExp('(^| )'+classname+'( |$)');
  var ael = document.getElementsByTagName('*');
  var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
  if (document.all && !op) ael = document.all;
  for (i=0, j=0; i<ael.length; i++) {
    if (re.test(ael[i].className)) {
      rl[j]=ael[i];
      j++;
    }
  }
  return rl;
}

function attachExternals() {
  as = document.getElementsByTagName('a');
  for (var i=0; i<as.length; i++) {
    if (as[i].className.indexOf('external') >= 0) {
      as[i].target = '_blank';
    }
  }
}



fnCustomAutoloadFormatter = function(oResultItem, sQuery) { 
	var sKey = oResultItem[0]; 
	var nQuantity = oResultItem[1]; 
	var sKeyQuery = sKey.substr(0, sQuery.length); 
	var sKeyRemainder = sKey.substr(sQuery.length); 
	var aMarkup = ["<div class='sample-result'><div class='sample-quantity'>", 
		nQuantity, 
		"</div><span class='sample-query'>", 
		sKeyQuery, 
		"</span>", 
		sKeyRemainder, 
		"</div>"]; 
	return (aMarkup.join("")); 
} 




function setSelectedTab() {
  tabpanels = getElementsByClassName('tabpanel');
  for (var j=0; j<tabpanels.length; j++) {
    tabpanels[j].style.display = 'none';
  }
  tabs = getElementsByClassName('tab');
  for (var j=0; j<tabpanels.length; j++) {
    if (tabs[j].className.indexOf('selected') != -1) {
      document.getElementById(tabs[j].childNodes[0].href.split('#')[1]).style.display = 'block';
    }
  }
}
function attachTabs() {
  tabsets = getElementsByClassName('tabset');
  for (var i=0; i<tabsets.length; i++) {
    setSelectedTab();
    tabs = getElementsByClassName('tab');
    for (var j=0; j<tabs.length; j++) {
      tabs[j].childNodes[0].onclick = function() {
        temptabs = getElementsByClassName('tab');
        for (var k=0; k<temptabs.length; k++) {
          temptabs[k].className = temptabs[k].className.replace(' selected','');
        }
        this.parentNode.className += ' selected'
        setSelectedTab();
        return false;
      };
    }
  }
}

function attachBrowseTags() {
  var browsetagsets = getElementsByClassName('browsetagset');
  for (var i=0; i<browsetagsets.length; i++) {
    browsetagsets[i].style.display = 'none';
    var toggle = document.createElement('a');
    toggle.className = 'expand';
    toggle.onclick = function() {
      if (this.className == 'expand') {
        this.parentNode.getElementsByTagName('ul')[0].style.display = 'block'
        this.className = 'contract';
      } else {
        this.parentNode.getElementsByTagName('ul')[0].style.display = 'none'
        this.className = 'expand';
      }
      return false;
    };
    browsetagsets[i].parentNode.insertBefore(toggle,browsetagsets[i].parentNode.firstChild);
    var allinputs = browsetagsets[i].parentNode.getElementsByTagName('input');
    for (var j=0; j<allinputs.length; j++) {
      allinputs[j].onclick = function() {
        var childinputs = this.parentNode.getElementsByTagName('input');
        if (this.checked) {
          for (var k=0; k<childinputs.length; k++) {
            childinputs[k].checked = true;
          }
          var childlis = this.parentNode.parentNode.getElementsByTagName('li');
          var ok = 1;
          for (var k=0; k<childlis.length; k++) {
            if (this.parentNode.parentNode == childlis[k].parentNode) {
              if (!childlis[k].getElementsByTagName('input')[0].checked) {
                ok = 0;
              }
            }
          }
          if (ok) {
            this.parentNode.parentNode.parentNode.getElementsByTagName('input')[0].checked = true;
          }
        } else {
          for (var k=0; k<childinputs.length; k++) {
            childinputs[k].checked = false;
          }
          var parentli = this.parentNode.parentNode.parentNode;
          while (parentli.tagName == 'LI') {
            parentli.getElementsByTagName('input')[0].checked = false;
            parentli = parentli.parentNode.parentNode;
          }
        }
      };
    }
  }
}

function attachPrintLink() {
  if (document.getElementById('info')) {
    printtext = document.createTextNode('Print Article');
    printlink = document.createElement('a');
    printlink.href = '#';
    printlink.onclick = function() {
      window.print();
      return false;
    };
    printlink.appendChild(printtext);
    printitem = document.createElement('li');
    printitem.className = 'print';
    printitem.appendChild(printlink);
    document.getElementById('info').appendChild(printitem);
  }
}


function attachLangSelect() {
	if (document.getElementById('top_country')) {
		el2 = document.getElementById('top_country');
		
		el2.onmouseover = function(){
			if (document.getElementById('country_select_list')) {
				el = document.getElementById('country_select_list');
				el.style.display = 'block';
				
				el2.onmouseout = function(){
					el.style.display = 'none';
				}
			}			
		}
	}
	
	if (document.getElementById('language_select')) {
		el3 = document.getElementById('language_select');
		
		el3.onmouseover = function(){
			if (document.getElementById('language_select_list')) {
				el4 = document.getElementById('language_select_list');
				el4.style.display = 'block';
				
				el3.onmouseout = function(){
					el4.style.display = 'none';
				}
			}			
		}
	}
	
	
	
	
}


function init() {
  attachExternals();
  attachTabs();
  attachBrowseTags();
  attachPrintLink();
  attachLangSelect();
}

function hidediv(id,calledby)
{
  if (document.getElementById)
  {
  	obj = document.getElementById(id);
  }
  else if (document.all)
  {
	  obj = document.all[id];
  }
  else if (document.layers)
  {
    obj = document.layers[id];
  }
  
  if(obj.style.display == "block" || obj.style.display == "")
  {
    obj.style.display = "none";
    calledby.innerHTML = "(Show)";
  }
  else
  {
    obj.style.display = "block";
    calledby.innerHTML = "(Hide)";
  }
  
  return false;
}

function submitform(id)
{
	theform = document.getElementById(id);
	theform.submit();
}
