function addMultiLinkedFunction(elem,seed){
	var opt_ant=CB(elem).attr('mv_ant');
	var opt_linked=CB(elem).attr('mv_var');
	var opt_linked_data=CB(elem).attr('mv_data');
	CB(elem).closest('.cb_bootstrap').find('select[mv_fld="'+opt_ant+'"]').change(function(){	
		var val=CB(this).find('option:selected').attr('mv_option');		
		var objtmp=window["cb_linked"+seed];
		if (objtmp.get(opt_linked_data)!=null){
			var objlinkedvalues=objtmp.get(opt_linked_data).filter(val);
			CB(elem).find('option').remove();			
			CB(objlinkedvalues).each(function(ilin,elemlinked){
				CB(elem).append( CB( "<option>", {
				    "value":elemlinked.getVal(),
				    "mv_option":elemlinked.getMVOption(),
				    text:elemlinked.getMVVal()
				}), "" );
			});
			CB(elem).change();		
		}
	});		
} 

function obj_LinkedValue(val, mv_option, mv_val){
	var linked={};
	linked.val=val;
	linked.mv_option=mv_option;
	linked.mv_val=mv_val;
	
	linked.getVal=function(){
		return linked.val;
	}
	linked.getMVVal=function(){
		return linked.mv_val;
	}
	linked.getMVOption=function(){
		return linked.mv_option;
	}
	return linked;
}

function obj_LinkedList(id){
	var linkedlist={};
	linkedlist.id=id;
	linkedlist.linked=new Array();
	linkedlist.add=function(linkedValue){
		linkedlist.linked.push(linkedValue);
	}
	linkedlist.filter=function(value){
		var arrElem=lastElem=strElem=null;
		var ret=new Array();		
		CB(linkedlist.linked).each(function(index,llvalue){			
			arrElem=llvalue.getMVOption().split('_');
			lastElem=arrElem.pop();
	        strElem=arrElem.join('_');
	        if (strElem==value){
	        	ret.push(llvalue);
	        }
		});
		
		return ret;
	}
	return linkedlist;
}

function obj_LinkedLists(){
	var linkedlists={};
	linkedlists.linked=new Array();
	linkedlists.add=function(linkedList){
		linkedlists.linked.push(linkedList);
	}
	linkedlists.get=function(linkedId){
		ret=null;
		CB(linkedlists.linked).each(function(index,elem){
			if (elem.id!=null && elem.id!='' && elem.id==linkedId){
				ret=elem;
				return ;				
			}				
		});
		return ret;
	}
	return linkedlists;
}