$(document).ready(function() {
	refresh_oferte ();	
	
	//	RESETEZ CASUTELE CU FILTRE
	var ord_col = $('#ord_col').val();			//	1-pret	2-croaziera	3-vapor	4-perioada	5-durata
	var ord_dir = $('#ord_dir').val();			//	0-asc / 1-desc
	
	$('#sort_crit'+ord_col).addClass((ord_dir == 0 ? 'asc':'desc'));
});

var reset_page = 1;

function refresh_oferte () {
	$('#searchresults').hide();
	$('#list_loader').show();
	if (reset_page == 1) $('#pagina').val(1);
	reset_page = 1;

	//	Lista variabile de filtrare 
	var ord_col = $('#ord_col').val();			//	1-pret	2-croaziera	3-vapor	4-perioada	5-durata
	var ord_dir = $('#ord_dir').val();			//	0-asc / 1-desc
	var lc = $('#linie').val();					//	linie croaziera
	var vapor = $('#vapor').val();				//	vapor
	var destinatie = $('#destinatie').val();	//	destinatie
	var perioada = $('#perioada').val();		//	perioada
	var durata = $('#durata').val();			//	durata
	var pretmin = $('#pretmin').val();			//	pret minim
	var pretmax = $('#pretmax').val();			//	pret maxim
	var imbarcare = $('#imbarcare').val();		//	0-porturi diferite	1-acelasi port
	var pagina = $('#pagina').val();			//	pagina
	
	generare_filtre(lc + "," + vapor + "," + destinatie + "," + perioada + "," + durata + "," + pretmin + "," + pretmax + "," + imbarcare);
	
	var url  = "croaziere_cautare_avansata-" + ord_col + "," + ord_dir + "," + lc + "," + vapor + "," + destinatie + "," + perioada + "," + durata + "," + pretmin + "," + pretmax + "," + imbarcare + "," + pagina + "-" + Math.random() + ".htm";
	$.get(url, "", function(xml) {
		nr_oferte = $("no", xml).text();
		nr_pagini = $("nrp", xml).text();
		$('#num_offers').text(nr_oferte + " ofert" + (nr_oferte == 1 ? 'a':'e'));
		$('#num_results').text(nr_oferte);
		
		output = '';
		var contor_oferte=0;
		
		$("o", xml).each(function() {
			var id_oferta = $(this).attr("i");
			var denumire_destinatie = $("d",this).text();
			var id_vapor = $("idv",this).text();
			var denumire_vapor = $("v",this).text();
			var poza_vapor = $("pv",this).text();
			var numar_zile = $("nz",this).text();
			var pret_minim = $("pm",this).text();
			var tip_oferta = $("t",this).text();
			var id_operator = $("op",this).attr("i");
			var denumire_operator = $("op",this).text();
			var poza_operator = $("pop",this).text();
			var nota_expertilor = $("ne",this).text();
			var itinerariu = $("itn",this).text();
			var plecari = $("pl",this).text();
			
			var lista_poze = '<li class="lb on"><img src="'+poza_vapor+'" width="190" height="145" alt="Croaziere '+denumire_vapor+'" title="Croaziere '+denumire_vapor+'" /></li>';
			$("pz", this).each(function() {
				var poza = $(this).text();
				lista_poze += '<li class="lb"><img src="'+poza+'" width="190" height="145" alt="Croaziere '+denumire_vapor+'" title="Croaziere '+denumire_vapor+'" /></li>';
			});
			
			var text_tip_oferta = '';
			if (tip_oferta == '2') text_tip_oferta = ' - SPECIALA';
			else if (tip_oferta == '3') text_tip_oferta = ' - LAST MINUTE';
			else if (tip_oferta == '4') text_tip_oferta = ' - DE GRUP';
            
            var clasa_tip_oferta = '';
            if (tip_oferta == '2') clasa_tip_oferta = '';
            else if (tip_oferta == '3') clasa_tip_oferta = 'class="title_lm_list"';
            else if (tip_oferta == '4') clasa_tip_oferta = '';
			
			output += ' <li> <!--result--> <div class="result '+(contor_oferte%2 == 0 ? 'on':'')+'"> <!--result--> <ul id="cruise'+contor_oferte+'" class="list imglist">'+lista_poze+' <li class="vorige"><a href="#">Galerie foto</a></li> <li class="volgende"><a href="#">Galerie foto</a></li> </ul> <!--info--> <div class="info"> <div> <!--info--> <a href="croaziere_oferta-'+id_oferta+'.htm" title="Croaziera '+numar_zile+' zile in '+denumire_destinatie+'" '+clasa_tip_oferta+'><strong>'+numar_zile+' zile in '+denumire_destinatie+'' + text_tip_oferta + '</strong></a> <span style="color:#AAA; font-size:10px;">('+id_oferta+')</span><br /> '+itinerariu+' <ul> <li>Plecari: '+plecari+'</li> </ul> </div> <a class="button red" style="padding-bottom: 0px;" href="croaziere_oferta-'+id_oferta+'.htm" title="Croaziera '+numar_zile+' zile in '+denumire_destinatie+'"><span><em><nobr>Vezi detalii &gt;</nobr></em></span></a> <!--info--> </div> <!--info--> <div class="hr blue"></div> <ul class="about"> <li class="logo"><a href="croaziere_filter_object-3-'+id_operator+'.htm" title="Croaziera '+denumire_operator+'"><img src="'+poza_operator+'" alt="Croaziera '+denumire_operator+'" /></a></li> <li class="ship">Cu vaporul <a href="croaziere_filter_object-2-'+id_vapor+'.htm" title="Croaziere '+denumire_vapor+'">'+denumire_vapor+'</a> <span class="score wblue s3 on"></span></li> </ul> <ul class="about icons"> <li class="zoover" style="float:right; margin-right:4px;"><span class="zoover">nota<br /> <strong>'+nota_expertilor+'</strong></span></li> </ul> <p class="price">De la <strong>&euro; '+pret_minim+',</strong> /pers</p> <!--result--> <div class="clear"></div> </div> <!--result--> </li>';
			contor_oferte++;
		});

		create_paginatie(pagina, nr_pagini);
		
		pret_minim_gasit = $("pming", xml).text(); 
		pret_maxim_gasit = $("pmaxg", xml).text();
		
		$("#pretmin option").each(function () {
			$(this).attr("disabled", false);
			if (parseInt($(this).val())>=parseInt(pret_maxim_gasit) && $(this).val()!=0) $(this).attr("disabled", true);			
		  });
		
		$("#pretmax option").each(function () {
			$(this).attr("disabled", false);
			if (parseInt($(this).val())<parseInt(pret_minim_gasit) && $(this).val()!=0) $(this).attr("disabled", true);					
		  });
		
		$('#lista_rezultate').html(output);	
		for (var i =0; i<contor_oferte; i++)
			$('#cruise'+i+' li.lb a').lightBox();
			
		$('.list.imglist li.volgende').click(function(event){
			var listSize = $(this).parent().children('li').length;
			var back = false;
			event.preventDefault();
			$(this).parent().children('li').each(function(i) {

				if( $(this).hasClass('on') ){
					listitem = $(this);
					if(i == listSize-3){
						$(listitem).removeClass('on');
						$(listitem).parent().children('li:first').addClass('on').fadeIn('fast');
						back = true;
					}
				}
			});
			if(back == false){
				$(this).parent().children('.on').removeClass('on');
				$(listitem).next().addClass('on');
			}
		});
		$('.list.imglist li.vorige').click(function(event){
			var listSize = $(this).parent().children('li').length;
			var back = false;
			event.preventDefault();
			$(this).parent().children('li').each(function(i) {

				if( $(this).hasClass('on') ){
					listitem = $(this);
					if(i == 0){
						$(listitem).removeClass('on');
						$(listitem).parent().children('li:last').prev().prev().addClass('on').fadeIn('fast');
						back = true;
					}
				}
			});
			if(back == false){
				$(this).parent().children('.on').removeClass('on');
				$(listitem).prev().addClass('on');
			}
		});
		
		setTimeout(changeImageList,6000);
			
		$('#list_loader').hide();
		$('#searchresults').show();
	});
}

