var scriptName='index.php';
var doResize=function(){
		$('#wrapper').css('width',$(window).width()-150);
		$('#gmap').css('height',$(window).height()-250);
		$('#panel').css('left',$(window).width()-150-20-$('#panel').width());
		$('#menu .column').css('width',($(window).width()-150-20)/3);
	};
var togglePanel=function(){
		if($('#operation').css('display')=='none'){
			$('#operation').css('display','block');
			$('#toggleButton').attr('src','img/close.gif');
		}else{
			$('#operation').css('display','none');
			$('#toggleButton').attr('src','img/open.gif');
		}
	};
var toggleStep=function(step){
		$('div.step').hide();
		$('#step'+step).show();
	};
var initPoint=function(){
		lat		=undefined;
		lng		=undefined;
		id		=undefined;
		count	=5;
		$('#sendmessage').empty();
		kokodeObj.cwj_unplotall();
		$('#search').get(0).reset();
		$('#create').get(0).reset();
		$('#send').get(0).reset();
		toggleStep(1);
	};
var searchPoint=function(){
		var keyword=$('#search input[name="keyword"]').val();
		kokodeObj.cwj_geoCoding(keyword);
	};
var plotPoint=function(){
		kokodeObj.cwj_unplotshop();
		var point=kokodeObj.cwj_getCenterLatLng();
		lat=point.lat;
		lng=point.lng;
		kokodeObj.cwj_plot(point.lng,point.lat,1);
		toggleStep(2);
	};
var plotPointByCafe=function(slng,slat,name,address){
		$('#operation').css('display','block');
		$('#toggleButton').attr('src','img/close.gif');
		
		kokodeObj.cwj_unplotshop();
		kokodeObj.cwj_goto(slng,slat);
		lat=slat;
		lng=slng;
		kokodeObj.cwj_plot(slng,slat,1);
		$('#create input[name="name"]').val(name);
		$('#create textarea[name="comment"]').val(address);
		toggleStep(2);
	};
var createPoint=function(){
		var name	=$('#create input[name="name"]').val();
		var comment	=$('#create textarea[name="comment"]').val();
		var zoom	=kokodeObj.cwj_getZoom();
		$.ajax({
				async:false,
				type:'POST',
				cache:false,
				url:scriptName,
				data:'action=save&lat='+lat+'&lng='+lng+'&zoom='+zoom+'&name='+name+'&comment='+comment,
				dataType:'json',
				success: function(data,datatype){
						switch(data.result){
							case '0':
								alert("保存に失敗しました。\nもう一度最初からお試しください。\n何度もエラーが出る場合は管理人までご連絡ください。");
								initPoint();
								break;
							default:
								id=data.result;
								$('#pointUrl').html($(document.createElement('a')).attr('target','_blank').attr('href',pointUrlPrefix+id).text(pointUrlPrefix+id));
								$('#create').get(0).reset();
								
								// 次回利用時に便利なように緯度経度をクッキーに保存しておく
								$.cookie('kokode_lat',lat,{expires:365});
								$.cookie('kokode_lng',lng,{expires:365});
								toggleStep(3);
						}
					}
			});
	};
var sendEmail=function(){
		var target	=$('#send input[name="target"]').val();
		var nickname=$('#send input[name="nickname"]').val();
		var message	=$('#send textarea[name="message"]').val();
		$.ajax({
				async:false,
				type:'POST',
				cache:false,
				url:scriptName,
				data:'action=send&target='+target+'&nickname='+nickname+'&message='+message+'&id='+id,
				dataType:'json',
				success: function(data,datatype){
						switch(data.result){
							case '0':
								alert("メールの送信に失敗しました。\nもう一度お試しください。\n何度もエラーが出る場合は管理人までご連絡ください。");
								break;
							default:
								count--;
								if(count==0){
									$('#inform').hide();
								}
								$('#send input[name="target"]').val('');
								$('#sendmessage').text('続けて5人まで送信することができます。残り '+count+' 人。');
						}
					}
			});
	};
