/*------------------------------------------------------------------------------
 * JavaScript zXml Library
 * Version 1.0.1
 * by Nicholas C. Zakas, http://www.nczonline.net/
 * Copyright (c) 2004-2005 Nicholas C. Zakas. All Rights Reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 *------------------------------------------------------------------------------
 */  

 
var zXml = {
    useActiveX: (typeof ActiveXObject != "undefined"),
    useDom: document.implementation && document.implementation.createDocument,
    useXmlHttp: (typeof XMLHttpRequest != "undefined")
};

zXml.ARR_XMLHTTP_VERS = ["MSXML2.XmlHttp.5.0", "MSXML2.XmlHttp.4.0", 
                         "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp",
                         "Microsoft.XmlHttp"];

zXml.ARR_DOM_VERS = ["MSXML2.DOMDocument.5.0", "MSXML2.DOMDocument.4.0", 
                     "MSXML2.DOMDocument.3.0", "MSXML2.DOMDocument",
                     "Microsoft.XmlDom"];
                   
/**
 * Static class for handling XMLHttp creation.
 * @class
 */                     
function zXmlHttp() {
}

/**
 * Creates an XMLHttp object.
 * @return An XMLHttp object.
 */
zXmlHttp.createRequest = function ()/*:XMLHttp*/ {

    if (zXml.useXmlHttp) {
        return new XMLHttpRequest();
    } else if (zXml.useActiveX) {
  
        if (!zXml.XMLHTTP_VER) {
            for (var i=0; i < zXml.ARR_XMLHTTP_VERS.length; i++) {
                try {
                    new ActiveXObject(zXml.ARR_XMLHTTP_VERS[i]);
                    zXml.XMLHTTP_VER = zXml.ARR_XMLHTTP_VERS[i];
                    break;
                } catch (oError) {                
                }
            }
        }
        
        if (zXml.XMLHTTP_VER) {
            return new ActiveXObject(zXml.XMLHTTP_VER);
        } else {
            throw new Error("Could not create XML HTTP Request.");
        }
    } else {
        throw new Error("Your browser doesn't support an XML HTTP Request.");
    }

};

/**
 * Indicates if XMLHttp is available.
 * @return True if XMLHttp is available, false if not.
 */
zXmlHttp.isSupported = function ()/*:Boolean*/ {
    return zXml.useXmlHttp || zXml.useActiveX;
};


/**
 * Static class for handling XML DOM creation.
 * @class
 */
function zXmlDom() {

}

/**
 * Creates an XML DOM document.
 * @return An XML DOM document.
 */
zXmlDom.createDocument = function () /*:XMLDocument*/{

    if (zXml.useDom) {

        var oXmlDom = document.implementation.createDocument("","",null);

        oXmlDom.parseError = {
            valueOf: function () { return this.errorCode; },
            toString: function () { return this.errorCode.toString() }
        };
        
        oXmlDom.__initError__();
                
        oXmlDom.addEventListener("load", function () {
            this.__checkForErrors__();
            this.__changeReadyState__(4);
        }, false);

        return oXmlDom;        
        
    } else if (zXml.useActiveX) {
        if (!zXml.DOM_VER) {
            for (var i=0; i < zXml.ARR_DOM_VERS.length; i++) {
                try {
                    new ActiveXObject(zXml.ARR_DOM_VERS[i]);
                    zXml.DOM_VER = zXml.ARR_DOM_VERS[i];
                    break;
                } catch (oError) {                
                }
            }
        }
        
        if (zXml.DOM_VER) {
            return new ActiveXObject(zXml.DOM_VER);
        } else {
            throw new Error("Could not create XML DOM document.");
        }
    } else {
        throw new Error("Your browser doesn't support an XML DOM document.");
    }

};

/**
 * Indicates if an XML DOM is available.
 * @return True if XML DOM is available, false if not.
 */
zXmlDom.isSupported = function ()/*:Boolean*/ {
    return zXml.useDom || zXml.useActiveX;
};

