// JavaScript Document
// (c)TheDesignum

var Mst = {
	init: function() {
	},
	dominit: function() {
		this.returnFunc();
		this.mapsFunc();
	},
	indexFunc: function() {
		var weatherReport = 0;
		var days = $$('.weather-oneday');
		var wMoreFx = new Fx.Slide('weatherMore', {duration: 300}).hide();
		$('weatherToday').addEvent('click', function() {
			if(weatherReport == 0) {
				$('weatherSwitch').setStyle('background-position', 'left -25px');
				this.set('title', '情報を閉じる');
				weatherReport = 1;
			} else {
				$('weatherSwitch').setStyle('background-position', 'left top');
				this.set('title', '明日以降の情報を見る');
				weatherReport = 0;
			}
			wMoreFx.toggle();
		});

		days.each(function(oneday) {
 			oneday.addEvent('mouseenter', function() {
				oneday.setStyle('background-color', '#F9FCFE');
			});
			oneday.addEvent('mouseleave', function() {
				oneday.setStyle('background-color', '#FAFAFA');
			});
		});
	},
	mapsFunc: function() {
		var maps = $$('.entry-maplink');
		maps.addEvent('click', function() {
			mapUrl = this.get('href') + '/?layout=map';
			this.set('href', 'javascript:void(0);');
			thisRelId =  this.get('rel');
			mapTargetId = thisRelId + 'map';
			mapParentId = thisRelId + 'maplink';
			mapRequestId = thisRelId + '-request';
			mapRequestName = thisRelId + 'name';
			//alert(mapRequestId);

			if (Browser.Engine.trident) {
				var iframe = document.createElement("iframe");
				iframe.name = mapRequestId;
				document.getElementById(mapTargetId).appendChild(iframe);
				iframe.contentWindow.name = iframe.name;
				
				$(iframe).set('class', 'entry-map');
				iframe.src = mapUrl;
	        } else {
				//new Element('iframe', { 'src': mapUrl, 'name': mapRequestName, 'id': mapRequestId, 'class': 'entry-map' }).injectInside($(mapTargetId));
				new Element('object', { 'type': "text/html", 'data': mapUrl, 'name': mapRequestName,'id': mapRequestId, 'class': 'entry-map' }).injectInside($(mapTargetId));
	        }
			$(mapParentId).set('html', '地図情報');
		});
	},
	scheduleFunc: function(month) {
		month = month.toInt() - 1;
		var monthPos = 0;
		var scheduleSlider = new Slider($('slideArea'), $('knob'), {
			onChange: function(pos){
				monthNum = pos.toInt() + 1;
				$$('.changeMonth').set('html', monthNum);
			},			
			onComplete: function(pos){
				Mst.scheduleCal(pos);
				monthPos = pos.toInt();
				var obj = ['<span class="text-blue2">へびの御年始</span>,　<span class="text-blue2">奇祭大俵引き・高田初市</span>',
						  '<span class="text-blue2">伊佐須美神社節分祭</span>,　<span class="text-blue2">文殊祭</span>',
						  '<span class="text-blue2">西勝の彼岸獅子</span>',
						  '<span class="text-blue2">花祝祭（太々神楽）</span>',
						  '<span class="text-blue2">ヒルクライム</span>',
						  '<span class="text-blue2">明神ヶ岳山開き</span>,　<span class="text-blue2">会津美里ふれあい健康マラソン</span>,　<span class="text-blue2">あやめ祭り(～7月5日)</span>',
						  '<span class="text-blue2">御田植祭</span>,　<span class="text-blue2">高橋の虫送り</span>',
						  '<span class="text-blue2">本郷せと市</span>',
						  '<span class="text-blue2">伊佐須美神社例大祭</span>,　<span class="text-blue2">陶祖祭</span>',
						  '<span class="text-blue2">会津美里町新鶴ワイン祭り</span>',
						  '<span class="text-blue2">新そば祭り</span>,　<span class="text-blue2">大バザール</span>',
						  '--'];
				
				$$('.changeKeyword').set('html', obj[monthPos]);			
			},
			steps: 11
		}).set(month);
		$('slidePlus').addEvent('click', function() {
			if(monthPos < 12) monthPos++;
			scheduleSlider.set(monthPos);
		});
		$('slideMinus').addEvent('click', function() {
			if(monthPos > 0) monthPos--;
			scheduleSlider.set(monthPos);
		});
		var monthNums = $$('.schedule-monthnum');
		monthNums.each(function(monthNum, i) {
			monthNum.addEvent("click", function() {
				monthPos = i;
				scheduleSlider.set(monthPos);
			});
		});
	},
	scheduleCal: function(idNum) {
		id = 'scheduleMonth' + idNum;
		$$('.schedule-table').setStyle('display', 'none');
		$(id).setStyle('display', 'block');
	},
	returnFunc: function() {
		//var winScroller = new Fx.Scroll(window, { duration: 400, transition: Fx.Transitions.Expo.easeOut });
		winScroller = new Fx.Scroll(window, { duration: 400 });
		$$('.return').addEvent('click', function() {
			winScroller.toTop();
		});
		$$('.menuScroll').addEvent('click', function() {
			var target = this.get('rel');
			var targetId = this.get('href');
			this.set('href', 'javascript:void(0)');
			winScroller.toElement(target);
		});
	},
	contactFunc: function() {
		var contactGrid = $$('.contact-margin'), contactObj = new Array(), contactMaxHeight = 0;
		contactGrid.each(function(contactGrid, i) {
			contactObj[i] = contactGrid.getHeight() - 24;
			if(contactMaxHeight < contactObj[i]) contactMaxHeight = contactObj[i];
		});
		contactGrid.setStyle('height', contactMaxHeight);
		$$('.contact-margin2').setStyle('height', contactMaxHeight*2+31);
	},
	accessFunc: function() {
		$$('.tab-body').setStyle('display', 'none');
		$('acsKoriyama').setStyle('display', 'block');
		$('Koriyama').setStyles({ 'background-position': '-244px top' });
		//var winScroller = new Fx.Scroll(window, { duration: 400, transition: Fx.Transitions.Expo.easeOut });
		$$('.tab-button').addEvent('click', function() {
			getId = this.get('id');
			targetId = 'acs' + getId;
			$$('.tab-body').setStyle('display', 'none');
			$(targetId).setStyle('display', 'block');
			$$('.tab-button').setStyles({ 'background-position': 'left top' });
			this.setStyles({ 'background-position': '-244px top' });
		});
		$$('.tab-button').addEvent('mouseover', function() {
			if(this.get('id') != getId) this.setStyles({ 'background-position': 'left -49px' });
			
		});
		$$('.tab-button').addEvent('mouseleave', function() {
			if(this.get('id') != getId) this.setStyles({ 'background-position': 'left top' });
		});
		$$('.map-button').addEvent('click', function() {
			getId = this.get('rel');
			getTarget = this.get('id');
			targetId1 = getTarget.substring(3);
			targetId2 = 'acs' + getTarget.substring(3);
			$$('.tab-body').setStyle('display', 'none');
			$(targetId2).setStyle('display', 'block');
			$$('.tab-button').setStyles({ 'background-position': 'left top' });
			$(targetId1).setStyles({ 'background-position': '-244px top' });
			var winScroller = new Fx.Scroll(window, { duration: 400 });
			winScroller.toElement(targetId1);
		});
	},
	sakuraTooltip: function() {
		var sakuraTips = new Tips($$('.sakuraTips'), {
			timeOut: 700,
			maxTitleChars: 50,
			className: 'sakuratip',
			offsets: {'x': -7, 'y': 20},
			fixed: true
		});
  		google.load("maps", "2.x");
		
  		// コールバック関数で呼び出し
  		function initialize() {
   			var map = new google.maps.Map2(document.getElementById("mapCanvas"));
		    map.setCenter(new google.maps.LatLng(37.47698798430976 , 139.83794435653686), 13);
			map.addControl(new GSmallZoomControl());
			map.addControl(new GMapTypeControl());
			
			// マーカーのベース作成
			var baseIcon = new GIcon();
			baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
			baseIcon.iconSize = new GSize(20, 34);
			baseIcon.shadowSize = new GSize(37, 34);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(9, 2);
			baseIcon.infoShadowAnchor = new GPoint(18, 25);

			// マーカーの情報作成
			
			function createMarker(point, index) {
				// Create a lettered icon for this point using our icon class
				var letter = String.fromCharCode("A".charCodeAt(0) + index);
				var letteredIcon = new GIcon(baseIcon);
				letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

				// マーカーのオプション
				markerOptions = { icon:letteredIcon };
			 	var marker = new GMarker(point, markerOptions);
				var letterName = letter;

				GEvent.addListener(marker, "click", function() {
					if(letter =="A") marker.openInfoWindowHtml("<strong class='large'>虎の尾桜</strong> 高田地区");
					if(letter =="B") marker.openInfoWindowHtml("<strong class='large'>米沢の千歳桜</strong> 新鶴地区");
					if(letter =="C") marker.openInfoWindowHtml("<strong class='large'>宮川の千本桜</strong> 高田地区");
					if(letter =="D") marker.openInfoWindowHtml("<strong class='large'>薄墨桜</strong> 高田地区");
				});
				$(letterName).addEvent("click", function(){
					if(letter =="A") marker.openInfoWindowHtml("<strong class='large'>虎の尾桜</strong> 高田地区");
					if(letter =="B") marker.openInfoWindowHtml("<strong class='large'>米沢の千歳桜</strong> 新鶴地区");
					if(letter =="C") marker.openInfoWindowHtml("<strong class='large'>宮川の千本桜</strong> 高田地区");
					if(letter =="D") marker.openInfoWindowHtml("<strong class='large'>薄墨桜</strong> 高田地区");
				});
				return marker;
			}
			
			// 地図にマーカーを追加
			var pointTora = new GLatLng(37.486691, 139.814301);
			var pointChitose = new GLatLng(37.494102, 139.816740);
    		var pointMiyakawa = new GLatLng(37.458450, 139.844986);
    		var pointUsusumi = new GLatLng(37.456863,139.840714);

		    map.addOverlay(createMarker(pointTora, 0));
		    map.addOverlay(createMarker(pointChitose, 1));
		    map.addOverlay(createMarker(pointMiyakawa, 2));
		    map.addOverlay(createMarker(pointUsusumi, 3));
		}

		google.setOnLoadCallback(initialize);
	},
	calendarFunc: function() {
		var localLinks = $$("#content .local-link");

		localLinks.each(function(localLink, i) {
			localLink.addEvent('click', function() {
				var target = this.get('rel');
				winScroller.toElement(target);
			});
		});
		$$('.cal-event-return').addEvent('click', function() {
			winScroller.toTop();
		});
	}
}

window.addEvent('domready', function(){ Mst.dominit() });
//window.addEvent('load', function(){ Mst.init() });　描画にずれ？
window.onresize = function() {
	//Mst.changeSize();
};
window.onload = function() {
	Mst.init();
};

if(!Cookie.read("mstCookie")) {
	var searchBoolean = 0;
} else {
	var searchBoolean = Cookie.read("mstCookie").toInt();
}