﻿/**
 * 使用するシステムのルートディレクトリ
 */
var root_dir = 'http://www.78it.com/';

window.onscroll = function(){
    var left = document.getElementById("headerN09").offsetLeft;
    left += document.getElementById("headerN09").offsetWidth;
    
    var point = document.documentElement.scrollTop || document.body.scrollTop;
    //ナビゲーションバーまでの高さ
    var navi_height = 124;
    //スクロールが124より小さい場合は124で固定
    if(point < navi_height){
       point =  navi_height;
    }
    //フッターの高さ
    var footer_height = document.getElementById("footerWrap").offsetTop;
    footer_height -= document.getElementById("estimate").offsetHeight;
    if(point > footer_height){
        point = footer_height;
    }


    document.getElementById("estimate").style.top=point+"px";
    document.getElementById("estimate").style.left=left+"px";
}

/**
 * ブラウザタイプの判別
 * 0=ie 1=firefox 2=Google Chrome -1=undefined
 * @return int
 */
function getBrowserType ()
{
	var str = navigator.userAgent;
	
	if (str.indexOf('MSIE') != -1) {
		return 0;
	} else if (str.indexOf('Firefox') != -1) {
		return 1;
	} else if (str.indexOf('Chrome') != -1) {
		return 2;
	} else {
		return -1
	}
}

/**
 * cookie登録
 * @param String key
 * @param String value
 */
function setCookie(key, value)
{
	document.cookie = encodeURIComponent(key) + "=" + encodeURIComponent(value) + ';path=/';
}

/**
 * cookie登録 文字列で一括指定
 * @param String str
 */
function setCookieToStr (str)
{
	var arr = str.split(',');

	var tmp = Array();
	for (var key in arr) {
		tmp = arr[key].split('=');
		setCookie(tmp[0], tmp[1]);
	}
	
	renewalSidebar();
}

/**
 * cookieデータを配列で取得
 */
function getCookieToArray ()
{
	//クッキーに値がセットされていない場合空配列をreturn
	if (document.cookie == "") {
		return Array();
	}
	
	var cookieList = decodeURIComponent(document.cookie).split('; ');
	var tmp = new Array();
	var ret = new Array();
	
	for (var forCnt = 0; forCnt < cookieList.length; forCnt ++) {
		tmp = cookieList[forCnt].split('=');
		ret[tmp[0]] = tmp[1];
	}
	
	return ret;
}

/**
 * cookieデータ取得
 * 
 * @return array
 */
function getEstimateDataCookie(){
	
	var data = new Array(3);
	data[0] = new Array(4);
	data[1] = new Array(4);
	data[2] = new Array(4);
	
	//表示フラグ
	$.cookie("is_display",0);
	
	//cookie情報を配列で取得
	var cookieList = getCookieToArray();
	
	if (cookieList['xoopsSet'] == 'true') {
		$.cookie("is_display",1);
		data[0]['is_xoops'] = 1;
		data[0]['base'] = cookieList['xoopsBasePlan'];

		if (cookieList['xoopsAdditionFunctions0'] != undefined) {
			data[0]['option'] = new Array();
			for (var forCnt = 0; cookieList['xoopsAdditionFunctions' + forCnt] != undefined; forCnt ++) {
				data[0]['option'][data[0]['option'].length] = cookieList['xoopsAdditionFunctions' + forCnt];
			}
		}
		
		data[0]['total'] = cookieList['xoopsTotalPrice'];
	}
	
	if (cookieList['pneSet'] == 'true') {
		$.cookie("is_display",1);
		data[1]['is_pne'] = 1;
		data[1]['base'] = cookieList['pneBasePlan'];
		
		if (cookieList['pneAdditionFunctions0'] != undefined) {
			data[1]['option'] = new Array();
			for (var forCnt = 0; cookieList['pneAdditionFunctions' + forCnt] != undefined; forCnt ++) {
				data[1]['option'][data[1]['option'].length] = cookieList['pneAdditionFunctions' + forCnt];
			}
		}
		
		data[1]['total'] = cookieList['pneTotalPrice'];
	}
	
	if (cookieList['eccubeSet'] == 'true') {
		$.cookie("is_display",1);
		data[2]['is_eccube'] = 1;
		data[2]['base'] = cookieList['eccubeBasePlan'];

		if (cookieList['eccubeAdditionFunctions0'] != undefined) {
			data[2]['option'] = new Array();
			for (var forCnt = 0; cookieList['eccubeAdditionFunctions' + forCnt] != undefined; forCnt ++) {
				data[2]['option'][data[2]['option'].length] = cookieList['eccubeAdditionFunctions' + forCnt];
			}
		}
		
		data[2]['total'] = cookieList['eccubeTotalPrice'];
	}
	
	return data;
}

