$(function(){
	$("a[@rel='external']").click(function(){
		window.open($(this).attr("href"));
		return false;
	})
	// ========================
	//
	//		MAP
	//
	// ========================
	var REGEXP_AREAS	= /^hokkaido|tohoku|kitakanto|shutoken|hakone|koshinetsu|hokuriku|tokai|izu|kinki|shikoku|chugoku|kyushu|okinawa$/;
	var REGEXP_PREFS		= /^aomori|iwate|akita|miyagi|yamagata|fukushima|tokyo|kanagawa|saitama|chiba|gunma|tochigi|ibaraki|yamanashi|nagano|niigata|toyama|ishikawa|fukui|aichi|gifu|shizuoka|mie|osaka|kyoto|nara|wakayama|hyogo|shiga|kagawa|tokushima|ehime|kochi|hiroshima|okayama|yamaguchi|tottori|shimane|fukuoka|oita|kumamoto|saga|nagasaki|miyazaki|kagoshima|okinawa$/;
	//
	var SWFDIR					= "/swf/";
	//var SAREA_API				= SWFDIR+"sarea-sample.xml";
	var SAREA_API				= "/mapapi/";
	var CONFIG_XML			= SWFDIR+"mapconfig.xml";
	//
	//var NEUTRAL_COLOR	= "0x990099";
	var NEUTRAL_COLOR	= "0x2e5f44";
	var DEACTIVE_COLOR	= "0x666666";
	var DEACTIVE_ALPHA	= "0.8";
	var HOVER_COLOR		= "0xff6600";
	var LABEL_COLOR			= "0xffffff";
	var LABEL_ALPHA			= "0.8";
	var LABEL_FONT			= "0x333333";
	var BG_IMAGE				= "/swf/samplebg2.jpg";
	//
	var STR_CLICKBG			= "背景をクリックして";
	var STR_JAPAN				= "日本全域";
	var STR_BACK				= "に戻る";
	//
	if($("div#map").size()) {
		(function(){
			var rnd = Math.ceil(Math.random()*100000).toString();
			//
			SWFAddress.setId("mapswf");
			var so = new SWFObject(SWFDIR+"map.swf","mapswf",694,314,9,"#ffffff");
			so.useExpressInstall(SWFDIR+"expressinstall.swf");
			so.addVariable("configxml",CONFIG_XML+"?rnd="+rnd);
			var v = SWFAddress.getValue();
			if((!v||v=="/")) {
				var loc = document.location.pathname.split("/");
				var area,pref,path=[];
				if(loc[1]) {
					area = loc[1].match(REGEXP_AREAS);
					if(area) {
						path.push(area.toString());
						if(loc[2]) {
							pref = loc[2].match(REGEXP_PREFS);
							if(pref) path.push(pref.toString());
						}
						if(path.length) SWFAddress.setValue("/"+path.join("/")+"/");
					}
				}
			}
			$.each({
				str_clickBG : STR_CLICKBG, str_japan : STR_JAPAN, str_back : STR_BACK,
				sareaxml:SAREA_API,  bgimg:BG_IMAGE,
				neutralColor:NEUTRAL_COLOR, deactiveColor:DEACTIVE_COLOR, deactiveAlpha:DEACTIVE_ALPHA,
				hoverColor:HOVER_COLOR, labelColor:LABEL_COLOR, labelFont:LABEL_FONT, labelAlpha:LABEL_ALPHA
			},function(i){ so.addVariable(i,this); });
			so.addParam("menu","false");
			so.write("map");
		})();
	}
})



/*********************************************** 
* Bookmark site script- © Dynamic Drive DHTML code library (www.dynamicdrive.com) 
* This notice MUST stay intact for legal use 
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code 
***********************************************/ 
 
/* Modified to support Opera */ 
function bookmarksite(title,url){ 
    try { // firefox 
        window.sidebar.addPanel(title, url, ""); 
    } catch (e) {  
        try { // ie 
            window.external.AddFavorite(url, title); 
        } catch (e) { // opera 
            var elem = document.createElement('a'); 
            elem.setAttribute('href',url); 
            elem.setAttribute('title',title); 
            elem.setAttribute('rel','sidebar'); 
            elem.click(); 
        } 
    } 
} 

/* calendar view */
$(function() {
	$("a[@rel='calendar']").click(function(event){
        var target = $(event.target);
        var offset = target.offset();
        var width = target.width();
        var height = target.height();
        var offsetTop = offset.top + (height / 2);
        var offsetLeft = offset.left + (width / 2);
        var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;

        var positionTop = offsetTop - scrollTop;
        var windowSize = getWindowSize();
        var windowHeight = windowSize.height;
        var windowWidth = windowSize.width;

        var elem = $("#calendar");
        elem.load('/calendar/' + hotelid + '/', {width: windowWidth, height: windowHeight});
        var elemWidth = elem.width();
        var elemHeight = elem.height();
        var elemTop;
        if (positionTop <= windowHeight / 2) {
            elemTop = offsetTop;
        } else {
            elemTop = offsetTop - elemHeight;
            // 位置微調整
            elemTop -= 10;
        }
        var elemLeft = offsetLeft - (elemWidth / 2)

        elem.css({display:'block',
            position:'absolute',
            //height: 'auto',
            top:elemTop,
            left:elemLeft}
        );
		return false;
	});
});

function calendar_init() {
    var windowSize = getWindowSize();
    var windowHeight = windowSize.height;
    var windowWidth = windowSize.width;

    tb_init('#calendar a.thickbox');//pass where to apply thickbox
	$("a[@rel='calendar-close']").click(function(event){
        var elem = $("#calendar");
        elem.css({display:'none'});
		return false;
	});
	$("a[@rel='calendar-move']").click(function(event){
        var elem = $("#calendar");
        var a = this.href;
        elem.load(a, {width: windowWidth, height: windowHeight});
		return false;
	});
}

function calendar_view(year, month) {
    //alert('calendar view ')
//    var elem = $("#calendar");
//    elem.load('/calendar/' + hotelid + '/');
    var elem = $("#calendar");
    elem.load('/calendar/' + hotelid + '/' + year + '/' + month + '/');
    return false;
}

function plan_init() {
	$("a[@rel='external']").click(function(){
		window.open($(this).attr("href"));
		return false;
	})
	$("a[@rel='plan-close']").click(function(event){
        tb_remove();
		return false;
	});
}

function getWindowSize() {
    windowWidth = 0;
    if (window.innerWidth) {
        windowWidth =  window.innerWidth;
    }  
    else if (document.documentElement && document.documentElement.clientWidth != 0) {
         windowWidth = document.documentElement.clientWidth;
    }
    else if (document.body) {
        windowWidth = document.body.clientWidth;
    }

    windowHeight = 0;
    if (window.innerHeight) {
        windowHeight =  window.innerHeight;
    }  
    else if (document.documentElement && document.documentElement.clientHeight != 0) {
         windowHeight = document.documentElement.clientHeight;
    }
    else if (document.body) {
        windowHeight = document.body.clientHeight;
    }      

    return {height: windowHeight, width: windowWidth};
}
