// JavaScript Document
var URL = 'http://wdyd.net/';
var AddMarker = new Object();
var map = new Object();
var GLat = 35.659094;
var GLng = 139.700759;
var GLevel = 18;
var colorPickerFlg = 0;
var colorPickerOpneFlg = 0;
var responseFlg = 0;
var responseOpenFlg = 0;
var inputTextColor = '#000000';
var inputResponseTextColor = '#000000';

function myGetCookie(myCookie){
   myCookie = "@" + myCookie + "=";
   myValue = null;
   myStr = document.cookie + ";" ;
   myOfst = myStr.indexOf(myCookie);
   if (myOfst != -1){
      myStart = myOfst + myCookie.length;
      myEnd   = myStr.indexOf(";" , myStart);
      myValue = unescape(myStr.substring(myStart,myEnd));
   }
   return myValue;
}

function mySetCookie(myCookie,myValue,myDay){
   myExp = new Date();
   myExp.setTime(myExp.getTime()+(myDay*24*60*60*1000));
   myItem = "@" + myCookie + "=" + escape(myValue) + ";";
   myExpires = "expires="+myExp.toGMTString();
   document.cookie =  myItem + myExpires;
}


var form = '<div id="form">';
form += '<b>Name</b><br />';
form += '<input type="text" name="nickname" id="nickname" value="'+myGetCookie('nickname')+'" onblur="nicknameOnBlur(\'nickname\')" onfocus="nicknameOnFocus(\'nickname\')" /><br />';
form += '<div id="iconbox">';
form += '<b>Icon</b><br />';
form += '<img src="./image/icon0.png" id="icon0" onclick="iconSelect(\'icon0\')" onmouseover="iconOver(\'icon0\')" onmouseout="iconOut(\'icon0\')" class="icon" />&nbsp;&nbsp;';
form += '<img src="./image/icon1.png" id="icon1" onclick="iconSelect(\'icon1\')" onmouseover="iconOver(\'icon1\')" onmouseout="iconOut(\'icon1\')" class="icon" />&nbsp;&nbsp;';
form += '<img src="./image/icon2.png" id="icon2" onclick="iconSelect(\'icon2\')" onmouseover="iconOver(\'icon2\')" onmouseout="iconOut(\'icon2\')" class="icon" />&nbsp;&nbsp;';
form += '<img src="./image/icon3.png" id="icon3" onclick="iconSelect(\'icon3\')" onmouseover="iconOver(\'icon3\')" onmouseout="iconOut(\'icon3\')" class="icon" />&nbsp;&nbsp;';
form += '<img src="./image/icon4.png" id="icon4" onclick="iconSelect(\'icon4\')" onmouseover="iconOver(\'icon4\')" onmouseout="iconOut(\'icon4\')" class="icon" /><input type="hidden" name="icon" id="icon" value="icon0" />';
form += '</div>';
form += '<div id="textColorBox">';
form += '<b>Text Color</b>';
form += '<div id="textColor" style="background-color:'+myGetCookie('textcolor')+';" onclick="colorPickerControll(\'comment\')"></div>';
form += '</div><br clear="all">';

form += '<b>Comment</b>';
form += '<div id="button-container">';
form += '<input type="text" name="comment" id="comment" maxlength="100" /><br />';
form += '<input type="button" value="書き込み" id="comment_button" onclick="YAHOO.wdydnet.doLoad()" />';
form += '</div></div>';
var responseForm = '<b>今開いているコメントへレスポンスを書く</b>';
responseForm += '<div id="responseName">';
responseForm += '<b>Name</b><br />';
responseForm += '<input type="text" name="responseNickname" id="responseNickname" value="'+myGetCookie('nickname')+'" onblur="nicknameOnBlur(\'responseNickname\')" onfocus="nicknameOnFocus(\'responseNickname\')" />';
responseForm += '<input type="hidden" name="responseTargetId" id="responseTargetId" value="" />';
responseForm += '<input type="hidden" name="responseFlg" id="responseFlg" value="" />';
responseForm += '<input type="hidden" name="responseOver5Flg" id="responseOver5Flg" value="" />';
responseForm += '</div>';
responseForm += '<div id="ResponseTextColorBox">';
responseForm += '<b>Text Color</b>';
responseForm += '<div id="ResponseTextColor" style="background-color:'+myGetCookie('textcolor')+';" onclick="colorPickerControll(\'response\')"></div>';
responseForm += '</div><br clear="all">';
responseForm += '<b>Response</b>';
responseForm += '<div id="responseButtonContainer">';
responseForm += '<input type="text" name="response" id="response" maxlength="100" /><br />';
responseForm += '<input type="button" value="Write Response" id="response_button" onclick="YAHOO.wdydnet.doLoad2()" />';
responseForm += '</div>';

var sWidth = new Number();
var sHeight = new Number();
var AddCommentFlg;
var GMapFlg = 0;
var adress = new String();
var GMapZoomFlg = 0;

