/**
 * Show Popup
 */
function show_popup(id, open) {
	if (open == true) {
		$('#'+id).show();
	} else {
		$('#'+id).hide();
	}
}

/**
 * Show Popup
 */
function switchOnglet(onglet) {
	var off = $('div#col-lectures h2.off');
	var open = $('div#col-lectures h2.opened');
	
	if (onglet == 'lectures') {
		if ($('div.read').hasClass('arrow-below')) { return false; }
		$('#lectures').show();
		$('#panier').hide();
		$('div.basket').removeClass('arrow-below');
		$('div.read').addClass('arrow-below');
	} else {
		if ($('div.basket').hasClass('arrow-below')) { return false; }
		$('#panier').show();
		$('#lectures').hide();
		$('div.read').removeClass('arrow-below');
		$('div.basket').addClass('arrow-below');
	}
	
	off.removeClass('off');
	open.removeClass('opened');
	
	open.addClass('off');
	off.addClass('opened');
	
}

function getPage(page_name, page_num, nbpages, letter, args) {
	param = { action: 'pagination', page_name: page_name, page_num: page_num, nbpages: nbpages, letter: letter };
	
	switch(page_name)
	{
		case "home":

			if (args[0] == '')
				args[0] = args[2];
					
			if (args[1] == 'genre')
				param['genre_id'] = args[0];
			else if (args[1] == 'forfait')
				param['forfait'] = args[0];
			else if (args[1] == 'target')
				param['target'] = args[0];
			else param[args[1]] = 1;
			break;
		
		case "search":
			param['type'] = args[0];
			param['pattern'] = args[1];
			param['media_id'] = args[2];
			param['tri'] = args[3];
			param['sens'] = args[4];
			break;
			
		case "serie":
			param['serie_id'] = args[0];
			break;
			
		case "auteur":
			param['auteur_id'] = args[0];
			break;
			
		case "collection":
			param['collection_id'] = args[0];
			break;
			
		case "album":
			param['album_id'] = args[0];
			break;
			
		case "abonnement":
			param['id'] = args[0];		
			param['genre_id'] = args[1];
			param['template'] = args[2];
			param['page_name'] = 'abonnement';
		break;
	}
	
	$.ajax({
		type: 'GET',
		url: '/test_ajax.php',
		data: param,
		success: function(data) {
			$('.vignettes').html(data);
		},
		error: $('.vignettes').html("<img src=\"images/rouegrise.gif\" alt=\"\" />")
	});
	
	var args_str = "['"+args[0]+"'";
	for(var j=1; j<args.length; j++)
		args_str += ", '"+addslashes(args[j])+"'";
	args_str += "]";
	
	$('#center').html(pages(page_name, page_num, nbpages, letter, args));
	
	if(page_num>1)
		$('#left').html('<a href="#" onclick="getPage(\''+page_name+'\', '+(page_num-1)+', '+nbpages+', \''+letter+'\', '+args_str+'); return false;">&nbsp;<&nbsp;</a>');
	else
		$('#left').html('&nbsp;');

	if(page_num<nbpages)
		$('#right').html('<a href="#" onclick="getPage(\''+page_name+'\', '+(page_num+1)+', '+nbpages+', \''+letter+'\', '+args_str+'); return false;">&nbsp;>&nbsp;</a>');
	else
		$('#right').html('&nbsp;');
}

function pages(page_name, page_num, nbpages, letter, args) {
	var tpl = "";
	var page_delta = 7;
	var page_truncate, page_min, page_max;
	
	if(nbpages > 2*page_delta+1) {
		page_truncate = true;
		page_min = page_num - page_delta;
		page_max = page_num + page_delta;
	} else {
		page_truncate = false;
		page_min = 1;
		page_max = nbpages;
	}
	
	if(page_truncate && page_min<1) {
		page_max = page_max-page_min;
		page_min = 1;
	}
	if(page_truncate && page_max>nbpages) {
		page_min = page_min-(page_max-nbpages);
		page_max = nbpages;
	}
	
	if(page_truncate && page_min >= 2) {
		tpl += page_lien(1, nbpages, page_name, letter, args, false);
		tpl += "...";
	}
	
	for(var i = page_min; i <= page_max; i++)
	{
		tpl += page_lien(i, nbpages, page_name, letter, args, (i==page_num)?true:false);
	}
	
	if(page_truncate && page_max <= nbpages-1) {
		tpl += "...";
		tpl += page_lien(nbpages, nbpages, page_name, letter, args, false);
	}

	return tpl;
}

