/* other functions */

var objSaveClass;

function doSelectControl(panelID)	{
	var element = document.getElementById(panelID);
	var currentPanelField = getObj('current_panel');
	var currentPanelID = currentPanelField.value;
	//alert (currentPanelID + '/' + panelID);
	if (currentPanelID != panelID)	{
		var currentPanel = getObj(currentPanelID);
		currentPanel.className = '';
		objSaveClass = element.className;
		element.className = 'NavSel';
		var currentPanelTarget = getObj('_' + currentPanelID);
		if (currentPanelTarget) currentPanelTarget.style.display = 'none';
		//if (currentPanelTarget) currentPanelTarget.style.visibility = 'hidden';
		var targetObj = getObj('_' + panelID);
		if (targetObj) targetObj.style.display = 'block';
		//if (targetObj) targetObj.style.visibility = 'visible';
		currentPanelField.value = panelID;
	}
}

function doSel(objID)	{
	var tObj = getObj(objID);
	objSaveClass = tObj.className;
    tObj.className = 'NavSel';
}

function doDesel(objID)	{
	var tObj = getObj(objID);
    tObj.className = objSaveClass;
}

function doSelectRows(isChecked)	{
	var objCount = getObj('row_count');
	for (var i=1; i<=objCount.value; i++)	{
		var objRow = getObj('r_no' + i);
		objRow.checked = isChecked;
	}
}

function printPage() {
	window.print(); 
}

function doSelectedValue(valueField, selectField)	{
	var selObj = getObj(selectField);
	var valObj = getObj(valueField);
	valObj.value = selObj.options[selObj.selectedIndex].value;
}

function doShow(thisObj, elID, fieldID)	{
	var elObj = getObj(elID);
	elObj.style.visibility = 'visible';
	if (thisObj.checked === true) doFocus(fieldID);
}

function doHide(elID)	{
	var elObj = getObj(elID);
	elObj.style.visibility = 'hidden';
}

function doToggle(thisObj, elID, fieldID)	{
	var elObj = getObj(elID);
	if (thisObj.checked === true)	{
		elObj.style.visibility = 'visible';
		doFocus(fieldID);
	} else {
		elObj.style.visibility = 'hidden';
	}
}

function doFocus(fieldID)	{
	var fieldObj = getObj(fieldID);
	fieldObj.focus();
}

function doShowPanel(newPanelID)	{
	var currentPanelIDObj = getObj('current_panel');
	var currentPanelID = currentPanelIDObj.value;
	var currentTabObj = getObj(currentPanelID);
	var currentPanelObj = getObj('_' + currentPanelID);
	var newTabObj = getObj(newPanelID);
	var newPanelObj = getObj('_' + newPanelID);
	currentTabObj.className = '';
	newTabObj.className = 'ActSel';
	//currentPanelObj.style.display = 'none';
	//newPanelObj.style.display = 'block';
	//currentPanelObj.style.visibility = 'hidden';
	//newPanelObj.style.visibility = 'visible';
	currentPanelObj.style.width = '0';
	newPanelObj.style.width = '638px';
	currentPanelIDObj.value = newPanelID;
}

function doOpenLecture(winPath) {
	var winHeight = 560;
	var winWidth = 625;
	var openWindow = window.open(winPath, 'IBMSOnlineLecture', 'location=0,toolbar=0,history=0,height=' + winHeight + ',width=' + winWidth + ',resizable=1,scrollbars=0');
	openWindow.focus();
}

var openWindowType;

function doOpenWindow(windowType) {
	openWindowType = windowType;
	var objPopup = document.getElementById('popUp' + windowType);
	var objScrim = document.getElementById('popUpScrim');
	objPopup.style.display = 'block';
	objScrim.style.display = 'block';
	objScrim.onclick = doCloseOpenWindow;
}

function doCloseOpenWindow(windowType) {
	doCloseWindow(openWindowType);
	openWindowType = null;
}

function doCloseWindow(windowType) {
	var objPopup = document.getElementById('popUp' + windowType);
	var objScrim = document.getElementById('popUpScrim');
	objPopup.style.display = 'none';
	objScrim.style.display = 'none';
}

