function createRate(){
	var rate = $("container");
	Object.extend(rate, new Rate());
	rate.load();
}

var Rate = Class.create();
Rate.prototype = {
	
	initialize : function(){
		this.timer = null;
	},
	
	load : function(){
		
		window.clearTimeout(this.timer);
		new Ajax.Request(serverData["rate"], {
			method: "get",
			parameters: "time=" + new Date().getTime(),
			onComplete:show.bindAsEventListener(this)
		});
		this.timer = window.setTimeout(this.load.bindAsEventListener(this), timeSpan["rate"]);

		function show(httpObj){
		
			var data = eval("(" + httpObj.responseText + ")");
	        var strArray=new Array();
	
			for(var j = 0; j < data.quotes.length; j++){
			    var pair = data.quotes[j].currencyPairCode;
			    
				if(pair == "USDJPY" || pair == "EURJPY" || pair == "EURUSD"){
				    var bidValue = data.quotes[j].bid;
				    var askValue = data.quotes[j].ask;
				    var bidHValue = $("hidden_bid_" + pair.toLowerCase()).value;
				    var askHValue = $("hidden_ask_" + pair.toLowerCase()).value;
				    var bidStyle = RateUtil.compareValue(bidValue,bidHValue);
				    var askStyle = RateUtil.compareValue(askValue,askHValue);
					
					// 値を設定
				    strArray = bidValue.split(".");
				    if (pair == "EURUSD")
				    {
				        $("bid_" + pair.toLowerCase()).innerHTML = strArray[0] + '.' + strArray[1].substring(0,2);
					    $("bid_xx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(2,4);
					    $("bid_xxx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(4,5);
					}
					else
					{
				        $("bid_" + pair.toLowerCase()).innerHTML = strArray[0] + '.';
					    $("bid_xx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(0,2);
					    $("bid_xxx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(2,3);
					}
				    strArray = askValue.split(".");
				    if (pair == "EURUSD")
				    {
				        $("ask_" + pair.toLowerCase()).innerHTML = strArray[0] + '.' + strArray[1].substring(0,2);
					    $("ask_xx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(2,4);
					    $("ask_xxx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(4,5);
					}
					else
					{
				        $("ask_" + pair.toLowerCase()).innerHTML = strArray[0] + '.';
					    $("ask_xx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(0,2);
					    $("ask_xxx_" + pair.toLowerCase()).innerHTML = strArray[1].substring(2,3);
					}
					$("spread_" + pair.toLowerCase()).innerHTML = RateUtil.getSpread(pair,askValue,bidValue);
					$("bid_arrow_" + pair.toLowerCase()).innerHTML = RateUtil.getArrowStyle(bidValue,bidHValue);
					$("ask_arrow_" + pair.toLowerCase()).innerHTML = RateUtil.getArrowStyle(askValue,askHValue);
					
					// スタイルの変更
					$("bid_xx_" + pair.toLowerCase()).style.color = bidStyle;
					$("bid_xxx_" + pair.toLowerCase()).style.color = bidStyle;
					$("ask_xx_" + pair.toLowerCase()).style.color = askStyle;
					$("ask_xxx_" + pair.toLowerCase()).style.color = askStyle;
					$("bid_arrow_" + pair.toLowerCase()).style.color = bidStyle;
					$("ask_arrow_" + pair.toLowerCase()).style.color = askStyle;
					
					// hiddenに設定
					$("hidden_bid_" + pair.toLowerCase()).value = bidValue;
					$("hidden_ask_" + pair.toLowerCase()).value = askValue;
				}
			}		
		}
	}
}

var RateUtil = {
    compareValue : function(thisValue,lastValue){
        if(lastValue == "") return "";
        
		if(lastValue < thisValue){
			// 今回値の方が大きい場合
			return "red";
		}else if(lastValue > thisValue){
			// 前回値の方が大きい場合
			return "green";
		}else{
			return "";
		}
	},
	getArrowStyle : function(thisValue,lastValue){
	    if(lastValue == "") return "";
        
		if(lastValue < thisValue){
			// 今回値の方が大きい場合
			return "↑";
		}else if(lastValue > thisValue){
			// 前回値の方が大きい場合
			return "↓";
		}else{
			return "";
		}
	},
    getSpread : function(pair,askValue,bidValue){
		var spread = 0;
		
		if(pair == "EURUSD"){
		    spread = 10000 * (askValue - bidValue);
		}else{
		    spread = 100 * (askValue - bidValue);
		}
		spread = spread * 10;
		spread = Math.round(spread);
		spread = spread / 10;
		return spread.toFixed(1);
	}
}

