var	lBrowserType = -1;
var	lBrowserVersion = -1;
var	ua = navigator.userAgent;
if( ua.indexOf("Firefox/") != -1 )
{
	lBrowserType = 1;
}
else if( ua.indexOf("Opera/9") != -1 || ua.indexOf("Opera 9") != -1)
{
	lBrowserType = 2;
	lBrowserVersion = 9;
}
else if( ua.indexOf("Opera/8") != -1 || ua.indexOf("Opera 8") != -1)
{
	lBrowserType = 2;
	lBrowserVersion = 8;
}
else if( ua.indexOf("Opera") != -1)
{
	lBrowserType = 2;
	lBrowserVersion = 7;
}
else if( ua.indexOf("MSIE") != -1)
{
	lBrowserType = 0;
}
else if( ua.indexOf("Gecko/") != -1)
{
	lBrowserType = 1;
}
else if( ua.indexOf("Safari/") != -1)
{
	lBrowserType = 3;
}
else
{
	alert( ua );
}

function mfwcom_mfwfoot(){
}

function mfwcom_count(to,from,prf){
var requestdata = "/ct.html?page=" + escape(to) + "&ref=" + escape(from);
if(prf.length>0){requestdata += "&PrfCd=" + escape(prf);}
requestdata += "&" + String(geturloption());
var xmlhttp = this.XMLHttpRequest ? new XMLHttpRequest() :new ActiveXObject("Msxml2.XMLHTTP") || new ActiveXObject("Microsoft.XMLHTTP");
if (xmlhttp) {xmlhttp.open("GET", requestdata, true);xmlhttp.send(null);}
}

function CCookie(){
	this.GetStr = function(func){
		var p = 0;
		var com_count;
		var start_cf_flg = -1;
		var end_cf_flg = -1;

		while(p < document.cookie.length){
			start_cf_flg = document.cookie.indexOf(func + "=1&",p);
			if (start_cf_flg < 0) {
				return "";
			}

			if ( start_cf_flg != 0 ){
				if ( document.cookie.charAt(start_cf_flg-1) == " " ||
				     document.cookie.charAt(start_cf_flg-1) == "&" ||
				     document.cookie.charAt(start_cf_flg-1) == ";" ||
				     document.cookie.charAt(start_cf_flg-1) == "\n"
				){
					break;
				} else {
					p = start_cf_flg + 1;
				}
			} else {
				break;
			}
		}
		start_cf_flg = start_cf_flg + (func + "=1&").length;
		p = start_cf_flg;
		start_cf_flg = document.cookie.indexOf("&",p);
		if (start_cf_flg < 0) {
			return "";
		}

		start_cf_flg = start_cf_flg + ("&").length;
		end_cf_flg = document.cookie.indexOf(";",start_cf_flg);
		if (end_cf_flg < 0) {
			return document.cookie.substr(start_cf_flg);
		} else {
			return document.cookie.substr(start_cf_flg,(end_cf_flg - start_cf_flg));
		}
	}

	this.GetValue = function(func,name){
		var start_cf_flg = -1;
		var end_cf_flg = -1;
		var ck_str = this.GetStr(func);

		start_cf_flg = ck_str.indexOf(name + "=");
		if (start_cf_flg < 0) {
			return "";
		}

		start_cf_flg = start_cf_flg + (name + "=").length;
		end_cf_flg = ck_str.indexOf("&",start_cf_flg);
		if (end_cf_flg < 0) {
			end_cf_flg = ck_str.length + 1;
			return ck_str.substr(start_cf_flg);
		} else {
			return ck_str.substr(start_cf_flg,(end_cf_flg - start_cf_flg));
		}
	}

	this.RegStr = function(func,str,path,exp,secure){
		if (func.length == 0 ||
			str.length == 0 ||
			path.length == 0
		) {
			return;
		}

		var ck_prm = "";
		ck_prm += func + "=1";
		ck_prm += "&p=" + path;
		ck_prm += "&" + str;
		ck_prm += "; ";

		ck_prm += "path=" + path + "; ";
		if (exp.length > 0) {
			ck_prm += "expires=" + exp + "; ";
		}
		if (secure.length > 0) {
			ck_prm += "secure ";
		}

		document.cookie = ck_prm;
	}

	this.RegValue = function(func,name,str,path,exp,secure){
		var tmp_prm;
		var ck_prm = "";
		var ck_str = this.GetStr(func);

		var str_array = new Array();
		str_array = ck_str.split('&');
		var p = 0;
		for(var i=0;i<str_array.length;i++){
			if (str_array[i].indexOf(name + "=") >= 0) {
				str_array[i] = name + "=" + str;
				p = 1;
			}
			if (i != 0) {
				ck_prm += "&";
			}
			ck_prm += str_array[i];
		}

		if (p == 0) {
			ck_prm += name + "=" + str;
		}

		this.RegStr(func,ck_prm,path,exp,secure);
	}

	this.DelStr = function(func,path){
		if (func.length > 0) {
			var ck_prm = "";
			ck_prm += func + "=1";
			ck_prm += "; ";
			ck_prm += "path=" + path + "; ";
			ck_prm += "expires=Tue, 1-Jan-2000 00:00:00 GMT";
			ck_prm += "; ";
			document.cookie = ck_prm;
		}
	}

	this.DelValue = function(func,name,path,exp,secure){
		var tmp_prm;
		var ck_prm = "";
		var ck_str = this.GetStr(func);

		var str_array = new Array();
		str_array = ck_str.split('&');
		var p = 0;
		for(var i=0;i<str_array.length;i++){
			if (str_array[i].indexOf(name + "=") >= 0) {
				continue;
			}
			if (p != 0) {
				ck_prm += "&";
			}
			ck_prm += str_array[i];
			p++;
		}

		this.RegStr(func,ck_prm,path,exp,secure);
	}
	return this;
}

