function toggle(div_id) {
	var el = document.getElementById(div_id);
	if ( el.style.display == 'none' ) {	el.style.display = 'block';}
	else {el.style.display = 'none';}
}
function toggle_element(el) {
	if ( el.style.display == 'none' ) {	el.style.display = 'block';}
	else {el.style.display = 'none';}
}
// select element that is not on popup and hidden
var dl_hidden = null;
function manage_select(popUpDivVar) {
	// select element on page
	var dlAll = document.getElementsByTagName("select");
	// select element on popup
	var dlPopup = document.getElementById(popUpDivVar).getElementsByTagName("select");
	
	// no select element - or - all select element is on popup 
	if (dlAll.length == 0 || dlAll.length == dlPopup.length) return;
	
	// select element that is not on popup
	var dl = [];
	for (var i=0; i<dlAll.length; i++) {
		var flag = true;
		for (var j=0; j<dlPopup.length; j++) {
			if (dlPopup[j] == dlAll[i]) {
				flag = false;
				break;
			}
		}
		if (flag) dl[dl.length] = dlAll[i];
	}
	
	// on open popup
	if (dl_hidden == null) {
		dl_hidden = [];
		for (var i=0; i<dl.length; i++) {
			if (dl[i].style.display == "none") {
				dl_hidden[dl_hidden.length] = dl[i];
			}
			else {
				toggle_element(dl[i]);
			}
		}
	}
	// on close popup
	else {
		for (var i=0; i<dl.length; i++) {
			var flag = true;
			for (var j=0; j<dl_hidden.length; j++) {
				if (dl_hidden[j] == dl[i]) {
					flag = false;
					break;
				}
			}
			if (flag) toggle_element(dl[i]);
		}
		dl_hidden = null;
	}
}
function setSizeBlanket() {
	var blanket = document.getElementById('blanket');
	blanket.style.height = document.body.scrollHeight;
	blanket.style.width = document.body.scrollWidth;
}
function popup(windowname) {
	setSizeBlanket();
	toggle('blanket');
	toggle(windowname);
	centerOnWindow(windowname);
	if (navigator.appVersion.indexOf('MSIE 6.') != -1) {
		manage_select(windowname);
	}
}
function centerOnWindow(elemID) {
	var obj = document.getElementById(elemID);
	// window scroll factors
	var scrollX = 0, scrollY = 0;
	if (document.body && typeof document.body.scrollTop != "undefined") {
		scrollX += document.body.scrollLeft;
		scrollY += document.body.scrollTop;
		if (document.body.parentNode &&
			typeof document.body.parentNode.scrollTop != "undefined" &&
		   (document.body.scrollTop != document.body.parentNode.scrollTop)) {
		   scrollX += document.body.parentNode.scrollLeft;
		   scrollY += document.body.parentNode.scrollTop;
		}
	} else if (typeof window.pageXOffset != "undefined") {
		scrollX += window.pageXOffset;
		scrollY += window.pageYOffset;
	}
	var x = Math.round((getInsideWindowWidth()/2) -(getObjectWidth(obj)/2)) + scrollX;
	var y = Math.round((getInsideWindowHeight()/2) -(getObjectHeight(obj)/2)) + scrollY;
	obj.style.left = x;
	obj.style.top = y;
}
// Retrieve the rendered width of an element
function getObjectWidth(elem)  {
    var result = 0;
    if (elem.offsetWidth) {
        result = elem.offsetWidth;
    } else if (elem.clip && elem.clip.width) {
        result = elem.clip.width;
    } else if (elem.style && elem.style.pixelWidth) {
        result = elem.style.pixelWidth;
    }
    return parseInt(result);
}
// Return the available content width space in browser window
function getInsideWindowWidth() {
	var isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
    if (window.innerWidth) {
        return window.innerWidth;
    } else if (isIE6CSS) {
        // measure the html element's clientWidth
        return document.body.parentElement.clientWidth
    } else if (document.body && document.body.clientWidth) {
        return document.body.clientWidth;
    }
    return 0;
}
// Retrieve the rendered height of an element
function getObjectHeight(elem)  {
    var result = 0;
    if (elem.offsetHeight) {
        result = elem.offsetHeight;
    } else if (elem.clip && elem.clip.height) {
        result = elem.clip.height;
    } else if (elem.style && elem.style.pixelHeight) {
        result = elem.style.pixelHeight;
    }
    return parseInt(result);
}
// Return the available content height space in browser window
function getInsideWindowHeight() {
	var isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
    if (window.innerHeight) {
        return window.innerHeight;
    } else if (isIE6CSS) {
        // measure the html element's clientHeight
        return document.body.parentElement.clientHeight
    } else if (document.body && document.body.clientHeight) {
        return document.body.clientHeight;
    }
    return 0;
}
function manage_png() {
	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	if ((version >= 5.5) && (document.body.filters)) 
	{
	   for(var i=0; i<document.images.length; i++)
	   {
		  var img = document.images[i]
		  var imgName = img.src.toUpperCase()
		  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
		  {
			 var imgID = (img.id) ? "id='" + img.id + "' " : ""
			 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
			 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
			 var imgStyle = "display:inline-block;" + img.style.cssText 
			 if (img.align == "left") imgStyle = "float:left;" + imgStyle
			 if (img.align == "right") imgStyle = "float:right;" + imgStyle
			 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
			 var strNewHTML = "<span " + imgID + imgClass + imgTitle
			 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
			 img.outerHTML = strNewHTML
			 i = i-1
		  }
	   }
	}
}
