// Compatibility jump functions to avoid XSLT modifications begin
/*
var sMsgInvalidIPCFormat="This is an invalid symbol!\nInvalid IPC format.";
var sMsgInvalidSymbol = "This is an invalid symbol!\nThe symbol was not found in this view.";
*/
function jumpDirect(sDisplayMode, sSymbol, sTarget) {
	commonJump(sSymbol, null, sDisplayMode, null, null, null);
}

function jumpRCL(sDisplayMode, sSymbol, sSymbol2) {
	if( sDisplayMode == '20000101' ){
			// jump to IPC7!
		jumpIPC7('EN',sSymbol);
		return;
	}
	try {
		var sHash = (sSymbol2 == '' ? sSymbol : sSymbol2);

		var oRoot = getRoot();
		var sURL = oRoot.sRCLURL;


		if (sHash.length == 8)
			sHash += '000000';

		sURL = removeParam(sURL, 'hash') +'&hash=' +sHash;
		//alert(sURL);

		oRoot.sRCLURL = sURL;
		oRoot.document.getElementById('idSymbol2').value = decodeSymbol(sHash);
		jump(sDisplayMode, sSymbol);
	} catch(e) {
		alert(e.message);
	}
}

function jumpCW(sWord, sRef, sLevel) {
	var oRoot = getRoot();
	oRoot.changeCWURL(sWord);
	jump('', sRef, 'xml', null, sLevel);
}

function jumpD(sSymbol) {
	commonJump(sSymbol, null, null, null, null, 'a');
}

function jump(sDisplayMode, sSymbol, sTarget, bBack, sLevel) {
	if (sSymbol == null) { // Old style sump
/*		sSymbol = sDisplayMode.substr(0, 4);
		if (sDisplayMode.length > 4) {
			sSymbol += '0' +sDisplayMode.substr(4);
			while (sSymbol.length < 14)
				sSymbol += '0';
		}
		commonJump(sSymbol);*/
//		alert(sSymbol);
		commonJump(sDisplayMode);
	} else{
		commonJump(sSymbol, null, sDisplayMode, null, null, sLevel, bBack);
	}
}

function jumpMode(sDisplayMode, sMode, sSymbol, sTarget) {
	commonJump(sSymbol, null, sDisplayMode, sMode, null, null);
}

function jo(sSymbol) {
	commonJump(sSymbol, null, null, null, null, null);
}

function jumpLang(sLang, sSymbol, sEndSymbol) {
	commonJump(sSymbol, sEndSymbol, null, null, sLang.toLowerCase(), null);
}

function jumpLevel(sLevel, sSymbol, sEndSymbol, sEdition) {

	if( sLevel=='advanced' ){
		var oRoot = getRoot();
		sEdition = oRoot.getEditionByLevel('a');
	}
	commonJump(sSymbol, sEndSymbol, null, null, null, sLevel.charAt(0), null, sEdition);
}

// Compatibility jump functions to avoid XSLT modifications end

function getRoot() {
	var iCycles = 0;
	var oParent;
	do {
		oParent = window.parent;
		if (oParent == null)
			oParent = window.opener;
		if (oParent.location.href.indexOf('htm') == -1 ||  oParent.location.href.indexOf('index.htm') != -1)
			return oParent;
		oParent = oParent.parent;
		iCycles++;
	} while (oParent != null && oParent != window && iCycles < 10);
	return null;
}

function commonJump(sSymbol, sEndSymbol, sDisplayeMode, sMode, sLang, sLevel, bBack, sEdition) {
	//alert('sDisplayMode = ' +sDisplayMode +', sSymbol = ' +sSymbol +', sMode = ' +sMode);
	var oRoot = getRoot();
	oRoot.goToSymbol(sSymbol, sEndSymbol, sDisplayeMode, sMode, sLang, sLevel, bBack, sEdition);
}

function commonJumpToDef(sSymbol, sLang, sHash) {
	var oRoot = getRoot();
	oRoot.goToDef(sSymbol, sLang, sHash);
}

function commonJumpToIllu(sSymbol, iCount, iEdition) {
	var oRoot = getRoot();
	oRoot.goToIllu(sSymbol, iCount, iEdition);
}

function commonJumpToPDF(sSymbol, iEdition) {
	var oRoot = getRoot();
	oRoot.goToPDF(sSymbol, iEdition);
}

function commonSearchRCL(sEdition1, sEdition2, sLevel, sSymbol, sView) {
	//alert('sDisplayMode = ' +sDisplayMode +', sSymbol = ' +sSymbol +', sMode = ' +sMode);
	var oRoot = getRoot();
	sLevel = sLevel.toLowerCase();
	oRoot.searchRCL(sEdition1, sEdition2, sLevel, sSymbol, sView);
}

function getValue(sName) {
	var oItems = document.getElementsByName(sName);
	if (oItems.length == 0)
		return document.getElementById(sName).value;
	if (oItems.length == 1)
		return oItems[0].value;
	else
		for (var i = 0; i < oItems.length; i++) {
			if (oItems[i].checked)
				return oItems[i].value;
		}
	return '';
}

function setValue(sName, sValue) {
//		alert('name: ' +sName +', value: ' +sValue);
	var oItems = document.getElementsByName(sName);
	if (oItems.length == 0)
		document.getElementById(sName).value = sValue;
	if (oItems.length == 1)
		oItems[0].value = sValue;
	else
		for (var i = 0; i < oItems.length; i++) {
			if (oItems[i].value == sValue)
				oItems[i].checked = true;
		}
}

function getParam(sName, sURL) {
	if (sURL == null)
		var sURL = window.location.href;

	sURL = sURL.substr(sURL.indexOf('?') +1);
	var aParams = sURL.split('&');
	var aParam, aParam;
	for (var i = 0; i < aParams.length; i++) {
		aParam = aParams[i].split('=');
		if (aParam[0] == sName)
			return aParam[1];
	}
	return '';
}

function GetBookmark() {
	var sURL = window.location.href;
	var iPos = sURL.indexOf('#');
	if (iPos == -1)
		return '';
	else {
		return sURL.substr(iPos +1);
	}
}

function getCurrentYPos() {
	if (document.body && document.body.scrollTop)
		return document.body.scrollTop;
	if (document.documentElement && document.documentElement.scrollTop)
		return document.documentElement.scrollTop;
	if (window.pageYOffset)
		return window.pageYOffset;
	return 0;
}

function getObjectTop(sId) {
	var iY = 0;
	try {
	    var oObj = document.getElementsByName(sId)[0];
	    while (oObj != null && oObj != document.body && oObj.offsetTop != null) {
	    	iY += oObj.offsetTop;
	    	oObj = oObj.offsetParent;
	    }
    } catch (e) {
    	alert(e.message);
    }

	return iY;
}

function decodeSymbol(sSymbol) {
	var sData = sSymbol.substr(0, 4);
	if (sSymbol.length > 4) {
		sData += ' ' +Number(sSymbol.substr(4, 4));
		sTemp = sSymbol.substr(8);
		iPos = sTemp.length;
		while (iPos > 2 && sTemp.charAt(iPos -1) == '0')
			iPos--;
		var sTemp = String(sTemp.substr(0, iPos));
		switch (sTemp.length) {
			case 0:
				sTemp = '00';
				break;
			case 1:
				sTemp = '0' +sTemp;
				break;
		}
		sData += '/' +sTemp;
	}
	return sData;
}

