Event.observe(window, 'load', function() {
	
	$('con').observe('change', function(event){
		
		resetNode($('cou'), "Select Country");		
		resetNode($('cit'), "Select Port");	
		
		if (Event.element(event).value != "") {
			new Ajax.Request("pb/controllers/search_controller.php?", {
				method: "post",
				parameters: "a=countries&rid=" + Event.element(event).value,
				onSuccess: function(transport){
					var jsonData = eval('(' + transport.responseText + ')');
					for (var i = 0; i < jsonData.countries.length; i++) {
						var option = document.createElement('option');
						option.value = jsonData.countries[i].id;
						option.appendChild(document.createTextNode(jsonData.countries[i].name));
						$('cou').appendChild(option);
					}
					
				}
			});
		}
	});
	
	$('cou').observe('change', function(event){
		
		resetNode($('cit'), "Select Port");			
		
		if (Event.element(event).value != "") {
			new Ajax.Request("pb/controllers/search_controller.php?", {
				method: "post",
				parameters: "a=ports&cid=" + Event.element(event).value,
				onSuccess: function(transport){
					var jsonData = eval('(' + transport.responseText + ')');
					for (var i = 0; i < jsonData.ports.length; i++) {
						var option = document.createElement('option');
						option.value = jsonData.ports[i].id;
						option.appendChild(document.createTextNode(jsonData.ports[i].name));
						$('cit').appendChild(option);
					}
					
				}
			});
		}
	});
		
});

function resetNode(node, initialText){
	node.innerHTML = "";
	var newNode = document.createElement("option");		
	newNode.value="";
	newNode.selected="selected";
	newNode.appendChild(document.createTextNode( initialText ))
	node.appendChild(newNode);		
}

function validateSearchForm(){	
		var submit = true;
		var errors = "";
		if($('con').value==""){
			errors+="\tPlease select a continent!\n";
		}
		
		if($('cou').value==""){
			errors+="\tPlease select a country!\n";
		}
		
		if($('cit').value==""){
			errors+="\tPlease select a port!\n";
		}
		
		if(errors!=""){
			alert("The following errors were found.\n\n"+errors);	
			submit = false;
		}
		
		return submit;	
	
}
