
function get_children(id, level, cur_level){
	var $C = YAHOO.util.Connect;
	var $D = YAHOO.util.Dom;
	
	var warehouse_id = 'Z00';
	
	var product_callback = 
		{ 
		  	success: function(o) {			
				var jdata = YAHOO.lang.JSON.parse(o.responseText);
				
				var results = $D.get("found_results");
				var results_img = $D.get("pgm_sub_image");
				var pgm_add_to_cart = $D.get("pgm_add_product_to_cart");
				
				var tmpRes="";
				var tmpimgRes="";
				var tmpAdd2Cart = "";
				
				for(i in jdata){ 
			 		//do something
					if(jdata[i].exists){
						tmpRes += "Part Number: <strong>" + jdata[i].part_num + "</strong>";
						
						if(jdata[i].thumbnails.small.path != null){
							tmpimgRes = "<img src='"+ image_location + '/' + jdata[i].thumbnails.small.path + "' />"; 
						} else {
							tmpimgRes = "<img src='"+ image_location + "/NoImage.jpg' />"; 
						}	

						tmpAdd2Cart = '';
						tmpAdd2Cart += '	<div class="price"><strong>Price:</strong> $' + jdata[i].price._amount + '</div>';
						tmpAdd2Cart += '	<form name="pgm_add_product_to_cart" id="pgm_add_product_to_cart" method="post">';
						tmpAdd2Cart += '		Qty:';
						tmpAdd2Cart += '		<input size="2" class="qty_size" type="text" id="qty_' + warehouse_id + '_' + jdata[i].part_num + '" name="shopping_cart[add]['+ warehouse_id +'][' + jdata[i].part_num + '][quantity]" value="1" />';
						tmpAdd2Cart += '		<input type="image" src="'+ image_location +'/icons/button_add_to_cart.png" onclick="return checkQty(document.getElementById(\'qty_' + warehouse_id + '_' + jdata[i].part_num + '\'), 1);" alt="Add to cart" />';
						tmpAdd2Cart += '	</form>	';	
					}
				}		
				
				// output HTML 				
				results.innerHTML=tmpRes;
				$(results).show();
				results_img.innerHTML = tmpimgRes;
				
				// write out add to cart form
				// write out add to favourites button
				pgm_add_to_cart.innerHTML = tmpAdd2Cart;
				
				pgm_add_to_cart.style.display = "block"; 
				
			},
	  	  	failure: function(o) {
				alert("Could not load data, please refresh and try again.")
			}, 
			timeout: 5000				
		}; 
	
	var product_code_callback = 
		{ 
		  	success: function(o) {			
				var jdata = YAHOO.lang.JSON.parse(o.responseText);
				var results = $D.get("sel_cat_"+ (level+1)+"_container");
				var label =  $D.get("description_cat_"+ (level+1)).innerHTML; 
				var tmpRes="<select id='sel_cat_"+ (level+1)+"' onchange='get_children(this.value,"+ (level+1)+" )'><option selected='1' value=''> -- Select "+label+" -- </option>";
				
				for(i in jdata){
			 		tmpRes +="<option value='"+jdata[i].id+"'>"+jdata[i].name+"</option>";
				}		
				tmpRes+="</select>";
				
				results.innerHTML=tmpRes;
			},
	  	  	failure: function(o) {
				alert("Could not load data, please refresh and try again.");
			}, 
			timeout: 5000, 
			level: level
		}; 
	
	var product_code_desc_callback = 
		{ 
		  	success: function(o) {			
				var jdata = YAHOO.lang.JSON.parse(o.responseText);
				var results = $D.get("pgm_sub_description");
				var more = $D.get("more");
				var less = $D.get("less");
				var tmpRes = "";
				var desc = jdata.description;
				var desc = desc.replace(/\r\n/g,"<br/>");
				
				if(desc !="") {
					results.innerHTML=desc;
					$(results).hide();
					$(more).show();
					$(less).hide();
				}
			},
	  	  	failure: function(o) {
				alert("Could not load data, please refresh and try again.");
			}, 
			timeout: 5000, 
			level: level
		}; 
	
	if(id != ''){
		if(level < matrix_levels_deep){
			$C.asyncRequest('GET', base_index_url + "/custom_controllers/ext_browse/get_child_category_description/" +id ,product_code_desc_callback);
			$C.asyncRequest('GET', base_index_url + "/custom_controllers/ext_browse/get_child_category/" +id ,product_code_callback);				
		}
		else if(level == matrix_levels_deep){
			$C.asyncRequest('GET', base_index_url + "/custom_controllers/ext_browse/get_product/" +id ,product_callback);
		}
	}
}
