var zoekOpdrachten = new Array();

$(function(){
  $(".resultatenVak .meerAanbieders").click(function() {
	  $(".resultatenVakContent .aanbieders").animate({height: '100%'}, 400);
		$(this).fadeOut();
	});
	
  $(".sideVak .meerAanbieders").click(function() {
	  $(".sideVak .aanbieders").animate({height: '100%'}, 400);
		$(this).fadeOut();
	});  
  
	$("#vertrekDatum").datepicker({ minDate: new Date(), dateFormat: 'dd/mm/yy' });
	$("#retourDatum").datepicker({ minDate: new Date(), dateFormat: 'dd/mm/yy' });
	
  var url = webadres + 'php/verwerk/luchthavens.php';
	
  $("#lokatieVan").autocomplete(url, {minChars: 2,delay: 100});
  $("#lokatieNaar").autocomplete(url, {minChars: 2,delay: 100});
	
  $('#lokatieVan').result(function(event, data, formatted) {
    if(data) {
	    $('#lokatieVanID').val(data[1]);
	  }
  });		
	
  $('#lokatieNaar').result(function(event, data, formatted) {
    if(data) {
	    $('#lokatieNaarID').val(data[1]);
	  }
  });
	
	$('#lokatieVan').bind('keyup', function () {
	  $('#lokatieVanID').val('');	
	});
	
	$('#lokatieVan').bind('change', function () {
	  $('#lokatieVanID').val('');	
	});		
	
	$('#lokatieNaar').bind('keyup', function () {
	  $('#lokatieNaarID').val('');	
	});
	
	$('#lokatieNaar').bind('change', function () {
	  $('#lokatieNaarID').val('');	
	});			
  
  $('.verwijderOpdrachten').bind('click', function () {
    verwijderZoekOpdrachten();
  });
	
	bindOpdrachtTitels();
	
  /*
	$(".aanbieders>.aanbieder").bind('click', function () {
	  var aanbiederID     = $(this).children('.aanbiederID').val();
    
    zoekOpdracht(aanbiederID);
	});
  */
});

function zoekOpdracht(aanbiederID) {
    var link = $('#aanbiederBanner' + aanbiederID).attr('href');

	  var type            = $('.soortReis .radio:checked').val();
		var lokatieVan      = $('#lokatieVan').val();
		var lokatieVanID    = $('#lokatieVanID').val();
		var lokatieNaar     = $('#lokatieNaar').val();
		var lokatieNaarID   = $('#lokatieNaarID').val();		
		var vertrekDatum    = $('#vertrekDatum').val();
		var retourDatum     = $('#retourDatum').val();
		var aantalReizigers = $('#aantalReizigers').val();
		
    var params = {
        'type': type,
        'aanbiederID': aanbiederID,
				'lokatieVan': lokatieVan,
        'lokatieVanID': lokatieVanID,
				'lokatieNaar': lokatieNaar,
        'lokatieNaarID': lokatieNaarID,
        'vertrekDatum': vertrekDatum,
        'retourDatum': retourDatum,
        'aantalReizigers': aantalReizigers
    };
    
    var nuString = type + lokatieVan + lokatieVanID + lokatieNaar + lokatieNaarID + vertrekDatum + retourDatum + aantalReizigers;
    
    var inOpdrachten = false;
    
    for (x = 0; x < zoekOpdrachten.length; x++) {
      if(zoekOpdrachten[x] == nuString) {
        inOpdrachten = true;
      }
    }
    
    if(inOpdrachten == false) {
      $('.aanbiederBanner').attr('href', '#');
    }
    
    zoekOpdrachten[zoekOpdrachten.length] = nuString;

    $.ajax({
        type: "POST",
        url: webadres + "php/verwerk/zoekOpdracht.php",
        data: params,
        dataType: "xml",
        success: function(xml) { zoekOpdrachtResultaat(xml, aanbiederID, link, inOpdrachten); },
        error: err
    });	
    

    var link = $('#aanbiederBanner' + aanbiederID).attr('href');    
    
    if (link == '#') {
        return false;
    }
}

