/**
* 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, controller){
	if(selectelement.value){
		id = selectelement.value;
		name = selectelement.options[selectelement.selectedIndex].text;
		
		var elm = document.getElementsByClassName(elementsclass);
		if(elm.length){
			for(var i=0; i<elm.length; i++){
				str = elm[i].id;
				temp = str.split('-');
				if(temp[1] != selectelement.value){
					new Effect.Fade(elm[i],{ from: 1.0, to: 0.3});
				}else{
					new Effect.Fade(elm[i],{ from: 0.3, to: 1.0});
				}
			}
		}
		
		/*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('/'+controller+'/subcategories_list/'+id, {asynchronous:true, evalScripts:true, onComplete:function(request, json){$('resources-indicator').hide(); move(id, name, request, controller);}, 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'}, '/'+controller+'/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{
		
		var elm = document.getElementsByClassName(elementsclass);
		if(elm.length){
			for(var i=0; i<elm.length; i++){
				new Effect.Fade(elm[i],{ from: 0.3, to: 1.0});
			}
		}
	
		/*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();








