fcms_include('fcms');
var fcmssuche = {
    gotoPage: function (page,pluginname) {
        fcmssuche.setFormElementValue('fs['+pluginname+'][paging][page]',page + 1);
        fcmssuche.submitForm('true');
    },
    submitForm: function (state) {
        fcmssuche.setFormElementValue('fs[control][paging]',state);
        fcmssuche.setFormElementValue('username','');
        fcmssuche.setFormElementValue('password','');
        document.forms['cms2search'].submit();
    },

    setFormElementValue: function (name,value) {
        if (!document.forms['cms2search'].elements[name]) {
            fcmssuche.addHiddenElement(name,value);
        }
        document.forms['cms2search'].elements[name].value = value;
//alert(document.forms['cms2search'].elements[name].value);
    },

    addHiddenElement: function (name,value) {
       var t1 = Builder.node('input',{ type: 'hidden', name: name, value: value });

       theform = document.forms['cms2search'];
       theform.appendChild(t1);
    },

    toggleForm: function () {
        if ($('suche-optional').style.display == 'none') {
            new Effect.Appear('suche-optional');
           // new Effect.Fold('suche-optional-show',{queue: 'end'});
           // new Effect.Appear('suche-optional-hide',{queue: 'end'});
	  $('suche-optional-show').style.display = 'none';
	  $('suche-optional-hide').style.display = 'block';
        } else {
            new Effect.Fade('suche-optional');
          //  new Effect.Fold('suche-optional-hide',{queue: 'end'});
          //  new Effect.Appear('suche-optional-show',{queue: 'end'});
	  $('suche-optional-hide').style.display = 'none';
	  $('suche-optional-show').style.display = 'block';
        }
    },

    setSearchOrder: function (pluginname,name,order) {
        fcmssuche.setFormElementValue('fs['+pluginname+'][order]',name);
        fcmssuche.setFormElementValue('fs['+pluginname+'][order_dir]',order);
        fcmssuche.submitForm('true');
    },

    searchRubrik: function () {
       var elem = document.forms['cms2search']['findRubrik'];
       var param = 'find='+$F(elem);

       fcmssuche.clearResults();
       fcmssuche.noresult(false);
       fcmssuche.progress(true);
       var request = new Ajax.Request(
               '/_fWS/json/antz/833/findRubrik',
               {
                 parameters: param,
                 onSuccess: function(xhr,json){
		     fcmssuche.progress(false);
                     if (xhr.responseJSON.data.nodes) {
                        fcmssuche.showResults(xhr.responseJSON.data.nodes);
                     } else {
		        fcmssuche.noresult(true);
		     }
                 }
               });
    },

    noresult: function (show) {
      if (show) {
        $('suchparam_rubrik_search_noresult').setStyle({display: 'block'});
      } else {
        $('suchparam_rubrik_search_noresult').setStyle({display: 'none'});
      }
    },

    progress: function (show) {
      if (show) {
        $('suchparam_rubrik_search_progress').setStyle({display: 'block'});
      } else {
        $('suchparam_rubrik_search_progress').setStyle({display: 'none'});
      }
    },

    clearResults: function() {
        var results = $('suchparam_rubrik_search_results');
        if (results.hasChildNodes()) {
            while (results.childNodes.length >= 1) {
                results.removeChild(results.firstChild);
            }
        }
    },

    showResults: function (nodes) {
//        console.debug(nodes);
        var results = $('suchparam_rubrik_search_results');
        for (i in nodes) {
           var id = nodes[i].id.substr(nodes[i].id.indexOf('-') + 1,nodes[i].id.length);
           var checkbox = Builder.node('input',{type: 'checkbox',style: 'flloat: left', name: 'fs[rubrik][id][]', value: id});
           var t1 = Builder.node('div',{id: 'rubrik-select-'+nodes[i].id}, [
               checkbox,
               Builder.node('span',{id: 'rubrik-select-'+nodes[i].id+'-name'},nodes[i].data.text)
               ]);
           results.appendChild(t1);

	       var ev = function (ev) {
//                    console.debug($('rubrik-'+ev.target.value));
                    if (ev.target) {
                        var t = ev.target;
                    } else {
                        var t = event.srcElement;
                    }
		       var treeboxes = $('rubrik-'+t.value).getElementsByTagName('input');
		       //		    console.debug(treeboxes);
		       for (var i=0; i < treeboxes.length; i++) {
			       if (treeboxes[i].type == 'checkbox') {
				       treeboxes[i].checked = t.checked;
			       }
		       }
	       };

		if (checkbox.addEventListener) {
			checkbox.addEventListener('click',ev,false);
                } else if(checkbox.attachEvent) {
			checkbox.attachEvent('onclick',ev);
	       }
        }
    }
}

