function inGreek( Obj )
{
	if ((!document.searchsymbol)||(document.searchsymbol.market.value=="0" || document.searchsymbol.market.value=="1")) {
		var change=0;
		var Str=Obj.value;
		var StrL=Str.length;
		var StrOut="";

		var c=' ';
		var cOut=' ';
		
		for(var i=0;i<StrL;i++)
		{                  
				c = Str.substring(i,i+1);
				cOut=c;
				
				if (c=='A' || c=='a' || c=='α' || c=='ά') {change=1;cOut='A';}
				if (c=='B' || c=='b' || c=='β'          ) {change=1;cOut='B';}
				if (c=='G' || c=='g' || c=='γ'          ) {change=1;cOut='G';}
				if (c=='D' || c=='d' || c=='δ'          ) {change=1;cOut='D';}
				if (c=='E' || c=='e' || c=='ε' || c=='έ') {change=1;cOut='E';}
				if (c=='Z' || c=='z' || c=='ζ'          ) {change=1;cOut='Z';}
				if (c=='H' || c=='h' || c=='η' || c=='ή') {change=1;cOut='H';}
				if (c=='U' || c=='u' || c=='θ'          ) {change=1;cOut='U';}
				if (c=='I' || c=='i' || c=='ι' || c=='ί') {change=1;cOut='I';}
				if (c=='K' || c=='k' || c=='κ'          ) {change=1;cOut='K';}
				if (c=='L' || c=='l' || c=='λ'          ) {change=1;cOut='L';}
				if (c=='M' || c=='m' || c=='μ'          ) {change=1;cOut='M';}
				if (c=='N' || c=='n' || c=='ν'          ) {change=1;cOut='N';}
				if (c=='J' || c=='j' || c=='ξ'          ) {change=1;cOut='J';}
				if (c=='O' || c=='o' || c=='ο' || c=='ό') {change=1;cOut='O';}
				if (c=='P' || c=='p' || c=='π'          ) {change=1;cOut='P';}
				if (c=='R' || c=='r' || c=='ρ'          ) {change=1;cOut='R';}
				if (c=='S' || c=='s' || c=='σ' || c=='ς') {change=1;cOut='S';}
				if (c=='T' || c=='t' || c=='τ'          ) {change=1;cOut='T';}
				if (c=='Y' || c=='y' || c=='υ' || c=='ύ') {change=1;cOut='Y';}
				if (c=='F' || c=='f' || c=='φ'          ) {change=1;cOut='F';}
				if (c=='X' || c=='x' || c=='χ'          ) {change=1;cOut='X';}
				if (c=='C' || c=='c' || c=='ψ'          ) {change=1;cOut='C';}
				if (c=='V' || c=='v' || c=='ω' || c=='ώ') {change=1;cOut='V';}
				if (c=='q' || c==';' || c==':') {change=1;cOut='Q';}
			 StrOut=StrOut+cOut;
		};
					 
		 if(change==1) Obj.value=StrOut;
		return;
		
	} else {
		
		var change=0;
		var Str=Obj.value;
		var StrL=Str.length;
		var StrOut="";

		var c=' ';
		var cOut=' ';
		
		for(var i=0;i<StrL;i++)
		{                  
				c = Str.substring(i,i+1);
				alert(c);
				cOut=c;
				
				if (c=='Α' || c=='a' || c=='α' || c=='ά') {change=1;cOut='A';}
				if (c=='Β' || c=='b' || c=='β'          ) {change=1;cOut='B';}
				if (c=='Γ' || c=='g' || c=='γ'          ) {change=1;cOut='G';}
				if (c=='Δ' || c=='d' || c=='δ'          ) {change=1;cOut='D';}
				if (c=='Ε' || c=='e' || c=='ε' || c=='έ') {change=1;cOut='E';}
				if (c=='Ζ' || c=='z' || c=='ζ'          ) {change=1;cOut='Z';}
				if (c=='Η' || c=='h' || c=='η' || c=='ή') {change=1;cOut='H';}
				if (c=='Θ' || c=='u' || c=='θ'          ) {change=1;cOut='U';}
				if (c=='Ι' || c=='i' || c=='ι' || c=='ί') {change=1;cOut='I';}
				if (c=='Κ' || c=='k' || c=='κ'          ) {change=1;cOut='K';}
				if (c=='Λ' || c=='l' || c=='λ'          ) {change=1;cOut='L';}
				if (c=='Μ' || c=='m' || c=='μ'          ) {change=1;cOut='M';}
				if (c=='Ν' || c=='n' || c=='ν'          ) {change=1;cOut='N';}
				if (c=='Ξ' || c=='j' || c=='ξ'          ) {change=1;cOut='J';}
				if (c=='Ο' || c=='o' || c=='ο' || c=='ό') {change=1;cOut='O';}
				if (c=='Π' || c=='p' || c=='π'          ) {change=1;cOut='P';}
				if (c=='Ρ' || c=='r' || c=='ρ'          ) {change=1;cOut='R';}
				if (c=='Σ' || c=='s' || c=='σ'			) {change=1;cOut='S';}
				if (c=='Τ' || c=='t' || c=='τ'          ) {change=1;cOut='T';}
				if (c=='Υ' || c=='y' || c=='υ' || c=='ύ') {change=1;cOut='Y';}
				if (c=='Φ' || c=='f' || c=='φ'          ) {change=1;cOut='F';}
				if (c=='Χ' || c=='x' || c=='χ'          ) {change=1;cOut='X';}
				if (c=='Ψ' || c=='c' || c=='ψ'          ) {change=1;cOut='C';}
				if (c=='w' || c=='ς'		            ) {change=1;cOut='W';}
				if (c=='q'					            ) {change=1;cOut='Q';}
				if (c=='Ω' || c=='v' || c=='ω' || c=='ώ') {change=1;cOut='V';}

			 StrOut=StrOut+cOut;
		};
					 
	if(change==1) Obj.value=StrOut;
	return;
		
	}
}


