var viewportWidth 			= 0;		// De huidige breedte van de viewport
var viewportHeight 			= 0;		// De huidige hoogte van de viewport
var mouseX 					= 0;		// X positie muis op pagina
var mouseY 					= 0;		// Y positie muis op pagina


$(document).ready(function(){		
		
	$(document.body).mousemove( function(event) {
		mouseMoveHandler(event);		
	});	
	
	$(window).bind("resize", resizeWindowEventHandler);
	resizeWindowEventHandler(null);	
		
	if($('.shop-browser-item').length > 0)
		initShopBrowser();
		
	reinit();	
	initFooter();
	
	$('#comment').click(function(){
		$(this).attr('value',''); 
		$(this).unbind('click');
	});
});


function reinit() {
	
	if($('.grid').length > 0)
		initGrid();
	
	if($('.card-grid-holder').length > 0)
		initCardContainer();
		
	if($('#card-detail').length > 0)
		initCardDetail();
		
	cufonIt();	
}

function cufonIt() {
	Cufon.replace('a.museo-700', {fontFamily : 'museo-700', hover: true});
	Cufon.replace('.museo-700', {fontFamily : 'museo-700'});	
	Cufon.replace('a.museo-300', {fontFamily : 'museo-300', hover: true});
	Cufon.replace('.museo-300',{fontFamily : 'museo-300'});	
}

function gotoAddress(url, popup)
{
	if(popup == true) {
		window.open(url);
	} else {
		window.location = url;
	}
	return false;
}

function mouseMoveHandler(event) {
	mouseX = event.pageX;
	mouseY = event.pageY;	
	
	$('.ajax-loader').css('margin-left',mouseX+20); 
	$('.ajax-loader').css('margin-top',mouseY-60); 
}

function resizeWindowEventHandler( e ) {
		
	viewportWidth = $(window).width();
	viewportHeight = window.innerHeight ? window.innerHeight : $(window).height();
}

// GRID

function initGrid()
{	
	
	$('.grid-menu a, #search-order-options a').click(function() {
		
		var url = $(this).attr('href');		
		var holderId =  $(this).closest('.grid-holder').attr('id');				
		
		$('.ajax-loader').show();		
		/*$.getJSON(url,{ajax:true}, function(json){	
			if(json)
			{				
				$('#'+holderId).empty().append(json.content);
				reinit();				
			} 
			$('.ajax-loader').hide();
		});*/	
		
		$.ajax({
		    type: "GET",
		    url: url,
		    data: 'ajax=true',
		    contentType: "application/json; charset=utf-8",
		    dataType: "json",		    
		    success: function(json) {
		        $('#'+holderId).empty().append(json.content);
				reinit();
				$('.ajax-loader').hide();
		    }
		});

		
		return false;	
	});	
}
// END GRID

// CARD GRID

function initCardContainer() {
	$('.card-grid').find('.card').find('img').click(function(){		
		showPopup($(this).parent());									  
	});
		
	
	$('#search-a-card').click(function(){
		$(this).attr('value',''); 
		$('#nieuwsbrief-box input').unbind('click');								   
	});
	
	$('#search-a-card-btn').click(function(){
		$('#search-form').submit();							   
	});
	
	
	
	
}


function showPopup(target) {
	
	var cardId = target.find('input').attr('value');
	
	$('#card-popup').empty();
	
	$('.ajax-loader').show();
	
	var parts = location.href.split('/');
	
	$.getJSON("/"+parts[3]+"/home/card/"+cardId,{ajax:true}, function(json){	
		if(json)
		{				
			$('#card-popup').append(json.content);			
			initPopup();			
		} 
		$('.ajax-loader').hide();
	});			
	
	var aboveTheFold  = $(window).scrollTop();	
	$('#card-popup').show();			
	$('#card-popup').css('left', (viewportWidth / 2) - (600 / 2));	
	$('#card-popup').css('top', (viewportHeight / 2) - (400 / 2) + aboveTheFold);	
	
}

