
﻿
var map;var mkmanager;var marker_mem;var gConfig={cookie_date:30,carea:'kentryarea',fmloc:'fmloc',fmcomm:'fmcomm',fmreq:'fmreq',listarea:'rightdata',commarea:'commentry',commentarea:'commentarea',adddatafm:'adddatafm',animationTime:0.3,datalevel:9,locentry:'locentry.php',locentry9:'locentry9.php',commentry:'commentry.php',commentry9:'commentry9.php',getlocdata:'getlocation.php',getshopdata:'getshopdata.php',addshopdata:'add_shopdata.php',updshopdata:'upd_shopdata.php',checkshop:'checkshop.php',max_contlength:60,max_commmainlength:200,carea_close:function(){Effect.Squish(this.carea,{duration:1});},moveEnd:0,map_loadTimer:2500,lview_rel:'ajax',lview_width:function(){return(514);},lview_height:function(){var h=getBrowserHeight();if(h==0){return(330);}else{if(h-200<=330){return(330);}else{return(h-190);}}},manager:false,rclickmenu:function(zoomlv,p){var rmenu_latlng=map.fromContainerPixelToLatLng(p);var menu='<ul>';if(zoomlv>16){menu+="<li><a href='javascript: add_location(new GLatLng"+rmenu_latlng+", 0);'>ここのお店を登録</a></li>";}
menu+="<li><a href='javascript:map.zoomIn();'>ズームインして詳細を表示</a></li>"
+"<li><a href='javascript:map.zoomOut();'>ズームアウトして広域を表示</a></li>"
+"<li class=\"noborder\"><a href='javascript:map.panTo(new GLatLng"+rmenu_latlng+");'>ここを地図の中心</a></li>";menu+='</ul>';return(menu);},zlen:function(len){var z;if(len<10){z=2;}else if(len<20){z=1;}else{z=0;}
return(z);},cond:new Array(),condflg:false};var gMsg={eMsg01:'店名が入力されていません。',eMsg02:'カテゴリが選択されていません。',eMsg03:'ニックネームが入力されていません。',eMsg04:'メールアドレスが入力されていません。',eMsg05:'コメントタイトルが入力されていません。',eMsg06:'食べたメニューが入力されていません。',eMsg07:'コメントが入力されていません。',eMsg08:'メールアドレスが不正です。',eMsg09:'料金が入力されていません。概算でもOKです。',eMsg10:'半角の数字を入力して下さい。',eMsg11:'正の数字を入力して下さい。',eMsg12:'評価の入力もお願いします。',eMsg13:'データが入力されていません。',eMsg14:'文字数が少なすぎます。',eMsg15:'入力内容が不正です。',eMsg16:'文字数が多すぎます。',eMsg21:'依頼内容をチェックしてください。',eMsg22:'依頼者の名前が入力されていません。',eMsg23:'お店との関係をチェックしてください。',eMsg24:'依頼内容詳細を入力して下さい。',iMsg01:'<div class="loading"><span>Now Loading ...</span></div>',iMsg02:'Load Failure ....',iMsg03:'Load Exception ....'};var gLunch=Class.create();gLunch.prototype={initialize:function(){this.base="/img/icon/",this.shd='iconshadow',this.png='.png',this.teisyoku='teisyoku',this.ramen='ramen',this.udon='udon',this.pasta='pasta',this.curry='curry',this.wasyoku='wasyoku',this.yosyoku='yosyoku',this.chuka='chuka',this.ethnic='ethnic',this.yakiniku='yakiniku',this.caffe='caffe',this.ff='ff',this.bento='bento',this.sonota='sonota',this.marks=new Array('','teisyoku','ramen','udon','pasta','curry','wasyoku','yosyoku','chuka','ethnic','yakiniku','caffe','ff','bento','sonota')},img:function(ctg){var imgicon=this.base;var mark_no;if(ctg%10==0){mark_no=ctg/10;}else{mark_no=14;}
imgicon+=this.marks[mark_no]+'.png';return(imgicon);},altname:function(ctg){var alt=Array('','定食・丼物','ラーメン','うどん・そば','パスタ','カレー','和食','洋食','中華','エスニック','焼き肉・韓国','カフェ','ファーストフード','弁当・惣菜','その他');var mark_no;if(ctg%10==0){mark_no=ctg/10;}else{mark_no=14;}
return(alt[mark_no]);},icon:function(ctg){var Icon=new GIcon();Icon.image=this.img(ctg);Icon.shadow=this.base+this.shd+'.png';Icon.iconSize=new GSize(24,24);Icon.shadowSize=new GSize(44,24);Icon.iconAnchor=new GPoint(16,24);Icon.infoWindowAnchor=new GPoint(16,0);return(Icon);}};var ENTRYmarker=Class.create();ENTRYmarker.prototype={initialize:function(){this.Icon=new GIcon(),this.Icon.image="http://maps.google.co.jp/mapfiles/ms/icons/blue-pushpin.png",this.Icon.shadow="http://maps.google.co.jp/mapfiles/ms/icons/pushpin_shadow.png",this.Icon.iconSize=new GSize(32,32),this.Icon.shadowSize=new GSize(59,32),this.Icon.iconAnchor=new GPoint(16,32),this.Icon.infoWindowAnchor=new GPoint(16,0),this.flg=0,this.entryflg=0},display:function(g){var lat=g.lat();var lng=g.lng();if(this.flg==1){this.delete_icon();}
this.marker=new GMarker(new GPoint(lng,lat),this.Icon);map.addOverlay(this.marker);this.flg=1;this.entryflg=1;},delete_icon:function(){this.flg=0;map.removeOverlay(this.marker);}}
var kmarker=new ENTRYmarker();var rmenu=document.createElement("div");function gmap_cookie_set(){var nowtime=new Date().getTime();var zoomlevel=map.getZoom();var homepos=map.getCenter();var homelat=homepos.lat();var homelng=homepos.lng();var clearDay=new Date(nowtime+(60*60*24*1000*gConfig.cookie_date));var expDay=clearDay.toGMTString();document.cookie='home_lat='+homelat+';expires='+expDay+';';document.cookie='home_lng='+homelng+';expires='+expDay+';';document.cookie='zoom_level='+zoomlevel+';expires='+expDay+';';}
function init_loading(){mkmanager=new MarkerManager(map);for(var i=10;i<140;i+=10){gConfig.cond[i]=1;}
gConfig.cond[999]=1;var carea=$(gConfig.carea);Element.hide(carea);rmenu.setAttribute("id","rclick");rmenu.style.cursor="pointer";Element.hide(rmenu);var MapPX=map.getSize();map.getContainer().appendChild(rmenu);GEvent.addListener(map,"singlerightclick",function(point){var rmenux=point.x;var rmenuy=point.y;if(rmenux>(MapPX.width-160)){rmenux=MapPX.width-160;}
if(rmenuy>(MapPX.height-40)){rmenuy=MapPX.height-40;}
var rmenu_pos=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(rmenux,rmenuy));rmenu.innerHTML=gConfig.rclickmenu(map.getZoom(),point);rmenu_pos.apply(rmenu);if(Element.visible(rmenu)){Element.hide(rmenu);}
Effect.SlideDown(rmenu,{duration:gConfig.animationTime});});GEvent.addListener(map,"click",fade_rmenu);GEvent.addListener(map,"mouseout",fade_rmenu);gConfig.moveEnd=GEvent.addListener(map,"moveend",gmoveend);gConfig.condflg=true;gmoveend();}
function fade_rmenu(){if(Element.visible(rmenu)){Effect.Fade(rmenu,{duration:gConfig.animationTime});}}
function gmoveend(){var mapinfo=map.getBounds();var wcond=gConfig.cond.compact();wcond.length=14;var wcond_len=wcond.length;var condstr='';gConfig.condflg=true;for(var i=0;i<wcond_len;i++){condstr+=wcond[i];if(wcond[i]==0)gConfig.condflg=false;}
var maparea={nelat:mapinfo.getNorthEast().lat(),nelng:mapinfo.getNorthEast().lng(),swlat:mapinfo.getSouthWest().lat(),swlng:mapinfo.getSouthWest().lng(),cond:condstr};set_areadata(maparea);var ne=mapinfo.getNorthEast();var se=new GLatLng(maparea.swlat,maparea.nelng);var nw=new GLatLng(maparea.nelat,maparea.swlng);var mapheight=ne.distanceFrom(se);var mapwidth=ne.distanceFrom(nw);if(mapheight>10000){mapheight/=100;mapheight=Math.round(mapheight);mapheight/=10;$('mapnow_height').innerHTML=mapheight+'km';}else{$('mapnow_height').innerHTML=Math.round(mapheight)+'m';}
if(mapwidth>10000){mapwidth/=100;mapwidth=Math.round(mapwidth);mapwidth/=10;$('mapnow_width').innerHTML=mapwidth+'km';}else{$('mapnow_width').innerHTML=Math.round(mapwidth)+'m';}
fade_rmenu();if(kmarker.entryflg==0&&kmarker.flg==1){kmarker.delete_icon();}
var rightcont=$('cont0');if(map.getZoom()>gConfig.datalevel){if(Element.visible(rightcont)){Effect.SlideUp(rightcont);}
get_locdata(maparea);}else{var listarea=$(gConfig.listarea);if(Element.visible(listarea)){Effect.Fade(listarea,{duration:gConfig.animationTime});}
if(!Element.visible(rightcont)){Effect.SlideDown(rightcont);}}
gmap_cookie_set();}
function area_set(gmdata,zoom){if(map.getZoom()!=zoom){map.setZoom(zoom);}
map.panTo(gmdata);}
function check_entrydata(checktype,fmdata){var mlen;if(checktype==0){if(fmdata.loc_name.value==""){alert(gMsg.eMsg01);fmdata.loc_name.focus();return(true);}
if(fmdata.loc_categorycd.value==0){alert(gMsg.eMsg02);fmdata.loc_categorycd.focus();return(true);}
mlen=fmdata.loc_cont.value.length;if(mlen>gConfig.max_contlength){alert(gMsg.eMsg16+"\n現在:"+mlen+'文字('+gConfig.max_contlength+'文字まで)');fmdata.loc_cont.focus();return(true);}}
if(fmdata.msg_user.value==""){alert(gMsg.eMsg03);fmdata.msg_user.focus();return(true);}
if(fmdata.msg_email.value==""){alert(gMsg.eMsg04);fmdata.msg_email.focus();return(true);}else{if(!fmdata.msg_email.value.match(/.+@.+\..+/)){alert(gMsg.eMsg08);fmdata.msg_email.focus();return(true);}}
if(fmdata.msg_title.value==""){alert(gMsg.eMsg05);fmdata.msg_title.focus();return(true);}
if(fmdata.msg_menu.value==""){alert(gMsg.eMsg06);fmdata.msg_menu.focus();return(true);}
if(fmdata.msg_price.value==""){alert(gMsg.eMsg09);fmdata.msg_price.focus();return(true);}else{if(isNaN(fmdata.msg_price.value)){alert(gMsg.eMsg10);fmdata.msg_price.focus();return(true);}else if(fmdata.msg_price.value<=0){alert(gMsg.eMsg11);fmdata.msg_price.focus();return(true);}}
if(fmdata.msg_main.value==""){alert(gMsg.eMsg07);fmdata.msg_main.focus();return(true);}else{mlen=fmdata.msg_main.value.length;if(mlen>gConfig.max_commmainlength){alert(gMsg.eMsg16+"\n現在:"+mlen+'文字('+gConfig.max_commmainlength+'文字まで)');fmdata.msg_main.focus();return(true);}}
if(fmdata.msg_value.value==0){alert(gMsg.eMsg12);fmdata.msg_value.focus();return(true);}
return(false);}
function add_location(gmdata,md){var carea=$(gConfig.carea);var url=gConfig.locentry;var pars;if(md==0){pars='mode=0&loc_lat='+gmdata.lat()+'&loc_lng='+gmdata.lng();var myAjax=new Ajax.Request(url,{method:'post',parameters:pars,onSuccess:set_careaform,onException:function(request,e){alert(e.message);}});kmarker.display(gmdata);pageTracker._trackPageview("/add_location/e0");}else if(md==1||md==2||md==9){var fm=$(gConfig.fmloc);if(md==1){if(check_entrydata(0,fm)){return;}
pageTracker._trackPageview("/add_location/e1");}else if(md==9)url=gConfig.locentry9;var myAjax=new Ajax.Request(url,{method:'post',postBody:Form.serialize(fm),onSuccess:function(request){if(md==2){set_userinfo2cookie(fm);}
fade2appear(carea,request.responseText);kmarker.entryflg=0;},onException:function(request,e){alert(e.message);}});}}
function add_comment(id,md){var carea=$(gConfig.commentarea);var fm=$(gConfig.fmcomm);if(md==0){if(check_entrydata(1,fm)){return;}
var url=gConfig.commentry;var myAjax=new Ajax.Request(url,{method:'post',postBody:Form.serialize(fm),onSuccess:function(request){fade2appear(carea,request.responseText);},onException:function(request,e){alert(e.message);}});pageTracker._trackPageview("/add_comment/e0");}else if(md==1||md==9){var url=gConfig.commentry;if(md==9){url=gConfig.commentry9;}
if(md==1){set_userinfo2cookie(fm);pageTracker._trackPageview("/add_comment/e1");}
var myAjax=new Ajax.Request(url,{method:'post',postBody:Form.serialize(fm),onSuccess:function(request){fade2appear(carea,request.responseText);},onException:function(request,e){alert(e.message);}});}}
function set_userinfo2cookie(fm){var clearDay=new Date(new Date().getTime()+(60*60*24*1000*gConfig.cookie_date));var expDay=clearDay.toGMTString();document.cookie='msg_user='+escape(fm.msg_user.value)+';expires='+expDay+';';document.cookie='msg_email='+fm.msg_email.value+';expires='+expDay+';';}
function src_toggle(elm,num){var gctg=new gLunch();var mark_no;if(num%10==0){mark_no=num/10;}else{mark_no=14;}
if(gConfig.cond[num]==1){elm.src='img/cn_'+gctg.marks[mark_no]+'.gif';gConfig.cond[num]=0;}else{elm.src='img/c_'+gctg.marks[mark_no]+'.gif';gConfig.cond[num]=1;}
gmoveend();return(false);}
function src_choice(elm,num){var gctg=new gLunch();var mark_no;for(var i=10;i<150;i+=10){if(i%10==0){mark_no=i/10;}
if(i==140)i=999;if(num==i){elm.src='img/c_'+gctg.marks[mark_no]+'.gif';gConfig.cond[i]=1;}else{$('src_'+gctg.marks[mark_no]).src='img/cn_'+gctg.marks[mark_no]+'.gif';gConfig.cond[i]=0;}}
gmoveend();}
function get_locdata(area){var url=gConfig.getlocdata;var pars=$H(area).toQueryString();var myAjax=new Ajax.Request(url,{method:'get',parameters:pars,onLoading:show_loading,onSuccess:set_loc_data,onFailure:function(request){alert(gMsg.iMsg02);},onException:function(request,e){alert(e.message);}});}
function show_loading(){$(gConfig.listarea).innerHTML=gMsg.iMsg01;}
function set_loc_data(xmldata){var elm=['loc_info_id','loc_id','loc_name','loc_categorycd','loc_url','loc_cont','loc_lat','loc_lng','zoomlevel','msgcnt','pavg','vavg','newmsgdate'];var locdata=new Array();var locxml=xmldata.responseXML;var listarea=$(gConfig.listarea);mkmanager.clearMarkers();marker_mem=new Array();elm.each(function(elmdata){locdata[elmdata]=locxml.getElementsByTagName(elmdata);});var arrlength=locdata['loc_info_id'].length;var url;var listtxt='';var glctg=new gLunch();var locctg;for(var i=0;i<arrlength;i++){listtxt+=create_rightside_data(locdata,i,arrlength);create_markers(locdata,i,arrlength);}
if(gConfig.condflg){fade2appear(listarea,listtxt);}else{Element.update(listarea,listtxt);}
mkmanager.refresh();}
function create_map_url(ldata,n,len){var url;var zlvl=ldata['zoomlevel'][n].firstChild.nodeValue-gConfig.zlen(len);if(zlvl>map.getZoom()){url='javascript: area_set(new GLatLng('
+ldata['loc_lat'][n].firstChild.nodeValue+', '
+ldata['loc_lng'][n].firstChild.nodeValue+'), '
+zlvl+');';}else{url='javascript: openMarker('
+ldata['loc_info_id'][n].firstChild.nodeValue+');';}
return(url);}
function create_rightside_data(node,n,arrlen){var glctg=new gLunch();var locctg=node['loc_categorycd'][n].firstChild.nodeValue;var url=create_map_url(node,n,arrlen);var shop_divtxt='<div class="shopdata">';shop_divtxt+='<h3><a href="'+url+'">'
+'<img src="'+glctg.img(locctg)+'" width="24" height="24" alt="'+glctg.altname(locctg)+'">'
+node['loc_name'][n].firstChild.nodeValue+'</a></h3>';if(n<8){shop_divtxt+='<p>平均価格: '+node['pavg'][n].firstChild.nodeValue+' 円</p>';}
if(n<5){shop_divtxt+='<p class="newmsgdate">最新投稿: '+node['newmsgdate'][n].firstChild.nodeValue+'</p>';}
shop_divtxt+='</div>';return(shop_divtxt);}
function create_markers(node,n,len){var zv=gConfig.zlen(len);var glctg=new gLunch();var locinfoid=node['loc_info_id'][n].firstChild.nodeValue;var loc_ctg=node['loc_categorycd'][n].firstChild.nodeValue;var locinfo='<div class="infodata">'
+'<h3>'+node['loc_name'][n].firstChild.nodeValue
+'<img src="'+glctg.img(loc_ctg)+'"></h3>';if(node['loc_cont'][n].hasChildNodes()){locinfo+='<p>'+node['loc_cont'][n].firstChild.nodeValue+'</p>';}
locinfo+='<p class="kuchi">クチコミ：<span>'+node['msgcnt'][n].firstChild.nodeValue+'</span>件</p>'
+'<p>平均価格: '+node['pavg'][n].firstChild.nodeValue+' 円</p>';if(node['msgcnt'][n].firstChild.nodeValue>2){locinfo+='<img src="/img/star'+node['vavg'][n].firstChild.nodeValue+'.png" '
+'alt="評価'+node['vavg'][n].firstChild.nodeValue+'" width="127" height="24">';}
locinfo+='<div class="infofooter">'
+'<p><a href="javascript: dsp_shopdata('+locinfoid+');">詳細表示</a> | '
+'<a href="javascript: check_shopdata('+locinfoid+');">情報各種依頼</a></p>'
+'</div></div>';var icon=glctg.icon(loc_ctg);var gMarker=new GMarker(new GLatLng(node['loc_lat'][n].firstChild.nodeValue,node['loc_lng'][n].firstChild.nodeValue),icon);GEvent.addListener(gMarker,"click",function(){GEvent.removeListener(gConfig.moveEnd);gMarker.openInfoWindowHtml(locinfo);setTimeout(function(){gConfig.moveEnd=GEvent.addListener(map,"moveend",gmoveend);},gConfig.map_loadTimer);if(gConfig.manager){var gman=new gManage();gman.edit(node,n);}});marker_mem[locinfoid]=gMarker;mkmanager.addMarker(gMarker,node['zoomlevel'][n].firstChild.nodeValue-zv);}
function openMarker(id){var Marker=marker_mem[id];GEvent.trigger(Marker,"click");}
function dsp_shopdata(id){var url=gConfig.getshopdata;var winh=gConfig.lview_height();var pars='id='+id+'&winh='+winh;Lightview.show({href:url,rel:gConfig.lview_rel,options:{ajaxOptions:{method:'post',parameters:pars},width:gConfig.lview_width(),height:winh+10}});pageTracker._trackPageview("/dsp_shopdata/s"+id);}
function shopimg_dsp(imgpath,id){var titlestr='<span onclick="dsp_shopdata('+id+');" class="picsret">'
+'<img src="img/button/picsret.gif" alt="戻る"></span>';Lightview.show({href:imgpath,rel:'image',title:titlestr});}
function add_data(mode,id){var url=gConfig.addshopdata;var pars='mode='+mode+'&id='+id;Lightview.show({href:url,rel:'ajax',options:{ajaxOptions:{method:'get',parameters:pars},width:gConfig.lview_width()}});pageTracker._trackPageview("/add_data/"+mode+"/"+id);}
function adddatapics(){var fm=$('adddatafm');new Effect.Fade(fm);fm.submit();}
function add_data_upd(elm){elm.disabled=true;var fm=$(gConfig.adddatafm);var inpdata=$(elm.id+'data');var inputdata=inpdata.value.strip();if(inputdata.length==0){alert(gMsg.eMsg13);inpdata.focus();elm.disabled=false;return;}else if(inputdata.length<7){alert(gMsg.eMsg14);inpdata.focus();elm.disabled=false;return;}else{if(elm.id=='addurl'){if(inputdata.match(/^(http)/)){}
else{alert(gMsg.eMsg15);inpdata.focus();elm.disabled=false;return;}}else if(elm.id=='addcont'){if(checkIsZenkaku(inputdata)){alert(gMsg.eMsg15);inpdata.focus();elm.disabled=false;return;}}}
var fmfld=Form.serialize(fm);var myAjax=new Ajax.Updater('resultdata',gConfig.updshopdata,{method:'post',postBody:fmfld});}
function check_shopdata(id){var carea=$(gConfig.carea);var url=gConfig.checkshop;var pars='mode=0&lid='+id;var myAjax=new Ajax.Request(url,{method:'post',parameters:pars,onSuccess:set_careaform,onException:function(request,e){alert(e.message);}});pageTracker._trackPageview("/chkshop/"+id);}
function check_reqdata(fmdata){if(fmdata.reqk.value==""){alert(gMsg.eMsg21);return(true);}
if(fmdata.requser.value==""){alert(gMsg.eMsg22);fmdata.requser.focus();return(true);}
if(fmdata.reqemail.value==""){alert(gMsg.eMsg04);fmdata.reqemail.focus();return(true);}else{if(!fmdata.reqemail.value.match(/.+@.+\..+/)){alert(gMsg.eMsg08);fmdata.reqemail.focus();return(true);}}
if(fmdata.reqrel.value==""){alert(gMsg.eMsg23)
return(true);}
if(fmdata.reqmain.value==""){alert(gMsg.eMsg24);fmdata.reqmain.focus();return(true);}}
function check_shopreq(md){var carea=$(gConfig.carea);var url=gConfig.checkshop;var fm=$(gConfig.fmreq);if(check_reqdata(fm)){return;}
if(md==9){fm.mode.value="0";}
var myAjax=new Ajax.Request(url,{method:'post',postBody:Form.serialize(fm),onSuccess:set_careaform,onException:function(request,e){alert(e.message);}});pageTracker._trackPageview("/chkshopreq");}
function fade2appear(elm,rtxt){var atime=0.2;if(Element.visible(elm)){new Effect.Fade(elm,{duration:gConfig.animationTime,afterFinishInternal:function(effect){elm.innerHTML=rtxt;Effect.Appear(elm,{duration:gConfig.animationTime+atime});}});}else{elm.innerHTML=rtxt;new Effect.Appear(elm,{duration:gConfig.animationTime+atime});}}
function set_careaform(request){var carea=$(gConfig.carea);if(Element.visible(rmenu)){Effect.Fade(rmenu,{duration:gConfig.animationTime});}
fade2appear(carea,request.responseText);}
function tfocus(elm,flg){if(flg){elm.style.backgroundColor='#ffc';}else{elm.style.backgroundColor='#fff';}}
function getBrowserHeight(){if(window.innerHeight){return window.innerHeight;}
else if(document.documentElement&&document.documentElement.clientHeight!=0){return document.documentElement.clientHeight;}
else if(document.body){return document.body.clientHeight;}
return 0;}
function getBrowserWidth(){if(window.innerWidth){return window.innerWidth;}
else if(document.documentElement&&document.documentElement.clientWidth!=0){return document.documentElement.clientWidth;}
else if(document.body){return document.body.clientWidth;}
return 0;}
function checkIsZenkaku(value){var val=value.match(/[0-9a-zA-Z\+\-\/\*\,\n,\.,:,;\[,\],\{,\},\<,\>,\^,@,\",\',\!,\#,\$,,| ]+/g);if(val==value){return false;}else{return true;}}