/* file: rbCriteriaBuilder.js - v1.1.1 | minified on 2011/01/27 with http://jscompress.com/ */ function criteriaBuilder(container) {var itemsId={group:'iCbGroup',item:'iCbItem',container:container,},counters={group:0,item:0,},options={textAND:'AND',textOR:'OR',textNoCriteria:'There is no criteria ! At least, one criteria is required to do search...',textHint:'',textSomethingWrong:'An error has occured on the server-side',textCaddieUpdated:'Caddie was updated',classGroup:'',classItem:'',classOperator:'',classHelper:'helper',opacity:0.8,onEdit:null,onDelete:null,onRequestSuccess:null,onRequestError:null,onGetPageSuccess:null,onGetPageError:null,helpEditUrl:'',helpDeleteUrl:'',helpMove:'',helpSwitchCondition:'',ajaxUrl:'',},extraData=new Array();if(arguments.length==2) {if(typeof arguments[1]=='object') {options=jQuery.extend(options,arguments[1]);}} this.doAction=function(fct) {switch(fct) {case'add':if(arguments.length==3) {if(typeof arguments[1]=='string') {addItem(arguments[1],arguments[2]);}} break;case'delete':if(arguments.length==2) {if(typeof arguments[1]=='string') {deleteItem(arguments[1]);}} break;case'edit':if(arguments.length==4) {if(typeof arguments[1]=='string'&&typeof arguments[2]=='string') {editItem(arguments[1],arguments[2],arguments[3]);}} break;case'get':return(getItems());break;case'getExtraData':if(arguments.length==2) {return(getExtraData(arguments[1]));} else {return(null);} break;case'clear':clearItems();break;case'send':sendRequest();break;case'getPage':if(arguments.length==4) {getPage(arguments[1],arguments[2],arguments[3]);} break;case'setOptions':if(arguments.length==2) {return(setOptions(arguments[1]));} break;}};var addGroup=function(itemId) {counters.group++;var content="
  • ";content+="
  • ";$('#'+itemId).wrap(content);content="";$("#"+itemsId.group+counters.group).prepend(content);$('#'+itemsId.group+counters.group+'OpOR, #'+itemsId.group+counters.group+'OpAND, #'+itemsId.group+counters.group+' div.iconSwitchCondition ').bind('click',itemsId.group+counters.group,onSwitchOperator);applyNested();};var removeGroup=function(groupId) {$('#'+groupId).remove();};var addItem=function(itemContent,data) {counters.item++;var content="
  • ";content+="
    ";if(options.onEdit!=null&&jQuery.isFunction(options.onEdit))content+="
    ";if(options.onDelete!=null&&jQuery.isFunction(options.onDelete))content+="
    ";content+="
    ";content+="
    ";content+="
    "+itemContent+"
  • ";$('#'+itemsId.container).append(content);addGroup(itemsId.item+counters.item);if(options.onEdit!=null)$('#iImgEdit'+counters.item).bind('click',itemsId.item+counters.item,options.onEdit);if(options.onDelete!=null)$('#iImgDelete'+counters.item).bind('click',itemsId.item+counters.item,options.onDelete);extraData[counters.item]=data;};var deleteItem=function(itemId) {if($('#'+itemId).length!=0) {$('#'+itemId).remove();re=/[0-9]*$/;extraData[eval(re.exec(itemId)[0])]=null;manage();}};var editItem=function(itemId,content,data) {if($('#'+itemId).length!=0) {$('#'+itemId+' .itemContent').html(content);re=/[0-9]*$/;extraData[eval(re.exec(itemId)[0])]=data;}};var clearItems=function() {$('#'+itemsId.container).NestedSortableDestroy();$('#'+itemsId.container).html("");counters.item=0;counters.group=0;extraData=new Array();};var serializeData=function(prefix,value) {var returned='';if(typeof value=='object') {for(var key in value) {if(typeof value[key]=='object') {returned+=serializeData(prefix+'['+key+']',value[key]);} else if(typeof value[key]=='string'||typeof value[key]=='number'||typeof value[key]=='boolean') {returned+='&'+prefix+'['+key+']='+value[key];}}} else if(typeof value=='string'||typeof value=='number'||typeof value=='boolean') {returned+='&'+prefix+'='+value;} return(returned);};var getItems=function() {serialized=jQuery.iNestedSortable.serialize(itemsId.container)['hash'];tmp=Array();for(i=0;i