function regNavibar(navistr) {
	var tmpstr = "";
	if(navistr.length == 0){
		tmpstr = "navibar=; path=/; expires=Tue, 1-Jan-2000 00:00:00 GMT";
	} else {
		tmpstr = "navibar=" + navistr + "; path=/;";
	}
	document.cookie = tmpstr;
	return true;
}

var timeoutsec = 1000;
function getdata(requestdata, asyncmode, success_func, err_func){
	var res = "";
	var m = "";

	if (lBrowserType == 0) {
		m = "onreadystatechange";
	} else {
		m = "onload";
	}

	var xmlhttp = gethttpclient();
	if (xmlhttp) {
//		timer = setTimeout("timeoutcheck(" + xmlhttp + "," + err_func + ")",timeoutsec);
		xmlhttp.open("GET", requestdata, asyncmode);

		var script = "";
		script += 	"xmlhttp." + m + " = function(){";
		script += 		"if (xmlhttp.readyState == 4) {";
		script += 			"if (xmlhttp.status == 200) {";
//		script += 				"clearTimeout(timer);";
		script += 				"res = xmlhttp.responseXML;";
		script += 				"xmlhttp = null;";
		script += 				"return success_func(res);";
		script += 			"} else {";
		script += 				"xmlhttp = null;";
		script += 				"return err_func();";
		script += 			"}";
		script += 		"}";
		script += 	"};";

		eval(script);
		xmlhttp.send("");

	} else {
		return err_func();
	}
}

function getjsondata(requestdata, asyncmode, success_func, err_func){
	var res = "";
	var m = "";

	if (lBrowserType == 0) {
		m = "onreadystatechange";
	} else {
		m = "onload";
	}

	var jsonhttp = gethttpclient();
	if (jsonhttp) {
//		timer = setTimeout("timeoutcheck(" + jsonhttp + "," + err_func + ")",timeoutsec);
		jsonhttp.open("GET", requestdata, asyncmode);

		var script = "";
		script += 	"jsonhttp." + m + " = function(){";
		script += 		"if (jsonhttp.readyState == 4) {";
		script += 			"if (jsonhttp.status == 200) {";
//		script += 				"clearTimeout(timer);";
		script += 				"res = jsonhttp.responseText;";
		script += 				"jsonhttp = null;";
		script += 				"return success_func(res);";
		script += 			"} else {";
		script += 				"jsonhttp = null;";
		script += 				"return err_func();";
		script += 			"}";
		script += 		"}";
		script += 	"};";

		eval(script);
		jsonhttp.send("");

	} else {
		return err_func();
	}
}