function addZeros(iNum, iMinSize) {
	var sNum = String(iNum);
	while (sNum.length < iMinSize)
		sNum = '0' +sNum;
	return sNum;
}

function encodeSymbol(sSymbol) {
    //01234567890123
	//A01N0003040000
	sSymbol = sSymbol.replace(/ /g, '');
	var sData = sSymbol.substr(0, 4);
	var bError = false;

	switch (sSymbol.length) {
		case 0:
			break;
		case 1:
			bError = !sData.match(/^[A-H]/i);
			break;
		case 2:
			bError = true;
			break;
		case 3:
			bError = !sData.match(/^[A-H][0-9]{2}/i);
			break;
		case 4:
			bError = !sData.match(/^[A-H][0-9]{2}[A-Z]/i);
			break;
		case 14:
			bError = !sSymbol.match(/^[A-H][0-9]{2}[A-Z][0-9]{10}/i);
			sData = sSymbol;
			break;
		default:
			if (sSymbol.match(/^[A-H][0-9]{2}[A-Z][0-9]{5}/i)) {
				try {
					var iNum1 = Number(sSymbol.substr(4, 3));
					var sNum2 = sSymbol.substr(7, 2);
					var iNum2 = Number(sNum2);
					bError = isNaN(iNum1) || isNaN(iNum2);
					if (!bError) {
						sData += addZeros(iNum1, 4) +addZeros(sNum2, 2);
						while (sData.length < 14)
							sData += '0';
					}
				} catch(e) {
					bError = true;
				}
			} else {
				var iPos = sSymbol.indexOf('/');
				bError = iPos == -1;
				if (!bError) {
					try {
						var iNum1 = Number(sSymbol.substring(4, iPos));
						var sNum2 = sSymbol.substr(iPos +1);
						var iNum2 = Number(sNum2);
						bError = isNaN(iNum1) || isNaN(iNum2);
						if (!bError) {
							sData += addZeros(iNum1, 4) +addZeros(sNum2, 2);
							while (sData.length < 14)
								sData += '0';
						}
					} catch(e) {
						bError = true;
					}
				}
			}
			break;
	}

	if (bError){
			var v = sMsgInvalidFormat;
			var e = new Error(v); // workaround: new Error(v) does not work
			e.message = v;
		throw e;
	}
	return sData.toUpperCase();
}

function swapThis(oThis, sSymbol) {
    commonJump(sSymbol);
//	alert(sSymbol);
/*	var oDiv = document.getElementById('idDiv_' +sSymbol);
	if (oThis.src.indexOf('plus') != -1) {
		oDiv.style.display = 'inline';
		oThis.src = 'images/minus.png';
	} else {
		oDiv.style.display = 'none';
		oThis.src = 'images/plus.png';
	}	*/
}

//Dimensions of BRIDGE popup
var bridge_width	= 350;
var bridge_height	= 410;
/**
 * @param string ipc entry
 * Open bridge popup window
 */
function linkPopup(ipc){
	var x		= Math.round((screen.availWidth  - bridge_width) / 2);
	var y		= Math.round((screen.availHeight - bridge_height) / 2);
	var sLevel = getParam('level');
	var sEdition = getParam('edition');
	var sMenulang = getParam('menulang');
	window.open('popup.php?ipc='+ipc+"&level="+sLevel+"&edition="+sEdition+"&menulang="+sMenulang,"ibis_bridge_popup","left=" + x + ",top=" + y + "scrollbars=yes,width="+bridge_width+",height="+bridge_height);
}

function switchDiv(iId, bActive) {
	if (bActive == null)
		bActive = document.getElementById('idImg_' +iId).src.indexOf('plus') == -1;

	document.getElementById('idImg_' +iId).src = 'images/' +(bActive ? 'plus.png' : 'minus.png');
	document.getElementById('idDiv_' +iId).style.display = (bActive ? 'none' : 'inline');
}

function switchAllDivs(bActive) {
	var oDivs = document.getElementsByTagName('div');
	for (var i = 0; i < oDivs.length; i++) {
		var oDiv = oDivs[i]; // idDiv_id32A5008
		var sId = oDiv.id;
		if (sId.substr(0, 6) == 'idDiv_') {
			switchDiv(sId.substr(6), bActive);
		}
	}
}


var sGoToBookmark = null;
var bBackBookmark = false;

function realGoToBookmark(b2ndPass) {
	var sURL = window.location.href;
	var sBookmark=null;
	var sURLBookmark = decodeURI(getParam('hash'));
	if (sURLBookmark == '')
		sURLBookmark = null;
//		alert(sURLBookmark);
	if (bBackBookmark)
		sBookmark = decodeURI(getParam('hash'));
	else if( sGoToBookmark != null && sGoToBookmark != '' ){
		sBookmark = 'ipc' + sGoToBookmark;

		if( sURLBookmark != null && sURLBookmark.indexOf('*') < 0 && sURLBookmark != sBookmark ){
			var sParSymbol=sURL.substring(sURL.indexOf("symbol=")+7);
			sParSymbol=sParSymbol.substring(0,sParSymbol.indexOf('&'));

			if( sParSymbol.indexOf('*') < 0 ){
				sURLBookmark = sURLBookmark.substring(3);
				if( sURLBookmark.length > 4 ){
						sURLBookmark = decodeSymbol(sURLBookmark);
				}
				alert(sMsgInvalidSymbol + sURLBookmark);
			}
		}
	}else{
		sBookmark = sURLBookmark;
	}

	if( sBookmark !=null) {
		//alert("Look for bookmark:["+sBookmark+"]");
		if (document.getElementsByName(sBookmark).length == 0) {
			if( sBookmark.indexOf('#')>=0 ){
				sBookmark = sBookmark.substring(sBookmark.indexOf('#')+1);
				//alert('alternative:'+sBookmark);
				}
		}
		if (document.getElementsByName(sBookmark).length == 0) {
			if( sBookmark.substring(sBookmark.length-1)=='E' ){
				sBookmark = sBookmark.substring(0,sBookmark.length-1);
				//alert('alternative:'+sBookmark);
				}
		}
		if (document.getElementsByName(sBookmark).length == 0) {
    		if (sXML.indexOf('definition') != -1) {
					return;
				}


			}
		if (document.getElementsByName(sBookmark).length != 0) {

    		var iOffset = getObjectTop(sBookmark);

    		showArrow(iOffset);

    		window.scrollTo(0, iOffset);
    	} else {
				/*
				var oNL;
				oNL = document.getElementsByTagName("A");
				var sRes='';
				for (var i = 0; i < oNL.length; i++) {
					var oA = oNL[i]; // idDiv_id32A5008
					var sId = oA.name;
					if( sId != '' && sId != null && sId != 'undefined'){
						sRes += "|" + sId;
						if( sId == sBookmark ){
								alert('MEGVAN');
							}
						}
				}
				alert(sRes);
				*/

    		var sXML = getParam('xml');
    		if (sXML.indexOf('advanced') != -1) {
    			var bError = false;

    			while (true) {
    				switch (sBookmark.length) {
    					case 17:
    						//01234567890123456
    						//ipcA01B0003210000
    						if (sBookmark.substr(11) != '000000')
    							sBookmark = sBookmark.substr(0, 11) +'000000';
    						else
    							sBookmark = sBookmark.substr(0, 7);
    						break;
    					case 7:
    						sBookmark = sBookmark.substr(0, 6);
    						break;
    					case 6:
    						sBookmark = sBookmark.substr(0, 4);
    						break;
    					case 4:
    						bError = true;
    						break;
    				}

    				if (bError)
    					break;

    				if (document.getElementsByName(sBookmark).length != 0) {
			    		var iOffset = getObjectTop(sBookmark);

			    		showArrow(iOffset);

			    		window.scrollTo(0, iOffset);
			    		break;
			    	}
    			}

    			alert('This symbol does not exists.');
    		} else {
    			var sSymbol = GetBookmark().substr(3);
	    		if (confirm('This symbol does not exists. Do You want to verify the symbol in the advanced view?'))
		    		jumpLevel('advanced', sSymbol, '')
		    }
    	}
	}
}

