function checkAll(thisName, form){
	var thisObj = document.getElementById(thisName);
	for (var i = 0; i < form.elements.length; i++){
		var e = form.elements[i];
		if (e.name != thisName && e.type == "checkbox"){
			e.checked = thisObj.checked;
		}
	}
}

function checkCount(chkAllName, form) {
	var chkCnt = 0;
	var num = form.elements.length;

	for (var i=0; i<num; i++) {
		var e = form.elements[i];
		if (e.name != chkAllName && e.type == "checkbox" && e.checked)
  			chkCnt++;
	}
	return chkCnt;
}

function submitForm(chkAllName, form){
	var msg;
	
	if (!checkCount(chkAllName, form)){
		msg = "You have never selected any rows.";
		alert(msg);
	}else{
		msg = "You will execute an irrecoverable operation on these selected rows. Are you sure?";
		if (confirm(msg)){
			return true;
		}
	}
	return false;
}

function checkRadioSelected(form) {
	var num = form.elements.length;

	for (var i=0; i<num; i++) {
		var e = form.elements[i];
		if (e.type == "radio" && e.checked)
  			return true;
	}
	msg = "You have never selected an option.";
	alert(msg);
	return false;
}

function checkSelectObj(strDivObj) {
	var divObj = document.getElementById(strDivObj);
	var form = document.forms;
	var formNum = form.length;
	
	for (var j=0; j<formNum; j++){
		var elementNum = form[j].elements.length;
		
		for (var i=0; i<elementNum; i++) {
			var e = form[j].elements[i];
			// if display covering layer, hide all select elements
			if ((e.type == "select-one" || e.type == "select-multiple") && divObj.style.visibility != "hidden")
				e.style.visibility = "hidden";
			// or, if hide the covering layer, display those select elements again.  
			else if ((e.type == "select-one" || e.type == "select-multiple") && divObj.style.visibility == "hidden")
				e.style.visibility = "visible";
		}
	}

	var frame = window.frames;
	var frameNum = frame.length;
	for (var k=0; k<frameNum; k++){
		var form = frame[k].document.forms;
		var formNum = form.length;
	
		for (var j=0; j<formNum; j++){
			var elementNum = form[j].elements.length;
		
			for (var i=0; i<elementNum; i++) {
				var e = form[j].elements[i];
				// if display covering layer, hide all select elements
				if ((e.type == "select-one" || e.type == "select-multiple") && divObj.style.visibility != "hidden")
					e.style.visibility = "hidden";
				// or, if hide the covering layer, display those select elements again.  
				else if ((e.type == "select-one" || e.type == "select-multiple") && divObj.style.visibility == "hidden")
					e.style.visibility = "visible";
			}
		}
	}
}

function changeBgColor(obj){
	var rowObj = document.getElementById("tbl").rows
	var rowNum = rowObj.length;
	
	for (var i=0; i<rowNum; i++){
		rowObj[i].bgColor="#B9CA85";
	}
	obj.bgColor="#E7ECD2";
}

function changeBgColor1(obj, rowNum){
	for (var i=0; i<rowNum; i++){
		var rowObj = document.getElementById("rowbody" + i).bgColor="#B9CA85";
	}
	obj.bgColor="#E7ECD2";
}

function hilight(obj){
	if(obj.bgColor.toUpperCase() == "#B9CA85"){
		obj.bgColor = "#D8E1B9";
	}
	else if(obj.bgColor.toUpperCase() == "#D8E1B9"){
		obj.bgColor = "#B9CA85";	
	}
}

function resizeWindow(){
	var h = document.getElementById('bottomDiv').offsetTop;
	top.document.getElementById("mainFrame").height = h + 30;
}

function loading(){
	var subObj = document.getElementById("loading");
	subObj.style.display = "block";
	subObj.style.left = (document.body.clientWidth - subObj.offsetWidth) / 2 + "px";
	subObj.style.top = 200 + parent.document.documentElement.scrollTop + "px";

	document.getElementById("loadingBg").style.display = "block";
	checkSelectObj("loadingBg");

	if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.appName == "Netscape"){
		document.getElementById("loadingBg").style.width = document.body.offsetWidth + "px";
		document.getElementById("loadingBg").style.height = document.body.offsetHeight + "px";
	}
	else{
		document.getElementById("loadingBg").style.width = document.body.offsetWidth - 20 + "px";
		document.getElementById("loadingBg").style.height = document.body.offsetHeight - 20 + "px";
	}
}

function fireOnSubmit(theForm){
	if ( theForm.fireEvent ){ // IE 5.5(WIN)
		return theForm.fireEvent("onsubmit");
	}
	else{ // Mozilla, Safari...
		var evt = document.createEvent("HTMLEvents");
		evt.initEvent("submit",true,true);
		return theForm.dispatchEvent( evt );
	}
}

