/**

* tree class 

*/

function tree(){
	/**
	* alllevels - no of levels for tree
	* level - current level
	* name  - current select id
	* value - current value
	*/
	this.Initial = function(alllevels, level, name, select_value){
		this.cleanChildren(alllevels, level, name, 2);
		this.showOptions(select_value, level, name);
		this.copySelectValue(level, name, select_value);
	}
	
	/**
	* clean children tree
	* start - start level
	*/
	this.cleanChildren = function(alllevels, level, name, start){
		//alert(alllevels+" "+level+" "+name+" "+start);
		var start = level+start;
		var stop = alllevels;
		for(i=start; i <= stop; i++){
			if($(name+'_'+i)){
				$(name+'_'+i).options.length=0;
				$(name+'_'+i).options[0] = new Option('Choose One:', '');
			}
			if($(name+'_'+i+'_add')) 	$(name+'_'+i+'_add').hide();
			if($(name+'_'+i+'_edit')) 	$(name+'_'+i+'_edit').hide();
			if($(name+'_'+i+'_delete')) $(name+'_'+i+'_delete').hide();
		}
	}

	/**
	* clean children after adding new parent element
	*/
	this.cleanChildrenAfterAdd = function(){}
	
	/**
	*
	*/
	this.showOptions = function(value, level, name){
		if(value!=''){
			$(name+'_'+level+'_edit').show();
			$(name+'_'+level+'_delete').show();
		}
		else{
			$(name+'_'+level+'_edit').hide();
			$(name+'_'+level+'_delete').hide();
		}
	}
	
	/**
	*
	*/
	this.getCurrentLevelValue = function(id){
		return $(id).value;
	}
	
	/**
	*
	*/
	this.copySelectValue = function(level, name, select_value){
		if($(name+'_'+level+'_copy')){
			$(name+'_'+level+'_copy').value = select_value;
		}	
	}
}

/**
* @id - id of the searchable element
* @elementsclass - group of elements with the same class (resources-categorieslist)
* @prefix - prefix of elements' id cattree-
*/

searchCategory  = function(selectelement, elementsclass, prefix, isLoggedIn){

	if(selectelement.value){
		id = selectelement.value;

		name = selectelement.options[selectelement.selectedIndex].text;

		document.getElementsByClassName(elementsclass).each(
			function(node){
				str = node.id;
				temp = str.split('-');
				if(temp[1] != selectelement.value){
					new Effect.Fade(node,{ from: 1.0, to: 0.3});
				}else{

					new Effect.Fade(node,{ from: 0.3, to: 1.0});
				}
		});

		if(elementsclass != 'resources-subcategorieslist'){
			$('resources-resources').hide();
			$('resources-subcategories').hide();
			new Ajax.Request('/resources/subcategories_list/'+id, {asynchronous:true, evalScripts:true, onComplete:function(request, json){$('resources-indicator').hide(); move(id, name, request, isLoggedIn);}, onLoading:function(request, json){$('resources-indicator').show();$('resources-subcategories').hide(); $('resources-resources').hide();}, parameters:'level=2&id='+id});
		}
		else{
			new Ajax.Updater({success:'resources-resources'}, '/resources/resources_list/subcategory_id/'+id, {asynchronous:true, evalScripts:true, onComplete:function(request, json){$('resources-indicator').hide(); $('resources-resources').hide();new Effect.Appear('resources-resources', {});}, onLoading:function(request, json){$('resources-indicator').show();}, parameters:'subcategory_id='+id});
		}

	}
	else{
		document.getElementsByClassName(elementsclass).each(
			function(node){
				new Effect.Fade(node,{ from: 0.3, to: 1.0});
			});

		if(elementsclass != 'resources-subcategorieslist'){
			displaySubcategories($('select_resourcestree1239_1').value);
			displayResources($('select_resourcestree1239_1').value,$('select_resourcestree1239_2').value, $('resources-name').value);
		}else{
			displayResources($('select_resourcestree1239_1').value,$('select_resourcestree1239_2').value, $('resources-name').value);
		}
	}
}



treeObj = new tree();