var cardstars;
var disableRating;

function initPopup()
{	
	cufonIt();	
	
	initRating();
		
	/*$('#card-popup #show-inside').click(function(){
		$('#card-preview-front').hide();
		$('#card-preview-inside').show();
		return false;
	});
	
	$('#card-popup #show-front').click(function(){
		$('#card-preview-front').show();
		$('#card-preview-inside').hide();
		return false;
	});	*/
	
	$('#popup-close-btn').click(function(){
		$('#card-popup').hide();
		return false;
	});	
	
	$('#shop_id').change(function(){
		
		var cardId = $('#card_id').attr('value');
		var shopId = $('#shop_id').attr('value');
		$('.ajax-loader').show();
		var parts = location.href.split('/');
		
		$.getJSON("/"+parts[3],{ajax:true, function_name : 'getCardPriceByShop', card_id : cardId, shop_id : shopId}, function(json){	
			if(json)
			{	
				$('#card-info .price').empty().append(json.price);
				$('#order-now').attr('href',json.shop_url);	
				
				cufonIt();				
			} 
			$('.ajax-loader').hide();
		});												  
	});
}

// END CARD GRID

// RATING 





// END RATING
	
function initRating() {

	cardstars  = $("#rating").stars({
		inputType: "select",
		cancelShow:0,
		oneVoteOnly:1,
		disabled:disableRating,
		callback: function(ui, type, value){		
			
			var cardId = $('#card_id').attr('value');
			$('.ajax-loader').show();
			var parts = location.href.split('/');

			$.getJSON("/"+parts[3],{ajax:true, function_name : 'updateRating', card_id : cardId, rating : value}, function(json){	
				if(json)
				{	
					cardstars.stars("select", json.rating);			
				} 
				$('.ajax-loader').hide();
			});				
		
		}
	});	
}

// CARD DETAIL

function initCardDetail() {
	
	initRating();
	
	$('#show-front-btn').click(function(){
		$('#show-inside-btn').parent().removeClass('active');
		$(this).parent().addClass('active');
		if($('#card-detail-front').parent().hasClass('tpl-landscape-folded-inside-5x7')) {
			$('#card-detail-front').parent().removeClass('tpl-landscape-folded-inside-5x7');
			$('#card-detail-front').parent().addClass('tpl-landscape-folded-front-5x7');		
		}
		else if($('#card-detail-front').parent().hasClass('tpl-portrait-folded-inside-5x7')) {
			$('#card-detail-front').parent().removeClass('tpl-portrait-folded-inside-5x7');
			$('#card-detail-front').parent().addClass('tpl-portrait-folded-front-5x7');		
		}				
		else if($('#card-detail-front').parent().hasClass('tpl-landscape-folded-inside-1x1')) {
			$('#card-detail-front').parent().removeClass('tpl-landscape-folded-inside-1x1');
			$('#card-detail-front').parent().addClass('tpl-landscape-folded-front-1x1');		
		}
		else if($('#card-detail-front').parent().hasClass('tpl-portrait-folded-inside-1x1')) {
			$('#card-detail-front').parent().removeClass('tpl-portrait-folded-inside-1x1');
			$('#card-detail-front').parent().addClass('tpl-portrait-folded-front-1x1');		
		}				
		
		$('#card-detail-inside').hide();
		$('#card-detail-front').show();
		return false;
	});
	
	
	$('#show-inside-btn').click(function(){
		$('#show-front-btn').parent().removeClass('active');
		$(this).parent().addClass('active');
		
		if($('#card-detail-front').parent().hasClass('tpl-landscape-folded-front-5x7')) {			
			$('#card-detail-front').parent().removeClass('tpl-landscape-folded-front-5x7');
			$('#card-detail-front').parent().addClass('tpl-landscape-folded-inside-5x7');	
		}
		else if($('#card-detail-front').parent().hasClass('tpl-portrait-folded-front-5x7')) {			
			$('#card-detail-front').parent().removeClass('tpl-portrait-folded-front-5x7');
			$('#card-detail-front').parent().addClass('tpl-portrait-folded-inside-5x7');	
		}
		else if($('#card-detail-front').parent().hasClass('tpl-landscape-folded-front-1x1')) {			
			$('#card-detail-front').parent().removeClass('tpl-landscape-folded-front-1x1');
			$('#card-detail-front').parent().addClass('tpl-landscape-folded-inside-1x1');	
		}
		else if($('#card-detail-front').parent().hasClass('tpl-portrait-folded-front-1x1')) {			
			$('#card-detail-front').parent().removeClass('tpl-portrait-folded-front-1x1');
			$('#card-detail-front').parent().addClass('tpl-portrait-folded-inside-1x1');	
		}
		
		$('#card-detail-inside').show();
		$('#card-detail-front').hide();
		return false;
	});
}


