// JavaScript Document
/** global variables **/
var queryParameters = new Array();
var currentPage = "home";
var hasSubNav = false;
var page_title = "The Blue Marine Resort & Spa";
var showWeather = false;
var isAddSlideshow = false;
function getUrlParam( name )
{
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return unescape( results[1] );
}
function ddMenu(id,d){
	//var h = document.getElementById(id + '-ddheader');
	//var c = document.getElementById(id + '-ddcontent');
	var h = $("#" + id + "-ddheader");
	var c = $("#" + id + "-ddcontent");
	if(d > 0){
		c.show();
		c.css("opacity","1.0");
		c.css("filter","alpha(opacity=100)");
	}else{
		c.hide();
	}
}
function cancelHide(id){
	var h = $("#" + id + "-ddheader");
	var c = $("#" + id + "-ddcontent");
	c.show();
	c.css("opacity","1.0");
	c.css("filter","alpha(opacity=100)");
}
$.fn.attrkeys = function()
	{
		var a = new Array();
		this.each(function()
		{
			for(i=0;i<this.attributes.length;i++)
				a.push(this.attributes[i].name);
		});
		return a;
	}


//popup new windows
function popup(page,height,width){
	window.open(page,null,"height=" + height + ",width=" + width + ",status=yes,toolbar=no,menubar=yes,location=no, scrollbars=yes");
}
/** First page slideshow **/
function addSlideShow(page,flashvars){
if(!isAddSlideshow){
	isAddSlideshow = true;
	var url = "";
	if(flashvars == null){
		flashvars = {
			url:"./xml/slideshow.xml"
		}
	}
	/*switch(page){
		case "home":
			url = "./xml/slideshow.xml";
		break;
		default:
			url = "./xml/slideshow.xml";
		break;
	}
	var fvars = {
		url:url
	}*/
	var param = {
	quality:"high",
	bgcolor:"#000000",
	allowscriptaccess:"sameDomain",
	allowfullscreen:"true",
	wmode:"transparent"
	};
	var attr = {
		id: "photo-fm",
		name: "photo-fm"
	};
	var now = new Date();
	swfobject.embedSWF("swf/slideshow.swf?" + now, "photo-frame-swf", "1044", "473", "10.0.0","swf/expressInstall.swf", flashvars, param, attr);
}
}
/** sub navigation menu **/
function addSubNav(flashvars){
	var param = {
	quality:"high",
	bgcolor:"#000000",
	allowscriptaccess:"sameDomain",
	allowfullscreen:"true",
	wmode:"transparent"
	};
	var attr = {
		id: "subnav",
		name: "subnav"
	};
	var now = new Date();
	swfobject.embedSWF("swf/sub_nav.swf?" + now, "subnav-swf", "1044", "27", "10.0.0","swf/expressInstall.swf", flashvars, param, attr);
}
/** main navigation menu **/
/*function addMainNav(page){
	var flvars = {
		page:page
	};
	var params = {
		quality:"high",
		bgcolor:"#000000",
		allowscriptaccess:"sameDomain",
		allowfullscreen:"true",
		wmode:"transparent"
	};
	var attributes = {
		id: "main-nav",
		name: "main-nav"
	};
	var now = new Date();
	swfobject.embedSWF("swf/main_nav.swf?" + now, "main-nav-swf", "1048", "210", "10.0.0","swf/expressInstall.swf", flvars, params, attributes);
}*/
function addMainNavFunction(){
	/** Main Navigation **/
$("#main-nav").find("a").each(function(i){
	$(this).hover(
		function(){
			$(this).addClass("hover");
			if($(this).attr("id").indexOf("-ddheader") != -1){
				var id=$(this).attr("id").replace("-ddheader","");
				ddMenu(id,1);
			}
		},
		function(){
			$(this).removeClass("hover");
			if($(this).attr("id").indexOf("-ddheader") != -1){
				var id=$(this).attr("id").replace("-ddheader","");
				ddMenu(id,-1);
			}
		}
	);
}).end().find("dd").each(function(){
		var id=$(this).attr("id").replace("-ddcontent","");
		$(this).hover(
		function(){
			cancelHide(id);
		},function(){
			ddMenu(id,-1);
		});
});
}
function getInfoFromLink(link){
	if(link.indexOf("#") != -1)
		return link.substr(link.indexOf("#")+1);
	else
		return link;
}
function addWeatherForecast(){
if(!showWeather){
	showWeather = true;
	$.get("./weather.php",function(d){
		var xml = $(d);
		var str = "";
		//var ch = xml.find("item").children();
		/*var ch = xml.find("item").find("yweather\\:condition").attrkeys();
		var n = ch.length;
		for(var i=0; i<n; i++){
			//str += ch[i].nodeName + "\n";
			str += ch[i] + "\n";
		}*/
		var node = $("[nodeName=yweather:condition]",d);
		/*alert(node);
		alert(node.attr("temp"));*/
		/* Condition */
		// temp
		var temp = node.attr("temp");
		var u = $("[nodeName=yweather:units]",d).attr("temperature");
		// text
		var text = node.attr("text");
		// code
		var code = node.attr("code");
		// date
		//var date = node.attr("date");
		var cdate = new Date();
		var oldoffset = cdate.getTimezoneOffset()*60*1000;
		var offset = 7*60*60*1000;
		var utc = Date.UTC(cdate.getUTCFullYear(),cdate.getUTCMonth(),cdate.getUTCDate(),cdate.getUTCHours(),cdate.getUTCMinutes(),cdate.getUTCSeconds(),cdate.getUTCMilliseconds());
		var value = utc + oldoffset + offset;
		//var value = utc;
		var date = new Date(value);
		var day = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
		var m = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
		//Tue Feb 02 2010 05:07:01 GMT+0700 (ICT)
		var datetxt = day[date.getDay()-1] + " ";
		datetxt += m[date.getMonth()] + " ";
		var dd = date.getDate();
		datetxt += ((dd < 9)?"0" + dd:dd) + " ";
		datetxt += date.getFullYear() + " ";
		var hh = date.getHours();
		datetxt += ((hh < 9)?"0" + hh:hh) + ":";
		datetxt += date.getMinutes() + ":";
		var ss = date.getSeconds();
		datetxt += ((ss < 9)?"0" + ss:ss) + " ";
		datetxt += "GMT+0700 (ICT)";
		var dn = (hh>18)?"n":"d";
		var img_url = "http://l.yimg.com/a/i/us/nws/weather/gr/" + code + dn +".png"; //d=day, n=night
		//var img_url = "http://l.yimg.com/a/i/us/nws/weather/gr/30n.png";
		//var offset = cdate.getTimezoneOffset() + (7*60);
		//var date = new Date(cdate.getFullYear(),cdate.getMonth(),cdate.getDay()
		//alert(cdate.getDay());
		/* location */
		// lat
		//var lat = xml.find("item:eq(0)").find("geo\\:lat").text();
		// long
		//var long = xml.find("item:eq(0)").find("geo\\:long").text();
		// address
		var loc = $("[nodeName=yweather:location]",d);
		var city = loc.attr("city");
		var country = loc.attr("country");
		//alert("temp = " + temp + u + "\ntext = " + text + "\nimg_url = " + img_url + "\ndate = " + date + "\n lat = " + lat + "\nlong = " + long + "\nlocation =  " + city + ", " + country);
	var html = "<div id=\"weather-forecast\">\
    	<div class=\"forecast-icon\">\
        </div>\
        <div class=\"forecast-temp\">\
        	<div id=\"wf-temp\">" + temp + "&deg;" + u + "</div>\
            <div id=\"wf-text\">" + text + "</div>\
            <div id=\"wf-date\">" + datetxt + "</div>\
            <div id=\"wf-location\">" + city + ", " + country + "</div>\
        </div>\
    </div>";
		$("#main-container").append(html);
		/*var img = new Image();
		$(img).load(function(){
			$("#forecast-icon").append(img);
		}).error(function(){
		}).attr("src",img_url);*/
		if($.browser.msie){
			if(parseInt(jQuery.browser.version) < 7){
				return;
			}
		}
		$("#weather-forecast").find(".forecast-icon").css("background","url(" + img_url + ") no-repeat");
		/*$.getScript("./js/fixpng.js",function(){
			alert("done");
		});*/
	},"xml");
}
}