function addslashes(str) {
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\0/g,'\\0');
return str;
}

function page_lien(i, nbpages, page_name, letter, args, current_page) {
	args_str = "['"+args[0]+"'";
	for(var j=1; j<args.length; j++) {
		args_str += ", '"+addslashes(args[j])+"'";
	}
	args_str += "]";

	if(current_page)
		return "<span class=\"active\">"+i+"</span>";
	else
		return '<a href="#" onclick="getPage(\''+page_name+'\', '+i+', '+nbpages+', \''+letter+'\', '+args_str+'); return false;">&nbsp;&nbsp;'+i+'&nbsp;&nbsp;</a>';
}

/**
 * prevPage
 * go to previous page in the scrollable
 * improvement: delete unnecessary pages at the end
 */
function prevPage(dalink, prefixe) {
	api = eval(prefixe + '_api');
	pages = eval(prefixe + '_pages');
	if (api.getPageIndex() > 0) {
		$(dalink).closest('.pointeur').find('.pageNum').html(api.getPageIndex());
		api.prev();
	}
}
/**
 * nextPage
 * go to next page in the scrollable
 * if the page is not built: build it
 * improvement: delete unnessary pages at the beginning
 */
function nextPage(dalink, prefixe) {
	api = eval(prefixe + '_api');
	pages = eval(prefixe + '_pages');
	if (api.getPageIndex() < pages.length - 1) {
		$(dalink).closest('.pointeur').find('.pageNum').html(api.getPageIndex() + 2);
		if (api.getPageIndex() == api.getPageAmount() - 1) {

		    // append new item using jQuery's append() method 
		    api.getItemWrap().append(
		    	pages[api.getPageIndex() + 1]
		    );
		    
		    // bind hover to the new vignettes
		    bindHoverVignettes();

		    // rebuild scrollable and move to the end to see what happened 
		    api.reload().end(); 
		} else {
			api.next();
		}
	}
}

/**
 * bindHoverVignettes
 * bind mouseenter and mouseleave on vignettes
 */
function bindHoverVignettes() {
    $(".vignette").bind("mouseenter", function(){
		$(".mask", this).show();
		$(".discoverHover", this).show();
		$(".discoverOut", this).hide();
    }).bind("mouseleave",function(){
		$(".mask", this).hide();
		$(".discoverHover", this).hide();
		$(".discoverOut", this).show();
    });
}

/**
 * movePointer
 * move pointer to the good position in the slider
 */
function movePointer(dalink, prefixe) {
	
	var api = eval(prefixe + '_api');
	var pages = eval(prefixe + '_pages');
	var selecteur = ($(dalink).closest('.selecteur'));

	var pointer = dalink.parentNode;
	var numPages = pages.length;
	var sliderWidth = selecteur.width();
	var pointerWidth = 120;
	var p = api.getPageIndex() + 1;
	var x = (p - 1) * (sliderWidth - pointerWidth) / (numPages - 1);
	
	//avec animation
	$(pointer).animate(
		{"left": x + 'px'},
		600,
		'swing'
	);
	//sans animation
	//$(pointer).css('left', x + 'px');
}

//changer la langue du site
function setLanguage(lang,url) {
	$.ajax({
		data: {action: 'setLanguage', lang: lang},
		url: 'test_ajax.php',
		success: function(data) {
			window.location.href=url;
		}
	});
}

//verifie que la recherche a été remplie
function checkSearch(search) {
	if(search)
		return true;
	else {
		document.getElementById('search_error').style.display = 'inline';
		return false;
	}
}

