/*--------------------------------------------------------------------------
 *
 *  Copyright (C) 2006 MEGAGOLF / NaturalIdentity Inc. All Rights Reserved.
 *
 *--------------------------------------------------------------------------*/

//ページ内ユーティリティー

//お気に入りに追加
function addFavorite(){
	window.external.AddFavorite('http://megagolf.jp',String.fromCharCode(77,69,71,65,32,71,79,76,70,32,65306,12468,12523,12501,12449,12540,12398,12468,12523,12501,12449,12540,12395,12424,12427,12468,12523,12501,12449,12540,12398,12383,12417,12398,26908,32034,12456,12531,12472,12531));//'MEGA GOLF ：ゴルファーのゴルファーによるゴルファーのための検索エンジン');
	return;
}

//使い方ヘルプ
var helpFlg=true;
function tglHelp(){
		helpFlg=!helpFlg;
//alert($('help1').style.visibility);
	if(helpFlg){
		$('help1').style.visibility='hidden';
		//Element.hide($("help1"));
	}else{
		$('help1').style.visibility='visible';
	}
	return;
}


//ニュース
function showNews(){
	$("news").innerHTML="<a href=\"../news/\">"+news[0]+"</a>";//初期化
	//$("news").innerHTML=news[0];//初期化
	var repeat=3;//リピート回数
	var speed=5000;//表示ミリ秒数
	var i=1;
	//var timer=setInterval(function(){$("news").innerHTML=news[i];(i<news.length-1) ? i++ : i=0;},500);
	var timer=setInterval(function(){
				$("news").innerHTML="<a href=\"../news/\">"+news[i%news.length]+"</a>";
				//$("news").innerHTML=news[i%news.length];
				(i<news.length*repeat)?i++:clearInterval(timer);}
			,speed);
}

//ページ内のパラメータをオブジェクトにまとめる
function param2Obj(){
	var obj=new Object();
	obj["latlng"]=String(map.getCenter());
	obj["latlng"]=obj["latlng"].replace('(','');
	obj["latlng"]=obj["latlng"].replace(')','');
	obj["latlng"]=obj["latlng"].replace(' ','');
	obj["zoom"]=map.getZoom();
	//var pref=$("pref").selectedIndex;

	obj["sm"]=$('priceMin').selectedIndex+","+$('priceMax').selectedIndex+",";
	obj["sm"]+=$('rateMin').selectedIndex+","+$('rateMax').selectedIndex+",";
	obj["sm"]+=$('distMin').selectedIndex+","+$('distMax').selectedIndex;

	var param=bundleParams().split('&');
	obj["cb"]=param[2].substring(param[2].indexOf('=')+1);
	obj["rb"]=param[3].substring(param[3].indexOf('=')+1);
	obj["area"]=$("area").selectedIndex;
//G("param2Obj"+obj);
	return obj;
}

//このページへのリンク（パラメータつきURL）
function jumpParamUrl(){
//呼び出し元でhref="javascript:void(0);" onClick="jumpParamUrl();"だとIEでエラー。href="javascript:jumpParamUrl();"で使用。 
	var url=obj2ParamUrl(getFileName(),param2Obj());
	//if(checkBrowser()=="IE"){window.prompt("この条件設定のURLを保存したい場合は、コピーしてご使用ください",url);window.open("../map/","_self");}
	//window.self.open(url);
	//window.location.href=url;
	window.open(url,"_self");
	//alert("jump");
	return;
}
//alert("megagolf.util.js読み込み完了");

/*--------------------------------------------------------------------------
 *
 *  Copyright (C) 2006 MEGAGOLF / NaturalIdentity Inc. All Rights Reserved.
 *
 *--------------------------------------------------------------------------*/
//alert("universal.util.js読み込み開始");
//汎用ユーティリティー群

//get文字列をオブジェクトに分解
function getParam2Obj(getTxt){
	var obj=new Object();

	var param="";

	if(getTxt.indexOf("?")>0){
		obj["url"]=getTxt.substring(0,getTxt.indexOf("?"));
		param=getTxt.substring(getTxt.indexOf("?")+1);
	}else{
		param=getTxt;
	}

	var splitParam=param.split("&");

	for(i in splitParam){
		var pos=splitParam[i].indexOf("=");
		var key=splitParam[i].substring(0,pos);
		var value=splitParam[i].substring(pos+1);
		if(value.indexOf(",")>-1){
			value=value.split(",");
		}else{
			value=new Array(value);
		}
		obj[key]=value;		
	}
	param=null;splitParam=null;pos=null;key=null;value=null;
	return obj;
}


function isArray(x){
	return ((typeof x=="object")&&(x.constructor=="Array"));
}

