function Signal_Login(url, targetType) {
	return onChangePage(MakeURL(url) + "?LOGIN()", 2, targetType);
}

function Signal_Logout(url, bPrompt, targetType, params) {
	var result = 1;

	if (bPrompt)
		result = confirm(ErrList["confirm"]);

	if (result) {
	    if (params == null)
		    return onChangePage(MakeURL(url) + "?LOGOUT()", 0, targetType);
		else
		    return onChangePage(MakeURL(url) + "?LOGOUT(" + params + ")", 0, targetType);
	}
	return true;
}

function Signal_OK(url, targetType) {
	return onChangePage(MakeURL(url) + "?OK()", 2, targetType);
}

function Signal_Apply(url, bCheckIsDirty, targetType) {
	if (bCheckIsDirty == 1) {
		if(hasChanged() != 1)
			return true;
	}
	return onChangePage(MakeURL(url) + "?APPLY()", 3, targetType);
}

function Signal_Cancel(url, bPrompt, targetType) {
	var okURL = MakeURL(url) + "?CANCEL(1)";

	if (bPrompt)
		return onChangePage(MakeURL(url) + "?CANCEL(0)", 4, targetType, okURL);
	else
		return onChangePage(MakeURL(url) + "?CANCEL(0)", 0, targetType);
}

function Signal_Close(url, bPrompt, targetType) {
	if (bPrompt) {
		if( !confirm(ErrList["confirmClose"]) )
			return true;	// Dont close window
	}

	switch (targetType)
	{
	case(2): window.top.close(); break;
	case(3): window.parent.close(); break;
	case(4):
		var win = GetWinOpener(window);
		win.close();
		break;
	default: window.close();
	}
	return true;
}

function Signal_Refresh(url, targetType) {
	return onChangePage(MakeURL(url) + "?REFRESH()", 0, targetType);
}

function Signal_Help(url, baseDir) {
	var winName = "help";
	var win = GetWin(winName);
	var _url;
	
	if (baseDir != null)
	    _url = baseDir + "/" + url;
    else
        _url = url;

	if (url.length = 0) {
		alert(ErrList["noHelp"]);
		return true;
	}

	if (win != null) { //Win alread created
		if (!win.closed) {
			win.location = _url;// Just update
			win.focus();
			return true;
		}
	}

	var win = window.open(_url, winName, "toolbar,scrollbars,resizable,width=400,height=500,dependent");
	if (win != null) {
		win.moveTo(50,25);
		win.focus();
	}

	SetWin(winName, win);
	return true;
}