/**
 * 関連するcookie削除
 * @param String target
 */
function deleteCookie(target)
{
	if (target == undefined || target == null) {
		return;
	}
	
	var date = new Date();
	date.setTime(date.getTime() - 10000);

	var cookieList = getCookieToArray();
	
	for (var key in cookieList) {
		key = encodeURIComponent(key);
		if (key.substr(0, target.length) == target) {
			document.cookie = key + ' =; expires = ' + date.toGMTString() + '; path=/';
		}
	}
}

/**
 * サイドバーを非表示にする
 */
function noDisplay(){
	$.cookie("is_display",0);
	$("#estimate").css("display","none");
	
	//削除
	deleteCookie('pne');
	deleteCookie('xoops');
	deleteCookie('eccube');
}

/**
 * 配列内に指定された値が存在するか
 * @param string value
 * @param array arr
 * 
 * @return bool
 */
function in_array(value, arr)
{
	for (var key in arr) {
		if (arr[key] == value) {
			return true;
		}
	}
	
	return false;
}

/**
 * サイドバーの問合せボタンが押された際に呼ばれるイベント
 * @param string type
 */
function onInquiryButtonRelease(type)
{
	//-- 指定は正しいか
	if (!in_array(type, Array('pne', 'xoops', 'eccube'))) {
		alert('項目の指定が正しくありません');
		return;
	}
	//----------
	
	//cookie情報を配列で取得する
	var cookieList = getCookieToArray();
	
	//-- formの作成
	var form = document.createElement('form');
	form.action = root_dir + 'iform/mitsumori/';
	form.method = 'post';
	form.target = '_self';
	//----------
	
	//-- input-hidden生成と設定
	var input_list = new Array();
	
	switch (type) {
		case 'pne':
			input_list['kbn'] = '0';
			setCookie('selectType', 'pne');
			break;
		case 'xoops':
			input_list['kbn'] = '1';
			setCookie('selectType', 'xoops');
			break;
		case 'eccube':
			input_list['kbn'] = '2';
			setCookie('selectType', 'eccube');
			break;
	}
	
	if (cookieList[type + 'BasePlan'] != undefined) {
		input_list['basePlan'] = cookieList[type + 'BasePlan'];
	}
	
	if (cookieList[type + 'AdditionFunctions0'] != undefined) {
		input_list['additionFunctions'] = '';
		for (var forCnt = 0; cookieList[type + 'AdditionFunctions' + forCnt] != undefined; forCnt ++) {
			input_list['additionFunctions'] += cookieList[type + 'AdditionFunctions' + forCnt] + ',';
		}
		input_list['additionFunctions'] = input_list['additionFunctions'].substr(0, input_list['additionFunctions'].length - 1);
	}
	input_list['totalPrice'] = cookieList[type + 'TotalPrice'];
	
	for (var key in input_list) {
		var input = document.createElement('input');
		input.setAttribute('type', 'hidden');
		input.setAttribute('name', key);
		input.setAttribute('value', input_list[key]);
		
		form.appendChild(input);
	}
	//----------
	
	//-- formを登録し、submit実行。実行後、form削除
	var body = document.getElementsByTagName("body")[0];
	body.appendChild(form);
	form.submit();
	body.removeChild(form);
	//---------- 
}
/**
 * 金額の三ケタカンマ区切り
 * @param String str
 * 
 * @return String
 */
function addFigure(str) {
	var num = new String(str).replace(/,/g, "");
	while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
	return num;
}

/**
 * サイドバーの初期化
 */
function initSidebar ()
{
	for (var i = 0; i < 3; i ++)
	{
		$("#kubun0"+i).css("display","none");
		$("#kubun0"+i+" .es_data").empty();
		$("#kubun0"+i+" .es_button").empty();
	}
}

/**
 * サイドバーの更新
 */
