var sCurrentIPCURL;
var sDefinitionURL = '';
var sIlluURL = '';
var sCatchURL = '';
var sRCLURL = '';
var bDefinitionURL = false;
var bIlluURL = false;
var aCache = new Array();
/*var sBaseURI = '../../work/';
var sBaseURL = './render.php?xml=../work/';
 */
var iMenuMode = 1;
var bFrameLoading = false;
var bIE = navigator.userAgent.toLowerCase().indexOf('msie') != -1;
var sBaseURI = '../';
var sBaseURL = './render.php?xml=';
var gsMenuLang = 'BR';

var aParams = [
    ['notes', 'yes'],
    ['priorityorder', 'no'],
    ['indexes', 'no'],
    ['headings', 'yes'],
    ['pagers', 'no'],
    ['edition', gsDefaultEdition],
    ['view', ''],
    ['viewmode', 'f'],
    ['pagesize', '50'],
    ['level', 'a'],
    ['symbol', ''],
    ['lang', 'br'],
    ['clang', 'br'],
    ['clevel', 'a'],
    ['rlevel', 'a'],
    ['showdeleted', 'yes'],
    ['printheader', 'yes']
];
var iCurrentTab = 0;
var aLinks = [
    '#1',
    '#2',
    '#3',
    '#4',
    '#5',
    '#6',
    '#7',
    ''
];


// messages
/*var sMsgInvalidClassSubclass="This is an invalid symbol!\nInvalid class/subclass.";
var sMsgInvalidFormat="This is an invalid symbol!\nInvalid IPC format.";
*/
function showLink(sURL) {
	if (!bFrameLoading) {
		bFrameLoading = true;

		if (sURL.indexOf('?') == -1)
			sURL += '?tabindex=' +iCurrentTab;
		else
			sURL = sURL.replace(/[?]/g,'?tabindex=' +iCurrentTab+'&');

		window.frames['idFrame'].location.href = sURL;
	}
}

function loadFromCache(sFileName) {
    var oXML = null;
    for (var i = 0; i < aCache.length; i++) {
        var aRow = aCache[i];
        if (aRow[0] == sFileName)
            oXML = aRow[1];
    }
    if (oXML == null) {
        try {
            oXML = new ActiveXObject('MSXML2.FreeThreadedDOMDocument');
            oXML.async = false;
            oXML.load(sFileName);
        } catch(e) { // Try Mozilla
            try {
                var oHTTPRequest = new XMLHttpRequest();
                oHTTPRequest.open('GET', sFileName, false);
                oHTTPRequest.send(null);
                oXML = oHTTPRequest.responseXML;
            } catch(e) {

            }
        }

        if (oXML != null)
            aCache.push(new Array(sFileName, oXML));
    } /*else
        alert('Cache hit!');*/
    return oXML;
}

function getBrowserPostfix() {
	if (bIE)
		return '';
	else
		return '8';
}

function switchTab(iId, bActive) {
    var iIndex = Number(bActive) +1;
    document.getElementById('idL' +iId).src = 'images/' +iIndex +'l.png';
    document.getElementById('idR' +iId).src = 'images/' +iIndex +'r.png';
    document.getElementById('idB' +iId).style.backgroundImage = 'url(images/' +iIndex +'b.png)';
    document.getElementById('idD' +iId).className = (bActive ? 'active' : 'inactive');
}