//Code to make Mozilla DOM documents act more like MS DOM documents.
var oMozDocument = null;
if (typeof XMLDocument != "undefined") {
    oMozDocument = XMLDocument;
} else if (typeof Document != "undefined") {
    oMozDocument = Document;
}

if (oMozDocument && !window.opera) {

    oMozDocument.prototype.readyState = 0;
    oMozDocument.prototype.onreadystatechange = null;

    oMozDocument.prototype.__changeReadyState__ = function (iReadyState) {
        this.readyState = iReadyState;

        if (typeof this.onreadystatechange == "function") {
            this.onreadystatechange();
        }
    };

    oMozDocument.prototype.__initError__ = function () {
        this.parseError.errorCode = 0;
        this.parseError.filepos = -1;
        this.parseError.line = -1;
        this.parseError.linepos = -1;
        this.parseError.reason = null;
        this.parseError.srcText = null;
        this.parseError.url = null;
    };
    
    oMozDocument.prototype.__checkForErrors__ = function () {

        if (this.documentElement.tagName == "parsererror") {

            var reError = />([\s\S]*?)Location:([\s\S]*?)Line Number (\d+), Column (\d+):<sourcetext>([\s\S]*?)(?:\-*\^)/;

            reError.test(this.xml);
            
            this.parseError.errorCode = -999999;
            this.parseError.reason = RegExp.$1;
            this.parseError.url = RegExp.$2;
            this.parseError.line = parseInt(RegExp.$3);
            this.parseError.linepos = parseInt(RegExp.$4);
            this.parseError.srcText = RegExp.$5;
        }
    };
            
    oMozDocument.prototype.loadXML = function (sXml) {
    
        this.__initError__();
    
        this.__changeReadyState__(1);
    
        var oParser = new DOMParser();
        var oXmlDom = oParser.parseFromString(sXml, "text/xml");
 
        while (this.firstChild) {
            this.removeChild(this.firstChild);
        }

        for (var i=0; i < oXmlDom.childNodes.length; i++) {
            var oNewNode = this.importNode(oXmlDom.childNodes[i], true);
            this.appendChild(oNewNode);
        }
        
        this.__checkForErrors__();
        
        this.__changeReadyState__(4);

    };
    
    oMozDocument.prototype.__load__ = oMozDocument.prototype.load;

    oMozDocument.prototype.load = function (sURL) {
        this.__initError__();
        this.__changeReadyState__(1);
        this.__load__(sURL);
    };
    
    Node.prototype.__defineGetter__("xml", function () {
        var oSerializer = new XMLSerializer();
        return oSerializer.serializeToString(this, "text/xml");
    });

    Node.prototype.__defineGetter__("text", function () {
        var sText = "";
        for (var i = 0; i < this.childNodes.length; i++) {
            if (this.childNodes[i].hasChildNodes()) {
                sText += this.childNodes[i].text;
            } else {
                sText += this.childNodes[i].nodeValue;
            }
        }
        return sText;

    });

}

/**
 * Static class for handling XSLT transformations.
 * @class
 */
function zXslt() {
}

/**
 * Transforms an XML DOM to text using an XSLT DOM.
 * @param oXml The XML DOM to transform.
 * @param oXslt The XSLT DOM to use for the transformation.
 * @return The transformed version of the string.
 */
zXslt.transformToText = function (oXml /*:XMLDocument*/, oXslt /*:XMLDocument*/)/*:String*/ {
    if (typeof XSLTProcessor != "undefined") {
        var oProcessor = new XSLTProcessor();
        oProcessor.importStylesheet(oXslt);
    
        var oResultDom = oProcessor.transformToDocument(oXml);
        var sResult = oResultDom.xml;
    
        if (sResult.indexOf("<transformiix:result") > -1) {
            sResult = sResult.substring(sResult.indexOf(">") + 1, 
                                        sResult.lastIndexOf("<"));
        }
    
        return sResult;     
    } else if (zXml.useActiveX) {
        return oXml.transformNode(oXslt);
    } else {
        throw new Error("No XSLT engine found.");
    }
};