function showArrow(iOffset) {
	var oDiv = document.getElementById('idArrow');
	oDiv.style.top = '' +iOffset +'px';
	oDiv.style.visibility = 'visible';
	setTimeout('hideArrow(8)', 500);
}

function hideArrow(iCount) {
	var oDiv = document.getElementById('idArrow');

	if (iCount % 2 == 0)
		oDiv.style.visibility = 'hidden';
	else
		oDiv.style.visibility = 'visible';

	if (iCount > 0)
		setTimeout('hideArrow(' +(iCount -1) +')', 500);
}

function goToBookmark(sSymbol, sBack)
{
	sGoToBookmark = sSymbol;
	bBackBookmark = sBack == 'yes';
	setTimeout('realGoToBookmark(true)', 100);
}

function goToWordBookmark(b2ndPass)
{
	if (b2ndPass) {
		// word hash
		var sHash = getParam('wordid');
		if (sHash != '') {
			var iOffset = getObjectTop(sHash);
	   		showArrow(iOffset);
			window.scrollTo(0, iOffset);
		} else {
			sHash = getParam('whash');
			if (sHash != '') {
				for (var i = sHash.length; i > 0 ; i--) {
					var iOffset = getObjectTop('cw' +sHash.substr(0, i));
					if (iOffset != 0) {
				   		showArrow(iOffset);

						window.scrollTo(0, iOffset);
						break;
					}
				}
			}
		}
	} else
		setTimeout('goToWordBookmark(true)', 100);
}

function goToRCLBookmark(b2ndPass)
{
	if (b2ndPass) {
		// word hash
		sHash = getParam('hash');
		var iOffset = getObjectTop(sHash);
		window.scrollTo(0, iOffset);
/*		if (sHash != '') {
			for (var i = sHash.length; i > 0 ; i--) {
				var iOffset = getObjectTop(sHash.substr(0, i));
				if (iOffset != 0) {
					window.scrollTo(0, iOffset);
					break;
				}
			}
		}*/
	} else
		setTimeout('goToRCLBookmark(true)', 100);
}

function goToParent(sSymbol) {
	switch (sSymbol.length) {
		case 1:
			swapThis(this, '');
			break;
		case 3:
			swapThis(this, sSymbol.charAt(0));
			break;
		case 4:
			swapThis(this, sSymbol.substr(0, 3));
			break;
		default:
			swapThis(this, sSymbol.substr(0, 4));
			break;
	}
}

function removeParam(sURL, sParam) {
	var iPos = sURL.indexOf('&' +sParam +'=');
	if (iPos == -1)
		iPos = sURL.indexOf('?' +sParam +'=');

	if (iPos != -1) {
		var iEndPos = sURL.indexOf('&', iPos +1);
		if (iEndPos == -1)
			iEndPos = sURL.indexOf('#', iPos +1);
		if (iEndPos == -1)
			sURL = sURL.substr(0, iPos);
		else
			sURL = sURL.substr(0, iPos) +sURL.substr(iEndPos);
	}
	return sURL;
}

function changeParam(sURL, sParam, sValue) {
	var iPos = sURL.indexOf('&' +sParam +'=');
	if (iPos == -1)
		iPos = sURL.indexOf('?' +sParam +'=');

	if (iPos != -1) {
		var iEndPos = sURL.indexOf('&', iPos +1);
		if (iEndPos == -1)
			iEndPos = sURL.indexOf('#', iPos +1);
		if (iEndPos == -1)
			sURL = sURL.substr(0, iPos +sParam.length +2) +sValue;
		else
			sURL = sURL.substr(0, iPos +sParam.length +2) +sValue +sURL.substr(iEndPos);
	}
	return sURL;
}

function goPage(sDir, sSymbol) {
	var sURL = window.location.href;

	sURL = changeParam(sURL, 'dir', sDir);
	sURL = changeParam(sURL, 'symbol', sSymbol);
	sURL = removeParam(sURL, 'hash', sSymbol);

	window.location.href = sURL;
}

