
// remap jQuery to $
$(document).ready(function() {
	
	// Sniff OSX
	if(navigator.userAgent.indexOf("Mac OS X") != -1){
		if(jQuery.browser == "webkit"){
			$("body").addClass("ismac_webkit");
		} else {
			$("body").addClass("ismac_safari");			
		};
	};
	
	// Sniff IOS
	var userAgent = window.navigator.userAgent;
	if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) {
		 $("body").addClass("is_ios");
	};			
	
	// Utilities
	// ------------------------------------------------------------------------------------------------	
	var base_url = getBaseURL();
		
	// Homepage
	// ------------------------------------------------------------------------------------------------	
	
	// jCarouselLite | highlights
	$("#highlights").jCarouselLite({
			auto: 5000,
			speed: 1000,
			circular: true,
			visible: $("#highlights ul li").size(),	
      btnNext: ".next_h",
      btnPrev: ".prev_h",
			afterEnd : function(data){
			}
	});
	$(window).resize();	
	
	// jCarouselLite | Latest news
	$("#latest_news").jCarouselLite({
			circular: true,
			visible: $("#latest_news ul li").size(),
      btnNext: ".next_n",
      btnPrev: ".prev_n"					
	});
	
	// jCarouselLite | Latest news
	$("#featured_pages").jCarouselLite({
			circular: true,
			visible: $("#featured_pages ul li").size(),
      btnNext: ".next_f",
      btnPrev: ".prev_f"					
	});	
	
	// Twitter
	$('#tweets').jTweetsAnywhere({
			username: 'ParkTheatreLive',
			count: 3
	});	

	// Gallery
	// ------------------------------------------------------------------------------------------------	
	if($('#gallery').length >=1){
		$('#gallery').nivoSlider({
			effect: 'fade', //slice, random, fade 
			slices: 1,
			animSpeed: 500,
			pauseTime: 4000,
			startSlide: 0,
			directionNav: true,
			directionNavHide: true,
			controlNav: true,
			controlNavThumbs: false,
			controlNavThumbsFromRel: false,
			controlNavThumbsSearch: '.jpg',
			controlNavThumbsReplace: '_thumb.jpg',
			keyboardNav: true,
			pauseOnHover: true,
			manualAdvance: false,
			captionOpacity: 0.8
		});	
	};

	// Calendar
	// ------------------------------------------------------------------------------------------------	
	var calendar_date = getCalendarDate();		
	$( "#datepicker" ).datepicker({
		onSelect: function(dateText, inst) { 		
			// Vs 
			var date = new Array();
			var day = 0;
			var month = 0;
			var year = 0;
			var url = new String();
			var calendar = "calendar/";			
			// Get date
			date = dateText.split('/');	
			day = date[1];
			month = date[0];
			year = date[2];
			//create url
			url = base_url + calendar + year + "/" + month + "/" + day;		
			window.location = url;	
		},
			gotoCurrent: true
	});	
	
	if(calendar_date){
		$("#datepicker").datepicker( "setDate" , calendar_date );
		console.log("setting date");
	}	
	
	// Mailer
	// ------------------------------------------------------------------------------------------------	
	$("a#e_trigger,a#s_trigger").fancybox();
	$('#subForm').submit(function (e) {
			e.preventDefault();
			$.getJSON(
			this.action + "?callback=?",
			$(this).serialize(),
			function (data) {
					if (data.Status === 400) {
							 $("#e_trigger").trigger('click');
					} else { // 200
							 $("#s_trigger").trigger('click');
					}
			})	
	});
	
});

// usage: log('inside coolFunc',this,arguments);
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  if(this.console){
    console.log( Array.prototype.slice.call(arguments) );
  }
};
(function(doc){
  var write = doc.write;
  doc.write = function(q){ 
    log('document.write(): ',arguments); 
    if (/docwriteregexwhitelist/.test(q)) write.apply(doc,arguments);  
  };
})(document);


// Get base URL
// ------------------------------------------------------------------------------------------------	
function getBaseURL(){
	var href = document.location.href;
	var location = href.split('/');	
	var domain = location[2].toString();
	var foundDev = domain.search(/dev./);
	if(foundDev != -1){
		return location[0] + "//" + location[2] + "/" + location[3] + "/";
	} else {
		return location[0] + "//" + location[2] + "/";	
	};	
}

// Calendar
// ------------------------------------------------------------------------------------------------	
function getCalendarDate(){
	var href = document.location.href;
	var location = href.split('/');	
	var domain = location[2].toString();
	
	if(searchStringInArray(location)){
		var year = location[location.length-3];
		var month = location[location.length-2];
		var day = location[location.length-1];
		return month+"/"+day+"/"+year;		
	}
}

function searchStringInArray(stringArray) {
	for (var j=0; j<stringArray.length; j++) {
			if (stringArray[j].match ("calendar")) return j;
	}
	return false;
}

// onResize
// ------------------------------------------------------------------------------------------------	
$(window).resize( function() {
	xPosition = (window.innerWidth/2) - (960/2)  + 215;	
	$("#highlights ul li:first").css({"paddingLeft":xPosition});   
});