//iconWidth,iconHeight,iconOffsetX,iconOffsetY,infoWindowOffsetX,infoWindowOffsetY;
var icon0Array = Array('icon0',32,32,16,32,32,0);
var icon1Array = Array('icon1',32,32,16,32,32,0);
var icon2Array = Array('icon2',32,32,16,32,32,0);
var icon3Array = Array('icon3',32,32,16,32,32,0);
var icon4Array = Array('icon4',32,32,16,32,32,0);
var iconArray = Array();
iconArray['icon0'] = icon0Array;
iconArray['icon1'] = icon0Array;
iconArray['icon2'] = icon0Array;
iconArray['icon3'] = icon0Array;
iconArray['icon4'] = icon0Array;
var iconNameArray = Array('icon0','icon1','icon2','icon3','icon0');
var iniIcon = 'icon0';
var textColorTarget = '';
var ZIndexStart = 1;
var GlobalMarkerCommentID = '';
var GlobalMarkerResponseFlg = '';
var GlobalMarkerResponseOver5Flg = '';
var maxWindowFlg = '';

function myGetCookie(myCookie){
   myCookie = "@" + myCookie + "=";
   myValue = null;
   myStr = document.cookie + ";" ;
   myOfst = myStr.indexOf(myCookie);
   if (myOfst != -1){
      myStart = myOfst + myCookie.length;
      myEnd   = myStr.indexOf(";" , myStart);
      myValue = unescape(myStr.substring(myStart,myEnd));
   }
   return myValue;
}

function mySetCookie(myCookie,myValue,myDay){
   myExp = new Date();
   myExp.setTime(myExp.getTime()+(myDay*24*60*60*1000));
   myItem = "@" + myCookie + "=" + escape(myValue) + ";";
   myExpires = "expires="+myExp.toGMTString();
   document.cookie =  myItem + myExpires;
}


function iconSelect(id){
	document.getElementById(id).style.borderColor = '#0F3155';
	document.getElementById('icon').value = id;
	for(var i=0;i<iconNameArray.length;i++){
		if(iconNameArray[i] != id){
			document.getElementById(iconNameArray[i]).style.borderColor = '#F5F5F5';
		}
	}
	AddMarker.setImage(URL+'image/'+id+'.png');
}

function iconOver(id){
	document.getElementById(id).style.borderColor = '#0F3155';
}

function iconOut(id){
	if(document.getElementById('icon').value != id && document.getElementById('icon').value != ''){
		document.getElementById(id).style.borderColor = '#F5F5F5';
	}
}

function GetWindowWidthHeight(){
	var myWidth = 0, myHeight = 0;
	if(typeof(window.innerWidth) == 'number'){
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	}else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)){
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	}else if(document.body && (document.body.clientWidth || document.body.clientHeight)){
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return {'width' : myWidth, 'height' : myHeight};
}

window.onload = function(){
	if(myGetCookie("nickname") == null) mySetCookie('nickname','通りすがりの人',10);
	if(myGetCookie("textcolor") == null) mySetCookie('textcolor','#000000',10);
	sWidth = GetWindowWidthHeight().width;
	sHeight = GetWindowWidthHeight().height;
	setRegion();
	setColorPicker();
	defaultPosition();
	if(GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById('gmap'));
		map.setCenter(new GLatLng(GLat,GLng),GLevel);
		map.enableScrollWheelZoom();
		map.enableContinuousZoom();
		gGeo = new GClientGeocoder();
		addMarker();
		document.getElementById('GNavi-1').style.display = 'block';
		document.getElementById('topBanner').style.display = 'block';
		document.getElementById('googleAdsence').style.display = 'block';
		var GNaviAnime3 = new YAHOO.util.Anim(
			'GNaviContents',
			{opacity:{from:1,to:0.8}},
			5,
			YAHOO.util.Easing.easeBoth
		);
		GNaviAnime3.animate();
	}
	GEvent.addListener(map,'click',function(overlay, point){
		AddMarkerForCommentInit(overlay, point);
	});
	/*GEvent.addListener(map.getInfoWindow(),"maximizeend",function(){
		alert('Response Show Window Maximize End!!');
	});*/
}

window.onresize = function(){
	defaultPosition();
}

function defaultPosition(){
	sWidth = GetWindowWidthHeight().width;
	sHeight = GetWindowWidthHeight().height;
	document.getElementById('root').style.width = sWidth+'px';
	document.getElementById('root').style.height = sHeight+'px';
	document.getElementById('gmap').style.width = sWidth+'px';
	document.getElementById('gmap').style.height = sHeight-27+'px';
	document.getElementById('thanks').style.width = sWidth+'px';
	document.getElementById('thanks').style.height = sHeight-27+'px';
	document.getElementById('thanks_inner').style.paddingTop = (sHeight/2)-40+'px';
	document.getElementById('GNavi-1').style.top = (sHeight-27-240)/2+'px';
	document.getElementById('GNavi-1').style.left = (sWidth-300)/2+'px';
	document.getElementById('responseForm').innerHTML = responseForm;
	document.getElementById('ResponseTextColor').style.backgroundColor = myGetCookie('textcolor');
}