//デバッグ用　1次元配列なら展開できる
function G(obj){
//return;//公開用
	var res='';
	if(isArray(obj)){
		for(key in obj){

			res+="["+key+"]=>"+obj[key]+"\n";
		}
	}else{
		res=obj;
	}
	GLog.write(res);
	obj=null;
	return;
}

//現在時刻取得
function now(){
	var today = new Date();
	var Hour = today.getHours();
	var Minute= today.getMinutes();
	var Second = today.getSeconds();
	var milliSecond = today.getMilliseconds();
	var now=Hour+":"+Minute+":"+Second+":"+milliSecond+"---";
	return now;
}

//ブラウザ判別
function checkBrowser() {
    //alert(navigator.userAgent);
    var agent = navigator.userAgent; 
    if(agent.indexOf("Safari") > -1) return "SF"; 
    if(agent.indexOf("Opera") > -1) return "OP";
    if(agent.indexOf("Firefox") > -1) return "FF";
    if(agent.indexOf("MSIE") > -1) return "IE"; 
    if(document.layers) return "NN4";
    if(document.getElementById && !document.all) return "NN";
    return false; 
}

//オブジェクトへのIDアクセスのショートカット
function $(id){
	return document.getElementById(id);
}

//現在のURLからファイル名を抽出
function getFileName(){
	var path=window.location.href;
	var file=path.substring(0,path.lastIndexOf('?'));
	if(!file)file=path; 
	return file;
}

//オブジェクトをJsonに変換
function obj2Json(obj){
var json='{';
for(key in obj){
	if(!obj[key]){
		json+='"'+key+'":"",';
	}else if(isArray(obj[key])||String(obj[key]).indexOf(",")>0){//配列か、値にカンマが含まれている場合
		json+='"'+key+'":['+obj[key]+'],';
	}else{
		json+='"'+key+'":'+obj[key]+',';
	}
}
json=json.substring(0,json.lastIndexOf(","));
json+='}';
//G("obj2Json:"+json);
	return json;

}

//オブジェクトからパラメータ付きURL生成
function obj2ParamUrl(url,obj){
	//var obj=param2Obj();
	//var url=getFileName();
	var param="";
	for(key in obj){
		param+=obj[key]+"_";
	}
	param=param.substring(0,param.lastIndexOf("_"));

	//alert(url+"?p="+escape(param));
	return url+"?p="+escape(param);
}


//alert("universal.util.js読み込み完了");

/*--------------------------------------------------------------------------
 *
 *  Copyright (C) 2006 MEGAGOLF / NaturalIdentity Inc. All Rights Reserved.
 *
 *--------------------------------------------------------------------------*/
//alert("cookie.js読み込み開始");



//クッキー焼き
function makeCookie(val){
	var pCookie=val;
//G("make:"+pCookie);
	pCookie=escape(pCookie);
	pCookie="mglfprm="+pCookie+";path=/";
	document.cookie=pCookie;
	pCookie=null;
	return true;
}

//クッキー食い
function eatCookie(){
	var pCookie=document.cookie.split(';');
	//G(pCookie);
	for(var i in pCookie){
		if(pCookie[i].indexOf('mglfprm')>-1){
			var json=pCookie[i].substring(pCookie[i].indexOf('=')+1);
			json=unescape(json);
		}
	}
	pCookie=null;
	if(!json){
		return false;
	}

	
	
//G("eat:"+document.cookie);
//G("use:"+json);
	return json;
}
//alert("cookie.js読み込み完了");

/*--------------------------------------------------------------------------
 *
 *  Copyright (C) 2006 MEGAGOLF / NaturalIdentity Inc. All Rights Reserved.
 *
 *--------------------------------------------------------------------------*/
//alert("scroll.js読み込み開始");
function hshScroll(n){
	if(navigator.userAgent.indexOf("Opera")>-1){
		return true;
	}
	if(navigator.userAgent.indexOf("MSIE")>-1){
		return true;
	}

	var curY=window.pageYOffset;
	var speed=0.27;
	var targY=document.getElementsByName(n)[0].offsetTop;
	var dist=targY-curY;
	//var bottom=document.height;

	if(targY>=document.height-window.innerHeight){
		targY=document.height-window.innerHeight;
	}


	while(Math.abs(dist)>5){
		scrollTo(0,curY+(dist)*speed);
		curY=window.pageYOffset;
		dist=targY-curY;
		//if(curY>=bottom){return false;}
	}
		//scrollTo(0,targY);
	//alert("end");
	return false;
}

//画像がエラーの時
function imgErr(targ){
	targ.src='../img/noimage.gif';
	return;
}