function changeImageList()
{
    $('.imglist').each(function(i)
    {
        var randomnumber=Math.floor(Math.random()*($(this).find('li.lb').length-1));
        var cur_Show = $(this).find('.on');
        $(this).find('li:nth-child('+randomnumber+')').addClass('on');
        if($(this).find('li.lb.on').length > 1){
            cur_Show.removeClass('on');
        }
    });
}

function create_paginatie(pag, nr_pagini) {
	pag = parseInt(pag);
	var paginator = '';
	var ultimapagina = nr_pagini;
	var lpm1 = ultimapagina-1;
	var adiacente = 3;
	var prev = pag - 1;
	var next = pag + 1;
	if(ultimapagina > 1){
		$('#paginator').show();
		if (pag > 1) 
			paginator+= "<li class=\"vorige on\">&lt; <a href=\"javascript:change_page("+prev+")\">Pagina anterioara</a></li>";
		else
			paginator+= "<li class=\"vorige\">&lt; <a>Pagina anterioara</a></li>";
		if (ultimapagina < 7 + (adiacente * 2)) {    
			for (var counter = 1; counter <= ultimapagina; counter++) {
				if (counter == pag)
					paginator += "<li class=\"page selected\"><a>"+counter+"</a></li>";
				else
					paginator += "<li class=\"page\"><a href=\"javascript:change_page("+counter+")\">"+counter+"</a></li>";                    
			}
		}
		else if(ultimapagina > 5 + (adiacente * 2)) {
			if(pag < 1 + (adiacente * 2)) {
				for (var counter = 1; counter < 4 + (adiacente * 2); counter++) {
					if (counter == pag)
						paginator += "<li class=\"page selected\"><a>"+counter+"</a></li>";
					else
						paginator += "<li class=\"page\"><a href=\"javascript:change_page("+counter+")\">"+counter+"</a></li>";                    
				}
				paginator += "<li class=\"page\">...</li>";
				paginator += "<li class=\"page\"><a href=\"javascript:change_page("+lpm1+")\">"+lpm1+"</a></li>";
				paginator += "<li class=\"page\"><a href=\"javascript:change_page("+ultimapagina+")\">"+ultimapagina+"</a></li>";        
			}
			else if (ultimapagina - (adiacente * 2) > pag && pag > (adiacente * 2)) {
				paginator+= "<li class=\"page\">Pagina &nbsp;<a href=\"javascript:change_page(1)\">1</a></li>";
				paginator+= "<li class=\"page\"><a href=\"javascript:change_page(2)\">2</a></li>";
				paginator+= "<li class=\"page\">...</li>";
				for (counter = pag - adiacente; counter <= pag + adiacente; counter++) {
					if (counter == pag)
						paginator+= "<li class=\"page selected\"><a>"+counter+"</a></li>";
					else
						paginator+= "<li class=\"page\"><a href=\"javascript:change_page("+counter+")\">"+counter+"</a></li>";                    
				}
				paginator += "<li class=\"page\">...</li>";
				paginator += "<li class=\"page\"><a href=\"javascript:change_page("+lpm1+")\">"+lpm1+"</a></li>";
				paginator += "<li class=\"page\"><a href=\"javascript:change_page("+ultimapagina+")\">"+ultimapagina+"</a></li>";       
			}
			else {
				paginator+= "<li class=\"page\">Pagina &nbsp;<a href=\"javascript:change_page(1)\">1</a></li>";
				paginator+= "<li class=\"page\"><a href=\"javascript:change_page(2)\">2</a></li>";
				paginator+= "<li class=\"page\">...</li>";
				for (counter = ultimapagina - (2 + (adiacente * 2)); counter <= ultimapagina; counter++) {
					if (counter == pag)
						paginator+= "<li class=\"page selected\"><a>"+counter+"</a></li>";
					else
						paginator+= "<li class=\"page\"><a href=\"javascript:change_page("+counter+")\">"+counter+"</a></li>";                     
				}
			}
		}
		if (pag < counter - 1) 
			paginator+= "<li class=\"volgende on\"><a href=\"javascript:change_page("+next+")\">Pagina urmatoare &gt;</a></li>";
		else
			paginator+= "<li class=\"volgende\"><a>Pagina urmatoare &gt;</a></li>";
		
		$('#paginator').html(paginator);
	}
	else $('#paginator').hide();
}

