/* Common scripts */
Event.observe(document, 'dom:loaded', function() {
		
	var showWrapper = getUrlParameter("showwrapper");
	if (showWrapper == "false"){
	
		$$(".ofRegNav")[0].hide();
		$$(".ofRegTopicPath")[0].hide();
		$$(".ofxExpand")[0].hide();
		$$(".ofxFooterBottom")[0].hide();
		$("moveBar").hide();
		
		if ($("charttoollink")){$("charttoollink").hide();}
	
	} else {

		if ($$(".ofxNav").length > 0){
			initNav();
			watchMenus();
		}
		
		if ($("moveBar")){
			initFooter();
		}

	}
	
	calcHeights();
	sizeVerticals();
		
	//added for replacing rel='external' with target'='_blank'
    $$('a[rel="external"]').each(function(link) {
        if(link.readAttribute('href') != '' && link.readAttribute('href') != '#') {
            link.writeAttribute('target','_blank');
        }
    });

});

function sizeVerticals(){
	var vertNodes = $$(".ofVertRule");
	for (var i=0;i<vertNodes.length;i++){
		var vertNode = vertNodes[i];
		var container = vertNode.parentNode.parentNode.parentNode;
		var vertRuleHeight = $(container).getStyle("height");
		$(vertNode).setStyle({height:vertRuleHeight});
	}
}

function calcHeights(){
    var divs = $$("div.iw_component");
    for (var i=0; i < divs.length; i++) {

        var hasPercentHeight = false;
        var elts = divs[i].childNodes;

        for (var j=0; !hasPercentHeight && (j<elts.length); j++) {
          if (1 == elts[j].nodeType) {
            var h = elts[j].getAttribute('height') || elts[j].style.height;
			h = h + " ";
            if (-1 != h.indexOf('%')) hasPercentHeight = true;
          }
        }

        if (!hasPercentHeight) {
          var oldStyleHeight = divs[i].style.height;
          var expl = divs[i].offsetHeight;
          divs[i].style.height = 'auto';
          var auto = divs[i].offsetHeight;
          if (expl > auto) divs[i].style.height = oldStyleHeight;
        }
    }
}

function getUrlParameter(name){
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+name+"=([^&#]*)";  
	var regex = new RegExp(regexS);
	var results = regex.exec(window.location.href);
	if (results == null){
		return "";
	}else{
		return results[1];
	}
}

function getParentByClassName(e,strClass) {
  while (e != null) {
   if (e.className == strClass){
    return e;
	}
   e = e.parentNode;
  }
  return null;
}

function getParent2(e,obj) {
  while (e != null) {
   if (e == obj){
    return e;
	}
   e = e.parentNode;
  }
  return null;
}

function src(event){
	return event.target || event.currentTarget || event.srcElement;
}