/* ------------------------------ --------------------------- *\
		Author: Idevign [Zack Cannady] @ Aura-Interactive.com 
		November 2010
\* ------------------------------ --------------------------- */


appConfigObject = { ga_id : 'UA-10725180-2', fb_id : '562006024', fb_appid : '169397033072651' }; 


/* ------------------------------ --------------------------- *\
		Mobile Detection
\* ------------------------------ --------------------------- */
var isMobile = false;

var deviceIphone = "iphone";
var deviceIpod = "ipod";
var deviceS60 = "series60";
var deviceSymbian = "symbian";
var deviceAndroid = "android";
var deviceBB = "blackberry";
var devicePalm = "palm";

var engineWebKit = "webkit";


var uagent = navigator.userAgent.toLowerCase();

function DetectIphone() {
	if (uagent.search(deviceIphone) > -1){
		isMobile = true;
	}
}

function DetectS60OssBrowser() {
 if (uagent.search(engineWebKit) > -1) {
	 if ((uagent.search(deviceS60) > -1 || 
				uagent.search(deviceSymbian) > -1)){
			isMobile = true;
	 }
 }
}

function DetectAndroid() {
   if (uagent.search(deviceAndroid) > -1) {
      isMobile = true;
   }
}

function DetectBlackBerry() {
   if (uagent.search(deviceBB) > -1) {
      isMobile = true;
   }
}

function DetectPalmOS() {
   if (uagent.search(devicePalm) > -1) {
      return true;
   }
}

DetectIphone();
DetectS60OssBrowser();
DetectAndroid();
DetectBlackBerry();
DetectPalmOS();



/* ------------------------------ --------------------------- *\
		Browser (IE) Check 
\* ------------------------------ --------------------------- */


