/**
 * custom scripts for ada-plugin
 * @author Martin Sprekelsen <martin@sintesilabs.eu>
 */

$(document).ready(function () {
	
/* 
 * ===================================
 * skip home (temporary workaround)
 * ===================================
 */

	/*
	var urlParams = {};
	(function () {
	    var e,
	        a = /\+/g,  // Regex for replacing addition symbol with a space
	        r = /([^&=]+)=?([^&]*)/g,
	        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
	        q = window.location.search.substring(1);

	    while (e = r.exec(q))
	       urlParams[d(e[1])] = d(e[2]);
	})();
	*/
	
	function skip(){
		var loc = window.location.href;
		if(loc.indexOf("feature")==-1){
			var newLoc = loc + "?feature=brand";
			window.location.replace(newLoc);
		}
	}

/* 
 * ===================================
 * PNG alpha fix for good ol' ie6
 * ===================================
 */
	$(document).pngFix(); 

/* 
 * ===================================
 * SPLASH PAGE
 * ===================================
 */

	// intro/splashpage
	$('#adaPreload').delay(2000).fadeOut(2000,function() {
    		skip();
  	});
	$('#adaPreloadLogo').delay(2000).fadeOut(1000);

	// skip splash fast!
	//$('#adaPreloadLogo a').attr('href','#');
	$('#adaPreloadLogo').click(function(){
		//$('#adaPreload').hide();
		//$(this).hide();
		skip();
	});

/* 
 * ===================================
 * COLLECTIONS
 * ===================================
 */

	// fallbacks for no-js-browsers
	$('#adaCollectionImageBlock').css({
		'overflow' : 'hidden'
	});
	
	updateButtons();
	
	// get distance to the next visible image
	function stepNextDistance(){
		var leftOffset = 200; //our non-visible left menu-fond
		var distanz    = 0;
		$('.adaCollectionImage').each(function() {
			var pos = $(this).offset();
			var offset = pos.left;
			if(distanz == 0){
				if(offset>leftOffset){
					distanz = offset - leftOffset;
				}
			}
		});
		
		//padding-space
		//distanz = distanz - 1;
		
		return distanz;
	}
	
	function stepNext(){
		var v = 200;
		var d = '+=' + stepNextDistance() + "px";
		$('#adaCollectionImageBlock').scrollTo(d, v,{onAfter:function(){
			updateButtons();
		}});
	}
	
	function stepPrev(){
		var v = 200;
		var d = '-=' + stepPrevDistance() + "px";
		$('#adaCollectionImageBlock').scrollTo(d, v,{onAfter:function(){
			updateButtons();
		}});
	}
	
	// get distance to the previous visible image
	function stepPrevDistance(){
		var leftOffset = 200; //our non-visible left menu-fond
		var distanz    = 0;
		$('.adaCollectionImage').each(function() {
			var pos = $(this).offset();
			var offset = pos.left;
			
				if(offset<leftOffset){
					distanz = offset - leftOffset;
				}
		});
		return distanz * -1;
	}
	
	// update button visibility
	function updateButtons(){
		
		//step prev button
		if ($('#adaCollectionBtnPrev')) {
			var leftOffset = 200;
			var pos = $('#adaCollectionImageContainer').offset();
			if(pos){
				var offset = pos.left;
				if(offset>-1){
					$('#adaCollectionBtnPrev').css({'visibility':'hidden'});
				} else {
					$('#adaCollectionBtnPrev').css({'visibility':'visible'});
				}
			}
		}
		
		
		//step next button
		if ($('#adaCollectionBtnNext')) {
			var containerWidth  = $('#adaCollectionImageBlock').width();
			var thumbStripWidth = $('#adaCollectionImageContainer').width();
			var offset          = $('#adaCollectionImageContainer').position();
			if(offset){
				var distanceToRight = thumbStripWidth + offset.left - containerWidth;
				
				if(distanceToRight<1){
					$('#adaCollectionBtnNext').css({'visibility':'hidden'});
				} else {
					$('#adaCollectionBtnNext').css({'visibility':'visible'});
				}
			}
		}
	}
	
	//klick on the arrow
	$('#adaCollectionBtnNext').mousedown(function (event) {
		stepNext();
	});
	
	$('#adaCollectionBtnPrev').mousedown(function (event) {
		stepPrev();
	});
	
	
	//drag strip with mouse
	$('#adaCollectionImageBlock').mousedown(function (event) {
		$(this)
			.data('down', true)
			.data('x', event.clientX)
			.data('scrollLeft', this.scrollLeft);
			
		return false;
	}).mouseup(function (event) {
		$(this).data('down', false);
		updateButtons();
	}).mousemove(function (event) {
		if ($(this).data('down') == true) {
			this.scrollLeft = $(this).data('scrollLeft') + $(this).data('x') - event.clientX;
		}
	}).mousewheel(function (event, delta) {
		this.scrollLeft -= (delta * 30);
		updateButtons();
	}).css({
		'overflow' : 'hidden',
		'cursor' : '-moz-grab'
	});

	// use cursor keys
	$('html').keyup(function (event) {
		// handle cursor keys
		if (event.keyCode == 37) {
			stepPrev();
		} else if (event.keyCode == 39) {
			stepNext();
		}
	});
	
	//view all
	
	
	
	function viewAll(){
		//clear pattern
		$('#adaCollectionViewAllImagesBlock').empty();
		
		//populate viewAll-pattern with images
		$('.adaCollectionImage').each(function() {
			//get data
			var s = $(this).find('img').attr('src');
			var id = $(this).attr('id');
			if(s != undefined){
				$('#adaCollectionViewAllImagesBlock').append('<div class="adaCollectionViewAllImage"><a href="#" onClick="viewThis(\'' + id + '\')"><img alt="" src="' + s + '"></a></div>');
			}
		});
		$('#adaCollectionViewAllImagesBlock').fadeIn(400);
	}
	
	
	
	$('#adaCollectionViewAllLink>a').attr("href", "#");
	$('#adaCollectionViewAllImagesBlock').css({'display':'none'});
	
	$('#adaCollectionViewAllLink').mousedown(function (event) {
		viewAll();
	});
	
});

function viewThis(id){
	$('#adaCollectionViewAllImagesBlock').fadeOut(200);
	
	var target = $('#' + id);
	
	if(target){
		var posMe = $('#adaCollectionImageContainer').offset();
		var myPos = posMe.left;
		
		var posTarget = target.offset();
		var targetPos = posTarget.left - 200;
		
		if(targetPos<0){
			var scroll = "-=" + (targetPos*-1) + "px";
		} else {
			var scroll = "+=" + targetPos + "px";
		}
	
		$('#adaCollectionImageBlock').scrollTo(scroll, 1000,{onAfter:function(){
			//updateButtons();
		}});
	}
}