/////////////////////////////////////////////////////////////////////////////
var rowArr = new Array();
var sortedColArr = new Array();
var basePosId = "basePos";
var order = "asc";
if (document.images){
	var uArrow = new Image(7,4); 
	uArrow.src = "/images/arrow_black_up.gif";
	var dArrow = new Image(7,4); 
	dArrow.src = "/images/arrow_black_down.gif";
	var uArrowImg = "<IMG src=\"" + uArrow.src + "\">";
	var dArrowImg = "<IMG src=\"" + dArrow.src + "\">";
}
	
function linkSort(Array1, Array2){   
	var Array3 = new Array();
	for (var i = 0; i < Array1.length; i++){   
		Array3[i] = new Array(Array1[i],Array2[i]);
	}
	
	if (order == "asc"){ 
		Array3 = Array3.sort();
		order = "desc";
	}
	else{
		Array3 = Array3.sort().reverse();
		order = "asc";
	}
        
	for (var i = 0; i < Array1.length; i++){   
		Array1[i] = Array3[i][0];
		Array2[i] = Array3[i][1];
	} 
}   
    
function colSort(colName, rowNum, rowHeight){
	if (rowNum != ""){
		document.getElementById("colTitle").innerHTML = document.getElementById("colTitle").innerHTML.replace(/<IMG[^>]*>/gi, "");
				
		if (order == "asc"){ 
			document.getElementById(colName).innerHTML = document.getElementById(colName).innerHTML + uArrowImg;
		}
		else if (order == "desc"){
			document.getElementById(colName).innerHTML = document.getElementById(colName).innerHTML + dArrowImg;
		}
	
		for (var i = 0; i < rowNum; i++){	
			rowArr[i] = "row" + i;
			if (document.all){
				sortedColArr[i] = document.getElementById(colName + i).innerText.replace(/[\$\s,]/gi, "");
			} else{
				sortedColArr[i] = document.getElementById(colName + i).textContent.replace(/[\$\s,]/gi, "");
			}
			
			if (isFinite(sortedColArr[i])){
				sortedColArr[i] = "00000000" + sortedColArr[i];
				var startPos = sortedColArr[i].length - 8;
				sortedColArr[i] = sortedColArr[i].substr(startPos);
			}
		}
	
		linkSort(sortedColArr, rowArr);
		listRows(rowNum, rowHeight);
	}
}
	
function listRows(rowNum, rowHeight){
	var baseY = document.getElementById(basePosId).offsetTop;
	for (var i = 0; i < rowNum; i++){
		document.getElementById(rowArr[i]).style.position = "absolute";
		document.getElementById(rowArr[i]).style.top = baseY + i * rowHeight;
	}
	document.getElementById("content").style.height = i * rowHeight;
}

function sortNumber(a,b){
	return a - b;
}

/////////////////////////////////////////////////////////////////////
function positionLayer(event, objName) {
	var curObj = document.getElementById(objName);
	
	var mousex = event.clientX + document.documentElement.scrollLeft;
	var mousey = event.clientY + document.documentElement.scrollTop;
	
	var curObjX = mousex + 1;
	var curObjY = mousey + 1;
	
	if ((event.clientX + curObj.offsetWidth) > document.documentElement.clientWidth)
		curObjX = mousex - curObj.offsetWidth - 1;
		
	if ((event.clientY + curObj.offsetHeight) > document.documentElement.clientHeight)
		curObjY = mousey - curObj.offsetHeight - 1;

	curObj.style.left = curObjX + "px";
	curObj.style.top = curObjY + "px";
}

function showLayer(event, objName, imgName) {
	var curObj = document.getElementById(objName);
	var imgObj = document.getElementById(imgName);
	
	curObj.style.display = "block";
	curObj.innerHTML = imgObj.innerHTML;
	
	positionLayer(event, objName);
}

function hideLayer(objName) {
	var curObj = document.getElementById(objName);
	
	curObj.style.display = "none";
	
//	positionLayer(objName);
}

////////////////////////////////////////////////////////////////////

/***********************************************
* Drop Down/ Overlapping Content- ? Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function getposOffset(overlay, offsettype){
	var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
	var parentEl=overlay.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function overlay(curobj, subobjstr, opt_position){
	if (document.getElementById){
		var subobj=document.getElementById(subobjstr)
		subobj.style.display=(subobj.style.display!="block")? "block" : "none"
		var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
		var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
		if (xpos < 0)
			xpos = 0;
		subobj.style.left=xpos+"px"
		subobj.style.top=ypos+"px"

		return false
	}
	else
		return true
}

function overlayclose(subobj){
	document.getElementById(subobj).style.display="none"
}


