function getPageScroll() {
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {
		yScroll = document.body.scrollTop;
	}
	arrayPageScroll = new Array('',yScroll);
	return arrayPageScroll;
}

function getPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight) {
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else {
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) {
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	if(yScroll < windowHeight) {
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	if(xScroll < windowWidth) {	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
  arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
  return arrayPageSize;
}

function hideSelects() {
  objSelects = document.getElementsByTagName("select");
  for (var i = 0; i != objSelects.length; i++) {
    objSelects[i].style.visibility = "hidden";
  }
}

function showSelects() {
  objSelects = document.getElementsByTagName("select");
    for (var i = 0; i != objSelects.length; i++) {
    objSelects[i].style.visibility = "visible";
  }
}

function showFlash() {
  var flashObjects = document.getElementsByTagName("object");
  for (var i = 0; i < flashObjects.length; i++) {
    flashObjects[i].style.visibility = "visible";
  }

  var flashEmbeds = document.getElementsByTagName("embed");
  for (var j = 0; j < flashEmbeds.length; j++) {
    flashEmbeds[j].style.visibility = "visible";
  }
}

function hideFlash() {
  var flashObjects = document.getElementsByTagName("object");
  for (var i = 0; i < flashObjects.length; i++) {
    flashObjects[i].style.visibility = "hidden";
  }

  var flashEmbeds = document.getElementsByTagName("embed");
  for (var j = 0; j < flashEmbeds.length; j++) {
    flashEmbeds[j].style.visibility = "hidden";
  }
}

function showModalWindow(nWidth, nHeight, strContent) {
  if (!document.getElementById('modal-overlay')) 
    initModalWindow();
	var objBackground = document.getElementById('modal-overlay');
	var objModalWindow = document.getElementById('modalwindow');
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

  objBackground.style.height = (arrayPageSize[1] + 'px');
	objBackground.style.display = 'block';

	var modalwindowTop = arrayPageScroll[1] + ((arrayPageSize[3] - 35 - nHeight) / 2);
  var modalwindowLeft = ((arrayPageSize[0] - 20 - nWidth) / 2);
	
	objModalWindow.style.top = (modalwindowTop < 0) ? "0px" : modalwindowTop + "px";
	objModalWindow.style.left = (modalwindowLeft < 0) ? "0px" : modalwindowLeft + "px";
	hideSelects();
  hideFlash();
  
  objModalWindow.innerHTML = strContent;
  objModalWindow.style.display = 'block';

	return false;
}

function hideModalWindow() {
	objBackground = document.getElementById('modal-overlay');
	objModalWindow = document.getElementById('modalwindow');

	objBackground.style.display = 'none';
	objModalWindow.style.display = 'none';

	showSelects();
  showFlash();
}

function pauseIE(nMilliseconds) {
  if (navigator.appVersion.indexOf("MSIE") != -1) {
    var now = new Date();
    var exitTime = now.getTime() + nMilliseconds;
    while (true) {
      now = new Date();
      if (now.getTime() > exitTime) {
        return;
      }
    }
  }
}

function initModalWindow() {	
	var objBody = document.getElementsByTagName("body").item(0);
	
	var objBackground = document.createElement("div");
	objBackground.setAttribute('id','modal-overlay');
	objBackground.style.display = 'none';
	objBackground.style.position = 'absolute';
	objBackground.style.top = '0';
	objBackground.style.left = '0';
	objBackground.style.zIndex = '90';
 	objBackground.style.width = '100%';
	objBody.insertBefore(objBackground, objBody.firstChild);
	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	var objModalWindow = document.createElement("div");
	objModalWindow.setAttribute('id','modalwindow');
	objModalWindow.style.display = 'none';
	objModalWindow.style.position = 'absolute';
	objModalWindow.style.zIndex = '100';	
	objBody.insertBefore(objModalWindow, objBackground.nextSibling);
}