function change_page(pagina) {
	reset_page = 0;
	$('#pagina').val(pagina);
	document.location='#searchresults';
	refresh_oferte();
}

function disable_per(id) {
	$('#'+id).removeClass('on');	
	$('#durata').val(0);
	$('#pagina').val(1);
	refresh_oferte();
}

function enable_per(id, value) {
	$('#durata_1_4').removeClass('on');
	$('#durata_5_7').removeClass('on');
	$('#durata_8_10').removeClass('on');
	$('#durata_11_16').removeClass('on');
	$('#durata_16').removeClass('on');
	$('#'+id).addClass('on');	
	$('#durata').val(value);
	$('#pagina').val(1);
	refresh_oferte();
}

function disable_imb() {
	$('#same_port').removeClass('on');	
	$('#imbarcare').val(0);
	$('#pagina').val(1);
	refresh_oferte();
}

function enable_imb() {
	$('#same_port').addClass('on');	
	$('#imbarcare').val(0);
	$('#pagina').val(1);
	refresh_oferte();
}

function resorteaza (noua_coloana) {
	var ord_col = $('#ord_col').val();			//	1-pret	2-croaziera	3-vapor	4-perioada	5-durata
	var ord_dir = $('#ord_dir').val();			//	0-asc / 1-desc
	
	if (noua_coloana == ord_col) {
		$('#sort_crit'+ord_col).removeClass((ord_dir == 0 ? 'asc':'desc'));
		$('#sort_crit'+ord_col).addClass((ord_dir == 0 ? 'desc':'asc'));
		$('#ord_dir').val((ord_dir == 1 ? '0':'1'))
	}
	else {
		$('#sort_crit'+ord_col).removeClass((ord_dir == 0 ? 'asc':'desc'));	
		$('#sort_crit'+noua_coloana).addClass('asc');
		$('#ord_col').val(noua_coloana); $('#ord_dir').val(0);
	}
		
	refresh_oferte ();
}