function verwijderZoekOpdrachten() {
    $.ajax({
        type: "POST",
        url: webadres + "php/verwerk/zoekOpdrachtenVerwijderen.php",
        dataType: "xml",
        error: err
    });
    
    $('.opdrachtenLijst').fadeOut();
}

function bindOpdrachtTitels() {
  $('.opdracht .titel').unbind('click');
	$('.opdracht .titel').bind('click', function () {
	  $('.opdracht .opdrachtBody').each(function () {
		  $(this).slideUp();
		});
		
		$(this).parent().children('.opdrachtBody').slideDown();
		
		var opdrachtID = $(this).parent().children('.opdrachtID').val();

		$('#lokatieVan').val($('#opdracht' + opdrachtID + ' .lokatieVan').html());
		$('#lokatieNaar').val($('#opdracht' + opdrachtID + ' .lokatieNaar').html());
    $('#vertrekDatum').val($('#opdracht' + opdrachtID + ' .vertrekDatum').html());
    $('#retourDatum').val($('#opdracht' + opdrachtID + ' .retourDatum').html());
    $('#lokatieVanID').val($('#opdracht' + opdrachtID + ' .lokatieVanID').val());
    $('#lokatieNaarID').val($('#opdracht' + opdrachtID + ' .lokatieNaarID').val());
		
		$("#aantalReizigers option[text=" + $('#opdracht' + opdrachtID + ' .aantalReizigers').val() + "]").attr("selected", true);
		
		var soort = $('#opdracht' + opdrachtID + ' .soortReis').val();
		
		if(soort == 'retour') {
      $("#soortReisRetour").attr("checked","checked");
		} else {
      $("#soortReisEnkel").attr("checked","checked");
		}						
	});
	
	$('.opdracht .buttons .opslaan').unbind('click');
	$('.opdracht .buttons .opslaan').bind('click', function () {
		var opdrachtID = $(this).parent().parent().parent().parent().attr('id');	  

		var aanbieders = new Array();
		
	  $('#' + opdrachtID + ' .lijst input').each(function () {
		  var veld = $(this).attr('name');
			var waarde = $(this).val();

			aanbieders[aanbieders.length] = new Array(veld, waarde);
		});
		
    var params = {
        'opdracht': opdrachtID,
        'prijzen[]': aanbieders
    };		
		
    $.ajax({
        type: "POST",
        url: webadres + "php/verwerk/zoekOpslaan.php",
        data: params,
        dataType: "xml",
        success: function (xml) { prijzenOpslaan(xml, opdrachtID); },
        error: err
    });	
	});
  
	$('.opdracht .buttons .mail').unbind('click');
	$('.opdracht .buttons .mail').bind('click', function () {
		var opdrachtID = $(this).parent().parent().parent().parent().attr('id');	  
		
	  $('#dialog').fadeOut(function () {
		  $(this).remove();
		});
		
		$('body').append('<div class="transparentLayer"></div>');
		
		$('.transparentLayer').fadeIn(function () {
      var dialogContent  = '<p>E-mail naar:</p><div><input type="text" id="opdracht' + opdrachtID + 'EmailAdres" value="" /></div><br/>';
          dialogContent += '<p>Uw naam:</p><div><input type="text" id="opdracht' + opdrachtID + 'Naam" value="" /></div><br/>';
          dialogContent += '<p>Naam ontvanger:</p><div><input type="text" id="opdracht' + opdrachtID + 'NaamOntvanger" value="" /></div><br/>';      
      
      $('body').append('<div id="dialog">' + dialogContent + '</div>');	
      $('#dialog').dialog( {title: 'Zoekopdracht e-mailen', buttons: { "Versturen": function() { emailZoekOpdracht(opdrachtID); }, "Annuleren": function() { $(this).dialog("close"); } } } );
      
        $('#dialog').bind('dialogbeforeclose', function(event, ui) {
          $('.transparentLayer').fadeOut(function () {
          $(this).remove();
        });
      });			
		});    
	});  
}