// temporal solution
var advancedsub=",a,a01,a01b,a01c,a01d,a01f,a01g,a01h,a01j,a01k,a01l,a01m,a01n,a01p,a21,a21b,a21c,a21d,a22,a22b,a22c,a23,a23b,a23c,a23d,a23f,a23g,a23j,a23k,a23l,a23n,a23p,a24,a24b,a24c,a24d,a24f,a41,a41b,a41c,a41d,a41f,a41g,a41h,a42,a42b,a42c,a43,a43b,a43c,a43d,a44,a44b,a44c,a45,a45b,a45c,a45d,a45f,a46,a46b,a46d,a47,a47b,a47c,a47d,a47f,a47g,a47h,a47j,a47k,a47l,a61,a61b,a61c,a61d,a61f,a61g,a61h,a61j,a61k,a61l,a61m,a61n,a61p,a61q,a62,a62b,a62c,a62d,a63,a63b,a63c,a63d,a63f,a63g,a63h,a63j,a63k,a99,a99z,b,b01,b01b,b01d,b01f,b01j,b01l,b02,b02b,b02c,b03,b03b,b03c,b03d,b04,b04b,b04c,b05,b05b,b05c,b05d,b06,b06b,b07,b07b,b07c,b08,b08b,b09,b09b,b09c,b21,b21b,b21c,b21d,b21f,b21g,b21h,b21j,b21k,b21l,b22,b22c,b22d,b22f,b23,b23b,b23c,b23d,b23f,b23g,b23h,b23k,b23p,b23q,b24,b24b,b24c,b24d,b25,b25b,b25c,b25d,b25f,b25g,b25h,b25j,b26,b26b,b26d,b26f,b27,b27b,b27c,b27d,b27f,b27g,b27h,b27j,b27k,b27l,b27m,b27n,b28,b28b,b28c,b28d,b29,b29b,b29c,b29d,b29k,b29l,b30,b30b,b31,b31b,b31c,b31d,b31f,b32,b32b,b41,b41b,b41c,b41d,b41f,b41g,b41j,b41k,b41l,b41m,b41n,b42,b42b,b42c,b42d,b42f,b43,b43k,b43l,b43m,b44,b44b,b44c,b44d,b44f,b60,b60b,b60c,b60d,b60f,b60g,b60h,b60j,b60k,b60l,b60m,b60n,b60p,b60q,b60r,b60s,b60t,b60v,b60w,b61,b61b,b61c,b61d,b61f,b61g,b61h,b61j,b61k,b61l,b62,b62b,b62c,b62d,b62h,b62j,b62k,b62l,b62m,b63,b63b,b63c,b63g,b63h,b63j,b64,b64b,b64c,b64d,b64f,b64g,b65,b65b,b65c,b65d,b65f,b65g,b65h,b66,b66b,b66c,b66d,b66f,b67,b67b,b67c,b67d,b68,b68b,b68c,b68f,b68g,b81,b81b,b81c,b82,b82b,b99,b99z,c,c01,c01b,c01c,c01d,c01f,c01g,c02,c02f,c03,c03b,c03c,c04,c04b,c05,c05b,c05c,c05d,c05f,c05g,c06,c06b,c06c,c06d,c06f,c07,c07b,c07c,c07d,c07f,c07g,c07h,c07j,c07k,c08,c08b,c08c,c08f,c08g,c08h,c08j,c08k,c08l,c09,c09b,c09c,c09d,c09f,c09g,c09h,c09j,c09k,c10,c10b,c10c,c10f,c10g,c10h,c10j,c10k,c10l,c10m,c10n,c11,c11b,c11c,c11d,c12,c12c,c12f,c12g,c12h,c12j,c12l,c12m,c12n,c12p,c12q,c12r,c12s,c13,c13c,c13d,c13f,c13g,c13h,c13j,c13k,c14,c14b,c14c,c21,c21b,c21c,c21d,c22,c22b,c22c,c22f,c23,c23c,c23d,c23f,c23g,c25,c25b,c25c,c25d,c25f,c30,c30b,c40,c40b,c99,c99z,d,d01,d01b,d01c,d01d,d01f,d01g,d01h,d02,d02g,d02h,d02j,d03,d03c,d03d,d03j,d04,d04b,d04c,d04d,d04g,d04h,d05,d05b,d05c,d06,d06b,d06c,d06f,d06g,d06h,d06j,d06l,d06m,d06n,d06p,d06q,d07,d07b,d21,d21b,d21c,d21d,d21f,d21g,d21h,d21j,d99,d99z,e,e01,e01b,e01c,e01d,e01f,e01h,e02,e02b,e02c,e02d,e02f,e03,e03b,e03c,e03d,e03f,e04,e04b,e04c,e04d,e04f,e04g,e04h,e05,e05b,e05c,e05d,e05f,e05g,e06,e06b,e06c,e21,e21b,e21c,e21d,e21f,e99,e99z,f,f01,f01b,f01c,f01d,f01k,f01l,f01m,f01n,f01p,f02,f02b,f02c,f02d,f02f,f02g,f02k,f02m,f02n,f02p,f03,f03b,f03c,f03d,f03g,f03h,f04,f04b,f04c,f04d,f04f,f15,f15b,f15c,f15d,f16,f16b,f16c,f16d,f16f,f16g,f16h,f16j,f16k,f16l,f16m,f16n,f16p,f16s,f16t,f17,f17b,f17c,f17d,f21,f21h,f21k,f21l,f21s,f21v,f21w,f21y,f22,f22b,f22d,f22g,f23,f23b,f23c,f23d,f23g,f23h,f23j,f23k,f23l,f23m,f23n,f23q,f23r,f24,f24b,f24c,f24d,f24f,f24h,f24j,f25,f25b,f25c,f25d,f25j,f26,f26b,f27,f27b,f27d,f28,f28b,f28c,f28d,f28f,f28g,f41,f41a,f41b,f41c,f41f,f41g,f41h,f41j,f42,f42b,f42c,f42d,f99,f99z,g,g01,g01b,g01c,g01d,g01f,g01g,g01h,g01j,g01k,g01l,g01m,g01n,g01p,g01q,g01r,g01s,g01t,g01v,g01w,g02,g02b,g02c,g02f,g03,g03b,g03c,g03d,g03f,g03g,g03h,g04,g04b,g04c,g04d,g04f,g04g,g05,g05b,g05d,g05f,g05g,g06,g06c,g06d,g06e,g06f,g06g,g06j,g06k,g06m,g06n,g06q,g06t,g07,g07b,g07c,g07d,g07f,g07g,g08,g08b,g08c,g08g,g09,g09b,g09c,g09d,g09f,g09g,g10,g10b,g10c,g10d,g10f,g10g,g10h,g10k,g10l,g11,g11b,g11c,g12,g12b,g21,g21b,g21c,g21d,g21f,g21g,g21h,g21j,g21k,g99,g99z,h,h01,h01b,h01c,h01f,h01g,h01h,h01j,h01k,h01l,h01m,h01p,h01q,h01r,h01s,h01t,h02,h02b,h02g,h02h,h02j,h02k,h02m,h02n,h02p,h03,h03b,h03c,h03d,h03f,h03g,h03h,h03j,h03k,h03l,h03m,h04,h04b,h04h,h04j,h04k,h04l,h04m,h04n,h04q,h04r,h04s,h04w,h05,h05b,h05c,h05f,h05g,h05h,h05k,h99,h99z,";
var coresub=",a,a01,a01b,a01c,a01d,a01f,a01g,a01h,a01j,a01k,a01l,a01m,a01n,a01p,a21,a21b,a21c,a21d,a22,a22b,a22c,a23,a23b,a23c,a23d,a23f,a23g,a23j,a23k,a23l,a23n,a23p,a24,a24b,a24c,a24d,a24f,a41,a41b,a41c,a41d,a41f,a41g,a41h,a42,a42b,a42c,a43,a43b,a43c,a43d,a44,a44b,a44c,a45,a45b,a45c,a45d,a45f,a46,a46b,a46d,a47,a47b,a47c,a47d,a47f,a47g,a47h,a47j,a47k,a47l,a61,a61b,a61c,a61d,a61f,a61g,a61h,a61j,a61k,a61l,a61m,a61n,a61p,a61q,a62,a62b,a62c,a62d,a63,a63b,a63c,a63d,a63f,a63g,a63h,a63j,a63k,a99,a99z,b,b01,b01b,b01d,b01f,b01j,b01l,b02,b02b,b02c,b03,b03b,b03c,b03d,b04,b04b,b04c,b05,b05b,b05c,b05d,b06,b06b,b07,b07b,b07c,b08,b08b,b09,b09b,b09c,b21,b21b,b21c,b21d,b21f,b21g,b21h,b21j,b21k,b21l,b22,b22c,b22d,b22f,b23,b23b,b23c,b23d,b23f,b23g,b23h,b23k,b23p,b23q,b24,b24b,b24c,b24d,b25,b25b,b25c,b25d,b25f,b25g,b25h,b25j,b26,b26b,b26d,b26f,b27,b27b,b27c,b27d,b27f,b27g,b27h,b27j,b27k,b27l,b27m,b27n,b28,b28b,b28c,b28d,b29,b29b,b29c,b29d,b30,b30b,b31,b31b,b31c,b31d,b31f,b32,b32b,b41,b41b,b41c,b41d,b41f,b41g,b41j,b41k,b41l,b41m,b41n,b42,b42b,b42c,b42d,b42f,b43,b43k,b43l,b43m,b44,b44b,b44c,b44d,b44f,b60,b60b,b60c,b60d,b60f,b60g,b60h,b60j,b60k,b60l,b60m,b60n,b60p,b60q,b60r,b60s,b60t,b60v,b60w,b61,b61b,b61c,b61d,b61f,b61g,b61h,b61j,b61k,b61l,b62,b62b,b62c,b62d,b62h,b62j,b62k,b62l,b62m,b63,b63b,b63c,b63g,b63h,b63j,b64,b64b,b64c,b64d,b64f,b64g,b65,b65b,b65c,b65d,b65f,b65g,b65h,b66,b66b,b66c,b66d,b66f,b67,b67b,b67c,b67d,b68,b68b,b68c,b68f,b68g,b81,b81b,b81c,b82,b82b,b99,b99z,c,c01,c01b,c01c,c01d,c01f,c01g,c02,c02f,c03,c03b,c03c,c04,c04b,c05,c05b,c05c,c05d,c05f,c05g,c06,c06b,c06c,c06d,c06f,c07,c07b,c07c,c07d,c07f,c07g,c07h,c07j,c07k,c08,c08b,c08c,c08f,c08g,c08h,c08j,c08k,c08l,c09,c09b,c09c,c09d,c09f,c09g,c09h,c09j,c09k,c10,c10b,c10c,c10f,c10g,c10h,c10j,c10k,c10l,c10m,c11,c11b,c11c,c11d,c12,c12c,c12f,c12g,c12h,c12j,c12l,c12m,c12n,c12p,c12q,c12s,c13,c13c,c13d,c13f,c13g,c13h,c13j,c13k,c14,c14b,c14c,c21,c21b,c21c,c21d,c22,c22b,c22c,c22f,c23,c23c,c23d,c23f,c23g,c25,c25b,c25c,c25d,c25f,c30,c30b,c40,c40b,c99,c99z,d,d01,d01b,d01c,d01d,d01f,d01g,d01h,d02,d02g,d02h,d02j,d03,d03c,d03d,d03j,d04,d04b,d04c,d04d,d04g,d04h,d05,d05b,d05c,d06,d06b,d06c,d06f,d06g,d06h,d06j,d06l,d06m,d06n,d06p,d06q,d07,d07b,d21,d21b,d21c,d21d,d21f,d21g,d21h,d21j,d99,d99z,e,e01,e01b,e01c,e01d,e01f,e01h,e02,e02b,e02c,e02d,e02f,e03,e03b,e03c,e03d,e03f,e04,e04b,e04c,e04d,e04f,e04g,e04h,e05,e05b,e05c,e05d,e05f,e05g,e06,e06b,e06c,e21,e21b,e21c,e21d,e21f,e99,e99z,f,f01,f01b,f01c,f01d,f01k,f01l,f01m,f01n,f01p,f02,f02b,f02c,f02d,f02f,f02g,f02k,f02m,f02n,f02p,f03,f03b,f03c,f03d,f03g,f03h,f04,f04b,f04c,f04d,f04f,f15,f15b,f15c,f15d,f16,f16b,f16c,f16d,f16f,f16g,f16h,f16j,f16k,f16l,f16m,f16n,f16p,f16s,f16t,f17,f17b,f17c,f17d,f21,f21h,f21k,f21l,f21s,f21v,f22,f22b,f22d,f22g,f23,f23b,f23c,f23d,f23g,f23h,f23j,f23k,f23l,f23m,f23n,f23q,f23r,f24,f24b,f24c,f24d,f24f,f24h,f24j,f25,f25b,f25c,f25d,f25j,f26,f26b,f27,f27b,f27d,f28,f28b,f28c,f28d,f28f,f28g,f41,f41a,f41b,f41c,f41f,f41g,f41h,f41j,f42,f42b,f42c,f42d,f99,f99z,g,g01,g01b,g01c,g01d,g01f,g01g,g01h,g01j,g01k,g01l,g01m,g01n,g01p,g01q,g01r,g01s,g01t,g01v,g01w,g02,g02b,g02c,g02f,g03,g03b,g03c,g03d,g03f,g03g,g03h,g04,g04b,g04c,g04d,g04f,g04g,g05,g05b,g05d,g05f,g05g,g06,g06c,g06d,g06e,g06f,g06g,g06j,g06k,g06m,g06n,g06q,g06t,g07,g07b,g07c,g07d,g07f,g07g,g08,g08b,g08c,g08g,g09,g09b,g09c,g09d,g09f,g09g,g10,g10b,g10c,g10d,g10f,g10g,g10h,g10k,g10l,g11,g11b,g11c,g12,g12b,g21,g21b,g21c,g21d,g21f,g21g,g21h,g21j,g21k,g99,g99z,h,h01,h01b,h01c,h01f,h01g,h01h,h01j,h01k,h01l,h01m,h01p,h01q,h01r,h01s,h01t,h02,h02b,h02g,h02h,h02j,h02k,h02m,h02n,h02p,h03,h03b,h03c,h03d,h03f,h03g,h03h,h03j,h03k,h03l,h03m,h04,h04b,h04h,h04j,h04k,h04l,h04m,h04n,h04q,h04r,h04s,h04w,h05,h05b,h05c,h05f,h05g,h05h,h05k,h99,h99z,";