function jumpTab(iIndex, bNoJump) {
    if (iCurrentTab != iIndex) {
    	var oPrint = document.getElementById('idPrint');

        switchTab(iCurrentTab, false);
        switchTab(iIndex, true);
        iCurrentTab = iIndex;

        var sLink = aLinks[iIndex];
        if (sLink.charAt(0) == '#')
            switch (sLink.charAt(1)) {
                case '1':
                    sLink = sCurrentIPCURL;
	                oPrint.disabled = false;

                    break;
                case '2':
                    sLink = sDefinitionURL;
	                oPrint.disabled = !bDefinitionURL;
					bIPCMode = true;

                    break;
                case '3':
                    sLink = sIlluURL;
	                oPrint.disabled = !bIlluURL;

                    break;
                case '4':
	                iMenuMode = 2;

	                updateFromTo();

                	if (sRCLURL == '') {
                		searchRCL();
                		bNoJump = true;
                	} else
	                	sLink = sRCLURL;

	                oPrint.disabled = true;

	                break;
                case '5':
	                iMenuMode = 3;

                	if (sCatchURL == '') {
                		searchWord();
                		bNoJump = true;
                	} else
	                	sLink = sCatchURL;

	                oPrint.disabled = true;

	                break;
                case '6':
	                iMenuMode = 4;

	            	sLink = 'help_' + gsMenuLang +'.htm';

                    break;
	            case '7':
	            	sLink = 'options.php?menulang=' +gsMenuLang;
//	            	iMode = 0;
	            	break;
            }
        else {
			oPrint.disabled = true;
//			sLink += '&menumode=' +iMenuMode;
		}

		updateMenu();

		if (!bNoJump)
            showLink(sLink);
//            document.getElementById('idFrame').src = sLink;
    }
}

function updateMenu() {
	switch (iCurrentTab) {
		case 3:
			iMenuMode = 2;
			break;
		case 4:
			iMenuMode = 3;
			break;
		case 5:
			iMenuMode = 4;
			break;
		default:
			iMenuMode = 1;
	}

	document.getElementById('idIPCDiv').style.display = (iMenuMode == 1 ? 'inline' : 'none');
	document.getElementById('idRCLDiv').style.display = (iMenuMode == 2 ? 'inline' : 'none');
	document.getElementById('idCatDiv').style.display = (iMenuMode == 3 ? 'inline' : 'none');
	document.getElementById('idHelpDiv').style.display = (iMenuMode == 4 ? 'inline' : 'none');
	document.getElementById('idVersionDiv').style.display = (iMenuMode != 4 ? 'inline' : 'none');
}

function getAppParam(sName) {
    for (var i = 0; i < aParams.length; i++)
        if (aParams[i][0] == sName)
            return aParams[i][1];
    return '';
}

function setAppParam(sName, sValue) {

    for (var i = 0; i < aParams.length; i++)
        if (aParams[i][0] == sName)
            aParams[i][1] = sValue;
}

/*
function onChangeSymbolDef(oThis) {
    var bDisabled = oThis.checked;
    document.getElementById('idLang1').disabled = bDisabled;
    document.getElementById('idLang2').disabled = bDisabled;
}
*/
function onChangeSymbolDef(oThis) {
    if (oThis.checked)
        document.getElementById('idSymbol').value = '';
}

function onChangeSymbol(oThis) {
    document.getElementById('idSymbolDef').checked = false;
    if (window.event.keyCode == 13)
        goToSymbol();
}

function goToDef(sSymbol, sLang, sHash) {
//	var sTempSymbol = getParam('symbol', window.frames['idFrame'].location.href);
//	setValue('idLevel', 'a');

	bDefinitionURL = true;
    jumpTab(1, true);

	var sEdition = getEditionByLevel('a');
	setEdition(sEdition);

	document.getElementById('idEditionText').innerHTML = sEdition.substr(0, 4) +'.' +sEdition.substr(4, 2);

	// Add lang
	if (gsSecondLang == '')
		sLang = gsDefaultLang;
	if (sLang == null) {
		sLang = '';
		if (document.getElementById('idLang1').checked)
			sLang += gsDefaultLang;
		if (document.getElementById('idLang2').checked)
			sLang += (sLang == '' ? '' : ',') +gsSecondLang;
	}
	if (sLang == '')
		sLang += 'en';

	if (sSymbol == '')
		sSymbol = 'global';

	var sURL = sBaseURL +sEdition +'/definitions/' +sLang.toLowerCase() +'/' +sSymbol +'.xml&xsl=xslt/print-definition.xsl&cxsl=xslt/show-definition' +getBrowserPostfix() +'.xsl&symbol=' +sSymbol;
	if (sHash != null){
		sThisXml = getURLVariable(window.frames['idFrame'].location.href,"xml");
		sNextXml = getURLVariable(sURL,"xml");
		if(sThisXml==sNextXml){

			 if (window.frames['idFrame'].document.getElementsByName(sHash).length != 0) {

				window.frames['idFrame'].document.getElementById('idDiv_GLOSSARYOFTERMS').style.display = 'inline';
				window.frames['idFrame'].document.getElementById('idImg_GLOSSARYOFTERMS').src = 'images/minus.png';
	    		var iOffset = window.frames['idFrame'].getObjectTop(sHash);
	    		window.frames['idFrame'].showArrow(iOffset);
	    		window.frames['idFrame'].window.scrollTo(0, iOffset);
				}
			return;
		} else {
			sURL += '&hash=' +encodeURI(sHash);
		}
	}

	showLink(sURL);
	sDefinitionURL = sURL;
}