function populate()
{
	var markets = new Array();
	
	markets[0]= new Array ('Εικόνα μετοχής',	'/q.asp',
						   'Ειδήσεις',			'/an.asp',
						   'Χρημ.Ανακοινώσεις',	'/an.asp?catid=11',
						   'Ιστορικό Γράφημα',	'/h.asp',
               'Ιστορικά Κλεισίματα',	'/xa/close_history.asp',
						   'Τεχνική Ανάλυση',	'/t.asp',
						   'Τ.Α. Metastock', '/tools/ms.asp',
							 'Όλες οι πράξεις', 	'/xa/quote_history.asp',
						   'Θεμελιώδης Ανάλυση','/fundamentals/balance.asp',
               'Προφίλ','qProfile.asp',
							 'Συζητήσεις','/messages/showForum.asp');
	markets[1]= new Array ('Εικόνα μετοχής     ',	'/q_cy.asp',
						   'Ιστορικό Γράφημα',	'/h_cy.asp',
						   'Όλες οι πράξεις    ', 	'/xa/quote_history_cy.asp',
							 'Τεχνική Ανάλυση',	'/t.asp',
						   'Ειδήσεις',			'/an.asp',
						   'Χρημ.Ανακοινώσεις',	'/an.asp?catid=11');						   
	markets[2]= new Array ('Εικόνα μετοχής',	'/q_us.asp',
						   'Ιστορικό Γράφημα',	'/h_us.asp',
							 'Τεχνική Ανάλυση', '/t_us.asp');	
					   
	
	var box = document.searchsymbol.market;
	
	var number = box.options[box.selectedIndex].value;
	if (!number) return;
	var list = markets[number];
	var box2 = document.searchsymbol.page;
	
	box2.options.length = 0;
	for(i=0;i<list.length;i+=2)
	{
		box2.options[i/2] = new Option(list[i],list[i+1]);
	}
}