function mayBeValid( sSymbol,bIsCore )
{

	var sToBeChecked;

	if( sSymbol.length > 4 ){
		sSymbol=sSymbol.substring(0,4);
	}
//	alert(bIsCore);
	return (bIsCore?coresub:advancedsub).indexOf(","+sSymbol+",") >= 0;

}  // mayBeValid

function jumpWord(sWord, sLevel, sId) {
	var oRoot = getRoot();
	oRoot.searchWord(sWord, sLevel, sId);
}

function cwPager(iPos) {
	var sURL = window.location.href;

	sURL = removeParam(changeParam(sURL, 'pos', iPos), 'whash');

//	prompt('', sURL);

	window.location.href = sURL;
}

function reduceChars(sString) {
	var aSource = [
		[ 'E', '\\%C3\\%89' ],
		[ 'A', '\\%C3\\%81' ],
		[ 'I', '\\%C3\\%8D' ],
		[ 'O', '\\%C5\\%90' ],
		[ 'O', '\\%C3\\%96' ],
		[ 'O', '\\%C3\\%93' ],
		[ 'U', '\\%C5\\%B0' ],
		[ 'U', '\\%C3\\%9C' ],
		[ 'U', '\\%C3\\%9A' ]
	];
	sString = encodeURI(sString);
	for (var i = 0; i < aSource.length; i++) {
		sString = sString.replace(new RegExp(aSource[i][1], 'g'), aSource[i][0]);
	}
}

function localJumpToDef(sName) {
	if (sName.charAt(0) == '#')
		sName = sName.substr(1);
	document.getElementById('idDiv_GLOSSARY').style.display = 'inline';
	document.getElementById('idImg_GLOSSARY').src = 'images/minus.png';

	var iOffset = getObjectTop(sName);
	window.scrollTo(0, iOffset);
}




//------------------------------
// IPC7 Jump

