function getElementsByClassName(strClass, strTag, objContElm) {
  strTag = strTag || "*";
  objContElm = objContElm || document;    
  var objColl = objContElm.getElementsByTagName(strTag);
  if (!objColl.length &&  strTag == "*" &&  objContElm.all) objColl = objContElm.all;
  var arr = new Array();                              
  var delim = strClass.indexOf('|') != -1  ? '|' : ' ';   
  var arrClass = strClass.split(delim);    
  for (var i = 0, j = objColl.length; i < j; i++) {                         
    var arrObjClass = objColl[i].className.split(' ');   
    if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
    var c = 0;
    comparisonLoop:
    for (var k = 0, l = arrObjClass.length; k < l; k++) {
      for (var m = 0, n = arrClass.length; m < n; m++) {
        if (arrClass[m] == arrObjClass[k]) c++;
        if ((delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
          arr.push(objColl[i]); 
          break comparisonLoop;
        }
      }
    }
  }
  return arr; 
}

Array.prototype.push = function(value) {this[this.length] = value; };

var ie=document.all;
var ns6=document.getElementById && !document.all;

function updateVerticalScrollbar(){
    if (window.pageYOffset){
      scrollbarY=window.pageYOffset;
    }else if (document.documentElement && document.documentElement.scrollTop){
      scrollbarY=document.documentElement.scrollTop;
    }else if (document.body){
      scrollbarY=document.body.scrollTop;
    }
	return scrollbarY;
  }


function showExplanation (whichCopy,offset,move)
{
	if (offset==undefined) {offset=0}
	if (move==undefined) {move=1}	
	SetClassName(myObjColl,'localInactiveDiv');
	var myWin=document.getElementById(whichCopy);
	myWin.className='localActiveDiv';

	
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	
	var ScrollY=updateVerticalScrollbar();
	
	var myTop = Math.floor(y/2) - 200+ScrollY;	
	var myLeft = 260 + offset;

	if (move)
	{
		myWin.style.left=myLeft+"px";
		myWin.style.top=myTop+"px";	
	}	
}

function SetClassName(myObj,newClassName)
{
	for (var i = 0, j = myObj.length; i < j; i++) {
		myObj[i].className=newClassName;
	}
}