var setPoint=function(obj){
		if(obj!=undefined){
			$('#menu').hide();
			
			// ポイント操作パネルをいったん空にしてポイント名とタイトルを表示
			var img=document.createElement('img');
			img.src='img/button_print.gif';
			
			var name	=$(document.createElement('div')).text(obj.name);
			var comment	=$(document.createElement('div')).html(obj.comment);
			var print	=$(document.createElement('p')).append($(document.createElement('a')).attr('href','javascript:void(window.open("/pr'+obj.id+'"));').append(img));
			
			// ヘッダのテキストを空にする。
			$('#header h2').empty();
			
			// 要素を空にする
			$('#operation').empty();
			
			// 要素に文字列を挿入する
			if(!obj.print){
				$('#operation')
					.append(name)
					.append(comment)
					.append(print);
				$('#header h2').html("あなたも無料で簡単に地図で場所を知らせることができます。<br />地図を作成するにはロゴマーク「KoKode.in」をクリックしてください。");
			}else{
				$('#caption div.comment')
					.empty()
					.append(name)
					.append(comment);
				// 印刷用のときは、地図のリサイズをやめて固定にする
				$(window).unbind('resize');
				$('#wrapper').css('width',640);
				$('#gmap').css('height',640);
				//$('#panel').css('left',640-20-$('#panel').width());
				$('#panel').remove();
				$('#caption').show();
				$('#header h2').html("<br />場所のお知らせツール「kokode.in」（ココで.in）");
			}
			
			// 次回利用時に便利なように緯度経度をクッキーに保存しておく
			$.cookie('kokode_lat',obj.lat,{expires:365});
			$.cookie('kokode_lng',obj.lng,{expires:365});
			
			// 最後に位置をプロットして移動
			// （google mapsを再起動する：IE以外のブラウザでの位置ずれを防ぐため）
			kokodeObj=kokode('#gmap');
			kokodeObj.cwj_plot(obj.lng,obj.lat);
			kokodeObj.cwj_goto(obj.lng,obj.lat,obj.zoom);
			
			setTimeout(function(){if(obj.print){window.print();}},2000);
		}
	};


var plotCafe=function(category){
		var center=kokodeObj.cwj_getCenterLatLng();
		center.category=category;
		searchShop(center);
	};
var searchShop=function(obj){
		initPoint();
		switch(kokodeObj.cwj_getZoom()){
			case 19:
				kokodeObj.cwj_goto(obj.lng,obj.lat,18);
				break;
			case 18:
			case 17:
			case 16:
			case 15:
			case 14:
				break;
			default:
				kokodeObj.cwj_goto(obj.lng,obj.lat,13);
		}
		
		searchShopGNavi(obj);
	};
var searchShopGNavi=function(obj){
		var apikey				='ded044204747035bf82980da224c9291';
		var lat					=obj.lat;	//35.67890
		var lng					=obj.lng;	//135.938374
		var range				=1;		//1:300m,2:500m,3:1000m,4:2000m,5:3000m
		var category_l			=obj.category;	//
		var coordinates_mode	=2;
		var offset				='1';
		var hit_per_page		='100';
		var offset_page			='1';
		
		switch(kokodeObj.cwj_getZoom()){
			case 18:
				range=1;
				break;
			case 17:
				range=2;
				break;
			case 16:
				range=3;
				break;
			case 15:
				range=4;
				break;
			case 14:
				range=5;
				break;
			default:
				range=5;
		}
		
		$.ajax({
				type:'GET',
				cache:false,
				url:scriptName,
				data:'action=gnavi&keyid='+apikey+'&latitude='+lat+'&longitude='+lng+'&range='+range+'&category='+category_l,
				dataType:'xml',
				success: function(data,datatype){
						kokodeObj.cwj_unplotshop();
						var i=0;
						var shops=[];
						$('rest',data).each(function() {
								var image=undefined;
								$('image_url',this).each(function(){
										image=$('shop_image1',this).text();
									});
								var name=$('name',this).text();
								name=name.replace(/<br>/gi,'');
								shops[i]={lat:$('latitude',this).text(),lng:$('longitude',this).text(),name:name,address:$('address',this).text(),image:image};
								i++;
							});
						if(!i){
							alert('近辺には見つかりませんでした。');
						}else{
							kokodeObj.cwj_shops(shops);
						}
					}
			});
	};
var searchShopHotPepper=function(obj){
		var apikey	='7414feddea4c3166';
		var lat		=obj.lat;	//35.67890
		var lng		=obj.lng;	//135.938374
		var range	=1;		//1:300m,2:500m,3:1000m,4:2000m,5:3000m
		var genre	='G014';	//
		var start	='1';
		var count	='100';
		var format	='jsonp';
		
		switch(kokodeObj.cwj_getZoom()){
			case 18:
				range=1;
				break;
			case 17:
				range=2;
				break;
			case 16:
				range=3;
				break;
			case 15:
				range=4;
				break;
			case 14:
				range=5;
				break;
			default:
				range=5;
		}
		
		$.ajax({
				type:'GET',
				cache:false,
				url:'http://webservice.recruit.co.jp/hotpepper/gourmet/v1/',
				data:'key='+apikey+'&lat='+lat+'&lng='+lng+'&range='+range+'&genre='+genre+'&start='+start+'&count='+count+'&format='+format,
				dataType:'jsonp',
				success: function(data,datatype){
						kokodeObj.cwj_unplotshop();
						var lines=data.results.shop;
						if(!lines.length){
							alert('近辺には見つかりませんでした。');
						}else{
							var shops=[];
							for(var i=0;i<lines.length;i++){
								shops[i]={lat:lines[i].lat,lng:lines[i].lng,name:lines[i].name,address:lines[i].address,image:lines[i].photo.pc.m}
							}
							kokodeObj.cwj_shops(shops);
						}
					}
			});
		
	};
