﻿/* ------------------------------------------------------------ */
/*                                                              */
/*                       jQuery : ready                         */
/*                                                              */
/* ------------------------------------------------------------ */

$(function(){

	// tabs --------------------------------------------------------
	if($('#tabs').size()) {
		tabs.init('#tabs');
	}

	// _blank window -----------------------------------------------------
	$('a.blank, area.blank').click(function(){ window.open(this.href, '_blank'); return false; });

	// anchor ------------------------------------------------------------
	$('a.more').before('<img src="/ko/group/_common/styles/theme/img/white/arrow.gif" width="9" height="9" alt="" />');

	// localnav --------------------------------------------------------
	if($('#localnav').size()) {
		$('#localnav li a:eq(0)').addClass('active');
		var pname = (location.href.indexOf('.html')>0) ? location.href : location.href+'index.html';
		$('#localnav li a:gt(0)').each(function(){
			if(this.href == pname) { 
				$(this).addClass('active');
				$('#localnav li a:eq(0)').removeClass('active');
			}
		});
	}

	// location [ Floor Map ] ------------------------------------------------------------
	if($('a.location').size()) {
		$('a.location').attr('href','/ko/tokyo/info/facilities/map.html?width=900&height=480').addClass('thickbox');
	}

	// table stripe ------------------------------------------------
	//	$('.stripe tr').mouseover(function(){$(this).addClass('over');}).mouseout(function(){$(this).removeClass('over');});
	$('.stripe tr:even').addClass('even');
	$('.stripe tr:odd').addClass('odd');
	$('.stripe_v tr').not('.thead').mouseover(function(){$(this).addClass('over');}).mouseout(function(){$(this).removeClass('over');});
	$('.stripe_v td:even').addClass('even');
	$('.stripe_v td:odd').addClass('odd');


	// require -----------------------------------------------------
	$.require('jquery/thickbox,jquery/ifixpng,jquery/dimensions',function(){
		// overlayMenus --------------------------------------------------------
		overlayMenus.init();
		overlayIndex.init();
	
		// overlay ------------------------------------------------------------
		if($('.overlay').size()) {
			$('.overlay').wrap('<div class="boxWrap"><div class="boxOverlay"></div></div>');
			$('.boxWrap').append('<div class="boxOverlayBottom">&nbsp;</div><div class="boxOverlayArrow">&nbsp;</div><div class="boxOverlayArrow2">&nbsp;</div><div class="boxOverlayClose"><a href="#">Close</a></div>');
		}

		// png fix ------------------------------------------------------------
		$('.boxOverlay,.boxOverlayBottom,.boxOverlayArrow,.boxOverlayArrow2').ifixpng('/ko/group/_common/img/blank.gif');

		// hotel_list ------------------------------------------------------------
		$('form#hotel_list_form button').click(function(){
			var url = $('select#hotel_list').val();
			if (url) window.open(url); return false;
		});
		
	});
	$.requirecss('jquery/thickbox');
});










/* ------------------------------------------------------------ */
/*                                                              */
/*                        locationMap                           */
/*                                                              */
/* ------------------------------------------------------------ */
locationMap = {
	init: function() {
		var pathType = location.pathname.split('/').slice(2,3);
		var pathUrl  = location.pathname.split('/').slice(1,3).join('/');
		pathUrl      = '/' + pathUrl + '/index.html';
		$('.floormaps').hide();
		$('area[href='+pathUrl+']').parent().each(function(){
			var pos = $(this).children('area[href='+pathUrl+']').attr('coords').split(',');
			var targFloor = $('#'+this.id.split('_')[1]);
			targFloor.show().css({'position':'relative'});
			targFloor.append('<div style="position:absolute;left:'+(pos[0]-10)+'px;top:'+(pos[1]-2)+'px;"><img src="/ko/group/_common/img/location.gif" width="13" height="13" alt="☆" /></div>');
		});
	}
};



/* ------------------------------------------------------------ */
/*                                                              */
/*                        overlayIndex                          */
/*                                                              */
/* ------------------------------------------------------------ */

overlayIndex = {
	init: function() {
		var ON_CLASS  = 'active';
		var OFF_CLASS = 'inactive';
		var id = '#indexnav';
		$(id + '>div').hide();
		$(id + '>div.overlay').show();
		$(id + '>.index>li a').hover(function(){
			var trigger = ($(this).parent().is('p')) ? $(this).parent().prev('a'): $(this);
			var pos = trigger.position();
			if (!trigger.is('.' + ON_CLASS)) {
				var re = /([_\-\w]+$)/i;
				var target = $('#' + re.exec(this.href)[1]).parent().parent();
				if (target.size() > 0) {
					$(id).addClass("plain");
					$(id + '>div:visible').css({display:"none"});
					target.css({display:"block"});
					target.children(".boxOverlayArrow").css({"left": (pos.left+62)+"px"});
					target.children(".boxOverlayClose>a").click(function(){
						$(id + '>div:visible').css({display:"none"});
						$(id + '>.index>li a').removeClass(ON_CLASS).removeClass(OFF_CLASS);
						$(id).removeClass("plain");
					});
					$(id + '>.index>li a').removeClass(ON_CLASS).addClass(OFF_CLASS);
					trigger.addClass(ON_CLASS).removeClass(OFF_CLASS);
				} else {
					$(id + '>.index>li a').removeClass(ON_CLASS).removeClass(OFF_CLASS);
					$(id).removeClass("plain");
				}
			}
			return false;
		},function(){
			
		});
	}
};