function getURLVariable( sURL,sVar )
/*****************************************************************
	`description`
															8/2/2005 11:31AM
*****************************************************************/
{
	var iP= sURL.indexOf(sVar+'=');
	if( iP < 0 ){
		return '';
	}
	var sV = sURL.substring(iP+sVar.length+1);
	iP = sV.indexOf("&");
	if( iP > 0 ){
		sV = sV.substring(0,iP);
	}
	return sV;
}  // getURLVariable

function goToIllu(sSymbol, iCount, iEdition) {
    bIlluURL = true;
    jumpTab(2, true);

	var sEdition = getEditionByLevel('a');
	setEdition(sEdition);

	document.getElementById('idEditionText').innerHTML = sEdition.substr(0, 4) +'.' +sEdition.substr(4, 2);

	// HACK!!!
    var sVisibleSymbol = decodeSymbol(sSymbol.toUpperCase());
    setValue('idSymbol', sVisibleSymbol);

	sCurrentIPCURL = removeParam(removeParam(sCurrentIPCURL, 'symbol'), 'hash') +'&hash=ipc' +sSymbol +'&symbol=' +sSymbol;

    var sURL = 'illustration.htm?symbol=' +sSymbol +'&count=' +iCount +'&edition=' +sEdition;
    showLink(sURL);
    sIlluURL = sURL;
}

function goToPDF(sSymbol, iEdition) {
	var sEdition = getValue('idEdition') +'/'
    var sLang = '';
    if (gsSecondLang != '') {
	    if (document.getElementById('idLang1').checked)
		sLang += gsDefaultLang;
	    if (document.getElementById('idLang2').checked)
		sLang += (sLang == '' ? '' : ',') +gsSecondLang;
    }
    else 
	    sLang = gsDefaultLang;
    sURL = sEdition +'pdf/' +sLang +'/' +sSymbol +'.pdf';
//    prompt('', sURL);
    showLink(sURL);
}