function AddMarkerForCommentInit(overlay, point){
	document.getElementById('topBanner').style.display = 'none';
	document.getElementById('googleAdsence').style.display = 'none';
	if(point){
		map.removeOverlay(AddMarker);
		eval('var iconWidth = iconArray[\''+iniIcon+'\'][1]');
		eval('var iconHeight = iconArray[\''+iniIcon+'\'][2]');
		eval('var iconOffsetX = iconArray[\''+iniIcon+'\'][3]');
		eval('var iconOffsetY = iconArray[\''+iniIcon+'\'][4]');
		eval('var iconWindowOffsetX = iconArray[\''+iniIcon+'\'][5]');
		eval('var iconWindowOffsetY = iconArray[\''+iniIcon+'\'][6]');
		var customMarkerObj = new GIcon();
		customMarkerObj.infoWindowAnchor = new GPoint(iconWindowOffsetX,iconWindowOffsetY);
		customMarkerObj.image = URL+'image/'+iniIcon+'.png';
		customMarkerObj.iconSize = new GSize(iconWidth,iconHeight);
		customMarkerObj.iconAnchor = new GPoint(iconOffsetX,iconOffsetY);
		AddMarker = new GMarker(point,{icon:customMarkerObj,draggable:true,dragCrossMove:false});
		map.addOverlay(AddMarker);
		AddMarker.openInfoWindow(form);
		document.getElementById('nickname').value = myGetCookie('nickname');
		document.getElementById('textColor').style.backgroundColor = myGetCookie('textcolor');
		GEvent.addListener(AddMarker,"mousedown",function(){
			AddCommentFlg = 0;
			map.closeInfoWindow();
			if(colorPickerFlg == 1) colorPickerControllClose();
		});
		GEvent.addListener(AddMarker,"mouseup",function(){
			AddCommentFlg = 1;
			AddMarker.openInfoWindow(form);
		});
		GEvent.addListener(AddMarker,"infowindowclose",function(){
			if(AddCommentFlg == 1){
				map.removeOverlay(AddMarker);
				colorPickerControllClose();
				if(colorPickerFlg == 1) colorPickerControllClose();
			}else if(AddCommentFlg == undefined){
				map.removeOverlay(AddMarker);
				if(colorPickerFlg == 1) colorPickerControllClose();
			}
			maxWindowFlg = 0;
		});
	}
}