function searchStockOnFocus(AElm){
	if (AElm)
	{
		AElm.style.color = "#000000";
	}
}
function searchStockOnBlur(AElm){
	if (AElm)
	{
		AElm.style.color = "";
	}
}

function searchArticlesOnFocus(AElm, ADefaultValue){
	if (AElm.value == ADefaultValue){
		AElm.value = "";
	}
	AElm.style.color = "#000000";
}
function searchArticlesOnBlur(AElm, ADefaultValue){
	if (AElm.value == ""){
		AElm.value = ADefaultValue;
	}
	AElm.style.color = "";
}
function SubmitSearchForm(AElement){

	if (AElement)	{
		if (AElement.sto.value == "google")	{
				AElement.action = "http://www.google.com/search";
				AElement.method = "get";
				AElement.target = "_blank";
		}else{
				AElement.action = "/tools/search.asp?action=search";
				AElement.method = "post";
				AElement.target = "_self";                             
		}
		return true;
	}else{
		return false;
	}
}

function FixCompare(quote)
{
		var f = quote.replace('.','');
		var ff = f.replace(',','.');
		return parseFloat(ff);
}

function CommaFormatted(amount)
{
		var delimiter = "."; // replace comma if desired
		var a = amount.toString().split('.',2)
		var d = a[1];
		var i = parseInt(a[0]);
		if(isNaN(i)) { return ''; }
		var minus = '';
		if(i < 0) { minus = '-'; }
		i = Math.abs(i);
		var n = new String(i);
		var a = [];
		while(n.length > 3)
		{
				var nn = n.substr(n.length-3);
				a.unshift(nn);
				n = n.substr(0,n.length-3);
		}
		if(n.length > 0) { a.unshift(n); }
		n = a.join(delimiter);
		if (d){
			if(d.length < 1) { 
				amount = n + ',00'; 
			}else{
				amount = n + ',' + d;
			}
		}else{
			amount = n;
		}
		amount = minus + amount;
		return amount;
}

function loginFormOnFocus(AElm, AText){
	if (AElm.value == AText){
		AElm.value = "";
	}
	AElm.style.color = "#000000";
}
function loginFormOnBlur(AElm, AText){
	if (AElm.value == ""){
		AElm.value = AText;
	}
	AElm.style.color = "";
}

function tabOver(AElm){
	AElm.style.backgroundColor = "#5181AF";
	AElm.style.color = "white";
	AElm.style.cursor = "hand";
}
function tabOut(AElm){
	AElm.style.backgroundColor = "";
	AElm.style.color = "";
	AElm.style.cursor = "default";
}

function showBanner(ASrc, ADest){
	var selm = document.getElementById(ASrc);
	var delm = document.getElementById(ADest);
	if (selm && delm){
		delm.appendChild(selm);
		selm.style.display = "block";
	}
}

function fixTransparency(){
	if(document.all&&document.styleSheets){
		var stylesheets=document.styleSheets;
		for(var i=0;i<stylesheets.length;i++){
			var stylesheet=stylesheets[i];
			var rules=stylesheet.rules;
			for(var j=0;j<rules.length;j++){
				var curRule=rules[j];
				if(curRule.style.backgroundImage&&(curRule.style.backgroundImage.indexOf('.png')>0)){
					var imageName=curRule.style.backgroundImage;
					imageName=imageName.substr(4,imageName.length-5);
					curRule.style.backgroundImage='';
					curRule.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+imageName+"',sizingMethod='scale',enabled='true')";
				}
			}
		}
	 for (var n = 0; n < document.childNodes.length; n++)
		if (document.childNodes[n].style) document.childNodes[n].style.position = 'relative';
	}

/* if (document.all && document.styleSheets && document.styleSheets[0] &&
  document.styleSheets[0].addRule)
 {
  // Feel free to add rules for specific tags only, you just have to call it several times.
  document.styleSheets[0].addRule('*', 'behavior: url(iepngfix.htc)');
 }*/
}

