function checkCategoryDD(el, dd)
{
	layer1 = "dd[" + dd + "]";
	el.form.category.value = el.form[layer1].value;
	layer2 = "dd[" + (dd+1) + "]";
	var total_layers = 9;
	var url = "/json/subcategories?cat=" + el.form[layer1].value + "&layer=" + layer2;
	// disable layers + 2 -> end
	for(i=(dd+2); i<total_layers; i++)
	{
		lay = "dd[" + i + "]";
		el.form[lay].disabled = true;
		el.form[lay].length = 0;
	}
	
	$.getJSON(url, updateDD);
}
function updateDD(obj)
{
	var o_form = $('#builder');
	o_form = o_form[0];

	var o_select = o_form[obj.div]; 
	
	if(obj.categories) {
		var cats = obj.categories;
		var total = cats.length;
	}
	else
	{
		total = 0;
	}
	
	o_select.length=0;
	o_select.options[0] = new Option("Choose a subcategory (Optional)", 0);

	if(total==0) {
		o_select.length=1;
		o_select.options[0] = new Option("No Subcategories", 0);
		o_select.disabled = true;
	}
	else
	{
		o_select.disabled = false;
	}
	for(i=0;i<total;i++)
	{
		o_select.options[i+1] = new Option(cats[i].category, cats[i].categoryid);
	}
}

// Executed on submit of form.
function build(e)
{
	var url = "/json/widget_ask_question_build";
     url += "?module=" + e.module_type.value;
     url += "&search=" + e.module_search.value;
     url += "&search_category=" + e.category.value;
     url += "&search_user=" + e.search_user.value;
     url += "&search_keyword=" + e.search_keyword.value;
     url += "&question_count=" + e.module_count.value;
     url += "&random=" + e.module_random.value;
     //document.getElementById("widget_code_display").innerHTML = 'Loading Example...';
	$.getJSON(url, buildDone);
     return false;
}
function buildDone(obj)
{
     document.getElementById("error_area").innerHTML = obj.error ? obj.error_string +'<br />': '';
//     document.getElementById("widget_code").innerHTML = obj.code;
     document.getElementById("widget_code").value = obj.code;
     document.getElementById("widget_code_display").innerHTML = obj.example;
}
function switchModule(e)
{
     var module_type = document.getElementById("module_type_text");
     var text = "";
     switch(e.value)
     {
          case "default": 
               text = 'Displays both the questions and ask form.'; 
               toggle_question_fields(e, 1);
               break;
          case "questions": 
               text = 'Only displays questions.'; 
               toggle_question_fields(e, 1);
               break;
          case "ask":
               text = 'Only displays Ask form.'; 
               toggle_question_fields(e, 0);
               break;
     }
     module_type.innerHTML = text;
}
function toggle_question_fields(e, state)
{
     var disable = state ? '' : 'disabled';
     e.form.module_search.disabled = disable;
     e.form.module_count.disabled = disable;
     e.form.module_random.disabled = disable;
     document.getElementById("module_search_container").style.display = state ? 'block' : 'none';
}
function switchSearch(e)
{
     var searchFields = ['category', 'user', 'keyword'];
     var state;
     for(var i = 0; i < searchFields.length; i++)
     {
          state = (e.value == searchFields[i]) ? 'block' : 'none';
          document.getElementById("module_search_"+searchFields[i]).style.display = state;
     }
}
function ab_ask_hover(e)
{
     e.className = (e.className == "ask_button") ? "ask_button_hover" : "ask_button";
}
