//呼び出しhtmlのロード時に呼び出し
window.onload = changePrice;

// 価格取得PHPのURI
var PHP_URL = "http://lifeone.bz/get_price/index.php";

// 店舗判別用文字列（サイトURL内の店舗独自文字列）
var shopText = [];
shopText[0] = 'jyupro';
shopText[1] = 'justre';
shopText[2] = 'seikatsu';
shopText[3] = 'sumai';
shopText[4] = 'kansai';
shopText[5] = 'kyusyu';
shopText[6] = 'tokai';

// varタグ内の文字列から価格取得
var elements = document.getElementsByTagName("var");
var rows = [];

function changePrice(){
	
	var req = null;
	shopParam = '';
	
	// 店舗文字列が、現在（呼出し元）のURL内に存在するかを確認
	for(i=0;i<shopText.length;i++){
		if ($(location).attr('href').match(shopText[i])) {
			shopParam = shopText[i];
			i = shopText.length;
		}
	}
	
	// 存在しなかった場合、エラー処理
	if (!shopParam){
		return;
	}
	
	//ページ内のvarタグの数だけループ
	for(i=0;i<elements.length;i++){
		
		// varタグの中身を変数に格納
		var paramText =  elements[i].innerHTML;
		var param;
		
		// varタグ構造体	
		rows[i] = {
			total: 0,
			col: [],
			cnt : 0,
			element : elements[i]
		};
		
		//カンマで文字列を分解
		param = paramText.split(',');
		rows[i].cnt = param.length;
		
		//一つのvarタグ内に複数の指定がある場合の処理
		for(cnt=0;cnt<param.length;cnt++){
			//変数が空でない場合
			if(!paramText.match(/\n/g)){
				if(param[cnt]!=""){
					if(param[cnt].match(/YEN/g)){
						param[cnt] = param[cnt].replace(/YEN/g,"");
						rows[i].total += parseInt(param[cnt]);
						rows[i].cnt -= 1;
					}else{
						//PHPにパラメーター送信
						$.ajax({
							scriptCharset: 'utf-8',
							type: "GET",
							url: PHP_URL,
							data: {
								'id' : param[cnt],
								'shop' : shopParam,
								'param' : i
							},
							dataType: "jsonp"
						});
					}
				}
			}
		}
	}
	return false;
}

//PHPのJSONP表示時に動く関数
function callback(response) {
	if(response.param){
		if(response.data != 'error'){
			rows[response.param].total += parseInt(response.data);
			rows[response.param].cnt -= 1;
			
			if(rows[response.param].cnt <= 0) {
				if ( isNaN(rows[response.param].total) == false){
					rows[response.param].element.innerHTML = addFigure(parseInt(rows[response.param].total));
					rows[response.param].element.style.display = "inline";
				}else{
					rows[response.param].element.innerHTML = "激安特価";
					rows[response.param].element.style.display = "inline";
				}
			}
		}else{
			rows[response.param].element.innerHTML = "激安特価";
			rows[response.param].element.style.display = "inline";
		}
	}
}

// 価格をカンマ区切りにする
function addFigure(n) {
	var l, m='';
	var mark = (n < 0) ? '-' : '';
	var flt = '';
	n = Math.abs(n);
	if (n % 1) {
		flt  = n + '';
		flt = flt.substr(flt.indexOf('.'));
	}
	n = Math.floor(n) + '';
	while ( (l = n.length) > 3 ) {
		m = "," + n.substr( l - 3, 3 ) + m;
		n = n.substr( 0, l - 3 );
	}
	return mark + n + m + flt;
}