// FOOTER 

function initFooter() {
	
	$('#nieuwsbrief-box input').click(function(){
		$(this).attr('value',''); 
		$(this).unbind('click');
	});
	
	$('#inschrijven-nieuwsbrief-btn').click(function(){
		
		var name 	= $('#nieuwsbrief-box #naam').attr('value');
		var email 	= $('#nieuwsbrief-box #email').attr('value');
		
		$('#nieuwsbrief-box #error_exists').hide();
		$('#nieuwsbrief-box #error_incorrect').hide();
		
		$('.ajax-loader').show();
		var parts = location.href.split('/');
		$.getJSON("/"+parts[3]+"/newsletter",{ajax:true, newsletterform : true, subscribe : 1, name : name, email : email}, function(json){	
			if(json.success)
			{				
				$('#nieuwsbrief-box .form-holder').hide()
				$('#nieuwsbrief-box .success-message').show();
				
			} else {
				if(json.already_exists) {						
					$('#nieuwsbrief-box #error_exists').show();
				} else {					
					$('#nieuwsbrief-box #error_incorrect').show();
				}
			}
			$('.ajax-loader').hide();
		});				
	});	
}

// END FOOTER


// SHOP BROWSER

var numberOfShopsInBrowser;
var lastVisibleIndex = 2;
var numberOfVisibleShops = 3;

function initShopBrowser()
{
	moveShopBrowserCanvas();
		
	$('#shop-browser .right').click(function(){

		if(lastVisibleIndex < (numberOfShopsInBrowser-1)){
			lastVisibleIndex++;	
			moveShopBrowserCanvas();
		}	
		return false;
	});	
	
	$('#shop-browser .left').click(function(){

		if(lastVisibleIndex >= numberOfVisibleShops){
			lastVisibleIndex--;	
			moveShopBrowserCanvas();			
		}	
		return false;
	});		
	
	$('.shop-browser-item img').click(function(){
		var url = $(this).parent().find('a').attr('href');			
		gotoAddress(url,true);
			
		return false;
	});
	
	
	
}

function moveShopBrowserCanvas() {
	$('#shop-browser-canvas').stop().animate({left : ((lastVisibleIndex+1)-numberOfVisibleShops)*-188});	
	
	if(lastVisibleIndex+1 <= numberOfVisibleShops) {
		$('#shop-browser .left').fadeTo(0.2,0.3);
	} else {
		$('#shop-browser .left').fadeTo(0.2,1);
	}
	
	if(lastVisibleIndex+1 == numberOfShopsInBrowser) {
		$('#shop-browser .right').fadeTo(0.2,0.3);
	} else {
		$('#shop-browser .right').fadeTo(0.2,1);
	}
}

function addCardWord(cards,card) {
	$('.shop-browser-item').find('.card-word').each(function() {
		if($(this).html() == 1) {
			$(this).append(" "+card);
		}
		else {
			$(this).append(" "+cards);
		}
	});
}

// END SHOP BROWSER