/* ------------------------------------------------------------ */
/*                                                              */
/*                        overlayMenus                          */
/*                                                              */
/* ------------------------------------------------------------ */

overlayMenus = {
	init: function() {
		$('#main').append('<div id="overlayMenuWindow" class="overlay"></div>');
		var ON_CLASS = 'active';
		var olTimerID;
		$('#main a.overlayMenu, #main .overlayMenu a').hover(function(){
			clearTimeout(olTimerID);
			var trigger = $(this);
			var pos = trigger.position();
			if (!trigger.is('.' + ON_CLASS)) {
				var re = /([_\-\w]+$)/i;
				var target = $('#' + re.exec(this.href)[1]);
				if (target.size()) {
					$('#overlayMenuWindow').empty().show();
					target.clone().prependTo('#overlayMenuWindow');
					$('#overlayMenuWindow').children().removeClass('hide');
					var BOX = $('#overlayMenuWindow').parent().parent();
					BOX.children('.boxOverlayClose').children('a').html('&nbsp;').click(function(){
						BOX.hide();
					});
					BOX.show().hover(function(){
						clearTimeout(olTimerID);
					},function(){
						$(this).hide();
					});
					BOX.css({"position":"absolute", "top": (pos.top)+"px", "left": (pos.left + trigger.width())+"px"});
					if (trigger.parents("#roomsList").size()) {
						BOX.css({"top": (pos.top + 30)+"px", "left": (pos.left + trigger.width() - 65)+"px"});
					}
					if (pos.left > 700) {
						BOX.css({"left": (pos.left - 300)+"px"});
						BOX.children(".boxOverlayArrow").hide();
						BOX.children(".boxOverlayArrow2").show();
					} else {
						BOX.children(".boxOverlayArrow").show();
						BOX.children(".boxOverlayArrow2").hide();
					}
				}
			}
			return false;
		},function(){
			olTimerID = setTimeout(function(){$('#overlayMenuWindow').parent().parent().hide();}, 800);
		});
	}
};





/* ------------------------------------------------------------ */
/*                                                              */
/*                           tabs                               */
/*                                                              */
/* ------------------------------------------------------------ */

tabs = {
	init: function(containerId) {
		var start = (location.search) ? parseInt(location.search.split('?')[1]) : 1;
		var ON_CLASS = 'active';
		var id = containerId;
		var i = (typeof start == "number") ? start - 1 : 0;
		$(id + '>div').css({display:"none"});
		$(id + '>div:eq(' + i + ')').css({display:"block"});
		var tabWidth = Math.floor($(id + '>ol#tabsnav').width() / $(id + '>ol#tabsnav>li').size());
		$(id + '>ol#tabsnav>li').each(function(){
			$(this).css({'width':tabWidth+'px','margin-left':'0px'});
		});
		var tabHeight = $(id + '>ol#tabsnav').height();
		$(id + '>ol#tabsnav>li').each(function(){
			$(this).height(tabHeight);
		});
		$(id + '>ol#tabsnav>li:nth-child(' + (i+1) + ')>a').addClass(ON_CLASS);
		$(id + '>ol#tabsnav>li>a').click(function() {
			if (!$(this).is('.' + ON_CLASS)) {
				var re = /([_\-\w]+$)/i;
				var target = $('#' + re.exec(this.href)[1]);
				if (target.size() > 0) {
					$(id + '>div:visible').css({display:"none"});
					target.css({display:"block"});
					$(id + '>ol#tabsnav>li>a').removeClass(ON_CLASS);
					$(this).addClass(ON_CLASS);
				}
			}
			return false;
		});
	}
};





/* ------------------------------------------------------------ */
/*                                                              */
/*                          require                             */
/*                                                              */
/* ------------------------------------------------------------ */

//require plugin by Mohd Khairi Lamsah (hairiemx at gmail dot com)
//Feel free to modify it. 

