function getClientWH() {
	var x,y;
	var test1 = document.body.scrollHeight;
	var test2 = document.body.offsetHeight
	if (test1 > test2) // all but Explorer Mac
	{
		x = document.body.scrollWidth;
		y = document.body.scrollHeight;
	}
	else // Explorer Mac;
	     //would also work in Explorer 6 Strict, Mozilla and Safari
	{
		x = document.body.offsetWidth;
		y = document.body.offsetHeight;
	}
	
	return new Array(x, y);
}

function getWindowWH() {
  var x,y;
  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;
  }
 	return new Array(x, y);
}

function getScrollingWH() {
	var x,y;
	if (self.pageYOffset) // all except Explorer
	{	
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{	
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}
 	return new Array(x, y);	
}

function doResizeLayer() {
  var element = document.getElementById('opaqueHideDiv');
  if (element != null && element.style.display == 'block') {
    element.style.width = '100%';
    element.style.height = '100%';
    var arrSize = getClientWH();
    element.style.width = parseInt(arrSize[0]) + 'px';
    element.style.height = parseInt(arrSize[1]) + 'px';
   }             
}

function checkHideDiv() {
  var arrSize = getClientWH();
  var arrSize1 = getWindowWH();
  var element = document.getElementById('opaqueHideDiv');
  if (element != null) {
    var w = Math.max(arrSize[0], arrSize1[0]);
    var h = Math.max(arrSize[1], arrSize1[1]);
    element.style.width = w + 'px';
    element.style.height = h + 'px';            
  }  
}

function setScreenCenter(divElement) {
  var top = 0;
  var left = 0;
  var w = parseInt(divElement.style.width);
  var h = parseInt(divElement.style.height);
  
  var arrSize = getWindowWH();  
  var arrScrolling = getScrollingWH();
  
  if (arrSize[0] > w) {
    left = Math.floor((arrSize[0] - w) / 2) + arrScrolling[0];
  }
  if (arrSize[1] > h) {
    top = Math.floor((arrSize[1] - h) / 2) + arrScrolling[1];
  }

  divElement.style.left = (left-2) + 'px';
  divElement.style.top = top + 'px';  
}

// ******************************************************************
// ******************************************************************
function showReference(link) {
	var arrSize = getClientWH();
	var element = document.getElementById('opaqueHideDiv');
	if (element != null) {
		element.style.width = parseInt(arrSize[0]) + 'px';
		element.style.height = parseInt(arrSize[1]) + 'px';    
		element.style.display = 'block';     
	}

	var referenceDiv = document.getElementById('referenceDiv');
	if (referenceDiv != null) {
		setScreenCenter(referenceDiv);  
		referenceDiv.style.display = 'block';
	}  
		
	var referenceIFrame = document.getElementById('referenceIFrame');
	if (referenceIFrame != null) {
	  link = '/index.php/layout/set/reference/' + link;
	  top['referenceIFrame'].location.href = link;
	}
}

function closeReferenceDiv() {
	var element = document.getElementById('opaqueHideDiv');
	if (element != null) {
		element.style.display = 'none';     
	}

	var referenceDiv = document.getElementById('referenceDiv');
	if (referenceDiv != null) {
		referenceDiv.style.display = 'none';
	}  
}

function toggleJob(linkObj, divName) {
	if (linkObj.className == 'inactive') {
		linkObj.className = 'active';
	}
	else {
		linkObj.className = 'inactive';
	}
	
	var e = document.getElementById('jobdiv_' + divName);
	var p = document.getElementById('jobprint_' + divName);
	if (e != null) {
		if (e.style.display == 'none') {
			e.style.display = 'block';
			p.style.display = 'block';
		}
		else {
			e.style.display = 'none';
			p.style.display = 'none';
		}
		return false;
	}
	else {
		return true;
	}
}

function showSearchDiv() {
	var e = document.getElementById('search');
	if (e != null) {
		e.style.display = 'block';
	}
}

function hideSearchDiv() {
	var e = document.getElementById('search');
	if (e != null) {
		e.style.display = 'none';
	}
}

function setReferenceTitle(prefix, title) {
	var titleDiv = top.document.getElementById('iframetitle');
	if (titleDiv != null) {
		if (title != '' && title != null) {
			titleDiv.innerHTML = prefix + ' / ' + title;
		}
	}
}