function goToSymbol(sSymbol, sEndSymbol, sDisplayeMode, sMode, sLang, sLevel, bBack, sEdition) {
    jumpTab(0, true);
	var bError = false;
    var sSecondLang = '';

/*
    var sTemp = window.location.href;
    var iPos = sTemp.lastIndexOf('/');
    var sBaseURI = sTemp.substr(0, iPos +1)
    prompt('', sBaseURI);
*/
//    alert(sEdition);

    // Add edition
    if (sEdition == null)
	    sEdition = getValue('idEdition');
	else {
		var sLevels = '';
		for (var i = 0; i < aEditions.length; i++)
			if (aEditions[i][0] == sEdition)
				sLevels = aEditions[i][2];
		if (sLevels.indexOf(sLevel) == -1)
			sEdition = aEditions[0][0];

		setValue('idEdition', sEdition);
		editionChanged();
	}
	sEdition += '/';

    // Add level
    if (sLevel == null)
        sLevel = getValue('idLevel');
    else
        setValue('idLevel', sLevel);
	var sOrigSymbol=sSymbol;
    // Add symbol
    if (sSymbol == null) {
        try {
            sSymbol = encodeSymbol(getValue('idSymbol'));
//            alert(sLevel);
            if (sSymbol != '' && !mayBeValid(sSymbol.toLowerCase(),sLevel=='c')) {
				bError = true;
				sSymbol='';
				alert(sMsgInvalidClassSubclass);
			}
        } catch(e) {
            sSymbol = '';
            bError = true;
//						alert('here'+"["+e.message+"]");
            alert(e.message);
        }
	}

	if (gsSecondLang == '')
		sLang = gsDefaultLang;
	
	if (!bError) {
		var sURLSymbol = sSymbol.replace(/\*/g, '');

	    if (sMode == null)
	        sMode = getValue('idViewMode');
	    else
	        setValue('idViewMode', sMode);

//		alert(sLevel);
	    var sLevelChar = (sLevel == 'c' ? 'core' : 'advanced');

	    // Add lang
	    if (gsSecondLang != '') {
	    if (sLang == null) {
	        sLang = '';
			if (document.getElementById('idLang1').checked)
			    sLang += gsDefaultLang;
			if (document.getElementById('idLang2').checked)
			    sLang += (sLang == '' ? '' : ',') +gsSecondLang;
		    } 
		    else {
			document.getElementById('idLang1').checked = sLang.indexOf(gsDefaultLang) != -1;
			document.getElementById('idLang2').checked = sLang.indexOf(gsSecondLang) != -1;
	    }
	    if (sLang == '')
	        sLang += 'en';
	    else {
	        aLangs = sLang.split(',');
	        sLang = aLangs[0];
	        if (aLangs.length > 1)
	            sSecondLang = aLangs[1];
		    }
	    }

	    if (sURLSymbol == '') { // Index
		    sURL = sBaseURL +sEdition +'index/' +sLang +'/index.xml&xsl=xslt/cleanup.xsl&cxsl=xslt/ipcentry' +getBrowserPostfix() +'.xsl&fulltext=yes&index=yes&level=' +sLevel;
			sURL += '&menulang=' +gsMenuLang;

		    if (sMode == 'h')
		    	sURL += '&siblings=yes';

		    setValue('idSymbol', '');
		    showLink(sURL);
		    sCurrentIPCURL = sURL;
			document.getElementById('idEditionText').innerHTML = sEdition.substr(0, 4) +'.' +sEdition.substr(4, 2);

		} else { // Normal symbol (not an index)
			if (sMode == 'h' && sSymbol.length < 5)

				if( sOrigSymbol!=null || sSymbol.length==1){
					sSymbol = sURLSymbol +'*';
				}



		    var sURL = sBaseURL +sEdition +'subclass/' +sLevelChar +'/' +sLang +'/xml/';

		    sTemp = sURLSymbol.toUpperCase();
		    var sVisibleSymbol = decodeSymbol(sTemp);
		    setValue('idSymbol', sVisibleSymbol);

//		   	alert(sURLSymbol);

			if (sMode == 'h'){
				if( sOrigSymbol != null && sOrigSymbol.indexOf('*') > 0 ){
			    sURL += sTemp.substr(0, 4) +'.xml';
					}else{
				switch (sURLSymbol.length) {
					case 3:
						sURL += sTemp.substr(0, 1) +'.xml';
						break;
					case 4:
						sURL += sTemp.substr(0, 3) +'.xml';
						break;
					default:
						sURL += sTemp.substr(0, 4) +'.xml';
						break;
				}
				}
			}else{
			    sURL += sTemp.substr(0, 4) +'.xml';
			}
	        if (getValue('idPriority') == 'yes')
		        sURL += '&xsl4=xslt/standseq.xsl';

			if (sMode == 'f' && getAppParam('pagers') == 'yes')
				sURL += '&dir=to&pagesize=' +getAppParam('pagesize') +'&xsl6=xslt/pager.xsl';

		    sURL += '&xsl2=xslt/cleanup.xsl&level=' +sLevel; // '&myurl=' +encodeURI(sURI)

		    if (sSecondLang != '') {
			    var sURI = sBaseURI +sEdition +'subclass/' +sLevelChar +'/' +sSecondLang +'/xml/';
		        sURL += '&xsl3=xslt/couplekey.xsl&otherlang=' +sSecondLang +'&myurl=' +encodeURI(sURI);
		    }

		    var sHash = sTemp;
		    sURL += '&symbol=' +sSymbol.toUpperCase()/*.substr(0, 4)*/ +'&cxsl=xslt/ipcentry' +getBrowserPostfix() +'.xsl&indexes=' +getAppParam('indexes') +'&printheader=' +getAppParam('printheader');

		    if (document.getElementById('idShowDeleted').checked)
		    	sURL += '&deleted=yes';

		    // Add display and filter settings
		/*    sTemp = getValue('idNotes');
		    if (sTemp == 'def')*/
		    sTemp = getAppParam('notes');
		    sURL += '&notes=' +sTemp;

		    sTemp = getAppParam('headings');
		    sURL += '&headings=' +sTemp;

		    switch(sMode) {
		    	case 'f':
		    		sTemp = '&fulltext=yes';
		    		break;
		    	case 'a':
		    		sTemp = '&parents=yes&children=yes';
		    		break;
		    	case 'h':
		    		sTemp = '&parents=yes&siblings=yes';
		    		break;
		    	default:
		    		sTemp = '';
		    		break;
		    }

		    sURL += sTemp +'&hash=ipc' +sHash;
		    if (bBack)
		    	sURL += '&back=yes';

			sURL += '&menulang=' +gsMenuLang;

			document.getElementById('idEditionText').innerHTML = sEdition.substr(0, 4) +'.' +sEdition.substr(4, 2);

		    showLink(sURL);
		    sCurrentIPCURL = sURL;
		}
	}
}

