//
// Common Variables
//
var EMPTY_VALUE;


//
// Common Utility Functions
//

function ibs_closePopupWindow(refreshParent){
	var win = top;
	if (win.opener != null && refreshParent) {
		win.opener.location.reload(true);
	}
	win.close();
}

function ibs_resizeWindow(newWidth, newHeight){
    if (parseInt(navigator.appVersion)>3) {
        if (navigator.appName=="Netscape") {
            top.outerWidth=newWidth;
            top.outerHeight=newHeight;
        }
		else {
		    top.resizeTo(newWidth, newHeight);
		}
    }
}


//
// Find Position and Move Object Position
// http://www.quirksmode.org/js/findpos.html
//
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function moveTo(obj, pos) {
	var ns4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4);
	if (ns4) {
		obj.left = pos[0];
		obj.top = pos[1];
		//if (obj.visibility == 'hidden') {
			obj.visibility = "visible";
		//}
	}
	else {
		obj.style.left = pos[0]+'px';
		obj.style.top = pos[1]+'px';
		//if (obj.style.visibility == 'hidden') {
			obj.style.visibility = "visible";
		//}
	}
}

function moveNextTo(srcObject, targetObject, offsetX, offsetY) {
	var srcObj = document.getElementById(srcObject);
	var targetObj = document.getElementById(targetObject);
	var srcObjPos, targetObjPos;

	if (srcObj != null && targetObj != null) {
		srcObjPos = findPos(srcObj);
		targetObjPos = [srcObjPos[0] + offsetX, srcObjPos[1] + offsetY];
		moveTo(targetObj, targetObjPos);
	}
}

/**
* Specify SELECT box instance and marked selected value
*/
function markSelected(obj, selectedValue) {
	if (obj != null && selectedValue != null) {
		var opts = obj.options;
		if (opts != null && opts.length > 0) {
			for (var i=0; i<opts.length; i++) {
				var opt = opts[i];
				if (opt.value == selectedValue) {
					opt.selected = 1;
					break;
				}
			}
		}
	}
}

/**
* Update Label for specify button
*/
function updateButtonLabel(btnName, newLabel) {
	var btn = document.getElementById(btnName);
	if (btn != null) {
		btn.value=newLabel;
	}
}
function updateButtonStyleClass(btnName, newStyleClass) {
	var btn = document.getElementById(btnName);
	if (btn != null) {
		btn.className=newStyleClass;
	}
}

function checkAll(e, itemName)
{
   var aa = document.getElementsByName(itemName);
   for (var i=0; i<aa.length; i++)
    aa[i].checked = e.checked;
}


function updateImageSource(imgName, filepath) {
	var img = document.getElementById(imgName);
	if (img != null) {
		if (filepath != null && filepath != '') {
			img.src=filepath;
		}
	}
}