function timeoutcheck(xmlhttp2,err_func){
	if (xmlhttp2.readyState != 0 && xmlhttp2.readyState != 4) {
		clearTimeout(timer);
		xmlhttp2.abort();
		err_func();
		return false;
	} else {
		return true;
	}
}

function gethttpclient(){
  var xmlhttp0 = null;
  try {
      xmlhttp0 = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try {
      xmlhttp0 = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
      xmlhttp0 = false;
    }
  }
  if (!xmlhttp0 && typeof XMLHttpRequest!='undefined') {
    xmlhttp0 = new XMLHttpRequest();
  }

	return xmlhttp0;
}

function geturloption(){
	return (new Date()).getTime();
}
function getyear(){
	var year = new Date();
	myDate = year.getFullYear();
	document.write(myDate);
}

/** append at 2011-04-29**/
//get value from the local cookie. 
function getCookie(name) {
	var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
	if (arr != null) {
		return unescape(arr[2]);
	}
	return "";
}
/** append at 2011-04-29**/

// cookie設定
function setCookie(sKey, sValue, sPath) {
	document.cookie = sKey + "=" + sValue + "; path=" + sPath + ";";
}

// event追加
function addEvent(elm,listener,fn){
	try {
		elm.addEventListener(listener,fn,false);
	}
	catch(e) {
		elm.attachEvent("on"+listener,fn);
	}
}

// 検索用テキストボックスのデフォルト文字列
var g_sDef_srchlist = new Array(
						'住所、駅、スポット、〒、TEL',
						'例）千代田区',
						'例）ラーメン'
					);

var g_iSrchkind = 0;