/**
 * Static class for handling XPath evaluation.
 * @class
 */
function zXPath() {

}

/**
 * Selects the first node matching a given XPath expression.
 * @param oRefNode The node from which to evaluate the expression.
 * @param sXPath The XPath expression.
 * @param oXmlNs An object containing the namespaces used in the expression. Optional.
 * @return An XML node matching the expression or null if no matches found.
 */
zXPath.selectNodes = function (oRefNode, sXPath, oXmlNs) {
    if (typeof XPathEvaluator != "undefined") {
    
        oXmlNs = oXmlNs || {};
        
        var nsResolver = function (sPrefix) {
    			  return oXmlNs[sPrefix];
        };
		
        var oEvaluator = new XPathEvaluator();
        var oResult = oEvaluator.evaluate(sXPath, oRefNode, nsResolver, 
                                          XPathResult.ORDERED_NODE_ITERATOR_TYPE, 
                                          null);

        var aNodes = new Array;
        
        if (oResult != null) {
            var oElement = oResult.iterateNext();
            while(oElement) {
                aNodes.push(oElement);
                oElement = oResult.iterateNext();
            }
        }
        
        return aNodes;
        
    } else if (zXml.useActiveX) {
    		if (oXmlNs) {
            var sXmlNs = "";
            for (var sProp in oXmlNs) {
                sXmlNs += "xmlns:" + sProp + "=\'" + oXmlNs[sProp] + "\' ";
            }
    			  oRefNode.ownerDocument.setProperty("SelectionNamespaces", sXmlNs);
    		}  		
        return oRefNode.selectNodes(sXPath);
    } else {
        throw new Error("No XPath engine found.");
    }

};

/**
 * Selects the first node matching a given XPath expression.
 * @param oRefNode The node from which to evaluate the expression.
 * @param sXPath The XPath expression.
 * @param oXmlNs An object containing the namespaces used in the expression.
 * @return An XML node matching the expression or null if no matches found.
 */
zXPath.selectSingleNode = function (oRefNode, sXPath, oXmlNs) {
    if (typeof XPathEvaluator != "undefined") {            
	
        oXmlNs = oXmlNs || {};
        
        var nsResolver = function (sPrefix) {
    			  return oXmlNs[sPrefix];
        };
    
        var oEvaluator = new XPathEvaluator();
        var oResult = oEvaluator.evaluate(sXPath, oRefNode, nsResolver,
                                          XPathResult.FIRST_ORDERED_NODE_TYPE, null);
    
        if (oResult != null) {
            return oResult.singleNodeValue;
        } else {
            return null;
        }              
    
    } else if (zXml.useActiveX) {
    		if (oXmlNs) {
            var sXmlNs = "";
            for (var sProp in oXmlNs) {
                sXmlNs += "xmlns:" + sProp + "=\'" + oXmlNs[sProp] + "\' ";
            }
    			  oRefNode.ownerDocument.setProperty("SelectionNamespaces", sXmlNs);
    		}    
        return oRefNode.selectSingleNode(sXPath);
    } else {
        throw new Error("No XPath engine found.")
    }

};

/**
 * General purpose XML serializer.
 * @class
 */
function zXMLSerializer() {

}

/**
 * Serializes the given XML node into an XML string.
 * @param oNode The XML node to serialize.
 * @return An XML string.
 */