function isIE() {
	return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

function displayIEMessage() {
	if(isIE() == true){
		$("#myContent").append("<p class='ieWarning'>You're using Internet Explorer so you're not able to experience all of what our site has to offer,"
		+ " including our Gallery Page. Try using Firefox or Chrome for the full experience!</p>");
	}
}

/* ------------------------------ --------------------------- *\
		Twitter Methods
\* ------------------------------ --------------------------- */

var TWEETINDEX = 0;
var tweetArray = [];

$.ajax({ 
	type	:	"GET",
	dataType		:	"jsonp",
	url		:	"http://search.twitter.com/search.json?q=%40JetHotel_Denver+OR+%23TheJetHotel+OR+%23JetHotelDenver+OR+%23TwentyDenver+OR+%23TheJetLounge+OR+Downtown%20Denver",
	//@JetHotel_Denver #TheJetHotel, #JetHotelDenver, #TwentyDenver, #TheJetLounge

	


	success		:	function(tweets) {
		
		var twitter = [];
		$.each(tweets.results, function(index, obj) {
			twitter.push( {
				 username : obj.from_user,
				 tweet :	obj.text,
				 imgSource	:	obj.profile_image_url,
				 tweetId : TWEETINDEX
				 });
				TWEETINDEX +=1;
				tweetArray.push(TWEETINDEX);
		});
		
		$("#tweets").tmpl(twitter).appendTo("#social_tweeter");
	}
	
});


function displayRandomTweet() {
	if(tweetsVisible) {
		$(selectedTweet).hide();
		selectedTweet = "#tweet" + String(Math.round(Math.random()*tweetArray.length-1));
		$(selectedTweet).fadeIn(1500);
	}
}



/* ------------------------------ --------------------------- *\
		Gallery 
\* ------------------------------ --------------------------- */

var G_vmlCanvasManager;

var winwidth = window.innerWidth;
var winheight = window.innerHeight;

var canvas_social = document.getElementById('canvas_social');
var canvas_gallery = document.getElementById('canvas_bg');

if(G_vmlCanvasManager != undefined) {
	G_vmlCanvasManager.initElement(canvas_gallery);
}

if(canvas_gallery.getContext) {
	var context = canvas_gallery.getContext("2d");
}



var backgroundPattern;
var backgroundOverlay = new Image();
var canDrawBgPattern = true;

var imgwidth = 1200; //bgCanvas.width,
var	imgheight = 800; //bgCanvas.height,

var selectedImageIndex = 0;
var isGalleryActive = false;

var galleryImages = [];
var galleryImgLoaded=[];
var gallery_imgPaths = [
"images/gallery/jethotel001.jpg",
"images/gallery/jethotel002.jpg",
"images/gallery/jethotel003.jpg",
"images/gallery/jethotel006.jpg",
"images/gallery/jethotel007.jpg",
"images/gallery/jethotel008.jpg",
"images/gallery/jethotel009.jpg"
];

	for( var i=0; i < gallery_imgPaths.length; i++) {
		galleryImages[i] = new Image();
		galleryImgLoaded[i] = false;
	}


canvas_gallery.width = winwidth;
canvas_gallery.height = winheight;


function setImgIndex( indx ){
	selectedImageIndex = indx;
	createBackgroundImage( selectedImageIndex );
}

//initialize background gallery
var rnd = Math.floor(Math.random()*gallery_imgPaths.length);
setImgIndex(rnd);

function drawBackgroundImg( imgIndex ){
	context.drawImage(galleryImages[imgIndex], 0, 0, canvas_gallery.width, canvas_gallery.height);
}

function createBackgroundImage( imgIndex ) {
	if(!galleryImgLoaded[imgIndex]) {
		galleryImages[imgIndex].onload = function() {
		//hide Loading Graphic
			galleryImgLoaded[imgIndex] = true;
			drawBackgroundImg(imgIndex);	
			createBackgroundPattern();	
		}
		galleryImages[imgIndex].src = gallery_imgPaths[imgIndex];
		//display Loading Graphic
	} else {
		drawBackgroundImg(imgIndex);
		createBackgroundPattern();
	}
}

function createBackgroundPattern() {
	backgroundOverlay.src = "images/gallery/overlay.png";
	backgroundOverlay.onload = function() {
		backgroundPattern = context.createPattern( backgroundOverlay, 'repeat' );
		context.fillStyle = backgroundPattern;
		drawbgPattern();
	}
}

function drawbgPattern() {
	if(canDrawBgPattern) {
		context.fillStyle = backgroundPattern;
		context.fillRect(0,0, canvas_gallery.width, canvas_gallery.height);
	}
}

function erasebgPattern() {
context.clearRect(0,0, canvas_gallery.width, canvas_gallery.height);
//context.fillRect(0,0, canvas_gallery.width, canvas_gallery.height);
}

//------------------------------ --------------------------- //
// Gallery Controls 

function nextImage() {
	selectedImageIndex = selectedImageIndex +1;
	if(selectedImageIndex < galleryImages.length){
		setImgIndex(selectedImageIndex);
	} else {
		selectedImageIndex = 0;
		setImgIndex(selectedImageIndex);
	}
}

function previousImage() {
	selectedImageIndex = selectedImageIndex -1;
	if(selectedImageIndex >= 0){
		setImgIndex(selectedImageIndex);
	} else {
		selectedImageIndex = galleryImages.length - 1;
		setImgIndex(selectedImageIndex);
	}
}


function viewGallery() {
	isGalleryActive = true;
	canDrawBgPattern = false;
	erasebgPattern();
	$("#mainWrapper").css("display", "none");
	$("#footerWrapper").css("display", "none");
	$("#alert_gallery").fadeIn().delay(2000).fadeOut();
	
	if(isMobile) {
		$("#galleryControlRight").fadeIn();
		$("#galleryControlLeft").fadeIn();
	}else {
		$("#galleryControlRight").fadeIn().delay(750).fadeOut();
		$("#galleryControlLeft").fadeIn().delay(750).fadeOut();
	}
	nextImage();
	return false;
}

var galleryClick = document.getElementById('galleryButton');
galleryClick.onclick = viewGallery;


//------------------------------ --------------------------- //
// Window Resize (Gallery and Canvas)

function resizeSocialCanvas() {
	canvas_social.width = window.innerWidth;
}

function resizeCanvas() {
	winwidth = window.innerWidth;
	winheight = window.innerHeight;
	
	var	widthratio = winwidth / imgwidth,
	heightratio = winheight / imgheight, 
	
	widthdiff = heightratio * imgwidth,
	heightdiff = widthratio * imgheight;

	if(heightdiff > winheight){
		canvas_gallery.width = winwidth,
		canvas_gallery.height = heightdiff
	} else {
			canvas_gallery.width = widthdiff,
			canvas_gallery.height = winheight
	}
	drawBackgroundImg(selectedImageIndex);
	drawbgPattern();
}


window.onresize = function() {
	resizeCanvas();
	resizeSocialCanvas();
}



/* ------------------------------ --------------------------- *\
		Processing Canvas Search 
\* ------------------------------ --------------------------- */
if(isIE() == false) {
	if ( window.addEventListener ) {
		window.addEventListener("load", function() {
			var scripts = document.getElementsByTagName("script");
	
			for ( var i = 0; i < scripts.length; i++ ) {
				if ( scripts[i].type == "application/processing" ) {
					var src = scripts[i].getAttribute("target");
					var canvas = scripts[i].nextSibling;
	
					if ( src && src.indexOf("#") > -1 ) {
						canvas = document.getElementById( src.substr( src.indexOf("#") + 1 ) );
					} else {
						while ( canvas && canvas.nodeName.toUpperCase() != "CANVAS" ) {
							canvas = canvas.nextSibling;
						}
					}
	
					if ( canvas ) {
						new Processing(canvas, scripts[i].text);
					}
				}
			}
		}, false);
	}
}


/* ------------------------------ --------------------------- *\
		Events Container Mouse Binding 
\* ------------------------------ --------------------------- */


function bindEventContainers() {
	for(var i=0; i < pageEventsIDList.length; i++) {

		var pid = pageEventsIDList[i].id;
		//console.log('bind'+i+' pid: ' + pid);
		var eSnap = '#es' +pid;
		$(eSnap).css("cursor", "pointer");


		$(eSnap).toggle(function(event) {
			var myid = this.id;
			var eFull ='#ef' + myid.slice(2);
			$(eFull).slideDown();
			
		}, function() {
			var myid = this.id;
			var eFull ='#ef' + myid.slice(2);
			$(eFull).slideUp();
			
		});
	}	
}


/* ------------------------------ --------------------------- *\
		Time Conversion
\* ------------------------------ --------------------------- */

function toDateTimeConventional(t) {
	var th = (t - 36000);
	var myDate = new Date(th * 1000);


	var myYear = myDate.getFullYear();
	var myMonth = myDate.getMonth();
	var myDay = myDate.getDay();
	var myHours = myDate.getHours();
	var myMinutes = myDate.getMinutes();
		

	var myDateLocal = myDate.toLocaleDateString();
	var normalTime = myDate.toTimeString();
	var localTime = myDate.toLocaleTimeString();
	var myTimeLocal = conv24to12clock(normalTime);
	var rtn = myDateLocal + " " + myTimeLocal;
	return rtn;
}

function getTodayEpoch() {
	var d = new Date();
	var dEpoch = d.getTime()/1000.0;
	return dEpoch;
}


function conv24to12clock(myhours) {
	var oHours = myhours;
	var myhours = myhours.slice(0,2);
	var mins = oHours.slice(2,5); 

	if (myhours < 12) {
		a_p = "AM";
	} else {
		a_p = "PM";
	}

	if (myhours == 0) {
		myhours = 12;
	}
	if (myhours > 12) {
		myhours = myhours - 12;
	}

	var numHours = parseInt(myhours,10) + 1;
	myhours = numHours= numHours+"";	

	myhours = myhours +  mins + " " + a_p;
	return myhours;
}



/* ------------------------------ --------------------------- *\
		JQuery Doc Ready
\* ------------------------------ --------------------------- */

var selectedTweet = -10;
var tweetsVisible = false;

var isSocialOpen = false;
var isNavOpen = false;
var isNavInit = false;

var hasAnimated = true;
var mouseposition;

$(document).ready(function() {

	initNav();
	
	//------------------------------ ---------------------------//

	$(document.documentElement).keyup(function(event) {
		
		if(isGalleryActive) {
			if(event.which == '39'){
				nextImage();
			}
			if(event.which == '37'){
				previousImage();
			}
		}
	});
		
	//------------------------------ ---------------------------//

	//------------------------------ ---------------------------//
	// Navigation Display On Mouse Position

	$(document).mousemove(function(e){	
		xmouseposition = e.pageX;
		ymouseposition = e.pageY;
		if(ymouseposition <= 140) {
			if(!isSocialOpen) {
				openNav();
			}
		}

		if(ymouseposition >140) {
			closeNav();
		}

		if(!isMobile){
			if(isGalleryActive && !isSocialOpen) {
				if(xmouseposition > (winwidth - 80)) {
					$("#galleryControlRight").fadeIn();
				} else {
					$("#galleryControlRight").fadeOut();
				}
		
				if(xmouseposition < (80)) {
					$("#galleryControlLeft").fadeIn();
				} else {
					$("#galleryControlLeft").fadeOut();
				}
			}
		}

  }); 

	function openNav(){
		hasAnimated = false;
		if(!isSocialOpen) {
			if(!isNavOpen && isNavInit){
				if ($("#subnav").is(":hidden")) {
					$("#subnavbg").slideDown(800, "swing", function() {
						$("#subnav").fadeIn(300, function() {isNavOpen = true; hasAnimated = true;});
						//$("#subnav").slideDown(200, function() {isNavOpen = true; hasAnimated = true;});
					});
				} 
			}
		}
	}

	function closeNav() {
		if(!isMobile && isNavInit){
			$("#subnav").css('display', 'none');
			$("#subnavbg").slideUp(350, function() {isNavOpen = false;});
		}
	}

	function initNav() {
		if(!isMobile) {
			$("#subnav").css('display', 'block');
			$("#subnavbg").css('display', 'block');
			var myTimer = setTimeout(initNavOpen, 8000);
			
		}
	}

	function initNavOpen() {
		isNavInit = true;
		closeNav();
	}
	//------------------------------ ---------------------------//
	// Social Top Display Methods

	if(isIE() == false) {

	$("#headerlogo").click(function(event){
		isSocialOpen = true;	
		$("#subnav").css("display", "none");
		$("#subnavbg").css("display", "none"); 
		isNavOpen = false;
	
		$("#subnav").css('z-index', '-10');
		$("#subnav").css('display', 'none');
		$("#subnavbg").css('display', 'none');
	
		if ($("#socialContainer").is(":hidden")) {
			
			isNavOpen = false;
			$("html").addClass("noOverflow");
			$("#mainContentWrapper").slideUp('', function() {
				closeNav();
				$("#socialContainer").slideDown(2500, 'swing', function() {
					 $("#social_tweeter").fadeIn(1500);
					 selectedTweet = "#tweet" + String(Math.round(Math.random()*tweetArray.length-1));
					 $(selectedTweet).fadeIn(1500);
					 tweetsVisible = true;
				});
			});
			
		} else {
			isSocialOpen = false;
			$("#subnav").css('z-index', '2');
			$("#social_tweeter").fadeOut(200);
			$(selectedTweet).hide();
			tweetsVisible = false;
	
			$("#socialContainer").slideUp("slow", function() {
				$("html").removeClass("noOverflow");
				if(isMobile){
					openNav();
				}
				if(!isGalleryActive){
					$("#mainContentWrapper").slideDown();
				}
			});
		}
		
		
	});

	}
	

	$('#fbloginbutton').unbind('click').bind('click', function(event) {
		//console.log('fire bind loginoutclick');
		fbLogInOut(); 
		}
	);
	$('#fbloginbutton').unbind('mouseenter').bind('mouseenter', function(event) {
		displayFBActivityBox();
		}	
	);
	$('#fbloginbutton').unbind('mouseleave').bind('mouseleave', function(event) { 
		hideFBActivityBox();
		}
	);
	

	//------------------------------ ---------------------------//
	// Gallery Controls

	$('#galleryControlRight').bind('click', function(event) {
		nextImage();
	});
	
	$('#galleryControlLeft').bind('click', function(event) {
		previousImage();
	});



	
});


/* ------------------------------ --------------------------- *\
		RezTrip GA
\* ------------------------------ --------------------------- */

/* Upgraded RezTrip 03 01 2011 (Keep until systems confirmed)

var gaJsHost = (("https:" == document.location.protocol) ? " https://ssl." :"http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js'type='text/javascript'%3E%3C/script%3E"));

try {
var pageTracker = _gat._getTracker("UA-11590230-1");
pageTracker._setDomainName("none"); 
pageTracker._setAllowLinker(true);
pageTracker._initData(); 
pageTracker._trackPageview();
} catch(err) {}

*/












