var Site = {

	fullBaseUrl: null,

	submitCount:0,

	onReady: function() {

		// Set base path
		this.fullBaseUrl = document.location.protocol + '//' + document.location.host;

		for (var selector in this.elements) {
			var $elms = $(selector);

			if ($elms.size() > 0) {
				this.elements[selector]($elms);
			}
		}
		
	},
	
	stopAll: function(e){
		e.preventDefault();
		e.stopPropagation();
		return false;
	},


	elements:
	{

			/*------------------------------------------------------
			  Start: Transparency
			--------------------------------------------------------*/

			'body':function($elms){
				
	
 				if ($.browser.msie && $.browser.version <= 6 ){
					$($elms).supersleight({shim:'/img/clear.gif'});
					
					// Diplay warning if it's IE6
					checkAlert = function(){
						justVisit = $.cookie('just_visit'); 
						if (justVisit == null){
							text = 'We have detected you have an older version of IE, please be aware that you may not fully experience the sites features while using this browser.';
							alert(text);
							$.cookie('just_visit', 'true', { expires: 365, path: '/' });
						}
					}
					checkAlert();
				}
				
				function isiPhone(){
					return (
						(navigator.platform.indexOf("iPhone") != -1) ||
						(navigator.platform.indexOf("iPod") != -1)
					);
				}

				if(isiPhone()){
					$('head').append('<link media="screen" rel="stylesheet" href="/css/font.css" type="text/css" />');
				}
				
			},

			/*------------------------------------------------------
			  End: Transparency
			--------------------------------------------------------*/
			
			/*------------------------------------------------------
			  Start: navigation
			--------------------------------------------------------*/
			'.header .nav':function($elms){

				 $(".header .nav a").hoverIntent({
					 interval: 150,
					 timeout: 150,
					 over: function(event){

						var navPositionClass = $(this).attr("class");
						var navPosition = parseFloat(navPositionClass.substr(9, 1));
							if(navPosition > 0){
								$(".header .nav a").removeClass("active");

								$(this).addClass("active");
								$(this).addClass("hover-active");
								$(this).parent().prev().find("a").addClass("deactive");
								setTimeout(function(){
										$(".subcontent").not(".nav-subcontent-item-" + navPosition).fadeOut("fast");
								},100);
								$(".nav-subcontent-item-" + navPosition).fadeIn("fast").css("display","block");
							}
						
					 },
					 out: function(event){
						$(this).removeClass('hover-active');
						$(this).parent().prev().find("a").removeClass("deactive");
						
						var navPositionClass = $(this).attr("class");
						var navPosition = parseFloat(navPositionClass.substr(9, 1));

						if (!$('.header .nav a').hasClass('hover-subnav')){ 
							setTimeout(function(){
								$(this).removeClass("active");
								//$(".header .nav a").removeClass("deactive");
								$(".header .nav a").removeClass("active");
								$(".nav-subcontent-item-" + navPosition).fadeOut("fast");
							},100);
							
						}
					 }
				 });

				 $('.subcontent').hover(
						 function(event){
							$(".header .nav a").addClass('hover-subnav');
						 },
						 function(event){
							$(".header .nav a").removeClass('hover-subnav');
							setTimeout(function(){clearNav()},500);
					 }
				 );

				 function clearNav(){
					if (!$(".header .nav a").hasClass('hover-active')){
						$(".header .nav a").removeClass('hover-active');
						$(".header .nav a").removeClass("active");
						$(".header .nav a").removeClass("hover-subnav");
						$(".header .nav a").removeClass("deactive");
						$(".subcontent").fadeOut("fast");
					}
				}
			},

			/*------------------------------------------------------
			End: navigation
			--------------------------------------------------------*/

			/*------------------------------------------------------
			  Start: Slideshow
			--------------------------------------------------------*/

			'.slideshow':function($elms){
					$elms.slideViewerPro({
						galBorderWidth: 0,
						autoslide: true,
						asTimer: 4000,
						thumbsVis: true,
						typo: false,
						thumbsPercentReduction: 7.5,
						galBorderColor: "",
						thumbsTopMargin: 0,
						thumbsRightMargin: 1,
						thumbsBorderWidth: 0,
						thumbsActiveBorderColor: "",
						thumbsActiveBorderOpacity: 0,
						thumbsBorderOpacity: 0,
						buttonsTextColor: "#707070"
					});
					
					$(".slide-image", $elms).bind('click', function(e){
						rel = $(this).attr('rel');
						if (rel.length > 0){
							$(location).attr('href',rel);
						}
					});
			},

			/*------------------------------------------------------
			  End: Slideshow
			--------------------------------------------------------*/

			/*------------------------------------------------------
			  Start: Sticker
			--------------------------------------------------------*/

			'.sticker':function($elms){
				var stickerVerticalPosition;
				var stickerHorizontalPosition;
				$("a.sticker span").each(function () {
					stickerVerticalPosition = Math.round(($(this).height())/2);
					stickerHorizontalPosition = Math.round(($(this).width())/2);
					$(this).css({
						'margin-top': '-' + stickerVerticalPosition + 'px',
						'margin-left': '-' + stickerHorizontalPosition + 'px'
					});
					stickerVerticalPosition = 0;
					stickerHorizontalPosition = 0;
				});
			},

			/*------------------------------------------------------
			  End: Sticker
			--------------------------------------------------------*/

			
			/*------------------------------------------------------
			  Start: Horizontal Scroller
			--------------------------------------------------------*/

			'.horizontal-scroller':function($elms){
				$('.horizontal-scroller').SetScroller({velocity: 	 60,
					direction: 	 'horizontal',
					startfrom: 	 'right',
					loop:		 'infinite',
					movetype: 	 'linear',
					onmouseover: 'play',
					onmouseout:  'play',
					onstartup: 	 'play',
					cursor: 	 'default',
					firstscrollposition: 'left'
				});

			},

			/*------------------------------------------------------
			  End: Horizontal Scroller
			--------------------------------------------------------*/

			/*------------------------------------------------------
			  Start: Thumbnail Gallery
			--------------------------------------------------------*/

			'.thumb-gallery':function($elms){
					$("a[rel=gallery]").fancybox({
						'overlayOpacity'	: .9,
						'overlayColor'		: '#000',
						'transitionIn'		: 'none',
						'transitionOut'		: 'none',
						'titlePosition' 	: 'over',
						'titleFormat'		: function(title, currentArray, currentIndex, currentOpts) {
							return '<span id="fancybox-title-over">' + (title.length ? ' &nbsp; ' + title : '') + '</span>';
						}
					});

			},

			/*------------------------------------------------------
			  End: Thumbnail Gallery
			--------------------------------------------------------*/
			
			/*------------------------------------------------------
			  Start: Share Options
			--------------------------------------------------------*/

			'.actions a.share':function($elms){
					var shareOptions = '';
 
					$('.actions a.share').click(function(event){
						var position = $(this).position();
						shareOptions = $(this).siblings('.share-options');
						
						if ($.browser.msie && $.browser.version == 7 && $('.page-latest-galleries').length != 0){
							//Fixed position issue in IE7
							position.left = 355;
						}
						shareOptions.css({'display':'block', 'left': position.left + 'px'});
						shareOptions.hoverIntent({
							 interval: 0,
							 timeout: 0,
							 over: function(event){
								$(this).siblings('.share').addClass('share-hover');
 							 },
							 out: function(event){
								$(this).css('display', 'none');
								$(this).siblings('.share').removeClass('share-hover');
 							 }
						 });
						 
 						event.preventDefault();

						$(this).hover(function(){
						}, function(){
							 
						})
 					});
 			},

			/*------------------------------------------------------
			  End: Share Options
			--------------------------------------------------------*/

			/*------------------------------------------------------
			  Start: Accordion
			--------------------------------------------------------*/

			'#accordianWrapper':function($elms){
					$('.accordionButton').click(function() {
						$('.accordionButton').removeClass('on');
						$('.accordionContent').slideUp('normal');
						$('.accordionSubContent').slideUp('normal');
						if($(this).next().is(':hidden') == true) {
							$(this).addClass('on');
							$(this).next().slideDown('normal');
						 }
					 });

					 $('.accordionSubButton').click(function() {
						$('.accordionSubButton').removeClass('on');
						$('.accordionSubContent').slideUp('normal');
						if($(this).next().is(':hidden') == true) {
							$(this).addClass('on');
							$(this).next().slideDown('normal');
						 }
					 });

					
					$('.accordionContent').hide();
					$('.accordionSubContent').hide();
					accordionStart();
					
					function accordionStart(){
						var selected = $('.accordionContent a.selected');
						var selectedContainer = selected.parent().parent().parent();
						var selectedMainContainer = selected.parent().parent().parent().parent();

						selectedContainer.css('display', 'block');
						selectedContainer.prev().addClass('on');
						
						selectedMainContainer.css('display', 'block');
						selectedMainContainer.prev().addClass('on');

						return false;
					}
					
					
			},

			/*------------------------------------------------------
			  End: Accordion
			--------------------------------------------------------*/

			/*------------------------------------------------------
			  Start: Dropdown
			--------------------------------------------------------*/

			'form':function($elms){
				$("form select").attr({onChange : 'showValue(this.value)'}).msDropDown();
				$(".checkboxes .checkbox:last").addClass('last');
				if($(".checkboxes input#SignupInterestConcerts").is(':checked')) {
					$(".sub-checkboxes").css({'display' : 'block'});
				} else {
					$(".sub-checkboxes").css({'display' : 'none'});
				}
				
				$(".checkboxes input#SignupInterestConcerts").click(function() {
					if($(this).is(':checked')){
						$(".sub-checkboxes").fadeIn('fast');
					}else{
						$(".sub-checkboxes").fadeOut('fast');
					}
				});
				
			},

			/*------------------------------------------------------
			  End: Dropdown
			--------------------------------------------------------*/
			/*------------------------------------------------------
			  Start: Breadcrumb
			--------------------------------------------------------*/

			'.breadcrumb':function($elms){
				($(".breadcrumb a:last").addClass('last'));
			},

			/*------------------------------------------------------
			  End: Breadcrumb
			--------------------------------------------------------*/

			/*------------------------------------------------------
			  Start: Print
			--------------------------------------------------------*/

			'.print a':function($elms){
				 $('.print a').css('display','block').click(function() {
					window.print();
					 return false;
				 });
			},

			/*------------------------------------------------------
			  End: Print
			--------------------------------------------------------*/
			

			/*------------------------------------------------------
			  Start: Induction Form
			--------------------------------------------------------*/

			'form.safety-induction .step-1':function($elms){
				$("form.safety-induction .step-1").css({'border':'0', 'position':'absolute', 'top':'0', 'right':'0'});
				$("form.safety-induction .column-1").css({'width':'960px'});
			},

			'form.safety-induction .step-3':function($elms){
				$("form.safety-induction .step-3").css({'border':'0'});
				$("form.safety-induction .column-1").css({'min-height':'31px', 'height':'31px'});
				$("form.safety-induction .column-2").css({'width':'960px'});
			},

			/*------------------------------------------------------
			  End: Induction Form
			--------------------------------------------------------*/
			
			/*------------------------------------------------------
			  Start: Calendar
			--------------------------------------------------------*/

			'.widget-calendar':function($elms){
				
				$('.month-bttn', $elms).bind('click',
					function(e){ 
						$('.month-list').show();
					}
				);
				
				$('.close-bttn', $elms).bind('click',
						function(e){ 
							$('.month-list').hide();
						}
				);
				
				//default show the current month
				var d = new Date();
				var month = d.getMonth() +1;
				if (month.toString().length==1) { month = '0' + month; }
				 
				var year = d.getFullYear();
				$('#' + year + '-' + month, $elms).show();
				
				$('.month-list ul li:first').addClass('selected');

				$('.month-selector', $elms).bind('click',
						function(e) {
							$('.month-list ul li').removeClass('selected');
							//index = $(this).prevAll().length -1;
							$(this).addClass('selected');
							var monthSelector = $(this).attr('id');
							monthSelector = monthSelector.replace("selector-", "");
							$('.month-list').hide();
							$('.month-calendar').hide();
							//$('div.month-calendar').eq(index).show();
							$('div#' + monthSelector).show();
						}
				);
			},

			/*------------------------------------------------------
			  End: Calendar
			--------------------------------------------------------*/
			
			
			/*------------------------------------------------------
			  Start: Gallery Page
			--------------------------------------------------------*/
			'.page-gallery':function($elms){

				// Main group navigation (0-9, A-E,	F-M, N-Q, R-Z)
				$('.block-gallery-nav ul.main-nav li a', $elms).bind('click', 
							function(e){
								group_index = $(this).parent().prevAll().length;
								
								// Activate selected main nav
								$('.block-gallery-nav ul.main-nav li a').removeClass('selected');
								$('.block-gallery-nav ul.main-nav li a').eq(group_index).addClass('selected');

								
								// Display main sub nav
								$('.block-gallery-subnav ul.main-nav').hide();
								$('.block-gallery-subnav ul.main-nav').eq(group_index).show();

								// Always stays active on the first subnav item
								$current_subnav = $('.block-gallery-subnav ul.main-nav').eq(group_index);
								$('li a', $current_subnav).removeClass('selected');
								$('li a', $current_subnav).eq(0).addClass('selected');
								
								// Hide all sub menu items
								$('.block-gallery-subnav div.group-subnav').hide();
								$('.block-gallery-subnav div.group-subnav').removeClass('active');
								$('.block-gallery-subnav div.group-subnav').eq(group_index).show();
								$('.block-gallery-subnav div.group-subnav').eq(group_index).addClass('active');
								$group_subnav = $('.block-gallery-subnav div.group-subnav').eq(group_index);
								$('ul.subnav', $group_subnav).hide();
								$('ul.subnav', $group_subnav).eq(0).show();
					
								Site.stopAll(e);
							}
				);
				
				// Sub navigation (0 1 2 3 .., A B C etc)
				$('.block-gallery-subnav ul.main-nav li a', $elms).bind('click', 
							function(e){
								index = $(this).parent().prevAll().length;
								// Activate selected sub menu item
								$all_li_items = $(this).parent().parent().children();
								$('a', $all_li_items).removeClass('selected');
								$('a', $all_li_items).eq(index).addClass('selected');
								
								//
								$('.group-subnav.active ul.subnav').hide();
								$('.group-subnav.active ul.subnav').eq(index).show();
								
								Site.stopAll(e);
							}
				);
			},
				
			/*------------------------------------------------------
			  End: Gallery Page
			--------------------------------------------------------*/
			
			
			/*------------------------------------------------------
			  Start: Email To Friend 
			--------------------------------------------------------*/
			'.page-email-to-friend':function($elms){
				$('body').css('background-image', 'none');
				var defaultMessage = 'enter a message';
				var defaultEmail = 'enter email address/s';
				$('#SignupTextContent', $elms).bind('click',
						function(e){
							if($(this).val() == defaultMessage) {
								$(this).val('');
							}
						}
				),
				$('#SignupTextContent', $elms).bind('blur',
						function(e){
							if($(this).val() == '') {
								$(this).val(defaultMessage);
							}
						}
				),
				$('#SignupRecipientEmail', $elms).bind('click',
						function(e){
							if($(this).val() == defaultEmail) {
								$(this).val('');
							}
						}
				),
				$('#SignupRecipientEmail', $elms).bind('blur',
						function(e){
							if($(this).val() == '') {
								$(this).val(defaultEmail);
							}
						}
				)
				$('#SignupTextContent', $elms).bind('keypress',
						function(e){ 
							var limit = 100;
							var charLength = $(this).val().length;
							if(charLength >= limit) {
								$('#SignupTextContent').val($(this).val().substr(0, limit -1));
								charLength = limit;
							}
							$('.charCount').html(limit - charLength);
						}
				);
			}, 
			
			'.link-friend':function($elms){
				$(".link-friend").fancybox({
					'overlayOpacity'	: .9,
					'overlayColor'		: '#000',
					'transitionIn'		: 'none',
					'transitionOut'		: 'none',
					'titlePosition' 	: 'over',
					'width' : 560,
					'height' : 550,
					'type' : 'iframe',
					'scrolling' : 'no'
				});
			},
			/*------------------------------------------------------
			  End: Email to Friend
			--------------------------------------------------------*/
			
			
			
			
			/*------------------------------------------------------
			  Start: Thank You Lightbox
			--------------------------------------------------------*/
			'.thank-you-lightbox':function($elms){
				$('body').css('background-image', 'none');
				$('.page-bg').css('background-image', 'none');
			},
			/*------------------------------------------------------
			  End: Thank You Lightbox
			--------------------------------------------------------*/
			
			/*------------------------------------------------------
			  Start: Search Suggestion 
			--------------------------------------------------------*/
			'#SearchKeywords':function($elm){
				$elm.autocomplete({ 
				    serviceUrl:'/handles/autocomplete.php',
				    minChars:3, 
				    delimiter: /(,|;)\s*/, // regex or character
				    maxHeight:400,
				    width:275,
				    zIndex: 9999,
				    deferRequestBy: 300, //miliseconds
				    params: { query:'Yes' }, //aditional parameters
				    noCache: false, //default is false, set to true to disable caching
				    ajax_loader:'/img/ajax-loader.gif',
				    // callback function:
				    onSelect: function(value, data){ 
				    	// 
				    }
				  });

			},
			/*------------------------------------------------------
			  End: Search Suggestion 
			--------------------------------------------------------*/
			
			

			/*------------------------------------------------------
			  Start: Video Player
			--------------------------------------------------------*/

			'.watch-video':function($elms){

					$("a.watch-video").click(function() {
						$.fancybox({
								'padding'		: 0,
								'overlayOpacity': .9,
								'overlayColor'	: '#000',
								'autoScale'		: false,
								'transitionIn'	: 'none',
								'transitionOut'	: 'none',
								'title'			: this.title,
								'width'			: 680,
								'height'		: 495,
								'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
								'type'			: 'swf',
								'swf'			: {
									'wmode'		: 'transparent',
									'allowfullscreen'	: 'true'
								}
							});

						return false;
					});
			},

			/*------------------------------------------------------
			  End: Video Player
			--------------------------------------------------------*/
			
			/*------------------------------------------------------
			  Start: Player Management 
			--------------------------------------------------------*/
			'.listen':function($elms){
				$('.listen').click(function() {
					w = window.open (this.href, null,
				    "location=0,status=0,toolbar=0" +
				    ",directories=0,menubar=0,resizable=false" +
				    ",scrollbars=0" +
				    ",width=455,height=510");
					//w.moveTo(0,0);
					return false;
				});
			},

 			'#playlist':function($elms){
					$('#playlist').jScrollPane();
					
					var playListCount = $("#playlist li a").size();
					var playListFiles =  '';
					var playListFirst = '';
					var initiatePlayList = false;
					var playListArray = new Array();
					var selectedTrack = '';

					$('#playlist li.entry:even').addClass('alt');
					
					playMe = function(playFiles){
						var flashvars = {
							soundFile: playFiles,
							autostart: 'yes',
							loop: 'yes'
						};
						var params = {};
						var attributes = {};
						swfobject.embedSWF("/swf/player.swf", "player", "410", "24", "10.0.0", "/swf/expressInstall.swf", flashvars, params, attributes);
						
						return false;
					}
					
					rotate = function(a, p){
						for(var l = a.length, p = (Math.abs(p) >= l && (p %= l), p < 0 && (p += l), p), i, x; p; p = (Math.ceil(l / p) - 1) * p - l + (l = p))
							for(i = l; i > p; x = a[--i], a[i] = a[i - p], a[i - p] = x);
						return a;
					};
					
					findNext = function(nextFile){
						nextFile = nextFile + 1;
						if(selectedTrack != ''){
							nextFile = nextFile + selectedTrack;
						}
						if(nextFile >= playListCount){
							nextFile = nextFile - playListCount; //heavy offset - next track has gone too far
						}
						
						$("#playlist a").attr("href", function(arr){
							//treat listed attributes as array then create each loop
						})
						.each(function () {
							currrentPos = $('#playlist li').find('a').index(this);
							if(currrentPos != nextFile){
								$(this).removeClass('playing');
							}else if(currrentPos == nextFile){
								$(this).addClass('playing');
								
								//	Update playing item
								newFile = $(this);
								$('.now-playing img').attr('src', $('.large-thumbnail img', newFile).attr('src'));
								$('.now-playing span.artist').text($('span.title', newFile).text());
								$('.now-playing span.track-title').text($('span.alternative', newFile).text());
							}
						});	
						currrentPos = '';
						return false;
					}
					
					//initiate first player
					if(playListCount > 0 && initiatePlayList == false){
						initiatePlayList = true;
						
						//create a playlist via loop
						$("#playlist a").attr("href", function(arr){
						})
						.each(function () {
							addFile = $(this).attr("href");
							playListArray.push(addFile);
						});		
						playMe(playListArray); 	
					}
					
					$('#playlist a').click(function(event){
						var newFile = $(this);
						playListArray = []; //empty array
						$("#playlist a").attr("href", function(arr){
							//treat listed attributes as array then create each loop
						})
						.each(function () {
							addFile = $(this).attr("href");
							playListArray.push(addFile);
						});	
						
						var rotatePosition = $(this).parent().prevAll().length;
						selectedTrack = rotatePosition;
						rotatePosition = rotatePosition * -1;
						rotate(playListArray, rotatePosition);	
						playMe(playListArray);
						
						setTimeout(function(){
							 $('a.playing').removeClass('playing');
						},100);
						
						setTimeout(function(){
							  $(newFile).addClass('playing');
						},200);

						//	Update playing item
						$('.now-playing img').attr('src', $('.large-thumbnail img', newFile).attr('src'));
						$('.now-playing span.artist').text($('span.title', newFile).text());
						$('.now-playing span.track-title').text($('span.alternative', newFile).text());
						
						
						
						event.preventDefault();
						//if js is disabled
						return false;
					})
			},
			/*------------------------------------------------------
			  End: Player Management
			--------------------------------------------------------*/
			
			
			/*------------------------------------------------------
			  Start: Header Ad Management
			--------------------------------------------------------*/
			'.header-advert':function($elms){
				$(".header-advert ul li").hide();
				var length = $(".header-advert ul li").length;
				var ran = Math.floor(Math.random()*length) + 1;
				$(".header-advert ul li:nth-child(" + ran + ")").show();
			},
			/*------------------------------------------------------
			  End: Header Ad Management
			--------------------------------------------------------*/
			
			/*------------------------------------------------------
			  Start: Show share button
			--------------------------------------------------------*/
			'a.share':function($elms){
				$elms.show();
			}
			/*------------------------------------------------------
			  End: Show share button
			--------------------------------------------------------*/
			
					
			
	}
};
	


/*------------------------------------------------------
Start: JQuery start function
--------------------------------------------------------*/


$(document).ready(
	function() {
		Site.onReady();
	}
);

/*------------------------------------------------------
End: JQuery start function
--------------------------------------------------------*/


