var journeys = new Object();
journeys.journeys = new Array();
journeys.footer = '';
journeys.page = 0;
journeys.order = new Object();
journeys.order.order = 'p';
journeys.order.dir = 'lh';
journeys.order.all = false;
journeys.getJourneys = function (){
	journeys.getLoader('.aanbiedingen');
	$.post(
		'jquery.html', {
			'type' : 'journeys',
			'order' : journeys.order.order,
			'dir' : journeys.order.dir,
			'page' : variables.page,
			'region_id' : variables.region.id,
			'all' : journeys.order.all,
			'country_id' : variables.country.id
		},
		function (data){
			journeys.journeys = new Array();
			var ii = 0;
			journeys.journeys[ii] = '';
			if (data.length > 0){
			    for(var i = 0; i < data.length; i++){
				    var journey = data[i];
				    journeys.journeys[ii] += journeys.setJourneys(journey);
				    if ((i+1) % variables.max == 0 && i+1 < data.length){
					    ii++;
					    journeys.journeys[ii] = '';
				    }
			    }
			    journeys.genFooterHTML();
			} else {
			    $('.aanbiedingen').each(function(){
			        var page = typeof(variables.region.name) != 'undefined'? variables.region.name : variables.country.name;
			        $(this).html('<img src="images/berichten-top.jpeg" /><div class="berichten">Wij hebben geen specifieke reizen voor u gevonden. <a href="' + variables.nojourneysurl + '" title="Reisorganisaties ' + page + '" class="nojourneys">Klik hier</a> voor een overzicht van reisorganisaties die een jongerenvakantie naar ' + page + ' aanbieden.</div><img src="images/berichten-bottom.jpeg" />');
			     });
			     document.getElementById('aanbiedingen-sort').style.display = 'none';
			     $('.aanbiedingen-footer').css('display', 'none');
			}
		}, 'json'
	)
}

journeys.getLoader = function (obj) {
	var html = '<div class="aanbieding"><div class="zoomloader">';
	html += '<img src="images/zoomloader.gif" alt="Even geduld alstublieft..." />';
	html += '<p>Even geduld alstublieft</p>';
	html += '</div></div>';
	$(obj).html(html);
}

journeys.genFooterHTML = function (page){
    var html = '<ul>';
    page = typeof(page) == 'undefined'? 0 : page;
    page = parseInt(page);
    page = page <= journeys.journeys.length && page > 0 ? page : 0;
    journeys.page = page;
    var maxbothsides = 5;
    var maxitems = maxbothsides * 2;
    var items = journeys.journeys.length;
    var end = items < maxitems || page + maxbothsides > items? items : (page + maxbothsides < maxitems? maxitems : page + maxbothsides);
    var start = page > maxitems? (page - maxbothsides) : (page <= maxbothsides? 0 : page - maxbothsides);
    for (var i = start; i < end; i++){
        var j = journeys.journeys[i];
        var active = page == i? ' style="font-weight:bold;"' : '';
        html += '<li><a href="#" title="Pagina ' + i + '" id="footer-' + (i) + '"' + active + '>[' + (i+1) + ']</a></li>';
    }
    html += '</ul>';
    $('.aanbiedingen-footer').html (html);
    journeys.getPage(page);
    $('.aanbiedingen-footer a').click(function (){
        var id = $(this).attr('id');
        id = id.replace('footer-', '');
        journeys.genFooterHTML(id);
        return false;
    });
}

journeys.getPage = function (page) {
	$('.aanbiedingen').html(journeys.journeys[page]);
}

journeys.setJourneys = function (journey){
	var html = '<div class="aanbieding">';
	html += '<div class="left">';
	html += '<span class="top">';
	html += '<a href="' + journey.country_url + '" title="' + journey.country.name + '">' + journey.country.name + '</a> &bull; ';
	html += '<a href="' + journey.region_url + '" title="' + journey.region.name + '">' + journey.region.name + '</a>';
	html += '</span>';
	html += '<a href="' + journey.product_url + '" title="' + journey.name + '" target="_blank" rel="nofollow">';
	html += '<img src="' + variables.image_path + 'journeys/' + journey.image_url + '" alt="' + journey.name + '" class="vak-preview" />';
	html += '</a>';
	html += '</div>';
	html += '<div class="center">';
	html += '<h3><a href="' + journey.product_url + '" title="' + journey.name + '" target="_blank" rel="nofollow">' + journey.name + '</a></h3>';
	html += '<p>' + journey.description + '</p>';
	html += '<p class="bottom">';
	html += '<a href="' + journey.product_url + '" title="Boek direct ' + journey.name + '" target="_blank" rel="nofollow"><img src="' + variables.image_path + 'bekijk-direct.png" alt="Boek direct ' + journey.name + '" /></a>  ';
	html += '<a href="' + journey.journey_url + '" title="Meer informatie ' + journey.name + '"><img src="' + variables.image_path + 'meer-info.png" alt="Boek direct ' + journey.name + '" /></a>';
	html += '</p>';
	html += '</div>';
	html += '<div class="right">';
	html += '<div class="aanbieding-rood">';
	html += '<span>v.a.</span>';
	html += '<span class="price">&euro;' + journey.price + '</span>';
	html += '</div>';
	html += '</div>';
	html += '</div>';
	return html;
}

$(document).ready(function (){
	if (variables.doJourneys){
		journeys.getJourneys();
		if (variables.region.name != ''){
		    document.getElementById('f_select_plaats').parentNode.removeChild(document.getElementById('f_select_plaats'));
		}
		$('#f_sort select').change (function (){
			journeys.order.all = true;
			var option = $(this).children('option:selected').val();
			if ($(this).attr('name') == 'type'){
				if (option != journeys.order.order){
					journeys.order.order = option;
					journeys.getJourneys();
				}
			} else if ($(this).attr('name') == 'dir'){
				if (option != journeys.order.dir){
					journeys.order.dir = option;
					journeys.getJourneys();
				}
			}
		});
	}
});