function logoutRequest(){
	try {
		httpReq = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e){
		alert(e.description);
	}
	var url = "services/loginSrv.asp?action=logout";
	httpReq.onreadystatechange = parseResults;
	httpReq.open("GET", url, true);
	httpReq.setRequestHeader('Cache-Control', 'no-cache');
	httpReq.send(null);

	function parseResults(){
		if (httpReq.readyState == 4){
			document.location.href = "/";
		}
	}	//function parseResults()
}

function checkLoginRequest(ALoginPanelElm, AFooterElm){
	var elm = document.getElementById(ALoginPanelElm);
	var footer = document.getElementById(AFooterElm);
	try {
		httpReq = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e){
		alert(e.description);
	}
	var url = "services/loginSrv.asp?action=check";
	httpReq.onreadystatechange = parseResults;
	httpReq.open("GET", url, true);
	httpReq.setRequestHeader('Cache-Control', 'no-cache');
	httpReq.send(null);
	function parseResults(){
		if (httpReq.readyState == 4){
			var sResult = httpReq.responseText;
			var tLoginData = sResult.split("\n");
			if (tLoginData[0] == 0){
				return false;
			}else{
				if (elm){
					elm.innerHTML = "<div style='text-align:center; margin-right:10px; margin-bottom:7px;'>Σύνδεση: " + tLoginData[1] + "<div style='margin-top:12px'><a href='#'>Αλλαγή στοιχείων</a></div></div>"
					footer.innerHTML = "<a href='javascript:logoutRequest()'>Αποσύνδεση</a>"
				}
				return true;
			}
		}
	}	//function parseResults()
}

function sendLoginRequest(AUserName, APassword, ALoginPanelElm, AFooterElm){
	var elm = document.getElementById(ALoginPanelElm);
	var footer = document.getElementById(AFooterElm);
	try {
		httpReq = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
	}
	catch(e){
		alert(e.description);
	}
	var url = "services/loginSrv.asp?action=login&username=" + escape(AUserName) + "&password=" + escape(APassword);
	httpReq.onreadystatechange = parseResults;
	httpReq.open("GET", url, true);
	httpReq.setRequestHeader('Cache-Control', 'no-cache');
	httpReq.send(null);
	
	function parseResults(){
		if (httpReq.readyState == 4){
			var sResult = httpReq.responseText;
			var tLoginData = sResult.split("\n");
			if (tLoginData[0] == 0){
				alert("Λάθος στοιχεία εισόδου.\nΠαρακαλούμε δοκιμάστε ξανά.")
				returnValue = false;
				return false;
			}else{
				if (elm){
					elm.innerHTML = "<div style='text-align:center; margin-right:10px; margin-bottom:7px;'>Σύνδεση: " + tLoginData[1] + "<div style='margin-top:12px'><a href='#'>Αλλαγή στοιχείων</a></div></div>"
					footer.innerHTML = "<a href='javascript:logoutRequest()'>Αποσύνδεση</a>"
				}
				document.location.href=document.location.href;
				return true;
			}
		}
	}	//function parseResults()
}	//function sendLoginRequest(AUserName, APassword)

function doLogin(AUserNameElm, APasswordElm, ALoginPanelElm, AFooterElm){
	var loginPanel = document.getElementById(ALoginPanelElm);
	var footer = document.getElementById(AFooterElm);
	var username = document.getElementById(AUserNameElm);
	var password = document.getElementById(APasswordElm);
	if (username && password && loginPanel && footer){
		username = username.value;
		password = password.value;
		if (sendLoginRequest(username, password, ALoginPanelElm, AFooterElm)){
			document.location.href="startpage.asp"
		}
	}
} //function doLogin(ALoginPanelElm, AFooterElm)

