// image preload
(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

//globals
var cat = '';
var searchString = '';
var loaded_json = {};
var current_offset = 0;
var hover_zindex;

$(document).ready(function(){
	
		/*	
		if($.browser.msie && $.browser.version < 8){
		//	$(".card").css({
		//		"backgroundImage":"url(./images/card_bg_noshadow.png)"
		//	})
		}
		else if($.browser.msie){
			//$(".card").css({
			//	"background": "none",
			//	"filter":"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + "./images/card_bg.png" + "')"
			//})
		}
		*/
		
	
	load_images();
	$.preLoadImages('./images/plaatje.type.coach.xs.png','./images/plaatje.type.speler.xs.png', './images/plaatje.type.trainer.xs.png', './images/plaatje.type.oud_spelers.xs.png');
	var home_cnt = $('#cards_container');
	if(current_offset == 0){
		$('.prevbtn').css('opacity', 0.6);
	}
	
	$('#cards .prev').click(function(){
		if(current_offset == current_offset+3){
			$('.prevbtn').css('opacity', 0.6);
		}
		if(current_offset != 0){
			$('.nextbtn').css('opacity', 1);
			$('.prevbtn').css('opacity', 1);
			home_cnt.animate({
				'left': -100
			},
			100,
			function(){
				sp_new_nodes(current_offset);
				current_offset = current_offset-3;
				home_cnt.css('left', 100);
				home_cnt.animate({
						'left': 0
					}, 200, 'swing', function(){
						if(current_offset == 0){
							$('.prevbtn').css('opacity', 0.6);
						}
					})
				})
		} else {
			$('.prevbtn').css('opacity', 0.6);
		}
		

		
		
	});
	
	$('#cards .next').click(function(){
		
		current_offset = current_offset+3
		sp_new_nodes(current_offset);
		
		$('.nextbtn').css('opacity', 1);
		$('.prevbtn').css('opacity', 1);
	
		if(loaded_json != undefined){
			if(current_offset <= loaded_json.length-3){
				home_cnt.animate({
					'left': 100
				},
				100,
				function(){
					sp_new_nodes(current_offset);
					current_offset = current_offset+3;
					home_cnt.css('left', -100);
					home_cnt.animate({
						'left': 0
					}, 200, 'swing', function(){
						home_cnt.removeAttr('style');
						if(current_offset >= loaded_json.length-6){
							$('.nextbtn').css('opacity', 0.6);
						}
					});
				
				}
				
				)
				
			} else {
				$('.nextbtn').css('opacity', 0.6);
			}
		}
		
	});
	
	$('#cards .next').mouseenter(function(){
		$('#cards .nextbtn').animate({'right': -10},30);
	}).mouseleave(function(){
		$('#cards .nextbtn').animate({'right': 0},30);
	});
	
	$('#cards .prev').mouseenter(function(){
		$('#cards .prevbtn').animate({'left': -10},30);
	}).mouseleave(function(){
		$('#cards .prevbtn').animate({'left': 0},30);
	});
	
	$('.card').mouseenter(function(){
		hover_zindex = $(this).parent().css('z-index');
		$(this).parent().css('z-index', 999);
		animate_larger($(this));
	}).mouseleave(function(){
		animate_smaller($(this));
		$(this).parent().css('z-index', hover_zindex);
	})
})

function load_images(){
	$.get(spajaxurl,{category:escape(cat),search:escape(searchString),language:lang},sp_ajax_ready,"json");
}


function sp_ajax_ready(data){
	
	
	loaded_json = [];
		
	var nIndex = data.length;
	
	for(var i=0;i<nIndex;i++){
	
		var z = Math.floor((data.length) * Math.random());
		loaded_json[i] = data[z];
		data.splice(z,1);
		

	}
	
	
	var preload_imgs = [];
	for (var i=0; i < data.length; i++) {
		//preload_imgs.push(data[i].img);
		//preload_imgs.push(data[i].imgs);
	};
	//$.preLoadImages(preload_imgs)
	//console.log(loaded_json);
	
	var id = 0;
	var total_items = loaded_json.length;
	if(total_items == 0){
		$('#cards').css('display','none');
	} else {
		sp_new_nodes(0);
	}
}

function sp_new_nodes(offset){
	
	addImageMask();
	
	if(loaded_json != undefined){
		for (var i=offset; i < (offset+3); i++) {
			if(i <= loaded_json.length){
				var node_content = loaded_json[i];
				
				
				var node_itm = $('#card_' + (i%3));
				if(node_content != undefined){
					
					
					
					node_itm.css('display', 'block');
					
					node_itm.find('img.image').css('visibility','hidden').attr('src', imgurlprefix+node_content.imgs).load(function(){$(this).css('visibility','visible')});
					node_itm.find('h2').text(node_content.name);
					node_itm.find('h3').removeClass();
					node_itm.find('h3').addClass(node_content.cat);				var typename = node_content.cat;
					if(lang == 'en'){
						switch(node_content.cat){
							case 'speler': typename = 'player'; break;
							case 'oud_spelers': typename = 'former player'; break;
						}
					} else {
						switch(node_content.cat){
							case 'oud_spelers': typename = 'oud speler'; break;
						}
					}
					node_itm.find('h3').text(typename);
					node_itm.attr('href', "/"+lang+"/players#"+escape(node_content.name));
					if(i%3 == 0){
						node_itm.transform({rotate: -4});
					} else if(i%3 == 1){
						node_itm.transform({rotate: 0});
					} else {
						node_itm.transform({rotate: 4});
					}
				} else {
					node_itm.css('display', 'none');
				}
			}
		};
	}
}

function animate_larger(el){
	
	el.stop(true,false);
	
	var animatetime = 50;
	var item_scale = 1.1;
	el.animate({
		scale: [item_scale, item_scale]
	}, animatetime);
}

function animate_smaller(el){
	
	el.stop(true,false);
	
	var animatetime = 50;
	var item_scale = 1.1;
	var scaling = 1/item_scale;
	el.animate({
		scale: [1,1]
	}, animatetime);
}