function searchWord(sWord, sLevel, sId) {
	try {
		if (sWord == null)
			sWord = document.getElementById('idWord').value.toUpperCase();
		else
			setValue('idWord', sWord);

		if (sLevel == null)
			sLevel = getValue('idCLevel');
		else
			setValue('idCLevel', sLevel.charAt(0));

		var sEdition = getValue('idEdition');
		var sLang = getValue('idCLang');
		var sURL;

		switch (sLevel) {
			case 'a':
				sLevel = 'advanced';
				break;
			case 'c':
				sLevel = 'core';
				break;
		}

		sWord = sWord.replace(/[Éé]/g, 'E')
			.replace(/[Áá]/g, 'A')
			.replace(/[Íí]/g, 'I')
			.replace(/[ÓóÖö]/g, 'O')
			.replace(/[ÚúÜü]/g, 'U');

		if (sWord.length > 0)
			sURL = sBaseURL +sEdition +'/catchword/' +sLevel +'/' +sLang.toLowerCase() +'/' +sWord.charAt(0) +'.xml&xsl=xslt/cwpager.xsl&pos=1&cxsl=xslt/cwentry' +getBrowserPostfix() +'.xsl&whash=' +sWord +'&menulang=' +gsMenuLang +'&level=' +sLevel;
		else
			sURL = sBaseURL +sEdition +'/catchword/' +sLevel +'/' +sLang.toLowerCase() +'/index.xml&xsl=xslt/cwpager.xsl&cxsl=xslt/cwindex' +getBrowserPostfix() +'.xsl&pagesize=' +getAppParam('pagesize') +'&menulang=' +gsMenuLang +'&level=' +sLevel;

		if (sId != null)
			sURL += '&wordid=' +sId

//		prompt('', sURL);

	    showLink(sURL);
	    sCatchURL = sURL;
	} catch(e) {
		alert(e.message);
	}
}

var bInInit = false;

