////////////////////////////////////////////////////////////////////////////////
// BEGIN
//

	// Initialize
	window.onload = function()
	{
		initialize();
	}
	
	function initialize()
	{
		// Menus
		var nav = document.getElementById( "navigation" );
		if( nav != undefined )
		{
			var mnuElems = nav.getElementsByTagName( "a" );
			for( var i = 0; i < mnuElems.length; i++ )
			if( mnuElems[i].className != undefined && mnuElems[i].className.indexOf( "dropdown" ) != -1 )
			{
				mnuElems[i].onmouseover = function()
				{
					showMenu( this );	
				}
				mnuElems[i].onmouseout = function()
				{
					startHideMenus();	
				}
				
				// Sub Menus
				//alert( "mnu_"+ mnuElems[i].id + " :: " + document.getElementById( "mnu_"+ mnuElems[i].id ) );
				var mnuElem = document.getElementById( "mnu_"+ mnuElems[i].id );
					//mnuElem.onmouseover = stopHideMenus;
					//mnuElem.onmouseout = startHideMenus;
					
				var mnuElemElems = mnuElem.getElementsByTagName( "div" );
				for( var n = 0; n < mnuElemElems.length; n++ )
				{
					mnuElemElems[n].onmouseover = stopHideMenus;
					mnuElemElems[n].onmouseout = startHideMenus;
				}
			}
		}
		
		// time?
		//if( document.getElementById( "curTime" ) != undefined )
		//	updateTime( true );
	}
	
	var mnuTimer;
	function showMenu( obj )
	{
		stopHideMenus();
		hideMenus();
		var mnuElem = document.getElementById( "mnu_"+ obj.id );
			mnuElem.style.visibility = "visible";
	}
	function hideMenus()
	{
		var nav = document.getElementById( "navigation" );
		if( nav != undefined )
		{
			var mnuElems = nav.getElementsByTagName( "a" );
			for( var i = 0; i < mnuElems.length; i++ )
				document.getElementById( "mnu_"+ mnuElems[i].id ).style.visibility = "hidden";
		}
	}
	function startHideMenus()
	{
		mnuTimer = setTimeout( "hideMenus()", 1000 );
	}
	function stopHideMenus()
	{
		clearTimeout( mnuTimer );
	}
	
	// -- Map -----------------------------------------------------------------
	function mapLocator( posX, posY )
	{
		window.opener.document.getElementById( "map_x" ).value = posX;
		window.opener.document.getElementById( "map_y" ).value = posY;
	}
	// ------------------------------------------------------------------------
	// -- Currency Converter --------------------------------------------------
	function convertValues()
	{
		var ret = 0;
		var amount = document.getElementById( "amount" ).value;
		
		amount = amount.replace( new RegExp( "[^0-9\.]", "g" ), "" );
		
		if( amount > 0 )
		{
			var fromElem = document.getElementById( "cur_from" );
			var from = 1;
			var fromText = "";
			var to = 1;
			
			for( var f = 0; f < fromElem.options.length; f++ )
				if( fromElem.options[f].selected )
				{
					from = fromElem.options[f].value;
					fromText = fromElem.options[f].text;
				}
					
			var toElem = document.getElementById( "cur_to" );	
			for( var t = 0; t < toElem.options.length; t++ )
				if( toElem.options[t].selected )
				{
					to = toElem.options[t].value;
					toText = toElem.options[t].text;
				}
				
			//var ratio = ;
			ret = format_number( ((amount / from)* to), 2 );
		}
		
		document.getElementById( "conversion" ).innerHTML = "<h3>"+ format_number( amount, 2 ) +" "+ fromText +" = "+ ret + " "+ toText +"</h3>";
	}
	function format_number( real, decimals )
	{
		var ret = false;
		
		if( !isNaN( real ) )
		{
			var realStr = real.toString();
			var parts = realStr.split( "." );
			if( parts.length > 1 )
				ret = parts[0] + "." + parts[1]. substr( 0, decimals );
			else
				ret = real + ".00";
		}
		
		return ret;
	}
	// ------------------------------------------------------------------------
	// -- Navigation ----------------------------------------------------------
	function loadPage( page )
	{
		window.open( page, '_self' );	
	}
	// ------------------------------------------------------------------------
	// -- Time ----------------------------------------------------------------
	var timer;
	function updateTime()
	{
		var now = new Date( document.getElementById( "curTime" ).innerHTML );
		
		var hour        = now.getHours();
		var minute      = now.getMinutes();
		
		var ampm = "AM";
		
		var months = new Array(12);
			months[0]  = "January";
			months[1]  = "February";
			months[2]  = "March";
			months[3]  = "April";
			months[4]  = "May";
			months[5]  = "June";
			months[6]  = "July";
			months[7]  = "August";
			months[8]  = "September";
			months[9]  = "October";
			months[10] = "November";
			months[11] = "December";
		
		// Format minutes
		if( minute < 10 )
		{
			minute = "0" + minute;
		}	
		
		// Display AM PM decriptor
		if( hour > 12 )
		{
			ampm = "PM";
			hour = hour - 12;
		}
		
		var myDate = document.getElementById( "curTime" );
			myDate.innerHTML = hour +":"+ minute +" "+ ampm;
		
		timer = setTimeout("updateTime()", 60000);
	}
	// ------------------------------------------------------------------------
	// -- Gallery -------------------------------------------------------------
	var sPointer = 0;
	var sTimer;
	function startSlideshow()
	{
		sTimer = setTimeout( "showNextImage()", 5000 );
	}
	function stopSlideshow()
	{
		clearTimeout( sTimer );	
	}
	function resetSlideshowTimer()
	{
		stopSlideshow();
		startSlideshow();
	}
	function showNextImage()
	{
		var imgs = document.getElementById( "galleryThumbnails" ).getElementsByTagName( "img" );
		var img = imgs[++sPointer];
		
		if( img != undefined )
			img.onclick();
		else
			sPointer = -1;
	}
	function showImagePG( obj, src, description )
	{
		// Consistent Timing
		resetSlideshowTimer();
		
		var myDate = new Date();
		
		// sPointer
		var imgs = document.getElementById( "galleryThumbnails" ).getElementsByTagName( "img" );
		for( var i = 0; i < imgs.length; i++ )
			if( obj == imgs[i] )
			{
				sPointer = i;
				break;
			}
		
		var thumbnails = document.getElementById( "galleryThumbnails" );
		var imgElem = document.getElementById( "galleryImage" );	
		var newImg = new Image();
			newImg.src = src + "?nocache="+ myDate.getTime();
			newImg.id = imgElem.id;
			newImg.style.visibility = "hidden";
			newImg.onload = function()
			{
				var container = imgElem.parentNode;
				container.removeChild( imgElem );
				container.appendChild( this );
				
				this.style.visibility = "visible";
				var iTween = new OpacityTween( this, Tween.strongEaseOut, 0, 100, 1.2 );
					iTween.start();
					
				// Description
				document.getElementById( "imageDescription" ).innerHTML = description;
			}
		
		var moveThumbsTo = findPosRelativeParent( obj, thumbnails );
		var gTween = new Tween( thumbnails.style, "left", Tween.strongEaseInOut, thumbnails.offsetLeft, moveThumbsTo[0] * (-1), 1, "px" );
			gTween.start();
	}
	function slideGalleryThumbnails( direction )
	{
		var thumbnails = document.getElementById( "galleryThumbnails" );
		var img = false;
		
		if( direction == "right" )
			img = getLastVisibleImage();
		else
			img = getLastVisibleImageAlt();
		
		// Move?
		if( img != false )
		{
			var moveThumbsTo = findPosRelativeParent( img, thumbnails );
			var gTween = new Tween( thumbnails.style, "left", Tween.strongEaseInOut, thumbnails.offsetLeft, moveThumbsTo[0] * (-1), 1, "px" );
				gTween.start();
		}
	}
	function getLastVisibleImage()
	{
		var ret = false;
		var thumbnails = document.getElementById( "galleryThumbnails" );
		var imgs = thumbnails.getElementsByTagName( "img" );
		var offset = Math.abs( thumbnails.offsetLeft );		
		
		for( var i = 0; i < imgs.length; i++ )
		{
			var iOffset = findPosRelativeParent( imgs[i], thumbnails );
			if( (iOffset[0] + imgs[i].clientWidth) > (offset + 725) )
			{	
				ret = imgs[i];
				break;
			}
		}
		
		return ret;
	}
	function getLastVisibleImageAlt()
	{
		var ret = false;
		var thumbnails = document.getElementById( "galleryThumbnails" );
		var imgs = thumbnails.getElementsByTagName( "img" );
		var offset = Math.abs( thumbnails.offsetLeft );
		
		for( var i = 0; i < imgs.length; i++ )
		{
			var iOffset = findPosRelativeParent( imgs[i], thumbnails );
			//if( (offset + iOffset[0]) <= 0 && (offset + iOffset[0] + imgs[i].clientWidth) > 0 )
			if( ((offset - 675) <= 0) || (iOffset[0] <= (offset - 675) && (iOffset[0] + imgs[i].clientWidth) >= (offset - 675)) )
			{
				ret = imgs[i];
				break;
			}
		}
		
		return ret;
	}
	// ------------------------------------------------------------------------
	// -- Merchandise ---------------------------------------------------------
	function showImage( obj )
	{
		// Canvas
		showCanvas();
		
		var dims = findWindowDimensions();
		var img = document.createElement( "img" );
			img.src = obj.src.replace( "thumbs/", "" );
			img.onload = function()
			{
				var scrollXY = findScrollXY();
				var endPos = scrollXY[1];
				if( this.height < dims[1] )
					endPos = ((dims[1]-this.height)/2) + scrollXY[1];
				
				this.className = "pos link blackBorder";
				this.style.zIndex = "99";
				this.style.left = ((dims[0]-this.width)/2) + "px";
				//this.style.top = ((-1)*this.height) + "px";
				this.style.top = endPos + "px";
				
				this.style['opacity'] = 0;
				this.style['-moz-opacity'] = 0;
				if(this.filters) this.style.filter = "alpha(opacity=0)";
				
				document.body.appendChild( this );
				
				this.onclick = function()
				{
					hideCanvas();
					var elem = this;
					var iTween = new OpacityTween( this, Tween.strongEaseOut, 100, 0, 1 );
						iTween.start();
						iTween.onMotionFinished = function()
						{
							elem.parentNode.removeChild( elem );
						}					
				}
				
				var iTween = new OpacityTween( this, Tween.strongEaseInOut, 0, 100, 2 );					
				//var eTween2 = new Tween( this.style, "top", Tween.strongEaseInOut, ((-1)*this.height), endPos, 1.2, "px" );
				//	eTween2.start();
					iTween.start();
			}
	}
	function showCanvas()
	{
		var dims = findWindowDimensions();
		var resizeHeight = (document.body.offsetHeight+22);
		if( resizeHeight < dims[1] )
			resizeHeight = dims[1];
		var canvas = document.createElement( "div" );
			canvas.id = "canvasElem";
			canvas.className = "pos";
			canvas.style.zIndex = "98";
			canvas.style.width = dims[0] + "px";
			canvas.style.height = resizeHeight + "px";
			canvas.style.backgroundColor = "#000000";
			canvas.innerHTML = "&nbsp;";
			canvas.style['opacity'] = 0;
			canvas.style['-moz-opacity'] = 0;
			if(canvas.filters) this.style.filter = "alpha(opacity=0)";
			
			document.body.appendChild( canvas );
			var iTween = new OpacityTween( canvas, Tween.strongEaseInOut, 0, 62, 1 );
				iTween.start();
	}
	function hideCanvas()
	{
		var canvas = document.getElementById( "canvasElem" );
		var iTween = new OpacityTween( canvas, Tween.strongEaseInOut, 62, 0, 1 );
			iTween.start();
			iTween.onMotionFinished = function()
			{
				document.body.removeChild( canvas );
			}
	}
	// ------------------------------------------------------------------------
	// -- Element Properties --------------------------------------------------
	function findPos( obj )
	{
		var curleft = 0;
		var curtop = 0;
		
		if( obj.offsetParent )
		{
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while( (obj = obj.offsetParent) )
			{
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	}
	function findPosRelativeParent( obj, parent )
	{
		var curleft = 0;
		var curtop = 0;
		
		if( obj.offsetParent )
		{
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while( (obj = obj.offsetParent) && obj != parent )
			{
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	}
	function findDimensions( obj )
	{
		var width = obj.offsetWidth;
		var height = obj.offsetHeight;
		
		return [width,height];
	}
	function findWindowDimensions()
	{
		var width = document.documentElement.clientWidth;
		var height = document.documentElement.clientHeight
		
		return [width,height];
	}
	function findZIndex( obj )
	{
		var zIndex = 0;
		var cStyle;
		
		if( obj.currentStyle )
			cStyle = obj.currentStyle;
		else if( document.defaultView && document.defaultView.getComputedStyle )
			cStyle = document.defaultView.getComputedStyle( obj, "" );
		
		if( cStyle != undefined )
			zIndex = cStyle.zIndex;
		else
			zIndex = obj.style.zIndex;
		
		return zIndex;
	}
	function findScrollXY()
	{
		var scrOfX = 0, scrOfY = 0;
		if( typeof( window.pageYOffset ) == "number" )
		{
			//Netscape compliant
			scrOfY = window.pageYOffset;
			scrOfX = window.pageXOffset;
		}
		else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
		{
			//DOM compliant
			scrOfY = document.body.scrollTop;
			scrOfX = document.body.scrollLeft;
		}
		else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
		{
			//IE6 standards compliant mode
			scrOfY = document.documentElement.scrollTop;
			scrOfX = document.documentElement.scrollLeft;
		}
		
		return [scrOfX,scrOfY];
	}
	// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	function selectAllSelect( obj, id )
	{
		var elem = document.getElementById( id );
		for( var i = 0; i < elem.options.length; i++ )
			elem.options[i].selected = obj.selected;
	}
	// -----------------------------------------------------------------------------

	function MM_openBrWindow(theURL,winName,features) { //v2.0
	  window.open(theURL,winName,features);
	}

        function create_player (obj, cat) {
                var so = new SWFObject('/dw_flash/v1/mediaplayer.swf','mpl','200','284','8');
                so.addParam('allowfullscreen','false');
                so.addParam('allowscriptaccess','false');
                so.addVariable('file','/tourism_video_playlist.php?c=' + cat);
                so.addVariable('thumbsinplaylist','false');
                so.addVariable('width','200');
                so.addVariable('height','284');
                so.addVariable('displayheight','150');
                so.addVariable('autostart','false');
                so.addVariable('autoscroll','true');
                so.write(obj);
        }

//
// END
////////////////////////////////////////////////////////////////////////////////