function addMarker(){
	var msec = (new Date()).getTime();
	httpObj = GXmlHttp.create();
	httpObj.open('get','./whisper.json?cash='+msec);
	httpObj.onreadystatechange = function(){
		if(httpObj.readyState == 4){
			plotMarker();
		}
	}
	httpObj.send(null);
}
var setResponseIntervalID;
function plotMarker(){
	eval("var pointData = "+httpObj.responseText);
	for(var i=0;i<pointData.point.length;i++){
		if(pointData.point[i] != undefined){
			var commentID = pointData.point[i].commentID;
			var lat = pointData.point[i].lat;
			var lng = pointData.point[i].lng;
			var comment = pointData.point[i].comment;
			var nickname = pointData.point[i].nickname;
			var time = pointData.point[i].time;
			var icon = pointData.point[i].icon;
			var color = pointData.point[i].color;
			var responseFlg = pointData.point[i].response;
			var responseOver5Flg = pointData.point[i].responseOver5;
			eval('var iconWidth = iconArray[\''+iniIcon+'\'][1]');
			eval('var iconHeight = iconArray[\''+iniIcon+'\'][2]');
			eval('var iconOffsetX = iconArray[\''+iniIcon+'\'][3]');
			eval('var iconOffsetY = iconArray[\''+iniIcon+'\'][4]');
			eval('var iconWindowOffsetX = iconArray[\''+iniIcon+'\'][5]');
			eval('var iconWindowOffsetY = iconArray[\''+iniIcon+'\'][6]');
			var customMarkerObj = new GIcon();
			customMarkerObj.image = URL+'image/'+icon+'.png';
			customMarkerObj.iconSize = new GSize(iconWidth,iconHeight);
			customMarkerObj.iconAnchor = new GPoint(iconOffsetX,iconOffsetY);
			customMarkerObj.infoWindowAnchor = new GPoint(iconOffsetX,iconOffsetY);
			marker = new GMarker(new GLatLng(lat,lng),customMarkerObj);
			marker.commentID = commentID;
			marker.comment = comment;
			marker.nickname = nickname;
			marker.time = time;
			marker.color = color;
			marker.responseFlg = responseFlg;
			marker.responseOver5Flg = responseOver5Flg;
			map.addOverlay(marker);
			GEvent.addListener(marker,"click",function(){
				GlobalMarkerCommentID = this.commentID;
				GlobalMarkerResponseFlg = this.responseFlg;
				GlobalMarkerResponseOver5Flg = this.responseOver5Flg;
				if(responseOpenFlg == 1){
					document.getElementById('ResponseBar_left').innerHTML = 'Response to CommentID 『'+GlobalMarkerCommentID+'』';
					document.getElementById('responseTargetId').value = GlobalMarkerCommentID;
				}
				document.getElementById('responseTargetId').value = GlobalMarkerCommentID;
				document.getElementById('responseFlg').value = GlobalMarkerResponseFlg;
				document.getElementById('responseOver5Flg').value = GlobalMarkerResponseOver5Flg;
				var commentDisplayHTML = '<div class=\"comment\" style=\"color:'+this.color+';\">'+this.comment+'</div>';
				commentDisplayHTML += "<div class=\"nickname\">"+this.nickname+"</div>";
				commentDisplayHTML += "<div class=\"date\">"+this.time+"</div>";
				if(responseOpenFlg == 0) commentDisplayHTML += "<div class=\"responseWrite\" onclick=\"RespanseWindowOpen("+GlobalMarkerCommentID+")\">Response Write(レスを書く)</div>";
				if(this.responseFlg == 1){
					commentDisplayHTML += "<div class=\"responseArchive\" onclick=\"openmaxwindow()\">Show Response(レスを見る)</div>";
					var opts = new Object();
					opts.maxTitle = '<b>Comment：</b><span style="font-size:12px;">'+this.comment+'</span>　<b>Name：</b><span style="font-size:12px;">'+this.nickname+'</span>　<b>Time：</b><span style="font-size:12px;">'+this.time+'</span>';
					opts.maxContent = '<div id="responseArchiveBox"><div class="loading2"><img src="./image/loading.gif" /></div></div>';
				}
				commentDisplayHTML += "<div class=\"commentId\">CommentID："+GlobalMarkerCommentID+"</div>";
				this.openInfoWindowHtml(commentDisplayHTML,opts);
			});
			GEvent.addListener(marker,"infowindowclose",function(){
				maxWindowFlg = 0;											 
			});
		}
	}
	var maximizeListenerID = GEvent.addListener(map.getInfoWindow(),"maximizeend",function(){
		var msec = (new Date()).getTime();
		reshttpObj = GXmlHttp.create();
		reshttpObj.open('get','./response/archive/'+GlobalMarkerCommentID.substring(0,8)+'/'+GlobalMarkerCommentID+'.json?cash='+msec);
		reshttpObj.onreadystatechange = function(){
			if(reshttpObj.readyState == 4){
				var responseArchiveDisplayHTML = showComment();
				//showComment();
				setResponseIntervalID = setInterval("setResponseInterval('"+responseArchiveDisplayHTML+"')",1000);
				//alert('setインターバル');
			}
		}
		reshttpObj.send(null);
		maxWindowFlg = 1;
	});
}

function openmaxwindow(){
	map.getInfoWindow().maximize();
}

function setResponseInterval(html){
	if(document.getElementById('responseArchiveBox')){
		document.getElementById('responseArchiveBox').innerHTML = html;
		clearInterval(setResponseIntervalID);
		//alert('clearインターバル');
	}
}

function showComment(){
	eval("var pointData = "+reshttpObj.responseText);
	var responseArchiveDisplayHTML = '';
	responseArchiveDisplayHTML = '<div class="res5Root">';
	responseArchiveDisplayHTML += '<div class=\"commentId2\">CommentID：'+GlobalMarkerCommentID+'</div>';
	responseArchiveDisplayHTML += '<div class="reloadResponseButton" style="text-align:right; padding:0 10px 0 0;"><img src="./image/reload_min.png" alt="更新" onclick="reloadResponse()" style="cursor:pointer;" /></div>';
	for(var i=0;i<pointData.point.length;i++){
		if(pointData.point[i] != undefined){
			responseArchiveDisplayHTML += '<div class="res">';
			responseArchiveDisplayHTML += '<div class="res5Comment" style="color:'+pointData.point[i].responseColor+';">'+(i+1)+',&nbsp;&nbsp;'+pointData.point[i].response+'</div>';
			responseArchiveDisplayHTML += '<div class="resName">'+pointData.point[i].responseName+'</div>';
			responseArchiveDisplayHTML += '<div class="resTime">'+pointData.point[i].responseTime+'</div>';
			responseArchiveDisplayHTML += '</div>';
		}
	}
	responseArchiveDisplayHTML += '</div>';
	responseArchiveDisplayHTML += "<div class=\"responseWrite2\" onclick=\"RespanseWindowOpen("+GlobalMarkerCommentID +")\">Response Write(レスを書く)</div>";
	return responseArchiveDisplayHTML;
	//setResponseIntervalID = setInterval("setResponseInterval('"+responseArchiveDisplayHTML+"')",1000);
}