function renewalSidebar ()
{
	//初期化
	initSidebar();
	
	//配列でcookie情報を取得
	var data = getEstimateDataCookie();
	
	if($.cookie('is_display')==1){
		for(var i = 0;i < data.length ; i++){
			
			var type = false;
			
			//サービス種類
			if( data[i]['is_xoops'] == 1){
				$("#kubun0"+i+" .es_data").append("<div id=simurator_service_name>サービス名:XOOPS</div>");
				type = 'xoops';
			}else if( data[i]['is_pne'] == 1){
				$("#kubun0"+i+" .es_data").append("<div id=simurator_service_name>サービス名:openPNE</div>");
				type = 'pne';
			}else if( data[i]['is_eccube'] == 1){
				$("#kubun0"+i+" .es_data").append("<div id=simurator_service_name>サービス名:EC-CUBE</div>");
				type = 'eccube';
			}
			
			
			
			
			//内容がある場合は表示
			if(type){
				$("#kubun0"+i).css("display","block");
				
				//ベースプラン
				if (data[i]["base"] != undefined) {
					$("#kubun0"+i+" .es_data").append("ベースプラン<br/>");
					$("#kubun0"+i+" .es_data").append(data[i]["base"] + "<br/>");
				}
				
				//オプションプラン
				if (data[i]["option"] != undefined) {
					$("#kubun0"+i+" .es_data").append("オプションプラン<br/>");
					for(var k = 0 ; k < data[i]["option"].length ; k++){
						$("#kubun0"+i+" .es_data").append(data[i]["option"][k] + "<br/>");
					}
				}
				
				//合計金額を3桁カンマ区切りにする
				var total = addFigure(data[i]["total"]);
				
				//合計金額
				$("#kubun0"+i+" .es_data").append("<div id=simurator_sum>合計金額:" +total+ "</div><br/>");
				
				//問合せボタン
				$("#kubun0"+i+" .es_button").append('<input type="button" style="background-image:url(' + root_dir + 'images-new/simurator/simurator_inquiry.jpg);background-repeat:no-repeat;width:172px;height:37px" value="" onclick="onInquiryButtonRelease(' + "'" + type + "'" + ')" />');
			}
		}
		
		$("#estimate").css("display","block");
	}else{
		$("#estimate").css("display","none");
	}
}

//onload時の処理
//$(function(){
window.onload = function ()
{
	//-- シミュレータ表示用embedタグの追加
	//var tmp = document.getElementById('userAgent');
	var ref = document.getElementById('flash');

	if (ref != null) {
		var embed = document.createElement('embed');
		var type = ref.innerHTML;
		
		ref.innerHTML = '';
		
		//embed.src = '../simulator/simulator.swf?browserType=' + getBrowserType();
		embed.src = '/images-new/landing/' + type + '/simurator/simulator.swf?browserType=' + getBrowserType();
		embed.type = 'application/x-shockwave-flash';
		embed.width = 602;
		embed.height = 473;
		embed.quality = 'high';
		embed.bgcolor = '#ffffff';
		embed.name = 'simulator';
		embed.align = 'middle';
		embed.allowScriptAccess = 'sameDomain';
		//embed.pluginspage = 'http://www.macromedia.com/go/getflashplayer';

		ref.appendChild(embed);

		//----------

		//-- ブラウザタイプの設定
		//var sid1 = document.getElementById('sid1');
		//var browserType = getBrowserType();
		//
		//if (sid1 != null) {
		//	document.getElementById('sid1').value += '?browserType=' + browserType;
		//}
		//----------

	}

	
    //
    var left = document.getElementById("headerN09").offsetLeft;
    left += document.getElementById("headerN09").offsetWidth;
    
    var point = document.documentElement.scrollTop || document.body.scrollTop;
    //ナビゲーションバーまでの高さ
    var navi_height = 124;
    //スクロールが124より小さい場合は124で固定
    if(point < navi_height){
       point =  navi_height;
    }
    //フッターの高さ
    var footer_height = document.getElementById("footerWrap").offsetTop;
    footer_height -= document.getElementById("estimate").offsetHeight;
    if(point > footer_height){
        point = footer_height;
    }

    document.getElementById("estimate").style.top=point+"px";
    document.getElementById("estimate").style.left=left+"px";
   
    //cookieの値の処理
	//$.cookie('cookiename','data',{ expires: 7 });//書き込み{保存days}
	//document.write($.cookie('cookiename'));//読み出し
    
    //サイドバーの更新
    renewalSidebar();
}
//});