function formatNumber (ANumber, decimal, comma) {
	 //decimal  - the number of decimals after the digit from 0 to 3
//-- Returns the passed number as a string in the xxx,xxx.xx format.
	   anynum=ANumber;
	   divider =10;
	   switch(decimal){
			case 0:
				divider =1;
				break;
			case 1:
				divider =10;
				break;
			case 2:
				divider =100;
				break;
			case 4:
				divider = 10000;
				break;
			default:  	 //for 3 decimal places
				divider =1000;
		}

	   workNum=Math.abs((Math.round(anynum*divider)/divider));

	   workStr=""+workNum

	   if (workStr.indexOf(".")==-1){workStr+="."}

	   dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0
	   pStr=workStr.substr(workStr.indexOf("."))

	   while (pStr.length-1< decimal){pStr+="0"}

	   if(pStr =='.') pStr ='';

	   //--- Adds a comma in the thousands place.    
	   if (comma&&(dNum>=1000)) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)
	   }

	   //-- Adds a comma in the millions place.
	   if (comma&&(dNum>=1000000)) {
		  dLen=dStr.length
		  dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)
	   }
	   retval = dStr + pStr
	   //-- Put numbers in parentheses if negative.
	   if (anynum<0) {retval="-"+retval;}

	  
	//You could include a dollar sign in the return value.
	  //retval =  "$"+retval
	  
	  return retval;
 }

function getCookie(c_name){
	if (document.cookie.length > 0){
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1){ 
			c_start=c_start + c_name.length+1 
			c_end=document.cookie.indexOf(";",c_start)
			if (c_end==-1) c_end=document.cookie.length
			return unescape(document.cookie.substring(c_start,c_end))
		}else{
			return ""
		} 
	}else{
		return ""
	}
}

function pop_me_up(pURL,name,features){
	new_window = window.open(pURL,name,features);
	new_window.focus();
}
function showTickerFlash(aSymbol)
{
	pop_me_up('/ticker/mainticker_flash.asp?s=' + aSymbol,'ticker','width=290,height=500')
}

function navigateToSearchArticle(hl, searchString, searchOption)
{
	var hlElm = document.getElementById(hl);
	var searchStringElm = document.getElementById(searchString);
	var searchOptionElm = document.getElementById(searchOption);
	document.location.href = "/tools/search.asp?action=search&hl=" + escape(hlElm.value) + "&s=" + escape(searchStringElm.value) + "&sto=" + escape(searchOptionElm.value); 
}
function navigateToLogin(redir, username, password)
{
	var redirElm = document.getElementById(redir);
	var usernameElm = document.getElementById(username);
	var passwordElm = document.getElementById(password);
	document.location.href = "/members/login_process.asp?" + redir + "=" + escape(redirElm.value) + "&" + username + "=" + escape(usernameElm.value) + "&" + password + "=" + escape(passwordElm.value);
}

function formatFloat(AValue, ADec)
{
  if (!ADec) { ADec = 2; }
	var i = Math.abs(parseInt(AValue));
  var f = Math.abs(parseFloat(AValue));
	var power = Math.pow(10, ADec);
  f = Math.abs(f)-Math.abs(i);
  f = Math.round(f * power);
  f = Math.abs(parseInt(f)).toString();
	//f = f.substring(0, ADec)
  if (f.toString().length < ADec)
	{
		if (parseInt(f) < power)
		{
			for (var ii=0; ii <= ADec-f.length; ii++)
			{
				f = "0" + f.toString();
			}
		}
		else
		{
			for (var ii=0; ii <= ADec-f.length; ii++)
			{
				f = f + "0";
			}
		}
	};
	if (AValue < 0)
	{
		return "-" + i.toString() + "," + f;
	}
	else
	{
		return i.toString() + "," + f;
	}
}