function reloadResponse(){
	document.getElementById('responseArchiveBox').innerHTML = '<div class="loading2"><img src="./image/loading.gif" /></div>';
	var msec = (new Date()).getTime();
	reshttpObj = GXmlHttp.create();
	reshttpObj.open('get','./response/archive/'+GlobalMarkerCommentID.substring(0,8)+'/'+GlobalMarkerCommentID+'.json?cash='+msec);
	reshttpObj.onreadystatechange = function(){
		if(reshttpObj.readyState == 4){
			var responseArchiveDisplayHTML = showComment();
			//showComment();
			setResponseIntervalID = setInterval("setResponseInterval('"+responseArchiveDisplayHTML+"')",1000);
			//alert('setインターバル');
		}
	}
	reshttpObj.send(null);
}

function reloadMainMarker(){
	MoveZindex('thanks');
	document.getElementById('thanks_inner').innerHTML = 'Reload!!!!!!!!!!!!!!!!!!!!!!!';
	map.clearOverlays();
	document.getElementById('thanks').style.display = 'block';
	thanksAnimeStart();
	addMarker();
}

function openmaxwindwo(){
	map.getInfoWindow().maximize();
}

function searchPoint(){
	adress = document.getElementById('geoName').value;
	document.getElementById('geoName').value = "検索中です・・・。";
	gGeo.getLatLng(adress,checkGeo);
}

function checkGeo(point){
	if(point){
		document.getElementById('geoName').value = adress;
		map.setCenter(point,map.getZoom());
	}else{
		document.getElementById('geoName').value = '見つかりませんでした。';
	}
}


YAHOO.namespace('wdydnet');

var handleSuccess = function(o){
	if(o.responseText !== undefined){
		if(o.responseText == '0'){
			document.getElementById('form').innerHTML = '<div class="comment_other">Error!</div>';
		}else if(o.responseText == '1'){
			document.getElementById('form').innerHTML = '<div class="comment_other">是非commentを書いてください。</div>';
		}else{
			MoveZindex('thanks');
			document.getElementById('thanks_inner').innerHTML = 'Thanks!!!!!!!!!!!!!!!!!!!!!!!';
			map.clearOverlays();
			document.getElementById('thanks').style.display = 'block';
			thanksAnimeStart();
			addMarker();
		}
	}
};

var handleSuccess2 = function(o){
	if(o.responseText !== undefined){
		if(o.responseText == '0'){
			document.getElementById('responseForm').innerHTML = '<div class="comment_other">Error!</div>';
		}else if(o.responseText == '1'){
			document.getElementById('responseForm').innerHTML = '<div class="comment_other">是非commentを書いてください。</div>';
		}else if(o.responseText == 'ok'){
			document.getElementById('responseForm').innerHTML = responseForm;
			document.getElementById('responseNickname').value = myGetCookie('nickname');
			document.getElementById('ResponseTextColor').style.backgroundColor = myGetCookie('textcolor');
			document.getElementById('responseTargetId').value = GlobalMarkerCommentID;
			document.getElementById('responseFlg').value = GlobalMarkerResponseFlg;
			document.getElementById('responseOver5Flg').value = GlobalMarkerResponseOver5Flg;
			if(maxWindowFlg == 1){
				MoveZindex('thanks');
				document.getElementById('thanks_inner').innerHTML = 'Thanks!!!!!!!!!!!!!!!!!!!!!!!';
				document.getElementById('thanks').style.display = 'block';
				thanksAnimeStart();
				reloadResponse();
			}else{
				MoveZindex('thanks');
				document.getElementById('thanks_inner').innerHTML = 'Thanks!!!!!!!!!!!!!!!!!!!!!!!';
				map.clearOverlays();
				document.getElementById('thanks').style.display = 'block';
				thanksAnimeStart();
				addMarker();
			}
		}else{
			alert(o.responseText);
		}
	}
};

function onemoreResponse(){
	document.getElementById('responseForm').innerHTML = responseForm;
}

var handleFailure = function(o){
	if(o.responseText !== undefined){
		document.getElementById('form').innerHTML = '<div class="comment_other">Error!</div>';
	}
};

var handleFailure2 = function(o){
	if(o.responseText !== undefined){
		document.getElementById('responseForm').innerHTML = '<div class="comment_other">Error!</div>';
	}
};

var callback =
{
  success:handleSuccess,
  failure:handleFailure
};
var callback2 =
{
  success:handleSuccess2,
  failure:handleFailure2
};

var postUrl = './sys/post.php';
var postUrl2 = './sys/response.php';

YAHOO.wdydnet.doLoad = function(){
	addComment = document.getElementById('comment').value;
	addNickname = document.getElementById('nickname').value;
	addIcon = document.getElementById('icon').value;
	addLat = AddMarker.getPoint().lat();
	addLng = AddMarker.getPoint().lng();
	document.getElementById('form').innerHTML = '<div class="loading"><img src="'+URL+'image/loading.gif" /></div>';
	//var postData = 'comment='+addComment+'&nickname='+addNickname+'&lat='+addLat+'&lng='+addLng+'&icon='+addIcon+'&color='+inputTextColor;
	var postData = 'comment='+addComment+'&nickname='+addNickname+'&lat='+addLat+'&lng='+addLng+'&icon='+addIcon+'&color='+myGetCookie('textcolor');
	mySetCookie('nickname',addNickname,10);
	YAHOO.util.Connect.asyncRequest('POST',postUrl,callback,postData);
}