function addBookmark(pageTitle, urlAddress)	{
	if (window.sidebar)	{
		window.sidebar.addPanel(pageTitle, urlAddress, '');
	} else if (window.external)	{
		window.external.AddFavorite(urlAddress, pageTitle);
	} else if (window.opera && window.print) {
		return true;
	}
}

function addMozillaBookmark(pageTitle, urlAddress)	{
	window.sidebar.addPanel(pageTitle, urlAddress, '');
}

function addIEBookmark(pageTitle, urlAddress)	{
	window.external.AddFavorite(urlAddress, pageTitle);
}

function addOperaBookmark()	{
	return true;
}

function doSetParam(urlParam, paramValue) {
    var hrefArray = document.location.href.split('&');
    var isReplaced = false;
    for (var i in hrefArray)	{
    	if (hrefArray[i].substr(0, urlParam.length + 1) == urlParam + '=')	{
    		hrefArray[i] = urlParam + '=' + paramValue;
    		isReplaced = true;
    		break;
    	}
    }
    if (isReplaced)	{
    	document.location.href = hrefArray.join('&');
    } else {
    	document.location.href += '&' + urlParam + '=' + paramValue;
    }
}

function doRemoveParam(urlParam) {
    var hrefArray = document.location.href.split('&');
    for (var i in hrefArray)	{
    	if (hrefArray[i].substr(0, urlParam.length + 1) == urlParam + '=')	{
    		hrefArray.splice (i, 1);
    		break;
    	}
    }
    document.location.href = hrefArray.join('&');
}

function doSetField(fieldID, fieldName, fieldKey) {
    //alert (fieldID + ',' + fieldName + ',' + fieldKey);
	var keyObj = getObj(fieldKey);
	var fieldObj = getObj(fieldID);
	fieldObj.innerHTML = (keyObj) ? keyObj.value : '';
}

function doClearSelector(boxMax) {
    for (var i=0;i<boxMax;i++)	{
    	var theBox = getObj('PBox' + i);
		theBox.checked = false;
    }
}

function doClearHint(inputObj)	{
	var classArray = inputObj.className.split(' ');
    for (var i in classArray)	{
    	if (classArray[i] == 'FormatHint')	{
    		classArray.splice (i, 1);
    		break;
    	}
    }
    inputObj.value = '';
    inputObj.className = classArray.join(' ');
}

function doTabIf(inputObj, nextID)	{
	if (inputObj.value.length > 1)	{
		var nextObj = document.getElementById(nextID);
		if (nextObj) nextObj.focus();
	}
}

function doChangeYearCode(thisYear) {
	var CodeObj = document.getElementById('Code');
	if (!CodeObj) return false;
	var yearObj = document.getElementById('select_year');
	yearObj.value = thisYear.value;
	doChangeCatCode();
}

function doChangeCatCode() {
	var CodeObj = document.getElementById('Code');
	if (!CodeObj) return false;
	var catObj = document.getElementById('select_cat');
	var yearObj = document.getElementById('select_year');
	var catCode = catObj.options[catObj.selectedIndex].value;
	var yearCode = yearObj.value;
	var seqObj = document.getElementById('cat_seq' + catCode + yearCode);
	var seqCode = seqObj.value;
	var activityCode = (catCode != '' && yearCode != '') ? catCode + seqCode + 'W' + yearCode : '';
	CodeObj.innerHTML = activityCode;
}

function doRestoreChecked(initValues)	{
	var initValueArray = document.getElementById(initValues);
    for (var i in initValueArray)	{
    	if (classArray[i] == 'FormatHint')	{
    		classArray.splice (i, 1);
    		break;
    	}
    }
}

function doAddHTML(elID, addCode) {
	var CodeObj = document.getElementById(elID);
	CodeObj.innerHTML = addCode;
}

function doClearCheckboxes()	{
	var boxName = arguments[0];
	for (var i=1; i<arguments.length; i++)	{
		var thisBox = document.getElementById(boxName + arguments[i]);
		if (thisBox) thisBox.checked = false;
	}
}

function doPaymentSubmit()	{
	var formObj = getObj('PaypalForm');
	formObj.submit();
}

function getObj(objID) {
	var theObj = document.getElementById(objID);
	if (!theObj) return false;
	return theObj;
}
