Ext.onReady(function(){
		var win=new Array();
		var button = Ext.get('show-btn');
		var DIV_COUNTER;

		var moreLinkClicked = function (e, t) {
		
			// configurable part
		var ROOT_ELEMENT_CLASS = 'bodytext';
		var ROOT_ELEMENT_TAGNAME = 'div';
		
			// Don't change		
		if (!e) e= window.event;	
		var CurrentEvent = e;
		var tmpText = '';
		var n=0;
		
		var currentElement = e.getTarget(); //Ext.getDom(CurrentEvent.target);
		var currentElement = Ext.getDom(CurrentEvent.target);
		
		var parentElement = currentElement.parentNode;
		var pTname = parentElement.tagName.toLowerCase();
		var pCname = parentElement.className;
		
		var rootElement = parentElement;
		var rTname = parentElement.tagName.toLowerCase();
		var rCname = parentElement.className;
		/*
		alert('rootElement = ' + rootElement + "\n" +
			  'rTname = ' + rTname + "\n" +
			  'rCname = ' + rCname + "\n" +
			  'ROOT_ELEMENT_TAGNAME = ' + ROOT_ELEMENT_TAGNAME + "\n" +
			  'ROOT_ELEMENT_CLASS = ' + ROOT_ELEMENT_CLASS
		);
		*/
		while ((rTname != ROOT_ELEMENT_TAGNAME || rCname != ROOT_ELEMENT_CLASS) && (rTname != 'body' && rTname != 'html')) { // avoid endless loops
			//alert('rTname = ' + rTname + "\n" + 'rCname = ' + rCname);
			//if (rTname == ROOT_ELEMENT_TAGNAME && )
			rootElement = rootElement.parentNode;
			rTname = rootElement.tagName.toLowerCase();
			rCname = rootElement.className;
		}
		var rootParentElement = rootElement.parentNode;
		var rPTname = rootParentElement.tagName.toLowerCase();
		var rPCname = rootParentElement.className;
		var rPid = rootParentElement.id;
		
		for (n=0; n<rootParentElement.childNodes.length; n++) {
			//if (rootParentElement.childNodes[n] == parentElement)
			if (rootParentElement.childNodes[n].tagName) {
				if (rootParentElement.childNodes[n].tagName.toLowerCase() == ROOT_ELEMENT_TAGNAME && rootParentElement.childNodes[n].className == ROOT_ELEMENT_CLASS) {
					if (rootParentElement.childNodes[n] == rootElement)  {
						unique = n;
						if (rootParentElement.childNodes[n].id) unique = rootParentElement.childNodes[n].id + '_' + unique;
						// alert(unique);
						//alert(n + ") " + 'rootParentElement.childNodes[' + n + '] = ' + rootParentElement.childNodes[n] + "\n" + 'rootParentElement.childNodes[n].tagName = ' + rootParentElement.childNodes[n].tagName + "\n" + 'rootParentElement.childNodes[n].className= ' + rootParentElement.childNodes[n].className + "\n" + 'rootParentElement.childNodes[n].id= ' + rootParentElement.childNodes[n].id);
					}
				}
			}
		}
		//alert('rootElement = ' + rootElement + "\n" + 'rTname = ' + rTname + "\n" + 'rCname = ' + rCname + "\n" + 'rootParentElement = ' + rootParentElement + "\n" + 'rPTname = ' + rPTname + "\n" + 'rPCname = ' + rPCname + "\n" + 'rPid = ' + rPid);
		// alert('CurrentEvent = ' + CurrentEvent + "\n" + 'currentElement' + currentElement + "\n" + 'parentElement = ' + parentElement + "\n" + 'rootElement = ' + rootElement);
		
		var HIDDEN_ROOT = rootElement.nextSibling.firstChild;
		
		if (HIDDEN_ROOT && HIDDEN_ROOT.childNodes.length) {
			for (n=0; n < HIDDEN_ROOT.childNodes.length; n++) {
				if (HIDDEN_ROOT.childNodes[n].className == 'x-window-header')	var HIDDEN_HEADER = HIDDEN_ROOT.childNodes[n];
				if (HIDDEN_ROOT.childNodes[n].className == 'x-body'){			var HIDDEN_BODY = HIDDEN_ROOT.childNodes[n];
																				var HIDDEN_COUNTER = n;
				}
				// alert (n + "/" + HIDDEN_ROOT.childNodes.length + "\n" + HIDDEN_ROOT.childNodes[n].tagName + "\n" + HIDDEN_ROOT.childNodes[n].className);
			}
			//alert (HIDDEN_ROOT.tagName + "\n" + HIDDEN_ROOT.className + "\n" + HIDDEN_ROOT.outerHTML + "\n" + HIDDEN_HEADER.tagName + "\n" + HIDDEN_HEADER.className + "\n" + HIDDEN_BODY.tagName + "\n" + HIDDEN_BODY.className);
		}/*
		else {
			alert(
				'HIDDEN_ROOT.unique = ' + rootElement.unique + "\n" +
				'HIDDEN_ROOT.className = ' + rootElement.className + "\n" +
				'HIDDEN_ROOT.tagName = ' + rootElement.tagName + "\n" +
				'HIDDEN_ROOT.className = ' + rootElement.nextSibling.className + "\n" +
				'HIDDEN_ROOT.tagName = ' + rootElement.nextSibling.tagName + "\n"
			);
		}*/
		
		for (var i = 0; i < aTags.length; i++) {
			if (aTags[i].className == 'x-link') {
				//aTags[i].onmouseup = moreLinkClicked;
				//Ext.EventManager.addListener(aTags[i], 'click', moreLinkClicked);
				// alert(aTags[i] + "\n" + i + "\n" + aTags[i].className + "\n");
				var llastIndex = (aTags[i].id.lastIndexOf('_'));
				var lId = aTags[i].id.substring(5,llastIndex);
				var plastIndex = (rootElement.id.lastIndexOf('_'));
				var pId = rootElement.id.substring(3,plastIndex);
				if (lId == pId) {
					// alert(lId + "\n" + pId + "\n" + llastIndex + "\n" + plastIndex);
					popupWidth = eval('popupWidth_' + lId);
					popupHeight = eval('popupHeight_' + lId);
					popupLeft = eval('popupLeft_' + lId);
					popupTop = eval('popupTop_' + lId);
					// alert(popupWidth + "\n" + popupHeight + "\n" + popupLeft + "\n" + popupTop);
				}
			}
		}

		
        // create the window on the first click and reuse on subsequent clicks
        if(!win[unique]){
            win[unique] = new Ext.Window({
                applyTo:    HIDDEN_ROOT,
                layout:     'fit',
                width:      popupWidth,
                height:     popupHeight,
                x:          popupLeft,
                y:          popupTop,
                closeAction:'hide',
                plain:      true,
                items :{
                   contentEl: HIDDEN_BODY
                }
            });
        }
        win[unique].show(this);
    };
	var aTags = document.getElementsByTagName('a');
	for (var i = 0; i < aTags.length; i++) {
		if (aTags[i].className == 'x-link') {
			//aTags[i].onmouseup = moreLinkClicked;
			Ext.EventManager.addListener(aTags[i], 'click', moreLinkClicked);
			// alert(aTags[i] + "\n" + i + "\n" + aTags[i].className + "\n");
		}
	}
});