YAHOO.wdydnet.doLoad2 = function(){
	addComment = document.getElementById('response').value;
	addNickname = document.getElementById('responseNickname').value;
	addTargetId = document.getElementById('responseTargetId').value;
	addResponseFlg = document.getElementById('responseFlg').value;
	addResponseOver5Flg = document.getElementById('responseOver5Flg').value;
	document.getElementById('responseForm').innerHTML = '<div class="loading"><img src="'+URL+'image/loading.gif" /></div>';
	//var postData = 'comment='+addComment+'&responseNickname='+addNickname+'&responseTextColor='+inputResponseTextColor+'&targetId='+addTargetId+'&responseFlg='+addResponseFlg+'&responseOver5Flg='+addResponseOver5Flg;
	var postData = 'comment='+addComment+'&responseNickname='+addNickname+'&responseTextColor='+myGetCookie('textcolor')+'&targetId='+addTargetId+'&responseFlg='+addResponseFlg+'&responseOver5Flg='+addResponseOver5Flg;
	mySetCookie('nickname',addNickname,10);
	YAHOO.util.Connect.asyncRequest('POST',postUrl2,callback2,postData);
}

function nicknameOnBlur(id){
	var elem_target = document.getElementById(id);
	if(elem_target.value == ''){
		elem_target.value = '通りすがりの人';
	}
}

function nicknameOnFocus(id){
	var elem_target = document.getElementById(id);
	if(elem_target.value == '通りすがりの人'){
		elem_target.value = '';
	}
}

function thanksAnimeStart(){
	var thanksAnime = new YAHOO.util.Anim(
		'thanks',
		{opacity:{ from:0.8,to:0}},
		2,
		YAHOO.util.Easing.easeBoth
	);

	thanksAnime.onComplete.subscribe(function(){
		document.getElementById('thanks').style.display = 'none';
	});
	thanksAnime.animate();
}

function setRegion(){
	var Dom = YAHOO.util.Dom, Event = YAHOO.util.Event, dd;
	YAHOO.wdydnet.DDRegion = function(id, sGroup, config) {
		this.cont = config.cont;
		YAHOO.wdydnet.DDRegion.superclass.constructor.apply(this, arguments);
	};

	YAHOO.extend(YAHOO.wdydnet.DDRegion, YAHOO.util.DD, {
		cont: null,
		init: function() {
			YAHOO.wdydnet.DDRegion.superclass.init.apply(this, arguments);
			this.initConstraints();
		},
		initConstraints: function() {
			var region = Dom.getRegion(this.cont);
			var el = this.getEl();
			var xy = Dom.getXY(el);
			var width = parseInt(Dom.getStyle(el, 'width'), 10);
			var height = parseInt(Dom.getStyle(el, 'height'), 10);
			var left = xy[0] - region.left;
			var right = region.right - xy[0] - (width+1);
			var top = xy[1] - region.top;
			var bottom = GetWindowWidthHeight().height - xy[1] - (height+1);
			this.setXConstraint(left, right);
			this.setYConstraint(top, bottom);
			Event.on(window, 'resize', function() {
				this.initConstraints();
			}, this, true);
		}
	});


	Event.onDOMReady(function() {
		dd = new YAHOO.wdydnet.DDRegion('GNavi-1', '', { cont: 'gmap' });
		dd.setHandleElId("GNaviBar-1");
		dd1 = new YAHOO.wdydnet.DDRegion('ColorPicker-1', '', { cont: 'gmap' });
		dd1.setHandleElId("ColorPickerBar-1");
		dd2 = new YAHOO.wdydnet.DDRegion('Response-1', '', { cont: 'gmap' });
		dd2.setHandleElId("ResponseBar-1");
	});
}

