function $(e){if(typeof e=='string')e=document.getElementById(e);return e};
function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};
ajax={};
ajax.x=function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};
ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return ''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};
ajax.send=function(u,f,m,a){var x=ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4)f(x.responseText)};if(m=='POST')x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(a)};
ajax.get=function(url,func){ajax.send(url,func,'GET')};
ajax.gets=function(url){var x=ajax.x();x.open('GET',url,false);x.send(null);return x.responseText};
ajax.post=function(url,func,args){ajax.send(url,func,'POST',args)};
ajax.update_rt=function(url,elm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.get(url,f)};
ajax.submit=function(url,elm,frm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.post(url,f,ajax.serialize(frm))};

rate = {};
newrate = {};

function cell_rt(id,text){
	var e = $(id);
	if(e == undefined) return;

	var color;

	if(id.match(/(?:_BID|_ASK|_HIGH|_LOW|_CHANGE)$/)){
		newrate[id] = parseFloat(text);

		if(rate[id] != undefined){
			if(newrate[id] > rate[id]){
				color = 'rateup';
			} else if(newrate[id] < rate[id]){
				color = 'ratedown';
			} else{
				color = 'ratetext';
			}
		} else{
			color = 'ratetext';
		}

		e.innerHTML = '<span class="' + color + '">' + text + '</span>';
		rate[id] = newrate[id];
	} else{
		e.innerHTML = '<span class="ratetext">' + text + '</span>';
	}
}

function update_rt(text){
	var row = text.split("\n");

	var d= new Date();
	d.setTime(row[0]);

	var year_rt = d.getFullYear();
	var month_rt = d.getMonth() + 1;
	var date_rt = d.getDate();
	var hours_rt = d.getHours();
	var minutes_rt = d.getMinutes();
	var seconds_rt = d.getSeconds();
	if(hours_rt < 10) hours_rt = "0" + hours_rt;
	if(minutes_rt < 10) minutes_rt = "0" + minutes_rt;
	if(seconds_rt < 10) seconds_rt = "0" + seconds_rt;
	cell_rt("date", year_rt + "/" + month_rt + "/" + date_rt + " " + hours_rt + ":" + minutes_rt + ":" + seconds_rt);

	var data = {};
	for(var i = 1; i < row.length; i++){
		var col = row[i].split("\t");
		if(col.length != 9) continue;
		var id = col[1];

		data[id] = {
			"BID"    : col[2],
			"ASK"    : col[3],
			"HIGH"  : col[4],
			"LOW"    : col[5],
			"CHANGE" : col[6],
			"B_SWAP" : col[7],
			"S_SWAP" : col[8]
		};
	}

	for(var id1 in data){
		for(var id2 in data[id1]){
			cell_rt(id1 + '_' + id2,data[id1][id2]);
		}
	}

	setTimeout('getrate_rt()',1000);
}

function getrate_rt(){
	// ajax.get("getrate.php?src=atfx.jp&" + new Date().getTime(), update_rt);
	ajax.get("http://www.charismafx.jp/rate/getrate.php?src=atfx.jp&" + new Date().getTime(), update_rt);
}
