var xmlHttp;
var path;
function convertCurrency() {
 var fval  = document.getElementById("input");
 var sval  = document.getElementById("output");
 var fsymbol = document.getElementById("firstVal").options[document.getElementById("firstVal").selectedIndex].text;
 var ssymbol = document.getElementById("secondVal").options[document.getElementById("secondVal").selectedIndex].text;
  
 fval.value = addseps(replaceChars(fval.value, ",","")); 

 if (fsymbol=="TL") {
  var factor1 = 1;
 }
 else if (fsymbol=='USD') {
  var factor1 = document.getElementById("usd").innerHTML;  
 }
 else if (fsymbol=='EUR'){
  var factor1 = document.getElementById("eur").innerHTML;  
 }
 else if (fsymbol=='CHF'){
  var factor1 = document.getElementById("chf").innerHTML;  
 }
 else if (fsymbol=='JPY'){
  var factor1 = parseFloat(document.getElementById("jpy").innerHTML); 
  factor1 = factor1/100;
 }
 else if (fsymbol=='GBP'){
  var factor1 = document.getElementById("gbp").innerHTML; 
 }
 else if (fsymbol=='SAR'){
  var factor1 = document.getElementById("sar").innerHTML; 
 }
 else if (fsymbol=='CAD'){
  var factor1 = document.getElementById("cad").innerHTML; 
 }
 else if (fsymbol=='AUD'){
  var factor1 = document.getElementById("aud").innerHTML;
 }
 else if (fsymbol=='DKK'){
  var factor1 = document.getElementById("dkk").innerHTML;  
 }
 else if (fsymbol=='NOK'){
  var factor1 = document.getElementById("nok").innerHTML;
 } 

 if (ssymbol=='TL') {
  var factor2 = 1;
 }
 else if (ssymbol=="USD") {
  var factor2 = document.getElementById("usd").innerHTML; 
 }
 else if (ssymbol=='EUR') {
  var factor2 = document.getElementById("eur").innerHTML;  
 }
 else if (ssymbol=='CHF'){
  var factor2 = document.getElementById("chf").innerHTML;  
 }
 else if (ssymbol=='JPY'){
  var factor2 = parseFloat(document.getElementById("jpy").innerHTML);
  factor2 = factor2/100;
 }
 else if (ssymbol=='GBP'){
  var factor2 = document.getElementById("gbp").innerHTML;
 }
 else if (ssymbol=='SAR'){
  var factor2 = document.getElementById("sar").innerHTML;  
 }
 else if (ssymbol=='CAD'){
  var factor2 = document.getElementById("cad").innerHTML;  
 }
 else if (ssymbol=='AUD'){
  var factor2 = document.getElementById("aud").innerHTML;
 }
 else if (ssymbol=='DKK'){
  var factor2 = document.getElementById("dkk").innerHTML;  
 }
 else if (ssymbol=='NOK'){
  var factor2 = document.getElementById("nok").innerHTML;
 }

 var num = fval.value;
 num = replaceChars(num, ",","");
 
 if(!isNaN(num)) {
  var rate=1/((factor2)/(factor1));
  
  var result=(num)*rate;
  sval.value = addseps(result.toFixed(2));
 }
 else {
  sval.value = "Hata!";
 }
}

function replaceChars(entry,toBeReplaced,replaceChar) {
out = toBeReplaced; // replace this
add = replaceChar; // with this
temp = "" + entry; // temporary holder

while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add + 
temp.substring((pos + out.length), temp.length));
}
return temp;
}

function addseps(x) {
	var x=x;
	
	x+="";
	
	iLen=x.length;
	
	pos=x.indexOf(".");
	
	if (pos>-1) {
		iLen=pos;
	}
	
	temp="";
	
	temp=x.substring(iLen,x.length);
	for (var i=iLen-1;i>=0;i--)
		if ((iLen-i-1)%3==0&&i!=iLen-1)
			temp=x.charAt(i)+","+temp;
		else
			temp=x.charAt(i)+temp;
	return temp;

}

function clearFields() {
 var fval= document.getElementById("input");
 var sval= document.getElementById("output");

 fval.value = "";
 sval.value = "";
}

function selectDate() {
	var Day  = document.getElementById("dayMenu").options[document.getElementById("dayMenu").selectedIndex].text;
	var Month  = document.getElementById("monthMenu").options[document.getElementById("monthMenu").selectedIndex].value;
	var Year  = document.getElementById("yearMenu").options[document.getElementById("yearMenu").selectedIndex].text;
	
	var url="include/ajaxArchive.php?day="+Day+"&month=" + Month + "&year=" + Year;
	if(Day!="Gün" && Month!="Ay" && Year!="Yıl") {
		xmlHttp=GetXmlHttpObject(stateChanged);
		xmlHttp.open("GET", url , true);
		xmlHttp.send(null);
	}
}