function header_content(iSrchkind, iUrlkind){
	// iSrchkind:初期選択検索種別
	//		0:地図検索　＃デフォルト値
	//		1:周辺検索
	// iUrlkind:URL指定種別
	//		0:ドメイン省略　＃デフォルト値
	//		1:ドメイン付加　＃httpsページで使用

	// デフォルト値設定
	if (typeof iSrchkind == 'undefined') {
		iSrchkind = 0;
	}
	g_iSrchkind = iSrchkind;
	if (typeof iUrlkind == 'undefined') {
		iUrlkind = 0;
	}
		
	var sDomain = "";
	if (iUrlkind == 1) {
		sDomain = "http://" + location.hostname;
	}

	var cls_ck = new CCookie();
	var hname = decodeURIComponent(cls_ck.GetStr("hn"));
	var userattr = getCookie("UserAttr");
	
	// エンティティ
	var encresult = '';
	for(var i=0; i<hname.length; i++){
		var t = hname.charCodeAt(i);
		t = 'x' + t.toString(16);
		encresult += '&#' + t + ';';
	}
	
	//
	var str = "";

	str += "<!-- ▼▼▼ ヘッダ ▼▼▼ -->";
	str += "<div id='header_col'>";
	str += "<!-- ##header## -->";
	str += " <div id='header'>";
	str += "  <p class='logo'>";
	if (userattr == "SmartLoop,normal" || userattr == "SmartLoop,probe") {
		str += "   <a href='" + sDomain + "/'><img src='/images/mfw_logo_p.gif' alt='MapFan Web トップページへ'></a>";
	}
	else {
		str += "   <a href='" + sDomain + "/'><img src='/images/mfwlogo_s.gif' alt='MapFan Web トップページへ'></a>";
	}
	str += "  </p>";
	str += "  <ul class='userName'>";
	str += "   <li class='userN'>ようこそ <span>";
	if (hname.length > 0) {
		str += encresult;
	}
	else {
		str += "ゲスト";
	}
	str += "   </span> さん</li>";
	str += "   <li>";
	if (hname.length > 0) {
		str += "    <a href='http://" + location.hostname + "/mfid/logout.cgi' id='goLogout' onclick='javascript:logout()'>ログアウト</a>";
	}
	else {
		str += "    <a href='https://" + location.hostname + "/mfid/login.cgi' id='goLogin' onclick='javascript:login();'>ログイン</a>";
	}
	str += "   </li>";
	str += "  </ul>";
	str += "  <dl id='hSrch'>";
	str += "   <dd>";
	str += "    <p>";
	str += "     <input name='srchkind' type='radio' value='0' id='r1' onclick='javascript:chgSrchkind(0);'><label for='r1'> 地図検索</label>　";
	str += "     <input name='srchkind' type='radio' value='1' id='r2' onclick='javascript:chgSrchkind(1);'><label for='r2'> 周辺検索</label>";
	str += "    </p>";
	str += "   </dd>";
	str += "   <dd id='keyword1' style='display:block;'>";
	str += "    <form name='com_head_keysrch' action='" + sDomain + "/keywordsrch.cgi' method='get'>";
	str += "    <input type='text' name='w' id='kws1' class='key1' maxlength='104' onfocus='javascript:iniSrchtext(0,this.value);'>";
	str += "    <a href='javascript:srchKey();' class='keysrch_btn'>検索</a>";
	str += "    </form>";
	str += "   </dd>";
	str += "   <dd id='keyword2' style='display:none;'>";
	str += "    <form name='com_head_cirsrch' action='" + sDomain + "/m.cgi' method='get'>";
	str += "    <input type='text' name='sw' id='kws2' class='key2' maxlength='104' onfocus='javascript:iniSrchtext(1,this.value);'>周辺の";
	str += "    <input type='text' name='w' id='kws3' class='key3' maxlength='104' onfocus='javascript:iniSrchtext(2,this.value);'>";
	str += "    <a href='javascript:srchCir();' class='keysrch_btn'>検索</a>";
	str += "    </form>";
	str += "   </dd>";
	str += "  </dl>";
	str += "  <ul class='hNavi'>";
	str += "   <li class='list1'><a href='" + sDomain + "/faq/index.html'>ヘルプ</a></li>";
	str += "   <li><a href='" + sDomain + "/sitemap.html'>サイトマップ</a></li>";
	str += "  </ul>";
	str += " </div>";
	str += "</div> <!-- id='header_col' -->";
	str += "<!-- ▲▲▲ ヘッダ ▲▲▲ -->";

	document.write(str);

	// 初期化
	addEvent(window,"load",function(){initHeader(g_iSrchkind);});
}


// 初期化
function initHeader(iSrchkind) {
	switch (iSrchkind) {
	case 0:	// 地図検索
		document.getElementById("r1").checked = true;
		chgSrchkind(0);
		break;
	case 1:	// 周辺検索
		document.getElementById("r2").checked = true;
		chgSrchkind(1);
		break;
	default:
		break;
	}

	// デフォルト検索文字列設定
	var oKws1 = document.getElementById("kws1");
	var oKws2 = document.getElementById("kws2");
	var oKws3 = document.getElementById("kws3");

	if (oKws1) {
		if (oKws1.value == "" || oKws1.value == g_sDef_srchlist[0]) {
			oKws1.value = g_sDef_srchlist[0];
			oKws1.style.color = '#999';
		}
	}
	if (oKws2) {
		if (oKws2.value == "" || oKws2.value == g_sDef_srchlist[1]) {
			oKws2.value = g_sDef_srchlist[1];
			oKws2.style.color = '#999';
		}
	}
	if (oKws3) {
		if (oKws3.value == "" || oKws3.value == g_sDef_srchlist[2]) {
			oKws3.value = g_sDef_srchlist[2];
			oKws3.style.color = '#999';
		}
	}	
}