function getInitParam(sName) {
	var sTemp = getParam(sName);
	if (sTemp == '')
		sTemp = getAppParam(sName);
	return sTemp;
}

function copyParam(sName) {
	var sTemp = getParam(sName);
	if (sTemp != '')
		setAppParam(sName, sTemp);
}

function init() {
	if (!bInInit) {
		bInInit = true;

		gsMenuLang = getParam('menulang');
		if (gsMenuLang == '')
			gsMenuLang = 'BR';

		sDefinitionURL = 'definitions.php?menulang=' +gsMenuLang;
		sIlluURL = 'formulae.php?menulang=' +gsMenuLang;

	    setValue('idViewMode', getInitParam('viewmode'));
	    setValue('idLevel', getInitParam('level'));
	    setValue('idSymbol', getInitParam('symbol'));
	    setValue('idPriority', getInitParam('priorityorder'));
	    setValue('idEdition', getInitParam('edition'));
	    setValue('idCLang', getInitParam('lang'));
	    setValue('idCLevel', getInitParam('level'));
	    setValue('idRLevel', getInitParam('level'));

		copyParam('notes');
		copyParam('headings');
		copyParam('indexes');
		copyParam('pagesize');
//		copyParam('level');
		copyParam('lang');
		copyParam('showdeleted');
		copyParam('printheader');

		document.getElementById('idShowDeleted').checked = getAppParam('showdeleted') == 'yes';

		if (gsSecondLang != '') {
	    var sLang = getAppParam('lang');
		    document.getElementById('idLang1').checked = sLang.indexOf(gsDefaultLang) != -1;
		    document.getElementById('idLang2').checked = sLang.indexOf(gsSecondLang) != -1;
		}
		setTimeout("goToSymbol()", 100);

		editionChanged();

		bInInit = false;

//		showSecondEdition();
	}
}

function onKeyDown(oThis, oEvent) {
//    if (event.keyCode == 13) // event.which
	if (oEvent.which) {
	    if (oEvent.which == 13) // event.which
	    	goToSymbol();
	} else
	    if (oEvent.keyCode == 13) // event.which
	    	goToSymbol();
}

function onCatKeyDown(oThis, oEvent) {
//    if (event.keyCode == 13) // event.which
	if (oEvent.which) {
	    if (oEvent.which == 13) // event.which
	    	searchWord();
	} else
	    if (oEvent.keyCode == 13) // event.which
	    	searchWord();
}

function onRCLKeyDown(oThis, oEvent) {
//    if (event.keyCode == 13) // event.which
	if (oEvent.which) {
	    if (oEvent.which == 13) // event.which
	    	searchRCL();
	} else
	    if (oEvent.keyCode == 13) // event.which
	    	searchRCL();
}

function goPrint() {
	var sURL = window.frames['idFrame'].location.href;
/*	iPos = sURL.indexOf('#');
	if (iPos != -1)
		sURL = sURL.substr(0, iPos);*/
	sURL += '&hidebuttons=yes';
	window.open(sURL, '_blank', 'statusbar=no,toolbar=no,menubar=yes,location=no,scrollbars=yes,resize=yes');
}

function setEdition(sEdition) {
	if (sEdition == null)
		var sEdition = getValue('idEdition')
	else {
		setAppParam('edition', sEdition);
		setValue('idEdition', sEdition);
	}
	var sLevel = getLevelByEdition(sEdition);
//	alert(sLevel);
	setAppParam('clevel', sLevel);
	setValue('idCLevel', sLevel);
	setAppParam('level', sLevel);
	setValue('idLevel', sLevel);
	setAppParam('rlevel', sLevel);
	setValue('idRLevel', sLevel);
}

function setLevel(sLevel, sSource) {
	if (sSource != 'cat') {
		setAppParam('clevel', sLevel);
		setValue('idCLevel', sLevel);

		var sEdition = getEditionByLevel(sLevel);
		setAppParam('edition', sEdition);
		setValue('idEdition', sEdition);
	}

	if (sSource != 'def') {
		setAppParam('level', sLevel);
		setValue('idLevel', sLevel);
	}

	if (sSource != 'rcl') {
		setAppParam('rlevel', sLevel);
		setValue('idRLevel', sLevel);
	}
}

