/* ------------------------------------------------------- */

/* common.js

/* ------------------------------------------------------- */


/* スワップイメージ
-----------------------------------------------------------*/
(function(){
	function swapImage() {
		var className = "swapImage";
		var defaultName = "_df";
		var hoverName = "_ov";
		
		var overReg = new RegExp("^(.+)" + defaultName + "(\\.[a-z]+)$");
		var outReg = new RegExp("^(.+)" + hoverName + "(\\.[a-z]+)$");
		
		var preload = new Array();
		var images = document.getElementsByTagName("img");
		var inputs = document.getElementsByTagName("input");
		
		for(var i = 0, il = images.length; i < il; i++) {
			var classStr = images[i].getAttribute("class") || images[i].className;
			var classNames = classStr.split(/\s+/);
			for(var j = 0, cl = classNames.length; j < cl; j++){
				if(classNames[j] == className){

					//preload
					preload[i] = new Image();
					preload[i].src = images[i].getAttribute("src").replace(overReg, "$1" + hoverName + "$2");

					//mouseover
					images[i].onmouseover = function() {
						this.src = this.getAttribute("src").replace(overReg, "$1" + hoverName + "$2");
					}

					//mouseout
					images[i].onmouseout = function() {
						this.src = this.getAttribute("src").replace(outReg, "$1" + defaultName + "$2");
					}
				}
			}
		}
		
		for(var i = 0, il = inputs.length; i < il; i++) {
			var classStr = inputs[i].getAttribute("class") || inputs[i].className;
			var classNames = classStr.split(/\s+/);
			for(var j = 0, cl = classNames.length; j < cl; j++){
				if(classNames[j] == className){

					//preload
					preload[i] = new Image();
					preload[i].src = inputs[i].getAttribute("src").replace(overReg, "$1" + hoverName + "$2");

					//mouseover
					inputs[i].onmouseover = function() {
						this.src = this.getAttribute("src").replace(overReg, "$1" + hoverName + "$2");
					}

					//mouseout
					inputs[i].onmouseout = function() {
						this.src = this.getAttribute("src").replace(outReg, "$1" + defaultName + "$2");
					}
				}
			}
		}
	}
	
	function addEvent(elem, event, func){
		if(elem.addEventListener) {
			elem.addEventListener(event, func, false);
		}else if(elem.attachEvent) {
			elem.attachEvent("on" + event, func);
		}
	}
	addEvent(window, "load", swapImage);
})();


/* 観光スポット検索
-----------------------------------------------------------*/
function moveAreaPage() {
	var value = document.spoSearchAreaForm.area.value;
	if(value == '') {
		alert("エリアを選択してください");
	} else {
		window.location = value + ".html";
	}
}

function moveThemePage() {
	var value = document.spoSearchThemeForm.theme.value;
	if(value == '') {
		alert("テーマを選択してください");
	} else {
		if(value == 'stay') {
			var w = window.open("http://www.iseshima-syukuhakunavi.jp/");
		} else {
			window.location = value + ".html";
		}
	}
}


/* マップ
-----------------------------------------------------------*/
function initMap() {
	var key = 'ABQIAAAA3i_VtXXXNSNT21DTjLNtpBRbVsACx93jacwv3j6rbT_GcqaHVxR-G6JIAvFyLh9lW0tK17Kt5WLwUg';
	if(location.hostname.indexOf('192.168.') >= 0) key = 'ABQIAAAA3i_VtXXXNSNT21DTjLNtpBRB4nrBOd15Q9ov68K7sUHf5JKZLxSEMrrp8UdX8BPESjRsLIDEFD2P0Q';
	if(location.hostname.indexOf('202.212.39.26') >= 0) key = 'ABQIAAAA3i_VtXXXNSNT21DTjLNtpBRrPGe97tcOW7MjXua09boMWQf1HBRs1xCledrwlUZFkDw7BpgLWtgaTQ';
	if(location.hostname.indexOf('test.blueart21.com') >= 0) key = 'ABQIAAAA3i_VtXXXNSNT21DTjLNtpBRrPGe97tcOW7MjXua09boMWQf1HBRs1xCledrwlUZFkDw7BpgLWtgaTQ';
	document.write('<script src="http://maps.google.com/maps?file=api&v=1&key=' + key + '" type="text/javascript" charset="utf-8"></script>');
}

function setSingleMarkerMap(id, latitude, longitude) {
	if(GBrowserIsCompatible()){
		var point = new GLatLng(latitude, longitude);
		var map = new GMap2(document.getElementById(id));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(point, 16);
		var miniMap = new GOverviewMapControl(new GSize(160, 120));
		map.addControl(miniMap);
		var marker = new GMarker(point);
		map.addOverlay(marker);
	}
}

function setPluralMarkerMap(id, zoom, center, markers) {
	if(GBrowserIsCompatible()){
		var map = new GMap2(document.getElementById(id));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(center[0], center[1]), zoom);
		
		var mgr = new GMarkerManager(map);
		var tmp = [];
		var length = Math.floor(markers.length / 2) * 2;
		for(var i = 0; i < length; i = i + 2) {
			var point = new GLatLng(markers[i], markers[i + 1]);
			tmp.push(new GMarker(point));
		}
		mgr.addMarkers(tmp, 0);
		mgr.refresh();
		
		var miniMap = new GOverviewMapControl(new GSize(160, 120));
		map.addControl(miniMap);
	}
}