function emailZoekOpdracht(opdrachtID) {
  var emailAdres = $('#opdracht' + opdrachtID + 'EmailAdres').val();
  var naam = $('#opdracht' + opdrachtID + 'Naam').val();
  var naamOntvanger = $('#opdracht' + opdrachtID + 'NaamOntvanger').val();
  
	  $('#dialog').fadeOut(function () {
		  $(this).remove();

  		$('.transparentLayer').fadeIn(function () {
        var dialogContent  = '<p>Uw e-mail is verzonden</p>';     
        
        $('body').append('<div id="dialog">' + dialogContent + '</div>');	
        $('#dialog').dialog( {title: 'Zoekopdracht verzonden', buttons: { "OK": function() { $(this).dialog("close"); } } } );
        
          $('#dialog').bind('dialogbeforeclose', function(event, ui) {
            $('.transparentLayer').fadeOut(function () {
            $(this).remove();
          });
        });			
  		});  
		});  
    
    var params = {
        'opdracht': opdrachtID,
        'naam': naam,
        'naamOntvanger': naamOntvanger,
        'emailAdres': emailAdres
    };	    
    
    $.ajax({
        type: "POST",
        url: webadres + "php/verwerk/zoekOpdrachtMailen.php",
        data: params,
        dataType: "xml",
        error: err
    });    
}

function err(xhr, reason, ex) {
  alert(xhr.statusText);
  alert(reason);
}

function prijzenOpslaan(xml, opdrachtID) {
  $('#' + opdrachtID + ' .opdrachtBody .opslaanVoltooid').fadeOut(function () {
	  $(this).remove();
	});
  $('#' + opdrachtID + ' .opdrachtBody').append('<div class="opslaanVoltooid">Prijzen opgeslagen</div>');	
}

function verwijderZoekAanbieder(id) {
  $('#zoekAanbieder' + id).fadeOut(function () {
    $(this).remove();
  });
  
    var params = {
        'aanbieder': id
    };	    
    
    $.ajax({
        type: "POST",
        url: webadres + "php/verwerk/zoekOpdrachtAanbiederVerwijderen.php",
        data: params,
        dataType: "xml",
        error: err
    });   
}