var AuthEnBegin;
var AuthFrBegin;

detect=navigator.userAgent.toLowerCase();
if((detect.indexOf('opera/5') + 1)){
	var Opera5=true;
}


//ARCANUM Functions -------------------------------------------
function arcanum_goto(s,t,a){
    // not this section
    if(s.substring(0,1) != t ) return "";

    // jump to subclass or below.
    s3=s.substring(1,4)
    ln=a.length;
    for(i=0;i<ln;i+=3){
        if(a.substring(i+2,i+3)>"9" && a.substring(i,i+3) == s3)
        break;
    }

    if(i==ln || a.substring(i,i+3)!=s3){
        alert("No such class/subclass!");
        return "";
    }
    // get main group
    m=s.substring(4,7);
    n=0;
    // find in jump table the page which embedds m
    for(k=i+3;k<ln;k+=3){
        if(a.substring(k+2,k+3)>"9")	// we have reached the next subclass (letter is the third char)
        break;
    if(a.substring(k,k+3)>m)	// the next main group is greater than this
    break;
    n++;
    }
    return(n==0?"":((n<=9?"0":"")+String(n)));
}


function arcanum_postfix(lang,IPCString) {
//	alert(lang+" "+IPCString);

			res = arcanum_goto(IPCString,"A","01B02101C01D03705901F01G01H01J01K06301L01M01N03904921B21C21D22B22C23B23C23D23F23G23J23K23L00223N23P24B24C24D24F41B41C41D41F41G41H42B42C43B01543C43D02744B44C45B45C45D02003145F46B46D47B04147C00501947D47F47G47H47J03347K47L01361B00661C61D61F00661G61H61J61K03103303961L02461M02161N61P01762B62C62D63B02906163C63D63F63G63H01863J63K");
			res=res!=""?res:arcanum_goto(IPCString,"B","01B01D02503504706301F01J02102503104101L02B02C01703B03C03D04B04C05B05C05D06B07B07C08B09B09C21B03121C21D02104121F21G21H21J21K21L22C22D01822F23B02923C23D03505923F23G23H23K01323P23Q00924B00903124C24D25B25C25D25F25G25H25J26B26D26F27B27C27D27F27G27H27J27K27L27M27N28B01328C28D29B29C04304705105906929D29K25949629L30B31B00500901301702102502903303704131C31D31F32B01841B01541C41D41F00701641G41J00300901502103241K41L01903841M41N42B42C42D42F43K43L43M44B44C44D44F60B02360C01760D60F60G60H60J60K02560L60M60N60P60Q60R02160S60T01360V61B61C61D61F61G61H61J61K61L62B62C62D00903562H62J62K62L62M63B01502503863C63G63H02063J64B64C01364D02364F64G65B01102303905365C65D00602503504505507308308865F65G01702704705306765H01102603905406166B01766C01366D66F67B67C67D68B68C68F68G81B81C82B");
			res=res!=""?res:arcanum_goto(IPCString,"C","01B01502303501C01D01F01G02F03B01102703C01104B01603003705B05C05D05F05G06B06C06D06F07B07C00601502103103704304605005506106607120721321923123523925325727329131131532533507D20921321522523524125326727930330931533541547349350107F07G07H07J07K01107M08B08C08F00601803212221622626908G01606106407108H08J08K08L02706109B00603103704809C09D10513316509F09G09H09J12515318109K01710B04110C10F10G02504710H10J10K10L10M11513114510N11B11C11D00712C12F12G12H12J12L12M12N01112P12Q12R12S13C13D13F13G13H13J13K14B14C21B21C21D22B01522C03822F22K23C01201823D23F23G25B25C25D01125F30B021");
			res=res!=""?res:arcanum_goto(IPCString,"D","01B01C01D01F01G01H00702G02H02J03C03D04703J04B01904C04D04G04H05B03905C06B06C06F04107106G06H06J06L06M01406N06P06Q07B21B21C21D21F21G21H01921J");
			res=res!=""?res:arcanum_goto(IPCString,"E","01B01101C01D01F01H02B02C02D01102F03B03C03D03F04B00504C04D04F04G01304H00905B03505C05D05F05G06B00506C21B01102721C02921D21F");
			res=res!=""?res:arcanum_goto(IPCString,"F","01B01C01D01K01L01M01N01P02B03105502C02D02F02G02K02M01703105102N02P03B03C03D03G03H04B02304C04D04F15B15C15D16B01316C02116D00502704505716F01116G16H00902304106116J16K01316L01102503905716M16N16P16S16T17B17C17D21H21K21L21M21P21Q21S21V01921W21Y22B02322D22G23B23C23D23G23H23J23K23L23M23N23Q23R24B24C24D24F24H24J25B25C25D25J26B01727B27D28B28C28D28F28G41A00901102141B41C41F41G41H41J42B00601442C42D");
			res=res!=""?res:arcanum_goto(IPCString,"G","01B00901C01901D00901F00501G01901H01J01K01L01M01N01102202901P01R01302203301S00501101501T01V01W02B00701502C02F03B01102102903C00303D03F03G03H04B02104C04D04F04G05B05D05F05G06C06D06E06F00901506G06J06K06M06N06T07B07C07D07F07G08B01908C08G09B01109C09D09F09G10B10C10D10F10G10H10K10L11B00701702511C01312B21B21C00701921D21F21G21H21J21K");
			res=res!=""?res:arcanum_goto(IPCString,"H","01B01101C01F01001G01H00701502303504705307301J00501102102703304101K01L02302703103301M00801P01Q01101R01201501S00401T02B02G02H02J02K00902103302M00702N02P00603B03C03D03F03G03H03J03K00400601903L03M00904B00704H04J04K04L01304M00304N00500704Q04R04S05B00705C05F05G05H05K");

	/*
	var res="";
	switch (lang) {
		case "EN":
			res=arcanum_goto(IPCString,"A","01B02106301C01D03705901F01G01H01J01K06301L01M01N03904921B21C21D22B22C23B23C23D23F23G23J23K23L00223N23P24B24C24D24F41B41C41D41F41G41H42B42C43B01543C43D02744B44C45B45C45D02003145F46B46D47B04147C00501947D47F47G47H47J03347K47L01361B00661C61D61F00661G61H61J61K03103303961L02461M02161N61P01762B62C62D63B02906163C63D63F63G63H01863J63K");
			res=res!=""?res:arcanum_goto(IPCString,"B","01B01D02503504706301F01J02102903704901L02B02C01703B03C03D04B04C05B05C05D06B07B07C08B09B09C21B02921C21D01903921F21G21H21J21K21L22C22D01822F23B02704123C23D03305523F23G23H23K01323P23Q00924B00903124C24D25B25C25D25F25G25H25J26B26D26F27B27C27D27F27G27H27J27K27L27M27N28B01328C28D29B29C04304705105906929D29K25949129L30B31B00500901301702102502903303704131C31D31F32B01841B01541C41D41F00701641G41J00300901502303241K41L01903841M41N42B42C42D42F43K43L43M44B44C44D44F60B02360C01760D60F60G60H60J60K02560L60M60N60P60Q60R02160S60T01360V61B61C61D61F61G61H61J61K61L62B62C62D00903562H62J62K62L62M63B01502503863C63G63H02063J64B64C01364D02364F64G65B01102303905365C65D00602503504505507308308865F65G01702704705306765H01102603905406166B01766C01366D66F67B67C67D68B68C68F68G81B81C82B");
			res=res!=""?res:arcanum_goto(IPCString,"C","01B01502303501C01D01F01G02F03B01102703C01204B01603003705B05C05D05F05G06B06C06D06F07B07C00601502103103704304605005506106607120721321923123523925325727329131131532533507D20921321723323924325526928130330931533541547349350107F07G07H07J07K01407M08B08C08F00601803212221622827708G01806106507508H08J08K08L02706109B00603103704809C09D10513316309F09G09H09J12515318109K01710B04110C10F10G02504710H10J10K10L10M11513114510N11B11C11D00712C12F12G12H12J12L12M12N01112P12Q12R12S13C13D13F13G13H13J13K14B14C21B21C21D22B01522C03822F22K23C01202023D23F23G25B25C25D01125F30B021");
			res=res!=""?res:arcanum_goto(IPCString,"D","01B01C01D01F01G01H00702G02H02J03C03D04703J04B01904C04D04G04H05B03905C06B06C06F03906706G06H06J06L06M01406N06P06Q07B21B21C21D21F21G21H01921J");
			res=res!=""?res:arcanum_goto(IPCString,"E","01B01101C01D01F01H02B02C02D01302F03B03C03D03F04B00504C04D04F04G01304H01205B03105C05D05F05G06B00506C21B01102503721C02921D21F");
			res=res!=""?res:arcanum_goto(IPCString,"F","01B01C01D01K01L01M01N01P02B03105502C02D02F02G02K02M01703105102N02P03B03C03D03G03H04B02304C04D04F15B15C15D16B01316C02116D00502704505716F01116G16H00902304106116J16K01316L01102503905716M16N16P16S16T17B17C17D21H21K21L21M21P21Q21S21V01921W21Y22B02322D22G23B23C23D23G23H23J23K23L23M23N23Q23R24B24C24D24F24H24J25B25C25D25J26B01727B27D28B28C28D28F28G41A00901102141B41C41F41G41H41J42B00601442C42D");
			res=res!=""?res:arcanum_goto(IPCString,"G","01B00901C01901D00901F00701G01901H01J01K01L01901M01N01102202901P01R01302203301S00501301T01V01W02B00701502C02F03B01102102903C00303D03F03G03H04B02104C04D04F04G05B05D05F05G06C06D06E06F00901506G06J06K06M06N06T07B07C07D07F07G08B01908C08G09B01109C09D09F09G10B10C10D10F10G10H10K10L11B00701702511C01312B21B21C00921D21F21G21H21J21K");
			res=res!=""?res:arcanum_goto(IPCString,"H","01B01101C01F01301G01H00701502303504705307301J00501102102703304101K01L02302703103501M00801P01Q01101R01201501S00401T02B02G02H02J02K00902103102M00702N02P00600903B03C03D03F03G03H03J03K00400601903L03M00904B00704H04J04K04L01304M00304N00500704Q04R04S05B00705C05F05G05H05K");
		break;
		case "FR":
			res=arcanum_goto(IPCString,"A","01B02106301C01D03705901F01G01H01J01K06301L01M01N03904921B21C21D22B22C23B23C23D23F23G23J23K23L00223N23P24B24C24D24F41B41C41D41F41G41H42B42C43B01543C43D02744B44C45B45C45D02003145F46B46D47B04147C00501947D47F47G47H47J03347K47L01361B00661C61D61F00661G61H61J61K03103303961L02461M02161N61P01762B62C62D63B02906163C63D63F63G63H01863J63K");
			res=res!=""?res:arcanum_goto(IPCString,"B","01B01D02503504706301F01J02102903704901L02B02C01703B03C03D04B04C05B05C05D06B07B07C08B09B09C21B02921C21D01903921F21G21H21J21K21L22C22D01822F23B02704123C23D03305523F23G23H23K01323P23Q00924B00903124C24D25B25C25D25F25G25H25J26B26D26F27B27C27D27F27G27H27J27K27L27M27N28B01328C28D29B29C04304705105906929D29K25949129L30B31B00500901301702102502903303704131C31D31F32B01841B01541C41D41F00701641G41J00300901502303241K41L01903841M41N42B42C42D42F43K43L43M44B44C44D44F60B02360C01760D60F60G60H60J60K02560L60M60N60P60Q60R02160S60T01360V61B61C61D61F61G61H61J61K61L62B62C62D00903562H62J62K62L62M63B01502503863C63G63H02063J64B64C01364D02364F64G65B01102303905365C65D00602503504505507308308865F65G01702704705306765H01102603905406166B01766C01366D66F67B67C67D68B68C68F68G81B81C82B");
			res=res!=""?res:arcanum_goto(IPCString,"C","01B01502303501C01D01F01G02F03B01102703C01204B01603003705B05C05D05F05G06B06C06D06F07B07C00601502103103704304605005506106607120721321923123523925325727329131131532533507D20921321723323924325526928130330931533541547349350107F07G07H07J07K01407M08B08C08F00601803212221622827708G01806106507508H08J08K08L02706109B00603103704809C09D10513316309F09G09H09J12515318109K01710B04110C10F10G02504710H10J10K10L10M11513114510N11B11C11D00712C12F12G12H12J12L12M12N01112P12Q12R12S13C13D13F13G13H13J13K14B14C21B21C21D22B01522C03822F22K23C01202023D23F23G25B25C25D01125F30B021");
			res=res!=""?res:arcanum_goto(IPCString,"D","01B01C01D01F01G01H00702G02H02J03C03D04703J04B01904C04D04G04H05B03905C06B06C06F03906706G06H06J06L06M01406N06P06Q07B21B21C21D21F21G21H01921J");
			res=res!=""?res:arcanum_goto(IPCString,"E","01B01101C01D01F01H02B02C02D01302F03B03C03D03F04B00504C04D04F04G01304H01205B03105C05D05F05G06B00506C21B01102503721C02921D21F");
			res=res!=""?res:arcanum_goto(IPCString,"F","01B01C01D01K01L01M01N01P02B03105502C02D02F02G02K02M01703105102N02P03B03C03D03G03H04B02304C04D04F15B15C15D16B01316C02116D00502704505716F01116G16H00902304106116J16K01316L01102503905716M16N16P16S16T17B17C17D21H21K21L21M21P21Q21S21V01921W21Y22B02322D22G23B23C23D23G23H23J23K23L23M23N23Q23R24B24C24D24F24H24J25B25C25D25J26B01727B27D28B28C28D28F28G41A00901102141B41C41F41G41H41J42B00601442C42D");
			res=res!=""?res:arcanum_goto(IPCString,"G","01B00901C01901D00901F00701G01901H01J01K01L01901M01N01102202901P01R01302203301S00501301T01V01W02B00701502C02F03B01102102903C00303D03F03G03H04B02104C04D04F04G05B05D05F05G06C06D06E06F00901506G06J06K06M06N06T07B07C07D07F07G08B01908C08G09B01109C09D09F09G10B10C10D10F10G10H10K10L11B00701702511C01312B21B21C00921D21F21G21H21J21K");
			res=res!=""?res:arcanum_goto(IPCString,"H","01B01101C01F01301G01H00701502303504705307301J00501102102703304101K01L02302703103501M00801P01Q01101R01201501S00401T02B02G02H02J02K00902103102M00702N02P00600903B03C03D03F03G03H03J03K00400601903L03M00904B00704H04J04K04L01304M00304N00500704Q04R04S05B00705C05F05G05H05K");
		break;
	}
	 */
	return res;
}
/*
gt(l,s,"A","01B02101C01D03705901F01G01H01J01K06301L01M01N03904921B21C21D22B22C23B23C23D23F23G23J23K23L00223N23P24B24C24D24F41B41C41D41F41G41H42B42C43B01543C43D02744B44C45B45C45D02003145F46B46D47B04147C00501947D47F47G47H47J03347K47L01361B00661C61D61F00661G61H61J61K03103303961L02461M02161N61P01762B62C62D63B02906163C63D63F63G63H01863J63K");
gt(l,s,"B","01B01D02503504706301F01J02102503104101L02B02C01703B03C03D04B04C05B05C05D06B07B07C08B09B09C21B03121C21D02104121F21G21H21J21K21L22C22D01822F23B02923C23D03505923F23G23H23K01323P23Q00924B00903124C24D25B25C25D25F25G25H25J26B26D26F27B27C27D27F27G27H27J27K27L27M27N28B01328C28D29B29C04304705105906929D29K25949629L30B31B00500901301702102502903303704131C31D31F32B01841B01541C41D41F00701641G41J00300901502103241K41L01903841M41N42B42C42D42F43K43L43M44B44C44D44F60B02360C01760D60F60G60H60J60K02560L60M60N60P60Q60R02160S60T01360V61B61C61D61F61G61H61J61K61L62B62C62D00903562H62J62K62L62M63B01502503863C63G63H02063J64B64C01364D02364F64G65B01102303905365C65D00602503504505507308308865F65G01702704705306765H01102603905406166B01766C01366D66F67B67C67D68B68C68F68G81B81C82B");
gt(l,s,"C","01B01502303501C01D01F01G02F03B01102703C01104B01603003705B05C05D05F05G06B06C06D06F07B07C00601502103103704304605005506106607120721321923123523925325727329131131532533507D20921321522523524125326727930330931533541547349350107F07G07H07J07K01107M08B08C08F00601803212221622626908G01606106407108H08J08K08L02706109B00603103704809C09D10513316509F09G09H09J12515318109K01710B04110C10F10G02504710H10J10K10L10M11513114510N11B11C11D00712C12F12G12H12J12L12M12N01112P12Q12R12S13C13D13F13G13H13J13K14B14C21B21C21D22B01522C03822F22K23C01201823D23F23G25B25C25D01125F30B021");
gt(l,s,"D","01B01C01D01F01G01H00702G02H02J03C03D04703J04B01904C04D04G04H05B03905C06B06C06F04107106G06H06J06L06M01406N06P06Q07B21B21C21D21F21G21H01921J");
gt(l,s,"E","01B01101C01D01F01H02B02C02D01102F03B03C03D03F04B00504C04D04F04G01304H00905B03505C05D05F05G06B00506C21B01102721C02921D21F");
gt(l,s,"F","01B01C01D01K01L01M01N01P02B03105502C02D02F02G02K02M01703105102N02P03B03C03D03G03H04B02304C04D04F15B15C15D16B01316C02116D00502704505716F01116G16H00902304106116J16K01316L01102503905716M16N16P16S16T17B17C17D21H21K21L21M21P21Q21S21V01921W21Y22B02322D22G23B23C23D23G23H23J23K23L23M23N23Q23R24B24C24D24F24H24J25B25C25D25J26B01727B27D28B28C28D28F28G41A00901102141B41C41F41G41H41J42B00601442C42D");
gt(l,s,"G","01B00901C01901D00901F00501G01901H01J01K01L01M01N01102202901P01R01302203301S00501101501T01V01W02B00701502C02F03B01102102903C00303D03F03G03H04B02104C04D04F04G05B05D05F05G06C06D06E06F00901506G06J06K06M06N06T07B07C07D07F07G08B01908C08G09B01109C09D09F09G10B10C10D10F10G10H10K10L11B00701702511C01312B21B21C00701921D21F21G21H21J21K");
gt(l,s,"H","01B01101C01F01001G01H00701502303504705307301J00501102102703304101K01L02302703103301M00801P01Q01101R01201501S00401T02B02G02H02J02K00902103302M00702N02P00603B03C03D03F03G03H03J03K00400601903L03M00904B00704H04J04K04L01304M00304N00500704Q04R04S05B00705C05F05G05H05K");
*/