function setLang(sLang, sSource) {
	if (sSource != 'cat') {
		setAppParam('clang', sLang);
		setValue('idCLang', sLang);
	}

	if (sSource != 'def') {
		setAppParam('lang', sLang);

		if (gsSecondLang != '') {
			document.getElementById('idLang1').checked = sLang == gsDefaultLang;
			document.getElementById('idLang2').checked = sLang == gsSecondLang;
		}
	}
}

function getEditionByLevel(cLevel) {
	if (cLevel == 'a')
		for (var i = aEditions.length -1; i >= 0 ; i--) {
			if (aEditions[i][2] == 'a')
				return aEditions[i][0];
		}
	else
		for (var i = 0; i < aEditions.length; i++) {
			if (aEditions[i][2] == 'c')
				return aEditions[i][0];
		}
	return '';
}

function getLevelByEdition(sEdition) {
	for (var i = 0; i < aEditions.length; i++) {
		if (aEditions[i][0] == sEdition)
			return aEditions[i][2];
	}
	return '-';
}

function searchRCL(sEdition1, sEdition2, sLevel, sSymbol, sView, bAll) {
	try {
		var sEdition;

		if (sEdition1 == null) {
			var oFrom = document.getElementById('idFrom');
			var oTo = document.getElementById('idTo');

			sEdition1 = oFrom.innerHTML;
			sEdition2 = oTo.innerHTML;

			if (sEdition1 < sEdition2) {
				sOld = sEdition1;
				sEdition = sEdition2;
			} else {
				sOld = sEdition2;
				sEdition = sEdition1;
			}
		} else {
			if (sEdition1 < sEdition2) {
				sOld = sEdition1;
				sEdition = sEdition2;
			} else {
				sOld = sEdition2;
				sEdition = sEdition1;
			}
		}
/*
		alert(sEdition1);
		alert(sEdition2);
*/
		if (sLevel == null)
			sLevel = getValue('idRLevel');
		else
			setValue('idRLevel', sLevel.charAt(0));
		switch (sLevel) {
			case 'a':
				sLevel = 'advanced';
				break;
			case 'c':
				sLevel = 'core';
				break;
		}

		if (sView == null) {
			var oTemp = document.getElementById('idViewA');
			if (oTemp.disabled)
				sView = 1;
			else
				sView = (oTemp.checked ? '1' : '0');
		}
		sView = (sLevel=='core' && sEdition1 < sEdition2)?1:0;

	    if (sSymbol == null) {
	        try {
	            sSymbol = encodeSymbol(getValue('idSymbol2'));
	            if (sSymbol != '' && !mayBeValid(sSymbol.toLowerCase(),sLevel=='core')) {
					bError = true;
					sSymbol='';
					alert(sMsgInvalidClassSubclass);
				}
	        } catch(e) {
	            sSymbol = '';
	            bError = true;
	            alert(e.message);
	        }
		}

		var sURL;
		if (sSymbol != '') {
		    sTemp = sSymbol.toUpperCase();
		    var sVisibleSymbol = decodeSymbol(sTemp);
		    setValue('idSymbol2', sVisibleSymbol);

			sURL = sBaseURL +sEdition +'/rcl/rcl_' +sLevel +'_' +sEdition1 +sEdition2 +'.xml&xsl1=xslt/rcl-filter.xsl&xsl2=xslt/rcl-addmaingroups.xsl&cxsl=xslt/rcl-view' +getBrowserPostfix() +'.xsl&filter=' +sSymbol.substr(0, 4) +'&viewA=' +sView +'&old=' +sOld +'&hash=' +sSymbol;
		} else if (bAll){
				sURL = sBaseURL +sEdition +'/rcl/rcl_' +sLevel +'_' +sEdition1 +sEdition2 +'.xml&xsl1=xslt/rcl-filter.xsl&xsl2=xslt/rcl-addmaingroups.xsl&cxsl=xslt/rcl-view' +getBrowserPostfix() +'.xsl&viewA='+sView+'&old=' +sOld;
//				var sURL = sBaseURL +sEdition +'/rcl/rcl_' +sLevel +'_' +sEdition1 +sEdition2 +'.xml&cxsl=xslt/rcl_content.xsl&old=' +sOld;
		}	else{
				sURL = sBaseURL +sEdition +'/rcl/rcl_' +sLevel +'_' +sEdition1 +sEdition2 +'.xml&xsl1=xslt/rcl-filterindex.xsl&viewA='+sView+'&cxsl=xslt/rcl_index' +getBrowserPostfix() +'.xsl';
		}

	    showLink(sURL);
	    sRCLURL = sURL;
	} catch(e) {
		alert(e.message);
	}
}