function zoekOpdrachtResultaat(xml, aanbiederID, link, inOpdrachten) {
  var resultaat = $(xml).find("status").attr("code");
	var dialogContent = '';
	
	if(resultaat == 200) {
	  dialogContent += '<ul class="foutmeldingen">';
		
    $(xml).find("fout").each(function () {
        var fout = $(this).attr('omschrijving');
				dialogContent += '<li>' + fout + '</li>';
    });		
		
		dialogContent += '</ul>';
	
	  $('#dialog').fadeOut(function () {
		  $(this).remove();
		});
		
		$('body').append('<div class="transparentLayer"></div>');
		
		$('.transparentLayer').fadeIn(function () {
	        $('body').append('<div id="dialog">' + dialogContent + '</div>');	
    	    $('#dialog').dialog( {title: 'Let op', buttons: { "Ok": function() { $(this).dialog("close"); } } } );
					
          $('#dialog').bind('dialogbeforeclose', function(event, ui) {
            $('.transparentLayer').fadeOut(function () {
						  $(this).remove();
						});
          });			
		});
	} else if (resultaat == 100) {
	  var zoekopdracht = $(xml).find("status").attr("id");
	  var zoekdatum = $(xml).find("status").attr("datum");
	  var zoektijd = $(xml).find("status").attr("tijd");
	  var isnieuw = $(xml).find("status").attr("nieuw");
	  var vertrekdatum = $(xml).find("status").attr("vertrekdatum");
	  var retourdatum = $(xml).find("status").attr("retourdatum");
		
	  var aantalReizigers = $(xml).find("status").attr("aantalReizigers");
	  var soortReis = $(xml).find("status").attr("soortReis");		
				
		var lokatie_van_titel = $(xml).find("lokatieVan").attr("titel");
		var lokatie_naar_titel = $(xml).find("lokatieNaar").attr("titel");
		var lokatie_van_id = $(xml).find("lokatieVan").attr("id");
		var lokatie_naar_id = $(xml).find("lokatieNaar").attr("id");
		
		var affiliateURL = $(xml).find("url").attr("affiliate");
		var resultatenURL = $(xml).find("url").attr("resultaten");
			
		$('#affiliateFrame').attr('src', affiliateURL);

		if (isnieuw == 1) {
		  var nieuweOpdracht = '';
			    nieuweOpdracht += '<div class="opdracht" id="opdracht' + zoekopdracht + '" style="display: none">';
				  nieuweOpdracht += '<input type="hidden" class="opdrachtID" value="' + zoekopdracht + '" />';
				  nieuweOpdracht += '<input type="hidden" class="lokatieVanID" value="' + lokatie_van_id + '" />';
				  nieuweOpdracht += '<input type="hidden" class="lokatieNaarID" value="' + lokatie_naar_id + '" />';
				  nieuweOpdracht += '<input type="hidden" class="aantalReizigers" value="' + aantalReizigers + '" />';
					nieuweOpdracht += '<input type="hidden" class="soortReis" value="' + soortReis + '" />';					
					nieuweOpdracht += '<div class="titel">Zoekopdracht van ' + zoekdatum + ' om ' + zoektijd + '</div>';
					nieuweOpdracht += '<div class="opdrachtBody">';
					
					nieuweOpdracht += '<div class="lokaties">';
					nieuweOpdracht += '<div class="lokatie"><strong>Van:</strong> <span class="lokatieVan">' + lokatie_van_titel + '</span></div>';
					nieuweOpdracht += '<div class="lokatie"><strong>Naar:</strong> <span class="lokatieNaar">' + lokatie_naar_titel + '</span></div>';
					nieuweOpdracht += '</div>';
										
					nieuweOpdracht += '<div class="datum"><strong>Vertrekdatum:</strong> <span class="vertrekDatum">' + vertrekdatum + '</span></div>';
					nieuweOpdracht += '<div class="datum"><strong>Retourdatum:</strong> <span class="retourDatum">' + retourdatum + '</span></div>';
					
	  			nieuweOpdracht += '<div class="aanbiederslijst">';
  				nieuweOpdracht += '<div class="kopjes"><div class="een">Aanbieder:</div><div class="twee">Laagste prijs:</div></div>';
					nieuweOpdracht += '<div class="lijst">';
					
          $(xml).find("aanbieder").each(function () {
            var aanbiederID = $(this).attr('id');
            var aanbiederAanbieder = $(this).attr('aanbieder');            
						var aanbiederTitel = $(this).attr('titel');
						var aanbiederPrijs = $(this).attr('prijs');
						var aanbiederKlasse = $(this).attr('klasse');

						nieuweOpdracht += '<div class="item ' + aanbiederKlasse + '"><div class="text aanbiederLogo' + aanbiederAanbieder + '">' + aanbiederTitel + '</div><div class="prijs"><input type="text" name="' + aanbiederID + '" class="prijs' + aanbiederID + '" value="' + aanbiederPrijs + '" size="5" /></div><div class="breekpunt"></div></div>';
					});					
					
				  nieuweOpdracht += '</div>';					
				  nieuweOpdracht += '<div class="buttons"><img src="' + webadres + 'img/vliegtickets/buttonmail.jpg" class="mail" /> <img src="' + webadres + 'img/vliegtickets/buttonopslaan.jpg" class="opslaan" /></div>';
				  nieuweOpdracht += '</div>';										
					
					nieuweOpdracht += '</div>';
					nieuweOpdracht += '</div>';
			
  	  $('.opdracht .opdrachtBody').each(function () {
  		  $(this).slideUp();
  		});						
			
		  $('.opdrachtenVakContent .opdrachtenStart').after(nieuweOpdracht);
			$('#opdracht' + zoekopdracht).slideDown();
			
			bindOpdrachtTitels();
		} else {
		  $('#opdracht' + zoekopdracht + ' .aanbiederslijst .lijst').fadeOut(function () {
					var nieuweAanbieders = '';

          $(xml).find("aanbieder").each(function () {
            var aanbiederID = $(this).attr('id');
            var aanbiederAanbieder = $(this).attr('aanbieder');
						var aanbiederTitel = $(this).attr('titel');
						var aanbiederPrijs = $(this).attr('prijs');
						var aanbiederKlasse = $(this).attr('klasse');

						nieuweAanbieders += '<div id="zoekAanbieder' + aanbiederID + '" class="item ' + aanbiederKlasse + '"><div class="text aanbiederLogo' + aanbiederAanbieder + '"">' + aanbiederTitel + '</div><a class="verwijderZoekAanbieder" href="javascript:verwijderZoekAanbieder(' + aanbiederID + ')"></a><div class="prijs"><input type="text" name="' + aanbiederID + '" class="prijs' + aanbiederID + '" value="' + aanbiederPrijs + '" size="5" /></div><div class="breekpunt"></div></div>';
					});
					
					$(this).html(nieuweAanbieders);
					$(this).fadeIn();
			});
		}
		
      if(inOpdrachten == false) {      
        var dialogContent = '';
    	  dialogContent += '<div class="zoekOpdrachtInfo">';
        dialogContent += '<div class="lokatieVan"><span class="kopje">Van:</span> ' + lokatie_van_titel + '</div>';
        dialogContent += '<div class="lokatieNaar"><span class="kopje">Naar:</span> ' + lokatie_naar_titel + '</div>';
        dialogContent += '<div class="datumVertrek"><span class="kopje">Vertrek:</span> ' + vertrekdatum + '</div>';
        dialogContent += '<div class="datumRetour"><span class="kopje">Retour:</span> ' + retourdatum + '</div>';
        dialogContent += '<div class="aantalReizigers"><span class="kopje">Aantal reizigers:</span> ' + aantalReizigers + '</div>';
        dialogContent += '<a href="' + resultatenURL + '" target="_blank" onclick="dialoogSluiten()"><img src="' + webadres + 'img/vliegtickets/bevestigen.jpg" alt="" /></a>';
    		dialogContent += '</div>';
    	
    	  $('#dialog').fadeOut(function () {
    		  $(this).remove();
    		});
    		
    		$('body').append('<div class="transparentLayer"></div>');
    		
    		$('.transparentLayer').fadeIn(function () {
    	        $('body').append('<div id="dialog">' + dialogContent + '</div>');	
        	    //$('#dialog').dialog( {title: 'Uw zoekopdracht', buttons: { "Sluiten": function() { $(this).dialog("close"); } } } );
              $('#dialog').dialog( {title: 'Uw zoekopdracht', width: 450} );
    					
              $('#dialog').bind('dialogbeforeclose', function(event, ui) {
                $('.transparentLayer').fadeOut(function () {
    						  $(this).remove();
    						});
              });			
    		});     
        
        $(xml).find("aanbiederLink").each(function () {
              var aanbiederAanbieder = $(this).attr('aanbieder');            
  						var aanbiederTitel = $(this).attr('titel');
  						var aanbiederLink = $(this).attr('link');
              
              $('#aanbiederBanner' + aanbiederAanbieder).attr('href', aanbiederLink);      
        });
      }    
    
    /*
		if(resultatenURL) {
//		  alert(resultatenURL);
          var dialogContent = 'Bezig met laden resultaten..';

      	  $('#dialog').fadeOut(function () {
      		  $(this).remove();
      		});
      		
      		$('body').append('<div class="transparentLayer"></div>');
      		
      		$('.transparentLayer').fadeIn(function () {					
  	        $('body').append('<div id="dialog">' + dialogContent + '</div>');	
      	    $('#dialog').dialog( {title: 'Uw zoekopdracht' } );
  					
            $('#dialog').bind('dialogbeforeclose', function(event, ui) {
              $('.transparentLayer').fadeOut(function () {
  						  $(this).remove();
  						});
            });	
					});

			setTimeout('openURL("' + resultatenURL + '")', 2000);
		}		
    */
	}
}

function dialoogSluiten() {
  $('#dialog').dialog('close');
}

function openURL(url) {
	//window.open('http://www.goedkope-vliegtickets.nl/nieuw/test', 'testscherm');
  $('#dialog').dialog('close');
  //window.open(url, 'resultatenScherm');
	$('#verwerkZoekOpdracht .url').val(url);
	$('#verwerkZoekOpdracht').submit();
  //document.verwerkZoekOpdracht.submit();
	$('#verwerkZoekOpdracht').attr('action', $('#verwerkZoekOpdracht').attr('action') + 1);

  /*
	if (document.getElementById('naarHome')) {
	  window.location = webadres + 'home';
	}
  */
}

function bookmark() {
if (document.all) {
 window.external.AddFavorite(document.location.href , document.title);
}
}