Shadowbox.loadSkin('classic', 'src/skin');
Shadowbox.loadLanguage('en', 'src/lang');
Shadowbox.loadPlayer(['flv', 'html', 'iframe', 'img', 'qt', 'swf', 'wmp'], 'src/player');

window.onload = function(){
	
		if(document.Searchform.box_num.value==0){
			search_submit();
		}
		Shadowbox.init();
		initRollovers();
			
}

/* ロールオーバー処理 */

function initRollovers() {
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++) {		
		if (aImages[i].className == 'btn') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_o'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			aImages[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
	var input = document.getElementsByTagName("input");
	
	for(var i=0; i<input.length; i++){
		if (input[i].className == 'btn') {
			var src = input[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_o'+ftype);

			input[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			input[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			input[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}

function openMap(m_id){
	
		Shadowbox.open({
			player:     'html',
			content:    '',
			height:     400,
			width:      408,
			options:    {
				onFinish: function(item){
					
					if(document.Searchform['lng_'+m_id].value=="default"){
						
						alert("こちらの店舗は地図を表示できません。")
						Shadowbox.close();
						return;
						
					}else if(document.Searchform['lng_'+m_id].value!=""){
						
						var center_lat = document.Searchform['lat_'+m_id].value;
						var center_lng = document.Searchform['lng_'+m_id].value;
						
					}
					
					//情報パネルは初期状態で表示
					document.Searchform.info_visible.value = "true";
					
					var default_zoom = 17;
					var selectetMarker;
					var info = Array();
					
					map = new GMap2(document.getElementById('shadowbox_content'));
					map.addControl( new GLargeMapControl() ); 
					map.setCenter( new GLatLng(center_lat, center_lng), default_zoom ); 
					
					// マーカー画像
					var icon = Array();
					icon[0] = new GIcon();
					icon[0].image = "img/icon_map_s.png";
					icon[0].iconSize = new GSize(62,52);
					icon[0].iconAnchor = new GLatLng(40,30);

					icon[1] = new GIcon();
					icon[1].image = "img/icon_map_b.png";
					icon[1].iconSize = new GSize(80,64);
					icon[1].iconAnchor = new GLatLng(55,40);
					
					//外部テキストの読み込み
					GDownloadUrl("select_markers.php?center_lat="+center_lat+"&center_lng="+center_lng, createMap);
					
					//店舗情報
					function createMap(data, statusCode){
						
					    points = data.split('\n');
					  
						for(i=0 ;i<points.length;i++){
						  
							var point = points[i].split(',');
								
							info[i] = new Object();
							info[i].sid = point[0];
							info[i].lat = point[1];
							info[i].lng = point[2];
							info[i].point = new GLatLng(info[i].lat,info[i].lng);
							//info[i].html = point[8];
							
							info[i].html = '<div style=" background-image:url(img/img_bg.png); width:358px; height:78px; margin-left:23px;"><div style="float:left; width:300px;"><div style="color:#FFFFFF; padding:15px 0 0 15px;"><span style="font-weight:bold;">'+point[3]+'</span><br />〒'+point[4]+'　'+point[5]+'<br /><span style="font-size:smaller">(TEL) '+point[6]+'</span>';	
							if(point[7]!=""){
								info[i].html += '　<span style="font-size:smaller">(FAX) '+point[7]+'</span>';
							}else{
								info[i].html += '';
							}
								
							info[i].html += '</div></div><div style="float:right; width:58px;"><div style="padding:10px 0 0 10px;"><a href="#" onclick="openPrint('+point[0]+');"><img  class="btn" src="img/btn_print.png" onload="initRollovers();"></a><a href="javascript:closeInfo();"><img src="img/btn_close.png" style="margin-left:7px;" class="btn"></a></div></div></div>';
							
						
							if(info[i].sid==m_id){
								var marker = createMarker( info[i].point, info[i].html, 1 );
								openInfo(i);
							}else{
								var marker = createMarker( info[i].point, info[i].html, 0 );
							}
									
							marker._itemIndex = i;
							info[i].marker = marker;
									
							map.addOverlay( marker );
						
						}			

					}
					
					function setMarker()
					{
						for ( var i = 0; i < info.length; i++ ){
							
							if(info[i].sid==m_id){
								var marker = createMarker( info[i].point, info[i].html, 1 );
									openInfo(i);
							}else{
								var marker = createMarker( info[i].point, info[i].html, 0 );
							}
									
							marker._itemIndex = i;
							info[i].marker = marker;
									
							map.addOverlay( marker );
									
						}
					}
					
					function replaceMarker(click_no)
					{
						
						for ( var i = 0; i < info.length; i++ ){
							
							if(i==click_no){
								var marker = createMarker( info[i].point, info[i].html, 1 );
								openInfo(click_no);
							}else{
								var marker = createMarker( info[i].point, info[i].html, 0 );
							}
							
							marker._itemIndex = i;
							info[i].marker = marker;
							map.addOverlay( marker );
							
						}
						
					}

					function clearMarker()
					{
						map.clearOverlays();
					}
	
					//指定したアイコンを表示
					function createMarker( point, html, n )
					{
						var marker = new GMarker( point, icon[n] );
						GEvent.addListener( marker, "click", clickMakerHandler ); 
						return marker;
					}
					
					//クリック時
					function clickMakerHandler( html )
					{
						document.Searchform.info_visible.value = "true";
						
						//クリックされたマーカー
						selectetMarker = info[this._itemIndex].marker;
						
						document.Searchform.click_no.value = this._itemIndex;
						
						map.clearOverlays();
						changeIcon( this._itemIndex );
						openInfo(this._itemIndex);
						
					}
				
					function openInfo( itemIndex )
					{
						if(document.Searchform.info_visible.value=="true"){
							showInfoPanel(info[itemIndex].html);
						}
					}
				
					function changeIcon(click_no)
					{
				
						for ( var i = 0; i < info.length; i++ ){
							
							if(i==click_no){
								var marker = createMarker( info[i].point, info[i].html, 1 );
								marker._itemIndex = i;
								info[i].marker = marker;
							}else{
								var marker = createMarker( info[i].point, info[i].html, 0 );
								marker._itemIndex = i;
								info[i].marker = marker;
							}
							
							map.addOverlay( marker );
						}
				
					}
				
					var infoPanelOverlay;
				
					function showInfoPanel(html)
					{
						hideInfoPanel();
				
						var objBody = document.getElementById('shadowbox_content');
						var objOverlay = document.createElement("div");
						objOverlay.setAttribute('id','overlay');
						objOverlay.style.position = 'absolute';
						objOverlay.style.top = '78%';
						objOverlay.style.left = '0%';
						objOverlay.style.zIndex = '9999';
						objOverlay.style.filter = 'alpha(opacity=90)';

						infoPanelOverlay = objOverlay;
				
						objOverlay.innerHTML = html;
						objBody.insertBefore(objOverlay, objBody.firstChild);
					}
				
					function hideInfoPanel()
					{
						if ( infoPanelOverlay != null ) 
						{
							
							infoPanelOverlay.style.display = 'none';
						}
					}
				 
				}
			}
		});
	
	}

function closeInfo(){
	
	var objOverlay = document.getElementById('overlay');
	objOverlay.style.display = 'none';
	document.Searchform.info_visible.value = "false";
	
}

function openPrint(s_id){

    zoom = map.getZoom();
	
	if(s_id!=""){
		window.open("print.php?id="+s_id+"&zoom="+zoom,"_blank","width=700,height=720");
	}
	
}


function search_submit(){

	var ken = document.getElementById("ken").value;
	var storeName = encodeURIComponent(document.getElementById("storeName").value);
//	var ofs = document.getElementById("ofs").checked;
//	var imix = document.getElementById("imix").checked;
	var cl = document.getElementById("cl").checked;

	var param ="";
	
	if(ken!=""){
		param += "&ken="+ken;
	}
	if(storeName!=""){
		param += "&storeName="+storeName;
	}
/*
	if(ofs==true){
		param += "&ofs=1";
	}
	if(imix==true){
		param += "&imix=1";
	}
*/
	if(cl==true){
		param += "&cl=1";
	}

	location.href = 'index.php?search_flg=1'+param+'#result';
	
}

function result_submit(offset){

	var limit = document.getElementById("limit").value;
	var ken = document.getElementById("ken").value;
	var storeName = encodeURIComponent(document.getElementById("storeName").value);
//	var ofs = document.getElementById("ofs").checked;
//	var imix = document.getElementById("imix").checked;
	var cl = document.getElementById("cl").checked;

	var param ="";

	if(ken!=""){
		param += "&ken="+ken;
	}
	if(storeName!=""){
		param += "&storeName="+storeName;
	}
/*
	if(ofs==true){
		param += "&ofs=1";
	}
	if(imix==true){
		param += "&imix=1";
	}
*/
	if(cl==true){
		param += "&cl=1";
	}

	param += "&limit="+limit;
	param += "&search_flg=1"

	if(offset==undefined){
		location.href = 'index.php?offset=0'+param+'#result';
	}else{
		location.href = 'index.php?offset='+offset+param+'#result';
	}
	
}

function limit_change(limit){

	var ken = document.getElementById("ken").value;
	var storeName = encodeURIComponent(document.getElementById("storeName").value);
//	var ofs = document.getElementById("ofs").checked;
//	var imix = document.getElementById("imix").checked;
	var cl = document.getElementById("cl").checked;

	var param ="";

	if(ken!=""){
		param += "&ken="+ken;
	}
	if(storeName!=""){
		param += "&storeName="+storeName;
	}
/*
	if(ofs==true){
		param += "&ofs=1";
	}
	if(imix==true){
		param += "&imix=1";
	}
*/
	if(cl==true){
		param += "&cl=1";
	}

	param += "&search_flg=1"

	location.href = 'index.php?limit='+limit+param+'#result';

}