zXMLSerializer.prototype.serializeToString = function (oNode /*:Node*/)/*:String*/ {

    var sXml = "";
    
    switch (oNode.nodeType) {
        case 1: //element
            sXml = "<" + oNode.tagName;
            
            for (var i=0; i < oNode.attributes.length; i++) {
                sXml += " " + oNode.attributes[i].name + "=\"" + oNode.attributes[i].value + "\"";
            }
            
            sXml += ">";
            
            for (var i=0; i < oNode.childNodes.length; i++){
                sXml += this.serializeToString(oNode.childNodes[i]);
            }
            
            sXml += "</" + oNode.tagName + ">";
            break;
            
        case 3: //text node
            sXml = oNode.nodeValue;
            break;
        case 4: //cdata
            sXml = "<![CDATA[" + oNode.nodeValue + "]]>";
            break;
        case 7: //processing instruction
            sXml = "<?" + oNode.nodevalue + "?>";
            break;
        case 8: //comment
            sXml = "<!--" + oNode.nodevalue + "-->";
            break;
        case 9: //document
            for (var i=0; i < oNode.childNodes.length; i++){
                sXml += this.serializeToString(oNode.childNodes[i]);
            }
            break;
            
    }  
    
    return sXml;
};


/*
	-------------------------------------------------------------
	I- II'IYI$I.IoI IYI!ITIsI- - www.naftemporiki.gr
	-------------------------------------------------------------
	(c) 1996-2007 Naftemporiki - P. Athanassiades & Co SA
	http://www.naftemporiki.gr
	info@naftemporiki.gr
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Generic Scripts / Functions
	Author:			OgilvyOne worldwide, Athens
	Filename:		lib.js
	Version:		1.3
	Date:			Thursday, Apr 23, 2006
	-------------------------------------------------------------
*/
	
	
/*	-------------------------------------------------------------
	function:		getCookie(), setCookie(), deleteCookie()
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Yes, these functions are used for handling
					cookies.
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
		
		<!--
		function getCookie(CookieName) {
			var start = document.cookie.indexOf(CookieName + '=');
			var len = start + CookieName.length + 1;
			if ((!start) && (CookieName != document.cookie.substring(0,CookieName.length)))
				return null;
			if (start == -1)
				return null;
			var end = document.cookie.indexOf(';',len);
			if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(len,end));
		}

		function setCookie(CookieName,value,expires,path,domain,secure) {
			document.cookie = CookieName + "=" +escape(value) +
			( (expires) ? ";expires=" + expires : "") +
			( (path) ? ";path=" + path : "") + 
			( (domain) ? ";domain=" + domain : "") +
			( (secure) ? ";secure" : "");
		}

		function deleteCookie(CookieName,path,domain) {
			if (getCookie(CookieName))
				document.cookie =
				CookieName + '=' +
				( (path) ? ';path=' + path : '') +
				( (domain) ? ';domain=' + domain : '') +
				';expires=Thu, 01-Jan-1970 00:00:01 GMT';
		}
		//-->

	
/*	-------------------------------------------------------------
	function:		makebigger(), makesmaller(), setSize(),
					saveSize(), loadSize(), initArticle()
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Yes, these functions are used for handling
					cookies.
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
	
		<!--
		function ajaxLoader(url,id) {
			if (document.getElementById) {
				var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
			}
			if (x) {
				x.onreadystatechange = function() {
					if (x.readyState == 4 && x.status == 200) {
						el = document.getElementById(id);
						el.innerHTML = x.responseText;
					}
				}
				x.open("GET", url, true);
				x.send(null);
			}
		}
		//-->
	
		<!--
		function ajaxLoader_xml(url,id) {
			if (document.getElementById) {
				//var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
				var x = zXmlHttp.createRequest();
			}
			if (x) {
				x.onreadystatechange = function() {
					if (x.readyState == 4 && x.status == 200) {
						var xmldoc = x.responseXML;
						var oRoot = xmldoc.documentElement;
						el = document.getElementById(id);
						//browser detection
						//if (window.event){
							//el.innerHTML = oRoot.childNodes[0].text;
						//}
						//else{
							//el.innerHTML = oRoot.childNodes[1].text;
						//}
						
						el.innerHTML = oRoot.childNodes[0].text;
						
						if (document.getElementById("pageloader")){
							document.getElementById("pageloader").style.display = "none";
						}
					}
				}
				x.open("GET", url, true);
				x.send(null);
			}
		}
		//-->
		
		<!--
		function getMarketsOptions(url,id) {
			if (document.getElementById) {
				//var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
				var x = zXmlHttp.createRequest();
			}
			if (x) {
				x.onreadystatechange = function() {
					if (x.readyState == 4 && x.status == 200) {
						var xmldoc = x.responseXML;
						var oRoot = xmldoc.documentElement;
						el = document.getElementById(id);
						//browser detection
						//if (window.event){
							//el.innerHTML = oRoot.childNodes[0].text;
						//}
						//else{
							//el.innerHTML = oRoot.childNodes[1].text;
						//}
						
						el.innerHTML = oRoot.childNodes[0].text;
						
						if (document.getElementById("pageloader")){
							document.getElementById("pageloader").style.display = "none";
						}
						
						if (document.getElementById("optionsBox")){
							document.getElementById("optionsBox").style.display = "block";
						}
					}
				}
				x.open("GET", url, true);
				x.send(null);
			}
		}
		//-->
		
		
		
		<!--
		function rateArticle(storyid, intRating){
			var x = zXmlHttp.createRequest();
			var surl = "/news/rate.asp?storyid=" + storyid + "&rating=" + intRating;
			if (x){
				x.onreadystatechange = function() {
					if (x.readyState == 4 && x.status == 200) {
						var xmldoc = x.responseXML;
						var oRoot = xmldoc.documentElement;
						document.getElementById("rateMessage").innerHTML = oRoot.childNodes[0].text;
						if (oRoot.childNodes[0].text.indexOf("Δεν")<0){
							document.getElementById("noofvotes").innerHTML = parseInt(document.getElementById("noofvotes").innerHTML) + 1
							if (parseInt(document.getElementById("noofvotes").innerHTML)>1){
								document.getElementById("textvote").innerHTML = "&nbsp;ψήφοι"
							} else {
								document.getElementById("textvote").innerHTML = "&nbsp;ψήφος"
							}
						};
					}
				};
				x.open("GET", surl, true);
				x.send(null);
			}
		}
		//-->


	
/*	-------------------------------------------------------------
	function:		makebigger(), makesmaller(), setSize(),
					saveSize(), loadSize(), initArticle()
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Yes, these functions are used for handling
					cookies.
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/

		<!--
		function makebigger() {
			fontSize = fontSize+1;
			if (fontSize > 16) {fontSize = 16;};
			setSize();
		}
		
		function makesmaller() {
			fontSize = fontSize-1;
			if (fontSize < 11) {fontSize = 11;};
			setSize();
		}
		
		function setSize() {
			document.all.centercolumn.style.fontSize = fontSize;
			saveSize();
		}
			
		function saveSize() {
			//document.cookie=" fontSize = "+fontSize+"; path=/; expires=Mon, 31 Dec 2017 23:59:59 UTC;  ";
			setCookie("fontSize", fontSize , "Mon, 01-Jan-2015 00:00:00 GMT", "/");
		}
			
		function loadSize() {
			myfontSize = document.cookie.split(";");		
			for (tA = 0; tA < myfontSize.length; tA++) {
				if (myfontSize[tA].indexOf('fontSize') > -1) {
					fontValue = myfontSize[tA].split("=")
					fontSize = parseInt(fontValue[1]);
				}
			}
		}
		
		function initArticle() {
			loadSize();
			setSize();
		}
		//-->
	
/*	-------------------------------------------------------------
	function:		toTop()
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	This little functions performs a smooth
					scroll from the bottom to the top of the
					page. Mozilla ONLY.
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
		
		<!--
		var g_USER_AGENT = getAgent();
		
		// return NN4, NN5(Netscape 6+, Mozilla 1+?), IE4, IE5(IE5+), Unknown
		function getAgent(){
			var userAgent = navigator.userAgent;
			var charIndex;
			var majorVersion;
			charIndex = userAgent.indexOf("MSIE");
			if(charIndex) {
				majorVersion = userAgent.charAt(charIndex + 4 + 1);
				if (majorVersion > 4) {
					return("IE5");
				} else if(majorVersion == 4) {
					return("IE4");
				}
			}
			charIndex = userAgent.indexOf("Mozilla");
			majorVersion = userAgent.charAt(charIndex + 7 + 1);
			if (majorVersion > 4) {
				return("NN5");
			} else if (majorVersion == 4) {
				return("NN4");
			}
			return("Unknown");
		}
		
		// USER_AGENT check end
		
		function getWindowYOffset() {
			if(g_USER_AGENT == "IE5" || g_USER_AGENT == "IE4") {
				return document.body.scrollTop;
			} else if(g_USER_AGENT == "NN5" || g_USER_AGENT == "NN4") {
				return window.pageYOffset;
			} else {
				return 0;
			}
		}
		
		var waitTimer;
		
		function jumpTo(dstY, srcY, scrollRate, waitMillSec) {
			if(waitTimer) {
				clearTimeout(waitTimer);
			}
		
			if( ! dstY || dstY < 0 ) {
				dstY = 0;
			}
			if( ! srcY ) {
				srcY = 0 + getWindowYOffset();
			}
			if( ! scrollRate ) {
				scrollRate = 5;
			}
			if( ! waitMillSec ) {
				waitMillSec = 20;
			}
		
			srcY += (dstY - getWindowYOffset()) / scrollRate;
			if(srcY < 0) {
				srcY = 0;
			}
			posY = Math.floor(srcY);
			window.scrollTo(0, posY);
		
			if(posY != dstY) {
				waitTimer = setTimeout("jumpTo("+ dstY +", "+ srcY +", "+ scrollRate +", "+ waitMillSec +")", waitMillSec);
			} else if (posY == dstY) {
				clearTimeout(waitTimer);
			} else if (posY < 1) {
				window.scroll(0, 0);
			}
		}
		
		function toTop() {
			jumpTo(0, 0, 7, 14);
		}
		//-->

		
		
	
/*	-------------------------------------------------------------
	function:		fontSize
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Chnage the font size within the article
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
		<!-- 
		
		var currentSize;

		function fontSize(obj) {
			if (currentSize == "large") {
				pRoot = document.getElementById("alpha").getElementsByTagName("p");
				for (i=0; i<pRoot.length; i++) {
					pRoot[i].className = pRoot[i].className.replace("large", "");
				}
				hRoot = document.getElementById("alpha").getElementsByTagName("h3");
				for (i=0; i<hRoot.length; i++) {
					hRoot[i].className = hRoot[i].className.replace("large", "");
				}
				obj.className = "fontLarger";
				obj.innerHTML = "Μεγαλύτερα Γράμματα";
				currentSize = "small";
			} else {
				pRoot = document.getElementById("alpha").getElementsByTagName("p");
				for (i=0; i<pRoot.length; i++) {
					pRoot[i].className += " large";
				}
				hRoot = document.getElementById("alpha").getElementsByTagName("h3");
				for (i=0; i<hRoot.length; i++) {
					hRoot[i].className += " large";
				}
				obj.className = "fontSmaller";
				obj.innerHTML = "Μικρότερα Γράμματα";
				currentSize = "large";
			}
		}
		//-->

		
		
	
/*	-------------------------------------------------------------
	function:		articleWide / Secret Function
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Wide/Narrow story conversion
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
		<!-- 
		
		var wide = false;
		
		function articleWide() {
			if (wide == false) {
				document.getElementById("AboveContainer").style.backgroundImage = "url(_images/article_full_bg.gif)";
				document.getElementById("alpha").style.width = "940px";
				document.getElementById("beta").style.display = "none";
				wide = true;
			} else {
				document.getElementById("AboveContainer").style.backgroundImage = "url(_images/article_bg.gif)";
				document.getElementById("alpha").style.width = "620px";
				document.getElementById("beta").style.display = "block";
				wide = false;
			}
		}
		//-->


	
/*	-------------------------------------------------------------
	function:		startList
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	This little function makes the navigation
					hovers work in IE6-, due to lack of support
					for pseudo classes on LI elements.
					Heavily inspired by ALA's: Hybrid CSS
					Dropdowns by E. Shepherd
					http://www.alistapart.com/articles/hybrid/
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
		
		<!--
		startList = function() {
			if (document.all && document.getElementById) {
				navRoot = document.getElementById("nav");
				for (i=0; i<navRoot.childNodes.length; i++) {
					node = navRoot.childNodes[i];
					if (node.nodeName == "LI" ) {
						node.onmouseover = function() {
							this.className += " over";
						}
						node.onmouseout = function() {
							this.className = this.className.replace(" over", "");
						}
					}
				}
				
				footerRoot = document.getElementById("footerLinks");
				for (i=0; i<footerRoot.childNodes.length; i++) {
					fnode = footerRoot.childNodes[i];
					if (fnode.nodeName == "LI" ) {
						fnode.onmouseover = function() {
							this.className += " over";
						}
						fnode.onmouseout = function() {
							this.className = this.className.replace(" over", "");
						}
					}
				}
			}
		}
		//-->
		
		
	
/*	-------------------------------------------------------------
	function:		tabBox
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Tab Box script. There's a great example on
					setting up the markup for the Tab Boxes in
					the tabBox.css file
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
		<!--
		
		function showTab(thisTab,tabBox,tabName,tabNameArray,loadUrl) {
			if (tabName == 'null') {
				highLightTab(tabBox);
				thisTab.className = "selectedTab";
				window.location.href = loadUrl;
			} else {
				var tabArray = tabNameArray.split(",");
				for(var i=0; i < tabArray.length; i++) {
					if (tabName != tabArray[i]) {
						document.getElementById(tabArray[i]).style.display = "none";
					} else {
						document.getElementById(tabArray[i]).style.display = "block";
					}
				}
				highLightTab(tabBox);
				thisTab.className = "selectedTab";
				ajaxLoader(loadUrl,tabName);
			}
		}
		
		function showTab_noajax(thisTab,tabBox,tabName,tabNameArray) {
			var tabArray = tabNameArray.split(",");
			for(var i=0; i < tabArray.length; i++) {
				if (tabName != tabArray[i]) {
					document.getElementById(tabArray[i]).style.display = "none";
				} else {
					document.getElementById(tabArray[i]).style.display = "block";
				}
			}
			highLightTab(tabBox);
			thisTab.className = "selectedTab";
			//ajaxLoader(loadUrl,tabName);
		}
		
		function showTab_xml(thisTab,tabBox,tabName,tabNameArray,loadUrl) {
			var tabArray = tabNameArray.split(",");
			for(var i=0; i < tabArray.length; i++) {
				if (tabName != tabArray[i]) {
					document.getElementById(tabArray[i]).style.display = "none";
					//edit
					//document.getElementById(tabArray[i]).innerHTML = "";
				} else {
					document.getElementById(tabArray[i]).style.display = "block";
				}
			}
			highLightTab(tabBox);
			thisTab.className = "selectedTab";
			ajaxLoader_xml(loadUrl,tabName);
		}
		
		function highLightTab(tabBox) {
			tabLinks = document.getElementById(tabBox).getElementsByTagName('li');
			for (i=0; i<tabLinks.length; i++) {
				if (tabLinks[i].className == "selectedTab") {
					tabLinks[i].className = "";
				}
			}
		}
		
		function changePage_xml(thisTab,tabBox,tabName,tabNameArray,loadUrl) {
			document.getElementById("pageloader").style.display = "block";
			var tabArray = tabNameArray.split(",");
			for(var i=0; i < tabArray.length; i++) {
				if (tabName != tabArray[i]) {
					document.getElementById(tabArray[i]).style.display = "none";
					//edit
					//document.getElementById(tabArray[i]).innerHTML = "";
				} else {
					document.getElementById(tabArray[i]).style.display = "block";
				}
			}
			highLightTab(tabBox);
			thisTab.className = "selectedTab";
			ajaxLoader_xml(loadUrl,tabName);
			//document.getElementById("pageloader").style.display = "none";
		}
		//-->


	
/*	-------------------------------------------------------------
	function:		togglebanners
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
		
		<!--
		function toggleElements(status) {
			allDivs = document.getElementsByTagName('div');
			for (i=0; i<allDivs.length; i++) {
				if (allDivs[i].className == "banner") {
					if (status == "off") { allDivs[i].style.display = "none"; }
					if (status == "on") { allDivs[i].style.display = "block"; }
				}
			}
			
			allInputs = document.getElementsByTagName('input');
			for (i=0; i<allInputs.length; i++) {
				if (status == "off") { allInputs[i].style.visibility = "hidden"; }
				if (status == "on") { allInputs[i].style.visibility = "visible"; }
			}
			
			allSelect = document.getElementsByTagName('select');
			for (i=0; i<allSelect.length; i++) {
				if (status == "off") { allSelect[i].style.visibility = "hidden"; }
				if (status == "on") { allSelect[i].style.visibility = "visible"; }
			}
			
			allTextarea = document.getElementsByTagName('textarea');
			for (i=0; i<allTextarea.length; i++) {
				if (status == "off") { allTextarea[i].style.visibility = "hidden"; }
				if (status == "on") { allTextarea[i].style.visibility = "visible"; }
			}
			
			var lnkQuoteOptions = document.getElementById("lnkQuoteOptions");
			if (lnkQuoteOptions){
				if (status == "off") { lnkQuoteOptions.style.display = "none"; }
				if (status == "on") { lnkQuoteOptions.style.display = "block"; }
			}
			
			var optionsLinks = document.getElementById("optionsLinks");
			if (optionsLinks){
				if (status == "off") { optionsLinks.style.display = "none"; }
				if (status == "on") { optionsLinks.style.display = "block"; }
			}
			
			
		}
		//-->
		
		
/*	-------------------------------------------------------------
	function:		toggleNavigation
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Top navigation menu hover effects
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
	var firstRun = true;
	var previd = "navi_home";
	
	function toggleNavigation(sid){
		var oLists = document.getElementsByTagName('ul');
		for (var i=0;i<oLists.length;i++){
			if (oLists[i].id.substring(0, 4)=="navi"){
				if (oLists[i].style.display == "block" && firstRun){
					previd = oLists[i].id
					firstRun = false;
				}
				oLists[i].style.display = "none";
			}
		}
		document.getElementById(sid).style.display = "block";
	
		document.getElementById("AboveContainer").onmouseover = function(){revertMenu(previd)};
	}
	
	function revertMenu(sid){
		//back to original selected navigation
		var oLists = document.getElementsByTagName('ul');
		for (var i=0;i<oLists.length;i++){
			if (oLists[i].id.substring(0, 4)=="navi"){
				oLists[i].style.display = "none";
			}
		}
		document.getElementById(sid).style.display="block";
	}
	
/*	-------------------------------------------------------------
	function:		getYPos()
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	Get mouse Y coord relative to screen
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
	
	function getYPos(e) {
		if (!e) {var e = window.event;}
		return e.screenY;
	}
	
/*	-------------------------------------------------------------
	function:		blockXSS()
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	Description:	checks querystring fro bad input
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -	*/
	
	function blockXSS() {
		var queryString = window.location.search.substring(1);
		if (queryString.search("script")!=-1){
			window.location = "http://www.naftemporiki.gr/badword.htm";
		}
	}

	// this function determines whether the event is the equivalent of the microsoft
	// mouseleave or mouseenter events.
	function isMouseLeaveOrEnter(e, handler)
	{
		var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;
		while (reltg && reltg != handler) reltg = reltg.parentNode;
		return (reltg != handler);
	}

