$(document).ready( function() {

	var pageName = $('body').attr('id');
	
	LoadSubPages.init();
	JumpTo.init();
		
	if(pageName != 'home') {
		$('#links a, #sidenav a').click(function(e) {
			var windowUrlArr = parseUrl(window.location.href);
			var linkUrlArr = parseUrl(this);
			
			
			var linkPage = linkUrlArr[3].toString();
			var linkHash = linkUrlArr[4].toString();
			
			if(windowUrlArr != null) {
				var windowPage = windowUrlArr[3].toString();
				var windowHash = windowUrlArr[4].toString();
			}
			
			if( linkPage == windowPage ) {
				if( (linkHash == windowHash) && ($(window).scrollTop() == 0) ) {
					e.preventDefault();
					return false;
				} else {
					forceToTop();
				}
			}
			
			
		});
	}
	
	$(".bluGallery a").attr('rel','prettyPhoto[pp_gal]');
	$(".bluGallery a[rel^='prettyPhoto']").prettyPhoto({
		animationSpeed: 'normal', /* fast/slow/normal */
		opacity: 0.60, /* Value between 0 and 1 */
		showTitle: false, /* true/false */
		allowresize: true, /* true/false */
		default_width: 500,
		default_height: 344,
		counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
		theme: 'dark_rounded', /* light_rounded / dark_rounded / light_square / dark_square / facebook */
		hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
		wmode: 'opaque', /* Set the flash wmode attribute */
		autoplay: true, /* Automatically start videos: True/False */
		modal: false, /* If set to true, only the close button will close the window */
		changepicturecallback: function(){}, /* Called everytime an item is shown/changed */
		callback: function(){}, /* Called when prettyPhoto is closed */
		markup: '<div class="pp_pic_holder"> \
					<div class="pp_top"> \
						<div class="pp_left"></div> \
						<div class="pp_middle"></div> \
						<div class="pp_right"></div> \
					</div> \
					<div class="pp_content_container"> \
						<div class="pp_left"> \
						<div class="pp_right"> \
							<div class="pp_content"> \
								<div class="pp_fade"> \
									<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
									<div class="pp_loaderIcon"></div> \
									<div class="pp_hoverContainer"> \
										<a class="pp_next" href="#">next</a> \
										<a class="pp_previous" href="#">previous</a> \
									</div> \
									<div id="pp_full_res"></div> \
									<div class="pp_details clearfix"> \
										<a class="pp_close" href="#">Close</a> \
										<p class="pp_description"></p> \
										<div class="pp_nav"> \
											<a href="#" class="pp_arrow_previous">Previous</a> \
											<p class="currentTextHolder">0/0</p> \
											<a href="#" class="pp_arrow_next">Next</a> \
										</div> \
									</div> \
								</div> \
							</div> \
						</div> \
						</div> \
					</div> \
					<div class="pp_bottom"> \
						<div class="pp_left"></div> \
						<div class="pp_middle"></div> \
						<div class="pp_right"></div> \
					</div> \
				</div> \
				<div class="pp_overlay"></div> \
				<div class="ppt"></div>',
		image_markup: '<img id="fullResImage" src="" />',
		flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',
		quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',
		iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',
		inline_markup: '<div class="pp_inline clearfix">{content}</div>'
	});
	
	jQuery('#sponsorsList').jcarousel({
        start: 1,
        wrap: 'last',
        initCallback: mycarousel_initCallback
    });
	
});

JumpTo = {
	
	init: function() {
		$('.jumpTo_left, .jumpTo_right').scrollFollow( {
			speed: 0,
			delay: 0,
			easing: 'easeOutExpo',
			offset: $(window).height()/2-$('.jumpTo_left').height()
		});
		
		$('.jumpDown').click(function(e) {
			e.preventDefault();
			$("body").scrollTo( {top:'+=400',left:0}, 400, {easing:'easeOutExpo'} );
		});
		$('.jumpUp').click(function(e) {
			e.preventDefault();
			$("body").scrollTo( {top:'-=400',left:0}, 400, {easing:'easeOutExpo'} );
		});
		
		$('a.jumpDown, a.jumpUp').mousedown(function() {
			$(this).parent().css('background-position','-57px 0px');
		});
		$('a.jumpDown, a.jumpUp').mouseup(function() {
			$(this).parent().css('background-position','0px 0px');
		});
		$('a.jumpDown, a.jumpUp').mouseout(function() {
			$(this).parent().css('background-position','0px 0px');
		});
	}
	
}

LoadSubPages = {

	init: function() {
		LoadSubPages.loadFromHash(window.location.hash);

		$('#sidenav li a').click(function(e){
			LoadSubPages.rotateContent('#sideCol #sidenav ul',this);
		});
		
		$('#links li a').click(function(e){
			LoadSubPages.loadFromHash(this.hash);
		});
	},
	
	loadFromHash: function(selected) {
		forceToTop();
		var arr = new Array();
			
		$("td#mainCol>.col>.container>div.content").each(function(i) { 
			arr.push("#"+$(this).attr("id"));
			if(i>0) {
				$(this).css("display","none");
			}
		});
		
		if( (selected.length) && (selected != "#") ) {
			$.each(arr,function(i, val) {
				if( selected == val ) {
					var current = $('#sideCol #sidenav li.selected>a');
					var to = selected;
					LoadSubPages.changeSelected(current.parent(),$('#sideCol #sidenav li>a[href='+selected+']').parent());
					LoadSubPages.changeMain($(current.attr("href")),$(to));
				}
			});
		}
	},
	
	rotateContent: function(container,obj) {
		var current = $(container+' li.selected>a');
		var to = obj.hash;
		if(current.attr("href") != to) {
			LoadSubPages.changeSelected(current.parent(),$(obj).parent());
			LoadSubPages.changeMain($(current.attr("href")),$(to));
		}	
	},
	
	changeSelected: function(source,dest) {
		source.removeClass('selected');
		dest.addClass('selected');
	},
	
	changeMain: function(source,dest) {
		source.fadeOut(300,function(){
			dest.fadeIn(300);
		});
	}

}

function parseUrl(url) {	
	url = String(url);
	
	var parsedUrl = url.replace(/^http:\/\/(www\.)?/i,"");
	parsedUrl = parsedUrl.match(/((.*[a-zA-Z]{2,4}))\/([^.#]*)\/#([^.]*)/i);
	
	return parsedUrl;
}

function forceToTop() {
	$("body").scrollTo( {top:0,left:0}, 600, {easing:'easeInExpo'} );
}

function mycarousel_initCallback(carousel) {
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
};