function generare_filtre(request_string) {
	$('#loader').show();
	$('#linie').attr("disabled", true);					//	linie croaziera
	$('#vapor').attr("disabled", true);					//	vapor
	$('#destinatie').attr("disabled", true);			//	destinatie
	$('#perioada').attr("disabled", true);				//	perioada
	$('#pretmin').attr("disabled", true);				//	pret minim
	$('#pretmax').attr("disabled", true);				//	pret maxim
	$('#imbarcare').attr("disabled", true);
	var linie = $('#linie').val();
	var vapor = $('#vapor').val();
	var destinatie = $('#destinatie').val();
	var perioada = $('#perioada').val();
	var pretmin = $('#pretmin').val();
	var pretmax = $('#pretmax').val();
	var imbarcare = $('#imbarcare').val();
	
	$('#linie').empty(); $('#vapor').empty(); $('#destinatie').empty(); $('#perioada').empty();
	$('#linie').append('<option value="0" >Alegeti linia de croaziera</option>');
	$('#vapor').append('<option value="0" >Alegeti vaporul</option>');
	$('#destinatie').append('<option value="0" >Alegeti destinatia</option>');
	$('#perioada').append('<option value="0" >Alegeti perioada</option>');
	
	var url  = "croaziere_generate_filtre-" + request_string + "-" + Math.random() + ".htm";
	$.get(url, "", function(xml) {
		$("lc", xml).each(function() {
			var id = $(this).attr("v");
			var name = $(this).text();
			
			$('#linie').append('<option value="'+id+'" '+(linie==id ? 'selected="selected"':'')+'>'+name+'</option>');
		});
		
		$("v", xml).each(function() {
			var id = $(this).attr("v");
			var name = $(this).text();
			
			$('#vapor').append('<option value="'+id+'" '+(vapor==id ? 'selected="selected"':'')+'>'+name+'</option>');
		});
		
		$("d", xml).each(function() {
			var id = $(this).attr("v");
			var name = $(this).text();
			
			$('#destinatie').append('<option value="'+id+'" '+(destinatie==id ? 'selected="selected"':'')+'>'+name+'</option>');
		});
		
		$("p", xml).each(function() {
			var id = $(this).attr("v");
			var name = $(this).text();
			
			$('#perioada').append('<option value="'+id+'" '+(perioada==id ? 'selected="selected"':'')+'>'+name+'</option>');
		});
		
		nz1 = $("nz1", xml).text(); $('#num_durata_1_4').text(nz1);
		nz2 = $("nz2", xml).text(); $('#num_durata_5_7').text(nz2);
		nz3 = $("nz3", xml).text(); $('#num_durata_8_10').text(nz3);
		nz4 = $("nz4", xml).text(); $('#num_durata_11_16').text(nz4);
		nz5 = $("nz5", xml).text(); $('#num_durata_16').text(nz5);
		
		if (nz1==0) $("#durata_1_4").hide(); else $("#durata_1_4").show();
		if (nz2==0) $("#durata_5_7").hide(); else $("#durata_5_7").show();
		if (nz3==0) $("#durata_8_10").hide(); else $("#durata_8_10").show();
		if (nz4==0) $("#durata_11_16").hide(); else $("#durata_11_16").show();
		if (nz5==0) $("#durata_16").hide(); else $("#durata_16").show();
		
		$('#linie').attr("disabled", false);					//	linie croaziera
		$('#vapor').attr("disabled", false);					//	vapor
		$('#destinatie').attr("disabled", false);				//	destinatie
		$('#perioada').attr("disabled", false);					//	perioada
		$('#pretmin').attr("disabled", false);					//	pret minim
		$('#pretmax').attr("disabled", false);					//	pret maxim
		$('#imbarcare').attr("disabled", false);
		$('#loader').hide();
	});
}