//Ελέγχω με regexp τα πεδία της φόρμας που έχουν ορισμένο το pattern.
function verify(frmElem){
	 var regex, pattern, errmsg;
	 var result;
	 var aElm;
	 
	 aElm = frmElem.getElementsByTagName('*');

	 //loop σε όλα τα elements της φόρμας
	 for(var i = 0;i < aElm.length;i++){
								 
			 //φορτώνω το Patern που αντιστοιχεί στο element.
			 pattern = aElm[i].getAttribute('testcode');

			 //ελέγχω αν το patern έχει οριστεί
			 if(!(pattern===null)){

					 //Φτιάχνω ενα regular expression object με το patern.
					 regex = new RegExp(aElm[i].getAttribute('testcode'),"i");
					 
					 //τρέχω το regular epression
					 if(!(regex.test(aElm[i].value))){
							 //ελέγχω για σφάλματα.
							 errmsg = aElm[i].getAttribute('testerror');
							
							 //φτιάχνω το μήνυμα του σφάλματος
							 if(errmsg===undefined){
									 errmsg = "Παρακαλώ ελέγξτε την τιμή του πεδίου."
							 }

							 //Εμφανίζω alert box με το σφάλμα και κάνω focus το πεδίο που έχει πρόβλημα.
							 alert(errmsg);
							 if (!(aElm[i].type == 'hidden')){
								 if (!(aElm[i].style && aElm[i].style.display && (aElm[i].style.display == "none"))) {
									 aElm[i].focus();									 
								}
								 if (aElm[i].style) {
									 aElm[i].style.borderColor = "red";
									 aElm[i].style.borderStyle = "solid";
									 aElm[i].style.borderSize = "1px";
								 }	
							 }
							 return false;
					 }
			 }
	 }
	 return true;
}

function submitonce(theform){
	//if IE 4+ or NS 6+
	if (document.all||document.getElementById){
		//Ελέγχω τα πεδία της φόρμας και οταν βρώ το submit το απενεργοποιώ.
		for (i=0;i<theform.length;i++){
			var tempobj=theform.elements[i]
			if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
			//Απενεργοποίηση του element.
			tempobj.disabled=true
		}
	}
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );
	// if the expires variable is set, make the correct expires time, the
	// current script below will set it for x number of days, to make it
	// for hours, delete * 24, for minutes, delete * 60 * 24
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	//alert( 'today ' + today.toGMTString() );// this is for testing purpose only
	var expires_date = new Date( today.getTime() + (expires) );
	//alert('expires ' + expires_date.toGMTString());// this is for testing purposes only

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

function GetFlashNews(AFlashNewsContainer, AFlashNewsBody)
{
	var callInProgress = false;
	var flashNewsContainer = document.getElementById(AFlashNewsContainer);
	var flashNewsBody = document.getElementById(AFlashNewsBody);
	
	var xmlhttp=false;
	
	if (callInProgress == true) { return; }
	
	function execute()
	{
		try
		{
			callInProgress = true;
			/*@cc_on @*/
			/*@if (@_jscript_version >= 5)
			// JScript gives us Conditional compilation, we can cope with old IE versions.
			// and security blocked creation of the objects.
			 try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			 } catch (e) {
				try {
				 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (E) {
				 xmlhttp = false;
				}
			 }
			@end @*/
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
				try {
					xmlhttp = new XMLHttpRequest();
				} catch (e) {
					xmlhttp=false;
				}
			}
			if (!xmlhttp && window.createRequest) {
				try {
					xmlhttp = window.createRequest();
				} catch (e) {
					xmlhttp=false;
				}
			}	
			var url = "/services/Alert.asp?a=" + Math.round(Math.random() * 999999999999)
			xmlhttp.open("GET", url,true);
			xmlhttp.onreadystatechange = onReadyStateHandler;
			xmlhttp.send(null);
		}
		catch (e)
		{
			//Error initializing xmlhttp object.
			callInProgress = false;
		}
	}
	this.Execute = execute;
	
	function onReadyStateHandler()
	{
		switch (xmlhttp.readyState)
		{
			case 4:
				try
				{
					var result = xmlhttp.responseText;
					if (result.length > 5)
					{
						flashNewsContainer.style.display = "block";
						flashNewsBody.innerHTML = result;
					}
					callInProgress = false;
				}
				catch(e)
				{
					//Error
				}
				callInProgress = false;
			break;
			case 2:
				try
				{
					if (xmlhttp.status != 200 )
					{
						xmlhttp.abort();
						callInProgress = false;
					}
				}
				catch (e)
				{
					//Error
				}
			break;
		}
	}	
}