function stateChanged() { 
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
  //alert(xmlHttp.responseText);
  var values = xmlHttp.responseText.split("|");  
  var rows = document.getElementById("cells").rows;
  var i;
  var j=0;
  var cells = null;
  var CURR_NAMES=new Array('usd','eur','chf','jpy','gbp','sar','cad','aud','sek','dkk','nok');
  var k = 0;
  var m = 0;
		for(i=3;i<14;i++)
		{
			cells = rows[i].cells;
			for(j=0; j <8; j++) {
				if(j == 0) {
					continue;
				}
				else if(j == 5)	{					
					if(values[0+(6*(i-3))] > values[1+(6*(i-3))])
						cells[j].innerHTML = "<div align=\"center\"><img src=\"flags/sdec.png\" width=\"30\" height=\"30\">	 </div>";
					else if(values[0+(6*(i-3))] < values[1+(6*(i-3))])
						cells[j].innerHTML = "<div align=\"center\"><img src=\"flags/sinc.png\" width=\"30\" height=\"30\">	 </div>";
					else
						cells[j].innerHTML = "<div align=\"center\"><img src=\"flags/srem.png\" width=\"30\" height=\"30\">	 </div>";
				}
				else {			
					if(values[k] == 0) {
						values[k] = "Yok";
					}		
					if(j == 2) {
						cells[j].innerHTML = "<div id=\""+CURR_NAMES[i-3]+"\" align=\"center\">"+values[k++]+"</div>";		
					}
					else if( j==4 || j==6 || j==7) {					
						cells[j].innerHTML = "<div align=\"center\">"+values[k++]+"</div>";		
					}
					else
						cells[j].innerHTML = values[k++];
				}
			}	
		}
	} 

 	var Day  = document.getElementById("dayMenu").options[document.getElementById("dayMenu").selectedIndex].text;
 	var Month  = document.getElementById("monthMenu").options[document.getElementById("monthMenu").selectedIndex].text;
 	var Year  = document.getElementById("yearMenu").options[document.getElementById("yearMenu").selectedIndex].text;
 		
 	if(Day!="Gün" && Month!="Ay" && Year!="Yıl")
 	{
		setArchiveDate();
		setArchiveCombosDate();
	}
} 

function drawGraphAndSetTarih() {	
	drawGraph();
	setArchiveCombosDate();
	setArchiveDate();
}

function getLastDate(month, year) {
	if(month == 1 || month == 3 ||month == 5 ||month == 8 ||month == 10 ||month == 12) {
		return 31;
	}
	else if(month == 2 && (year%4)==0) {
		return 29;
	}
	else if(month == 2) {
		return 28;
	}
	else {
		return 30;
	}
}

function setArchiveDate() {
	var Day  = document.getElementById("dayMenu").options[document.getElementById("dayMenu").selectedIndex].text;
	var Monthh  = document.getElementById("monthMenu").options[document.getElementById("monthMenu").selectedIndex].value;
	var Year  = document.getElementById("yearMenu").options[document.getElementById("yearMenu").selectedIndex].text;
	var MONTH_NAMES=new Array('Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'); 
	var archdate = document.getElementById("archivedate");
	var browser=navigator.appName;
	//window.alert(Day+" "+Monthh+" "+Year);
	if(Day == "Gün" && Monthh == "Ay" && Year == "Yıl") {
		var now = new Date();
		var monthnumber = now.getMonth();
		var hour = now.getHours();
		var monthday    = now.getDate();		
		if(hour < 17) {
			monthday--;
			if(monthday == 0) {
				monthnumber--;
				monthday = getLastDate(monthnumber-1);				
			}
		}
		if(browser=="Netscape")
			var year        = now.getYear()+1900;	
		else
			var year        = now.getYear();
		//window.alert(monthnumber);	
		var month = MONTH_NAMES[monthnumber];	
		archdate.innerHTML=monthday+" "+month+" "+year;
	}
	else {
		//window.alert("else");
		if(Monthh == "10" )
			var month = "Ekim";
		else if( Monthh == "09")
 			var month = "Eylül";
		else if( Monthh == "08")
 			var month = "Ağustos";
		else
			var month = MONTH_NAMES[parseInt(Monthh)-1];
		archdate.innerHTML=Day+" "+month+" "+Year;
	}
}

function setArchiveCombosDate() {
	var DayObj = document.getElementById("dayMenu");
	var MonthObj = document.getElementById("monthMenu");
	var YearObj = document.getElementById("yearMenu");
	
	DayObj.selectedIndex = 0;
	MonthObj.selectedIndex = 0;
	YearObj.selectedIndex = 0;
}

function drawGraph() {
	var curr = document.getElementById("graphCurr").options[document.getElementById("graphCurr").selectedIndex].value;
	var type = document.getElementById("graphType").options[document.getElementById("graphType").selectedIndex].value;
	var now = new Date();

	path = "graphs/"+curr+"_"+type+"_"+now.getTime()+".jpg";
	
	var url="include/graph.php?currency="+curr+"&type=" + type+"&path=" + path;
	xmlHttp=GetXmlHttpObject(graphStateChanged);
	xmlHttp.open("GET", url , true);
	xmlHttp.send(null);
}

function graphStateChanged() { 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 	
		//window.alert(xmlHttp.responseText);
		if(xmlHttp.responseText.match("empty") == "empty") {
			var image 	= document.getElementById("graph");
			var graph = new Image();
			graph.src = "images/nodata.jpg"; 
			image.src = graph.src;			
		}
		else {
			var image 	= document.getElementById("graph");
			var graph = new Image();		
			graph.src = path; 
			image.src = graph.src;	
		}
	} 
}

function GetXmlHttpObject(handler) { 
	var objXmlHttp=null

	if (navigator.userAgent.indexOf("Opera")>=0){
		alert("This example doesn't work in Opera") 

		return 
	}
	
	if (navigator.userAgent.indexOf("MSIE")>=0)	{ 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0){
			strName="Microsoft.XMLHTTP"
		} 
		try { 
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler 
			return objXmlHttp
		} 
		catch(e) { 
			alert("Error. Scripting for ActiveX might be disabled") 
			return 
		} 
 } 
 
 if (navigator.userAgent.indexOf("Mozilla")>=0) {
  objXmlHttp=new XMLHttpRequest()
  objXmlHttp.onload=handler
  objXmlHttp.onerror=handler 
  return objXmlHttp
 }
 
function limitText(limitField, limitCount, limitNum) {
 if (limitField.value.length > limitNum) {
  limitField.value = limitField.value.substring(0, limitNum);
 } else {
  limitCount.value = limitNum - limitField.value.length;
 }
}
}