function Signal_SysDataCategory(url, categoryId, nGroup, sdId, confirmPost, targetType) {
	var form = document.forms["theLinksForm"];
	var _url;
	_url = MakeURL(url) + "?SDCATEGORY(" + categoryId + "," + nGroup + "," + sdId + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_SysDataCategory_NavTFrm(url, categoryId, nGroup, sdId, confirmPost, targetType) {
	var form = document.forms["theLinksForm"];
	var _url;
	_url = MakeURL(url) + "?SDCATEGORY_NAVFRM(" + categoryId + "," + nGroup + "," + sdId + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_SysDataKey(url, whichKey, value, confirmPost, targetType) {
	var _url;
	_url = MakeURL(url) + "?SDKEY(" + whichKey + "," + value + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_SysDataKeyNext(url, whichKey, count, confirmPost, targetType) {
	var _url;
	_url = MakeURL(url) + "?SDKEY_NEXT(" + whichKey + "," + count + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_SysDataKeyPrev(url, whichKey, count, confirmPost, targetType) {
	var _url;
	_url = MakeURL(url) + "?SDKEY_PREV(" + whichKey + "," + count + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_SysDataKeyRefresh(url, whichKey, confirmPost, targetType) {
	var _url;
	_url = MakeURL(url) + "?SDKEY_REFRESH(" + whichKey + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_CopySysData(url, sdId, targetType) {
	var _url = "";
	var winName = "sdCopy";
	var win = GetWin(winName);

	if (!Signal_Apply(url, 1, targetType))
		return false;

	if (win == null) {
		// Create whole frameset b/c no win
		_url = MakeURL(url) + "?SDCOPY_CREATE(" + sdId + ")";
	}
	else {//Win alread created
		if (win.closed) {
			// Create whole frameset b/c win closed
			_url = MakeURL(url) + "?SDCOPY_CREATE(" + sdId + ")";
		}
		else {
			// Just update sd area
			win.focus();
			win.Show(sdId);
			return true;
		}
	}

	_url = BuildURL(_url);
	if (_url.length > 0)
		win = window.open(_url, winName, "scrollbars,resizable,width=470,height=500,dependent");

	if (win != null) {
		win.moveTo(100,50);
		win.focus();
	}

	SetWin(winName, win);
	return true;
}

function Signal_CopySysDataGroup(url, categoryId, nGroup, sdList, targetType) {
	var _url = "";
	var winName = "sdCopyGrp";
	var win = GetWin(winName);

	if (!Signal_Apply(url, 1, targetType))
		return false;

	if (sdList.length <= 0) {
		// Get a list of all the sds on the page
		sdList = GetPageSdList(g_valueSeparator);
	}

	_url = MakeURL(url) + "?SDGRPCOPY_SHOW(" + categoryId + "," +  nGroup + ",L" + sdList + ")";
	_url = BuildURL(_url);
	if (win != null) { //Win alread created
		if (!win.closed) {
			win.location = _url;// Just update
			win.focus();
			return true;
		}
	}

	win = window.open(_url, winName, "scrollbars,resizable,width=510,height=540,dependent");
	if (win != null) {
		win.moveTo(150,100);
		win.focus();
	}

	SetWin(winName, win);
	return true;
}

function Signal_Goto(url, whichState, confirmPost, targetType) {
	var _url;
	_url = MakeURL(url) + "?GOTO(" + whichState + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_PageGroup(url, pageGroupId, iPage, confirmPost, targetType) {
	var _url;
	_url = MakeURL(url) + "?PAGEGROUP(" + pageGroupId + "," + iPage + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_SysId(url, sysId, confirmPost, targetType) {
	var _url;
	_url = MakeURL(url) + "?SYSID(" + sysId + ")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_SysInit(url, initType, targetType) {
	var _url;

	if (confirm(ErrList["areYouSure"])) {
		_url = MakeURL(url) + "?SYSINIT(" + initType + ")";
		return onChangePage(_url, 2, targetType);
	}
	return true;
}

function Signal_KTSSite(url, whichSite, logFileName, confirmPost, targetType) {
	var _url;
	MsgBox_Show(ErrList["connect"]);
	_url = MakeURL(url) + "?KTSSITE(" + whichSite + "," +logFileName +")";
	return onChangePage(_url, confirmPost, targetType);
}

function Signal_FirmwareUpgrade(url, targetType) {
	var subForm = document.forms["theDataForm"];
	
	if ( !FWUpgrade_ValidatePage() )
		return false;

	if ( !confirm(ErrList["areYouSure"]) )
		return false;	

	subForm.method = "POST";
	subForm.encoding = "multipart/form-data";
	subForm.action = MakeURL(url) + FWUpgrade_GetArgs();
	if (targetType == 1)
		subForm.target = "_top";

	subForm.submit();
	return true;
}

function Signal_Clear(url, usrData, targetType) {	
	return onChangePage(MakeURL(url) + "?CLEAR(" + usrData + ")", 2, targetType);
}

function Signal_CF(url, action, targetType) {
	if (action == 0) {
		if (!confirm(ErrList["cfLoadWarning"]))
			return;
	}
	else {
		if (!confirm(ErrList["cfSaveWarning"]))
			return;
	}
	return onChangePage(MakeURL(url) + "?CF(" + action + ")", 0, targetType);
}

function Signal_Feature(url, featureId, iPage, targetType) {
	var _url;
	_url = MakeURL(url) + "?FEATURE(" + featureId + "," + iPage + ")";
	return onChangePage(_url, 2, targetType);
}

function Signal_FeatTelConfig(url, featureId, iPage, port, targetType) {
	var _url;
	_url = MakeURL(url) + "?FEAT_TEL(" + featureId + "," + iPage + "," + port + ")";
	return onChangePage(_url, 2, targetType);
}

function Signal_FeatTelInit(url, featureId, port, targetType) {
	var _url;
	_url = MakeURL(url) + "?FEAT_TEL_INIT(" + featureId + ","  + port + ")";
	return onChangePage(_url, 2, targetType);
}


function Signal_FeatTrunkSpdDial(url, featureId, iPage, name, confirmPost, targetType) {
	var _url;
    var i_el = FindElementByName(name);
	_url = MakeURL(url) + "?FEAT_TRUNK_SPD(" + featureId + "," + iPage + "," + i_el.value +")";
	return onChangePage(_url, confirmPost, targetType);
}


// Upload the license file to the KTS and display the new, licensed feature list
function Signal_UploadLicenseFile(url, targetType) {
	var subForm = document.forms["theDataForm"];
	var _url;
	
	if ( !LicenseUpload_ValidatePage() )
		return false;

	if ( !confirm(ErrList["areYouSure"]) )
		return false;	

	subForm.method = "POST";
	subForm.encoding = "multipart/form-data";
// S CG080055  2008/09/04  M.M
	if ( IsDemoLicense() )
	{
		_url = MakeURL(url) + "?UPLOAD_DEMO_LICENSE()"
		DisabledDemoLicense();
	}
	else
	{
		_url = MakeURL(url) + "?UPLOAD_LICENSE_FILE()"
	}
// E CG080055  2008/09/04  M.M
	subForm.action = BuildURL(_url);
	if (targetType == 1)
		subForm.target = "_top";

	subForm.submit();
	return true;
}