// ログイン
function login(url) {
	mfwcom_count('f_login', location.pathname, '');
	var tmp_url = "";
	if (typeof(url) == "undefined" || url == "") {
		tmp_url = location.href;
	} else {
		tmp_url = url;
	}

	// cookie登録
	var sKey = "LoginUrl";
	var sValue = tmp_url;
	var sPath = "/";
	setCookie(sKey, sValue, sPath);
}

// ログアウト
function logout() {
}

// 検索種別変更
function chgSrchkind(iSrchkind) {

	// 表示・非表示変更
	switch (iSrchkind) {
	case 0:	// 地図検索
		document.getElementById("keyword1").style.display = "block";
		document.getElementById("keyword2").style.display = "none";

		var str = "";
		if (document.getElementById("kws2").value != ""
			&& document.getElementById("kws2").value != g_sDef_srchlist[1]) {
			str += document.getElementById("kws2").value;
			str += "　";
		}
		if (document.getElementById("kws3").value != ""
			&& document.getElementById("kws3").value != g_sDef_srchlist[2]) {
			str += document.getElementById("kws3").value;
		}
		if (str != "") {
			document.getElementById("kws1").value = str;
			document.getElementById("kws1").style.color = '#000';
		}
		break;
	case 1:	// 周辺検索
		document.getElementById("keyword1").style.display = "none";
		document.getElementById("keyword2").style.display = "block";
		break;
	default:
		break;
	}
}

// 検索用テキストボックス初期化
function iniSrchtext(iTextkind, sText) {

	// デフォルト文字列消去
	// 文字色変更（黒）
	if (sText == g_sDef_srchlist[iTextkind]) {
		switch (iTextkind) {
		case 0:	// 地図検索
			document.getElementById("kws1").value = "";
			document.getElementById("kws1").style.color = '#000';
			break;
		case 1:	// 周辺検索
			document.getElementById("kws2").value = "";
			document.getElementById("kws2").style.color = '#000';
			break;
		case 2:	// 周辺検索
			document.getElementById("kws3").value = "";
			document.getElementById("kws3").style.color = '#000';
			break;
		default:
			break;
		}
	}
}

// 地図検索
function srchKey() {
	var sKws1 = Trim(document.getElementById("kws1").value);
	document.getElementById("kws1").value = sKws1;

	// 入力チェック
	if (sKws1 == g_sDef_srchlist[0] || sKws1.length == 0) {
		alert("検索キーワードを入力してください");
		return;
	}

	//　カウント
	mfwcom_count('com_head_keysrch',location.pathname,'');

	// 検索
//	window.location.href = "\keywordsrch.cgi?w=" + encodeURIComponent(sKws1);
	document.com_head_keysrch.submit();
}

// 周辺検索
function srchCir() {
	var sKws2 = Trim(document.getElementById("kws2").value);
	var sKws3 = Trim(document.getElementById("kws3").value);
	document.getElementById("kws2").value = sKws2;
	document.getElementById("kws3").value = sKws3;

	// 入力チェック
	if (sKws2 == g_sDef_srchlist[1] || sKws2.length == 0) {
		alert("検索キーワードを入力してください");
		return;
	}
	if (sKws3 == g_sDef_srchlist[2] || sKws3.length == 0) {
		alert("検索キーワードを入力してください");
		return;
	}

	//　カウント
	mfwcom_count('com_head_cirsrch', location.pathname, '');

	// 検索
	window.location.href = "/m.cgi?sw=" + encodeURIComponent(sKws2) + "&w=" + encodeURIComponent(sKws3);
//	document.com_head_cirsrch.submit();
}

function getQrZoom(mapzoom) {
	var qrzm = mapzoom;
	if(qrzm < 6){
		qrzm = 6;
	}else if(qrzm == 13){
		qrzm = 12;
	}
	return qrzm;
}

function Trim(str) {
    return str.replace(/^[\s　]+|[\s 　]+$/g, '');
}

