// ==== Jquery Functions =========================================

$(document).ready(function(){ 

    $(document).pngFix(); 
    
    $('#searchOnDistance').click(function(){
    	
    	$('.config .tab').removeClass('active');
    	$(this).addClass('active');
    	
  		$('#placeSelectorBox').hide(); 
  		$('#distanceSelectorBox').fadeIn(); 
  		$('#waarType').val('distance');
    	
    });

    $('#searchOnPlace').click(function(){
    	
    	$('.config .tab').removeClass('active');
    	$(this).addClass('active');
    	
    	$('#distanceSelectorBox').hide(); 
    	$('#placeSelectorBox').fadeIn(); 
    	$('#waarType').val('place');
    	
    });

});


// ==== Asynchronous JavaScript and XML :) =======================

function ajaxFunction(){
  var xmlHttp;
  try {
	// Firefox, Opera 8.0+, Safari
	xmlHttp=new XMLHttpRequest();
  } catch(e){
	// Internet Explorer
	try {
	  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  } catch(e){
	try {
	  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  } catch(e){
	  alert("Uw browser ondersteund geen AJAX!");
	  return false;
	  }
	}
  }
  return xmlHttp;
}


// ==== AJAX & JS Functions ===============================


function validate_postcode(){
	
	var xmlHttp = ajaxFunction();
	
	var postcode = $('#postcode').val();
	
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			
			var plaats = xmlHttp.responseText;
			
			if(plaats){

				$("#postcodePlace").html(plaats);
				$("#postcodeInput").animate( { height:"40px"},300);
				
				$('#postcodeScrollBox').bind('marquee', function() {
					
					$(this).fadeIn();
					
					var boxWidth = $(this).width();
					var textWidth = $('#postcodeScrollText').width();
					
					if (textWidth > boxWidth) {
						var animSpeed 	= (textWidth - boxWidth) * 50; // 50 pix per sec
						var pauzeSpeed 	= 1500;
						var repeatSpeed	= 5000;
						$(this)
							.animate({dummy: 1},pauzeSpeed)
							.animate({scrollLeft: textWidth - boxWidth}, animSpeed)
							.animate({dummy: 1},pauzeSpeed)
							.animate({scrollLeft: 0}, animSpeed, function() {
								$(this).animate({dummy: 1},repeatSpeed).trigger('marquee');
							});
					}
				}).trigger('marquee');
				
			} else {

				$("#postcodePlace").html(plaats);
				$("#postcodeInput").animate( { height:"25px"},300);
				
			}

		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=validate_postcode&postcode="+postcode, true);
	xmlHttp.send(null);
	
	return true;
	
}

function insert_place_suggestion(placeID, postcodeID, provinceID){
	
	var xmlHttp = ajaxFunction();

	var postcode = $(postcodeID).val();
	
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			var data = xmlHttp.responseText.split("|");

			$(postcodeID).val(data[0]);
			
			if(data[1]){
				$(placeID).val(data[1]);
			} else {
				$(placeID).val('');
			}
			if(data[1]){
				$(provinceID).val(data[2]);
			} else {
				$(provinceID).val('');
			}

		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=insertPlaceSuggestion&postcode="+postcode, true);
	xmlHttp.send(null);
	
	return true;

}

function refresh_suggestions(selector, valueId, action, addVal){
	
	var xmlHttp = ajaxFunction();
	
	var keyword = $(valueId).val();
	if(addVal){
		var addVal = $(addVal).val();
	}
	
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			var returned_txt = xmlHttp.responseText;
			
			if(returned_txt){
			
				$(selector).html(returned_txt);
				
				$(selector).show();
				
			} else {

				$(selector).fadeOut();
				
			}

		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action="+action+"&keyword="+keyword+"&addVal="+addVal, true);
	xmlHttp.send(null);
	
	return true;

}


function ajaxfunctie(value){
	
	var xmlHttp = ajaxFunction();
	
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {

			var returned_txt = xmlHttp.responseText;
			
		}
	}

	xmlHttp.open("GET", "/ajax.inc.php?action=ajaxfunctie&value="+value, true);
	xmlHttp.send(null);
	
	return true;

}




