var ajax_enable = true;
var id;
var intervaltime = 60 * 1000;

function handle() {

	//Ajax利用可否の判定
	try {
		if(!window.XMLHttpRequest) {
	  	var tmp  = new ActiveXObject('Microsoft.XMLHTTP');
	  }
	} catch (error) {
		ajax_enable = false;
	}

	if (ajax_enable) {
		execAjax();
		id = setInterval("execAjax()",intervaltime);
	} else {
		var elem2 = document.getElementById("stock_table");
		elem2.innerHTML = '<span class="message">最新の株価情報は、<a href="http://www.sony.co.jp/SonyInfo/IR/stock/bloomberg.html">株価のページ</a>からご覧ください</span>';
		clearInterval(id);
	}
}

function execAjax() {

	//キャッシュ防止用のダミーURLパラメータ作成
	var tmpDate = new Date();
	var tmpParam = tmpDate.getTime();
	
	try {
		var loader = new JKL.ParseXML('../../ex_data/ir/stock.xml?p='+tmpParam);
		var base = loader.parse();
		
		var data = { table : [] };
		
		var tmp_diff = commaformat(base["px:CalcrtData"]["px:Security"][0]["px:PR051"]);
		var tmp_num_diff = base["px:CalcrtData"]["px:Security"][0]["px:PR051"];
		if (tmp_diff.charAt(0) == "-") {
			tmp_diff = tmp_diff.replace(/\-/, "▲");
		} else {
			if (tmp_num_diff == 0) {
				tmp_diff = "−";
			} else {
				tmp_diff = "+" + tmp_diff;
			}
		}
		
		data.table[0] = { k_code : base["px:CalcrtData"]["px:Security"][0]["px:WBTKR"],
											k_price : commaformat(base["px:CalcrtData"]["px:Security"][0]["px:PR005"]),
											k_difference : tmp_diff,
											k_firstprice : commaformat(base["px:CalcrtData"]["px:Security"][0]["px:PR006"]),
											k_higherprice : commaformat(base["px:CalcrtData"]["px:Security"][0]["px:PR007"]),
											k_lowerprice : commaformat(base["px:CalcrtData"]["px:Security"][0]["px:PR008"])
										};

		var infodate = new Date();
		var infomilitime = eval(base["px:CalcrtData"]["px:Security"][0]["px:UTIME"]);
		infodate.setTime(infomilitime*1000);
		
		var elem = document.getElementById("stock_date");
		var tbl_date = '<span class="date">（'+ infodate.getFullYear() + '年' + (infodate.getMonth() + 1) + '月' + infodate.getDate() +'日 ' + infodate.getHours() + '：' + str_right("00" + infodate.getMinutes(),2) + '現在）</span>';
		elem.innerHTML = tbl_date;

		var elem2 = document.getElementById("stock_table");
		var tbl_stock = '<table id="stock_body"><tr><th>株価コード</th><th>現在の株価</th><th>前日比</th><th>始値</th><th>高値</th><th>安値</th></tr>';
		var tbl_stock = tbl_stock + '<tr><td>' + data.table[0].k_code + '</td>';
		var tbl_stock = tbl_stock + '<td>' + data.table[0].k_price + '</td>';
		var tbl_stock = tbl_stock + '<td>' + data.table[0].k_difference + '</td>';
		var tbl_stock = tbl_stock + '<td>' + data.table[0].k_firstprice + '</td>';
		var tbl_stock = tbl_stock + '<td>' + data.table[0].k_higherprice + '</td>';
		var tbl_stock = tbl_stock + '<td>' + data.table[0].k_lowerprice + '</td></tr></table>';
		elem2.innerHTML = tbl_stock;
		
		var elem3 = document.getElementById("stock_warning");
		var tbl_warn = '<span class="message">ご利用上の注意：表示される情報は、実際の取引から20分遅れた情報です。</span>';
		elem3.innerHTML = tbl_warn;
		
	} catch(error) {
		var elem = document.getElementById("stock_date");
		elem.innerHTML = '';
		var elem2 = document.getElementById("stock_table");
	elem2.innerHTML = '<span class="message">最新の株価情報は、<a href="http://www.sony.co.jp/SonyInfo/IR/stock/bloomberg.html">株価のページ</a>からご覧ください</span>';
		var elem3 = document.getElementById("stock_warning");
		elem3.innerHTML = '';		
		//clearInterval(id);
	}
}

//right関数
function str_right(str,num){
 var ret;
 var len;
 len=str.length;
 ret=str.substr(len-num,num);
 return(ret);
}

//数値を3桁毎にカンマ区切りに
function commaformat(str){
	return str.replace(/^([-+]?\d+)(\d{3})/g,"$1,$2");
}