function updateRCL() {
	updateFromTo();
}

function updateFromTo(oThis) {
	if (oThis == null)
		var bSwap = getValue('idNewToOld') == 'Y';
	else
		var bSwap = oThis.value == 'Y';

//	alert(bSwap);

	var oFrom = document.getElementById('idFrom');
	var oTo = document.getElementById('idTo');
	var sEdition = document.getElementById('idEdition').value;
	var sSecond = '';
	for (var i = 0; i < aEditions.length; i++)
		if (aEditions[i][0] == sEdition) {
			sSecond = aEditions[i][1];
			break;
		}
	if (bSwap) {
		oFrom.innerHTML = sSecond;
		oTo.innerHTML = sEdition;
	} else {
		oFrom.innerHTML = sEdition;
		oTo.innerHTML = sSecond;
	}

	grayAdv2Core(bSwap, getValue('idRLevel') == 'c');
}

function checkBack() {
//	alert(window.frames['idFrame'].location.href);
	bFrameLoading = false;

	var sIndex = getParam('tabindex', window.frames['idFrame'].location.href);

	if (sIndex != '') {
		var iIndex = Number(sIndex);

		if (iIndex != iCurrentTab) {
		    switchTab(iCurrentTab, false);
		    switchTab(iIndex, true);
		    iCurrentTab = iIndex;
			updateMenu();
		}
	}
}

function showdiv( divname ) {
	window.frames['idFrame'].showdiv( divname );
}

function showalldiv( ) {
	window.frames['idFrame'].showalldiv( );
}

function updateRCLCheck(oThis) {
	if (oThis == null)
		var bTemp = getValue('idRLevel') == 'c';
	else
		var bTemp = oThis.value == 'c';
	grayAdv2Core(getValue('idNewToOld') == 'Y', bTemp);
}

function grayAdv2Core(bOld, bCore) {
	var oCheck = document.getElementById('idViewA');
	oCheck.disabled = !(bOld && bCore);
}

function changeCWURL(sWord) {
    setValue('idWord', sWord);
	sCatchURL = removeParam(sCatchURL, 'whash') +'&whash=' +sWord;
}

function editionChanged() {
	var sEdition = document.getElementById('idEdition').value;
	var sLevels = '';
	for (var i = 0; i < aEditions.length; i++)
		if (aEditions[i][0] == sEdition)
			sLevels = aEditions[i][2];
	updateLevels(sLevels);
}

function updateLevels(sLevels) {
	document.getElementById('idLevelA').disabled = sLevels.indexOf('a') == -1;
	document.getElementById('idLevelC').disabled = sLevels.indexOf('c') == -1;
/*	alert(document.getElementById('idLevelA').disabled);
	alert(document.getElementById('idLevelC').disabled);*/
	var cCurrentLevel = getValue('idLevel');
	if (sLevels.indexOf(cCurrentLevel) == -1)
		setValue('idLevel', (cCurrentLevel == 'c' ? 'a' : 'c'));
}