function GNaviAnimeOver(){
	var GNaviAnime1 = new YAHOO.util.Anim(
		'GNaviContents',
		{opacity:{by:0.1,to:1}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	GNaviAnime1.animate();
}

function GNaviAnimeOut(){
	var GNaviAnime2 = new YAHOO.util.Anim(
		'GNaviContents',
		{opacity:{by:-0.1,to:0.8}},
		1,
		YAHOO.util.Easing.easeBoth
	);
	GNaviAnime2.animate();
}

function searchibuttonover(){
	document.getElementById('searchButton').src = './image/searchbuttonover.png';
}

function searchibuttonout(){
	document.getElementById('searchButton').src = './image/searchbutton.png';
}

function buttonMouseOver(id){
	var elem_target = document.getElementById(id);
	switch(id){
		case 'toMap':
			elem_target.src = URL+'image/mapover.png';
			break;
		case 'toSate':
			elem_target.src = URL+'image/sateover.png';
			break;
		case 'toMap_Sate':
			elem_target.src = URL+'image/map_sateover.png';
			break;
		case 'plus':
			if(GMapZoomFlg != 1){
				elem_target.src = URL+'image/mapLevel+over.png';
			}
			break;
		case 'minus':
			if(GMapZoomFlg != 2){
				elem_target.src = URL+'image/mapLevel-over.png';
			}
			break;
		case 'production1':
			elem_target.src = URL+'image/production1Over.png';
			break;
		case 'production2':
			elem_target.src = URL+'image/production2Over.png';
			break;
		case 'stop':
			elem_target.src = URL+'image/stopOver.png';
			break;
	}
}

function buttonMouseOut(id){
	var elem_target = document.getElementById(id);
	switch(id){
		case 'toMap':
			if(GMapFlg != 0){
				elem_target.src = URL+'image/map.png';
			}
			break;
		case 'toSate':
			if(GMapFlg != 1){
				elem_target.src = URL+'image/sate.png';
			}
			break;
		case 'toMap_Sate':
			if(GMapFlg != 2){
				elem_target.src = URL+'image/map_sate.png';
			}
			break;
		case 'plus':
			elem_target.src = URL+'image/mapLevel+.png';
			break;
		case 'minus':
			elem_target.src = URL+'image/mapLevel-.png';
			break;
		case 'production1':
			elem_target.src = URL+'image/production1.png';
			break;
		case 'production2':
			elem_target.src = URL+'image/production2.png';
			break;
		case 'stop':
			elem_target.src = URL+'image/stop.png';
			break;
	}
}

function changeGMapType(type){
	var elem_target1 = document.getElementById('toMap');
	var elem_target2 = document.getElementById('toSate');
	var elem_target3 = document.getElementById('toMap_Sate');
	switch(type){
		case 'toMap':
			if(GMapFlg != 0){
				map.setMapType(G_NORMAL_MAP);
				GMapFlg = 0;
				elem_target1.src = URL+'image/mapover.png';
				elem_target1.style.cursor = 'default';
				elem_target2.src = URL+'image/sate.png';
				elem_target2.style.cursor = 'pointer';
				elem_target3.src = URL+'image/map_sate.png';
				elem_target3.style.cursor = 'pointer';
			}
			break;
		case 'toSate':
			if(GMapFlg != 1){
				map.setMapType(G_SATELLITE_MAP);
				GMapFlg = 1;
				elem_target1.src = URL+'image/map.png';
				elem_target1.style.cursor = 'pointer';
				elem_target2.src = URL+'image/sateover.png';
				elem_target2.style.cursor = 'default';
				elem_target3.src = URL+'image/map_sate.png';
				elem_target3.style.cursor = 'pointer';
			}
			break;
		case 'toMap_Sate':
			if(GMapFlg != 2){
				map.setMapType(G_HYBRID_MAP);
				GMapFlg = 2;
				elem_target1.src = URL+'image/map.png';
				elem_target1.style.cursor = 'pointer';
				elem_target2.src = URL+'image/sate.png';
				elem_target2.style.cursor = 'pointer';
				elem_target3.src = URL+'image/map_sateover.png';
				elem_target3.style.cursor = 'default';
			}
			break;
	}
}

function empty(){
	var elem_target = document.getElementById('geoName');
	if(elem_target.value == '見つかりませんでした。'){
		elem_target.value = '';
	}
}

function mapZoomIn(){
	map.zoomIn();
	/*
	var nowZoom = map.getZoom();
	nowZoom += 1;
	map.setZoom(nowZoom);
	if(nowZoom >= 19){
		GMapZoomFlg = 1;
		document.getElementById('plus').style.cursor = 'default';
		document.getElementById('plus').src = URL+'image/mapLevel+.png';
	}else{
		document.getElementById('minus').style.cursor = 'pointer';
		document.getElementById('plus').style.cursor = 'pointer';
		GMapZoomFlg = 0;
	}
	*/
}

function mapZoomOut(){
	map.zoomOut();
	/*
	var nowZoom = map.getZoom();
	nowZoom -= 1;
	map.setZoom(nowZoom);
	if(nowZoom <= 0){
		GMapZoomFlg = 2;
		document.getElementById('minus').style.cursor = 'default';
		document.getElementById('minus').src = URL+'image/mapLevel+.png';
	}else{
		document.getElementById('minus').style.cursor = 'pointer';
		document.getElementById('plus').style.cursor = 'pointer';
		GMapZoomFlg = 0;
	}
	*/
}

/*COLOR PICKER*/
function setColorPicker(){
	var picker = new YAHOO.widget.ColorPicker("ColorPickerContentsInner", {
		showhsvcontrols: false,
		showhexcontrols: true,
		images: {
			PICKER_THUMB: "./image/picker_thumb.png",
			HUE_THUMB: "./image/hue_thumb.png"
		}
	});
	var onRgbChange = function(o) {
		if(textColorTarget == 'comment'){
			var elem_target = document.getElementById('comment');
			elem_target.style.color = '#'+picker.get("hex");
			var elem_target = document.getElementById('textColor');
			elem_target.style.backgroundColor = '#'+picker.get("hex");
			//inputTextColor = '#'+picker.get("hex");
			mySetCookie('textcolor','#'+picker.get("hex"),10);
		}else if(textColorTarget == 'response'){
			var elem_target = document.getElementById('response');
			elem_target.style.color = '#'+picker.get("hex");
			var elem_target = document.getElementById('ResponseTextColor');
			elem_target.style.backgroundColor = '#'+picker.get("hex");
			//inputResponseTextColor = '#'+picker.get("hex");
			mySetCookie('textcolor','#'+picker.get("hex"),10);
		}else{
			alert('I\'m sorry , Error happens...');
		}
	}
	picker.on("rgbChange", onRgbChange);
}

function colorPickerControll(target){
	textColorTarget = target;
	MoveZindex('ColorPicker-1');
	switch(target){
		case 'comment':
			document.getElementById('ColorPickerBar_left').innerHTML = 'Color Picker : Comment Text';
			document.getElementById('textColor').style.borderColor = '#0F3155';
			if(document.getElementById('ResponseTextColor')) document.getElementById('ResponseTextColor').style.borderColor = '#F5F5F5';
			break;
		case 'response':
			document.getElementById('ColorPickerBar_left').innerHTML = 'Color Picker : Response Text';
			document.getElementById('ResponseTextColor').style.borderColor = '#0F3155';
			if(document.getElementById('textColor')) document.getElementById('textColor').style.borderColor = '#F5F5F5';
			break;
	}
	
	if(colorPickerFlg == 0){
		var attributes = {
			points: { to: [(sWidth-450)/2,(sHeight-240)/2], control:[0,sHeight/2] }
		};
		var colorPickerAnime = new YAHOO.util.Motion('ColorPicker-1',attributes);
		colorPickerAnime.animate();
		colorPickerFlg = 1;
		colorPickerOpneFlg = 1;
	}else{
		if(colorPickerOpneFlg == 0){
			var elem_target = document.getElementById('ColorPicker-1');
			elem_target.style.filter = 'alpha(opacity=0)';
			elem_target.style.MozOpacity = 0;
			elem_target.style.opacity = 0;
			elem_target.style.display = 'block';
			var colorPickerAnime = new YAHOO.util.Anim(
				'ColorPicker-1',
				{opacity:{ from:0,to:1}},
				1,
				YAHOO.util.Easing.easeBoth
			);
		
			colorPickerAnime.onComplete.subscribe(function(){
			});
			colorPickerAnime.animate();
		}
	}
}

function colorPickerControllClose(){
	colorPickerOpneFlg = 0;
	var elem_target = document.getElementById('ColorPicker-1');
	var colorPickerAnime2 = new YAHOO.util.Anim(
		'ColorPicker-1',
		{opacity:{ from:1,to:0}},
		1,
		YAHOO.util.Easing.easeBoth
	);

	colorPickerAnime2.onComplete.subscribe(function(){
		elem_target.style.filter = 'alpha(opacity=0)';
		elem_target.style.MozOpacity = 0;
		elem_target.style.opacity = 0;
		elem_target.style.display = 'none';
	});
	colorPickerAnime2.animate();
}

function MoveZindex(id){
	document.getElementById(id).style.zIndex = ZIndexStart;
	ZIndexStart++;
}

function RespanseWindowOpen(id){
	MoveZindex('Response-1');
	document.getElementById('responseTargetId').value = id;
	document.getElementById('ResponseBar_left').innerHTML = 'Response to CommentID 『'+id+'』';
	document.getElementById('responseNickname').value = myGetCookie('nickname');
	document.getElementById('ResponseTextColor').style.backgroundColor = myGetCookie('textcolor');
	if(responseFlg == 0){
		var attributes = {
			points: { to: [(sWidth-450)/2,(sHeight-240)/2], control:[0,sHeight/2] }
		};
		var responseAnime = new YAHOO.util.Motion('Response-1',attributes);
		responseAnime.animate();
		responseFlg = 1;
		responseOpenFlg = 1;
	}else{
		if(responseOpenFlg == 0){
			var elem_target = document.getElementById('Response-1');
			elem_target.style.filter = 'alpha(opacity=0)';
			elem_target.style.MozOpacity = 0;
			elem_target.style.opacity = 0;
			elem_target.style.display = 'block';
			var responseAnime = new YAHOO.util.Anim(
				'Response-1',
				{opacity:{ from:0,to:1}},
				1,
				YAHOO.util.Easing.easeBoth
			);
			responseAnime.animate();
			responseOpenFlg = 1;
		}
	}
}

function ResponseWindowClose(){
	responseOpenFlg = 0;
	var elem_target = document.getElementById('Response-1');
	var responseAnime2 = new YAHOO.util.Anim(
		'Response-1',
		{opacity:{ from:1,to:0}},
		1,
		YAHOO.util.Easing.easeBoth
	);

	responseAnime2.onComplete.subscribe(function(){
		elem_target.style.filter = 'alpha(opacity=0)';
		elem_target.style.MozOpacity = 0;
		elem_target.style.opacity = 0;
		elem_target.style.display = 'none';
	});
	responseAnime2.animate();
}