(function($){
	$.plg={
		inited:false,
		list:{},
		css:{},
		fn:[],
		queue:[],
		jsBase:'.',
		cssBase:'.',
		complete:function(){
			$.plg.inited=false;
			$(document).ready(function(){
				while($.plg.fn.length)
					$.plg.fn.shift().apply(document);
			});
		},
		next: function(){
			var plugin=$.plg.queue.shift();
			$.plg.inited=true;
			if(typeof $.plg.list[plugin.name]=='undefined'){
				var src = $.plg.jsBase + '/' + plugin.name + '.js';
				$.plg.list[plugin.name]=false;
				$.get(src, function(data){
				$.plg.list[plugin.name]=true;
				//Evaluate later when dom is ready
				$.plg.fn.push(function(){eval.call(window,data);});
				//Run plugin onload after dom is ready
				if(plugin.onload)$.plg.fn.push(plugin.onload);
				//Proceed to next 
				$.plg.proceed();
				});
			}
			else if ($.plg.list[plugin.name]){
				//If the plugin is already loaded, 
				//push onload to function queue and 
				//proceed to next plugin.
				if(plugin.onload)
					$.plg.fn.push(plugin.onload);
				$.plg.proceed();
			}
			
		},
		proceed:function(){
			if($.plg.queue.length)
				$.plg.next();
			else
				$.plg.complete();
		}
	};
	 
	//Try get jquery-require.js base path
	$("head > script[@src$='common.js']").each(function(){
		var pathArray=this.src.split('/');
		pathArray.pop();
		$.plg.jsBase=pathArray.join('/') || '.';
		$.plg.cssBase=$.plg.jsBase.replace('/js','/styles');
	});
	 
	$.extend({
	requirecss: function(c){
		var cList=c.split(",");
		for(var i=0;i<cList.length;i++){
			var cssFile=cList[i];
			if(typeof $.plg.css[cssFile]=="undefined"){
				var c = document.createElement('link'); 
				c.type = 'text/css';
				c.rel = 'stylesheet';
				c.href = $.plg.cssBase + '/' + cssFile + '.css';
				$('head')[0].appendChild(c);
				$.plg.css[cssFile]=true;
			}
		}
	},
	require: function(plugin){
		var p=plugin.split(',');
		//If no onload function is assigned, assigned load function to null
		var func=arguments.length > 1?arguments[1]:null;
		var pLength=p.length;
		for(var i=0;i<pLength;i++){
				//Push the plugin into queue
			$.plg.queue.push({name: p[i], onload: (i==pLength-1?func:null)}); 
		}
		if(!$.plg.inited){
			$.plg.next();
		}
	}
	});

$.fn.extend({
	requireComplete: function(f) {
		//If plugin loading process complete
		if (!$.plg.inited){
			// Execute the function immediately
			f.apply( document );
		}
		// Otherwise, remember the function for later
		else 
			// Add the function to the wait list
			$.plg.fn.push( f );
		return this;
	}
	});
})(jQuery);










/* ------------------------------------------------------------ */
/*                                                              */
/*                        basic scripts                         */
/*                                                              */
/* ------------------------------------------------------------ */

//------------------------------------------------------------
// Util
//------------------------------------------------------------
Array.prototype.shuffle = function(){
	var i   = this.length;
	var ary = this.concat();
	var ret = [];
	while(i) ret.push(ary.splice(Math.floor(Math.random()*i--),1));
	return ret
}





//------------------------------------------------------------
// PopUp
//------------------------------------------------------------
function popup(theURL) {
  window.open(theURL,Math.floor(Math.random()*100),'status=yes,scrollbars=yes,menubar=yes,resizable=yes,width=750,height=500');
}
function opener(theURL,newwinFlag) {
  if((is_opener())&&(newwinFlag!='newwin')) {
    ol = window.opener;
    ol.location.href=theURL;
    ol.focus();
  } else {
    window.open(theURL,'blank','resizable=yes,scrollbars=yes,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes');
  }
}
function is_opener() {
  var ua = navigator.userAgent;
  if(!!window.opener) {
    if( ua.indexOf('MSIE 4')!=-1 && ua.indexOf('Win')!=-1) { 
      return !window.opener.closed;
    } else {
      return typeof window.opener.document  == 'object';
    }
  } else {
    return false;
  }
}





//------------------------------------------------------------
// Page Control
//------------------------------------------------------------
function next() {

}




//------------------------------------------------------------
// Flash
//------------------------------------------------------------

/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

function showFlash(p){
	if (!p.bg)     p.bg     = '#ffffff';
	if (!p.scale)  p.scale  = 'noborder';
	if (!p.salign) p.salign = 'TL';
	if (!p.wmode)  p.wmode  = 'transparent';

	var so = new SWFObject(p.swf, p.id, p.w, p.h, p.v, p.bg);
	so.addParam('scale',  p.scale);
	so.addParam('salign', p.salign);
	so.addParam('wmode',  p.wmode);
	if(p.param!=null) var pAry=p.param.split('&'); for (var i=0;i<pAry.length;i++) {var a=pAry[i].split('='); so.addVariable(a[0],a[1]);};
	so.setAttribute("style", ";");
	so.write(p.id+'Holder');
}