$.ready = function(){
//-- start script
addMainNavFunction();
//addSlideShow("home");
var slidexml = "./xml/slideshow.xml";
addSlideShow("home",{url:slidexml});
addWeatherForecast();
/*queryParameters['page'] = getUrlParam('page');
switch(queryParameters['page']){
	case "accommodation":
		currentPage = "acc";
		hasSubNav = true;
	break;
	case "facilities":
		currentPage = "fac";
		hasSubNav = true;
	break;
	default:
		currentPage = "home";
		document.title = page_title + ", Patong Beach, Phuket Island, Thailand";
	break;
}*/
//var slideshowCount = 6;
//var slideshowPhotoWidth = 1044;

/** Main navigation **/
/*$("#main-nav").find("a").each(function(i){
	$(this).hover(
		function(){
			$(this).addClass("hover");
		},
		function(){
			$(this).removeClass("hover");
		}
	).click(function(e){
		e.preventDefault();
	});
});*/

/*
if(hasSubNav){
	var fvars = null;
	switch(currentPage){
		case "acc":
			var link = "./xml/pages/";
			switch(getUrlParam('type')){
				case "1":
					link += "acc1.xml";
					document.title = page_title + " - Accommodation (Classic Wing)";
				break;
				case "2":
					link += "acc2.xml";
					document.title = page_title + " - Accommodation (Royal Wing)";
				break;
				case "3":
					link += "acc3.xml";
					document.title = page_title + " - Accommodation (Pool Villas)";
				break;
				default:
					link += "acc1.xml";
					document.title = page_title + " - Accommodation (Classic Wing)";
				break;
			}
			var selectRoom = 1;
			if(getUrlParam('room') != ""){
				selectRoom = getUrlParam('room');
			}
			fvars = {
				link:link,
				select:selectRoom
			};
		break;
		case "fac":
			var link = "./xml/pages/fac.xml";
			var selectFac = 1;
			if(getUrlParam('type') != ""){
				selectFac = getUrlParam('type');
			}
			fvars = {
				link:link,
				select:selectFac
			}
		break;
	}
	var param = {
	quality:"high",
	bgcolor:"#000000",
	allowscriptaccess:"sameDomain",
	allowfullscreen:"true",
	wmode:"transparent"
	};
	var attr = {
		id: "subnav",
		name: "subnav"
	};
	swfobject.embedSWF("swf/sub_nav.swf", "subnav-swf", "1044", "27", "10.0.0","swf/expressInstall.swf", fvars, param, attr);
}
*/
/** First page content's buttons **/
$("#photo-gallery-button").hover(
	function(){
		$(this).addClass("hover");
	},
	function(){
		$(this).removeClass("hover");
	}
);
$("#rates-button").hover(
	function(){
		$(this).addClass("hover");
	},
	function(){
		$(this).removeClass("hover");
	}
);
/*
/** photo slide show **/
/*$.get("xml/slideshow.xml",function(data,status){
	$(data).find("picture").each(function(i){
		
	});
});*/

//playNextSlideshow();

/*function playNextSlideshow(){
	var target = document.getElementById("photo-frame");
	var current_left = $("#photo-frame").css("left");
	current_left = current_left.replace("px","");
	var new_left = 0;
	if(current_left > ((slideshowCount-1) * - slideshowPhotoWidth))
	{
		new_left = current_left - slideshowPhotoWidth;
	}else{
		new_left = 0;
	}
	JSTweener.addTween(target.style, {
				time: 2.0,
				transition: 'easeOutExpo',
				left: new_left,
				suffix:{
					left: "px"
				},
				delay:4.0,
				onComplete:playNextSlideshow
		});
}
*/
//-- end script
}