//ARCANUM Functions -------------------------------------------

function backcanonize( newform )
{
	if (newform.length<=4 )
		return newform;
	if (newform.substr(13,1)!='0')
		return newform.substr(0,4)+newform.substr(5,3)+newform.substr(8,6);
	for (i=0;i<=3;i++) {
		if (newform.substr(13-i,1)=='0' && newform.substr(12-i,1)!='0')
			return newform.substr(0,4)+newform.substr(5,3)+newform.substr(8,5-i);
	}
	return newform.substr(0,4)+newform.substr(5,3)+newform.substr(8,2);
}  // backcanonize


function jumpIPC7( ln, IPC ) {

	var AuthEnBegin=     'http://www.wipo.int/classifications/fulltext/new_ipc/ipc7/e';
	var AuthFrBegin=     'http://www.wipo.int/classifications/fulltext/new_ipc/ipc7/f';

	// ------------------

	var IDC=backcanonize(IPC);


	var IDCu=IDC.toUpperCase();
	var IDCl=IDC.toLowerCase();

	var AEN;
	var AFR;

	// ------------------ SECTION
	if (IDC.length==1){
		AEN=	AuthEnBegin+IDCl+".htm";
		AFR=	AuthFrBegin+IDCl+".htm";

	}

	// ------------------ CLASS
	else if (IDC.length==3){
		AEN=	AuthEnBegin+IDCl+".htm";
		AFR=	AuthFrBegin+IDCl+".htm";
	}
	// ------------------ SUBCLASS
	else if (IDC.length==4){
		AEN=	AuthEnBegin+IDCl+".htm";
		AFR=	AuthFrBegin+IDCl+".htm";

	}

	// ------------------ MAINGROUP
	else if (IDC.length==9 && IDC.substr(7,2)=='00'){

		AEN=	AuthEnBegin+IDCl.substr(0,4)+arcanum_postfix('EN',IDCu)+".htm#"+IDCu;
		AFR=	AuthFrBegin+IDCl.substr(0,4)+arcanum_postfix('FR',IDCu)+".htm#"+IDCu;

	}

	// ------------------ SUBGROUP
	else{
		AEN=	AuthEnBegin+IDCl.substr(0,4)+arcanum_postfix('EN',IDCu.substr(0,7)+'00')+".htm#"+IDCu;
		AFR=	AuthFrBegin+IDCl.substr(0,4)+arcanum_postfix('EN',IDCu.substr(0,7)+'00')+".htm#"+IDCu;

	}

		var WinDB = open(AEN,'','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');

}

