(function($){


$.fn.extend({

	
	cascadeForm : function(options){
	
	var defaults ={
		table:"page",
		idField:"page_parent_ids"
	};
	
	var options = $.extend(defaults,options);
	
	return this.each(function(){
	
	
	var obj = $(this);

	loadData(0,obj);
	loadData(2,obj);
	var selFlds = $("select",obj);
	
	// - disable all form fields
	selFlds.attr('disabled',true);
	
	//- load data into top level field
	
	
	selFlds.each(function(){
		
$(this).bind("change",function(){

	var thisIndex  = $("select").index(this);
	var index = null;
	if($(this).attr("rel")!=null){
		index = $(this).attr("rel");
		selFlds[index].selectedIndex = 0;
	}
	
		loadData(index,obj);
	
	})
	})
	obj.bind("submit", function(){
		selFlds.attr('disabled',false);					
								})
	
	$("input[name=keywords_entry]",obj).bind("focus", function(){
			$(this).val("");						   
															   })
	$("input[name=keywords_entry]",obj).bind("keyup", function(){
										
					$("input[name=keywords]",obj).val($(this).val());
					loadData(null,obj);
															   })
	
function loadData(index,obj){
var flds = $("select",obj);
var target = flds[index];
		var params = obj.serialize();
		params+="&index="+index;
			//console.log(params);
			$.ajax({
				type: "POST",
				url: "ajax/ajax.cascadeForm.php",
				data: params,
				dataType: "json",
				success: function(data) {
						var o="";
						//console.log(data);
				if(data['total_opts']>0){
					if(data['total_opts'] > 1){
					$(target).attr('disabled',false);
						} else {
					$(target).attr('disabled',true);	
						}
							$(target).html(data['options']);
				}
				//console.log(data['total']);
				$("div[name=total]",obj).text(data['total']+" available job");
				if(data['total']!=1) $("div[name=total]",obj).append("s");
				}
			});
	}
	
//
		});
		}
});

})(jQuery);


$(document).ready( function () {
  $("#search").cascadeForm();
  })

