/**
 *	(c) 2006 insign gmbh
 *	written by fs
 *	last change 16.11.2006 [fs]
 *
 *	history:
 *	0.1 16.11.2006  initial version
 **/
topsoftsearch = Class.create();
topsoftsearch.instances = new Array();
Object.extend(topsoftsearch.prototype, {
    initialize: function(formid) {
        this.formid = formid;
        this.anbieter = new Array();
    },

    setAnbieterProduct: function (anbieterid, productid, divid) {
        anbieter = this.getAnbieter(anbieterid);
        if (anbieter) {
			document.getElementById('boxsearchform').style.display = 'none';
            anbieter.setProduct(divid, productid);
        }
    },

    setAnbieterProducts: function  (divid, anbieterid) {
       anbieter = this.getAnbieter(anbieterid);
        if (anbieter) {
            anbieter.setProducts(divid);
        }
    },

    setAnbieterDetail: function (anbieterid) {
        anbieter = this.getAnbieter(anbieterid);
        if (anbieter) {
			document.getElementById('boxsearchform').style.display = 'none';
            anbieter.setDetail();
        }
    },

    getAnbieter: function (anbieterid) {
        if (!this.anbieter[anbieterid]) {
            this.anbieter[anbieterid] = new topsoftanbieter(anbieterid);
        }
        return this.anbieter[anbieterid];
    },

    getSearchEventmap: function () {

    },

    setSearchListFulltext: function (option) {
        var searresult = false;
        var searchproductspage = 1;
        $('searchactive_top').style.display = '';
        $('searchactive_bottom').style.display = '';

       	this.getSearchListFulltext(option);

        /*if(searresult !== false)
        {
            $('boxSearchresult').innerHTML = searresult;
        }
        else
        {
            $('boxSearchresult').innerHTML = "Es ist ein Systemfehler aufgetreten. Möglicherweise ist der Suchdienst gerade &uuml;berlastet.";
        }*/
        $('searchactive_top').style.display = 'none';
        $('searchactive_bottom').style.display = 'none';
    },
    
    toggleContent: function(type) {
    	if (typeof document.getElementById('cnt-search-'+type) == undefined) {
    		alert('Container not found');
    		return false;
    	}
    	
    	// hide all
    	document.getElementById('cnt-search-criteria').style.display = 'none';
    	document.getElementById('cnt-search-results').style.display = 'none';
    	document.getElementById('cnt-search-print').style.display = 'none';
    	Element.removeClassName('b-criteria','active');
    	Element.removeClassName('b-results','active');
    	Element.removeClassName('b-print','active');
    	
    	document.getElementById('cnt-search-'+type).style.display = 'block';
    	Element.addClassName('b-'+type,'active');
    	
    	Element.removeClassName('evaluation-breadcrumb', 'step1');
    	Element.removeClassName('evaluation-breadcrumb', 'step2');
    	Element.removeClassName('evaluation-breadcrumb', 'step3');
    	
    	var newClass = 'step1';
	if (type == 'criteria')
	{
		newClass = 'step1';	
		$('buttonSearchList_top').show();
		$('buttonSearchList_bottom').show();
		$('buttonFavouriteList_top').hide();
		$('buttonFavouriteList_bottom').hide();
		$('buttonTradeshowProspect_top').hide();
		$('buttonTradeshowProspect_bottom').hide();
		showOrHideButton();
	} 
	else if (type == 'results')
	{
		newClass = 'step2';
		$('buttonSearchList_top').hide();
		$('buttonSearchList_bottom').hide();
		$('buttonFavouriteList_top').show();
		$('buttonFavouriteList_bottom').show();
		$('buttonTradeshowProspect_top').hide();
		$('buttonTradeshowProspect_bottom').hide();
	}
    	else if (type == 'print') 
	{
		newClass = 'step3';
		$('buttonSearchList_top').hide();
		$('buttonSearchList_bottom').hide();
		$('buttonFavouriteList_top').hide();
		$('buttonFavouriteList_bottom').hide();
		$('buttonTradeshowProspect_top').show();
		$('buttonTradeshowProspect_bottom').show();
	}
    	Element.addClassName('evaluation-breadcrumb', newClass);    	
    },

    setSearchList: function (option,isFulltext) {
        var searresult = false;
        var searchproductspage = 1;

        if (isFulltext == 'yes')
        {
        	this.setSearchListFulltext(option);
        }
        else
        {

	        //if (cookieRead('ts_searched') == 'yes')
	        //{
	        //}
	        //else
	        //{
	        	searresult = this.getSearchList(option);
	        	//cookieWrite("ts_searched",'yes',7);
	        //}

	        this.toggleContent('results');
	        if(searresult !== false)
	        {
	            $('boxSearchresult').innerHTML = searresult;
			$('buttonSearchList_top').hide();
			$('buttonSearchList_bottom').hide();
			$('buttonFavouriteList_top').show();
			$('buttonFavouriteList_bottom').show();
	        }
	        else
	        {
	            $('boxSearchresult').innerHTML = "Es ist ein Systemfehler aufgetreten. Möglicherweise ist der Suchdienst gerade &uuml;berlastet.";
	        }
        }
    },

    saveSearch: function () {
    	var datum = new Date();
    	var bookmarkName = prompt('Bitte geben Sie einen Namen für Ihre Suchabfrage ein.','Suche_'+datum.getFullYear()+'-'+(datum.getMonth()+1)+'-'+datum.getDate());
    	if (bookmarkName != null)
    	{
    		var params = Form.serialize(document.formmarktuebersicht);
    		var url = absCorrect + 'de/ajax_save_search.html?objects.bookmarkName='+bookmarkName;
    		var myAjax = new Ajax.Request(url, {
    											method: 'post',
    									  		parameters: params,
    									  		asynchronous: true,
    									  		onFailure: this.saveSearchFailed,
    									  		onSuccess: this.saveSearchCompleted
    										   } );
    		// mach den scheiss
    	}
    },

    saveSearchFailed: function () {
    	alert('Beim speichern der Suche ist ein Fehler aufgetreten.\nBitte versuchen sie es später nocheinmal.');
    },

    saveSearchCompleted: function () {
    	topsoftsearch.updateBookmarkList({});
    	alert('Die Suche wurde erfolgreich gespeichert.');
    },

    updateBookmarkList: function (option) {
    	var url = absCorrect + 'de/cnt_ajax_bookmarklist.html';
    	if (option.deleteBookmark && option.bookmarkID)
    	{
    		var params = "objects.action=deleteBookmark&objects.bookmarkID="+option.bookmarkID;
    	}
    	else
    	{
    		var params = "donothing=1";
    	}

    	params = params + '&bmId='+option.searchId;

		var myAjax2 = new Ajax.Updater( {success: 'bookmarkSelectBox'}, url, { method: 'post', parameters: params, asynchronous: true, evalScripts: true });
    },

    loadBookmark: function (bookmarkID) {
    	if (bookmarkID) {
    		this.setSearchList({fromBookmark:'yes',bookmarkID:bookmarkID});
    	}
    },

    getSearchList: function (option) {

    	var fromBookmark = false;
        var params = Form.serialize(this.formid);

        if (option.fromBookmark == "yes")
    	{
    		params = '&objects.loadBookmark=1&objects.bookmarkID='+option.bookmarkID;
    	}

        params += '&objects.searchmode=searchlist';

        if (option.page) {
            params += '&objects.page=' + option.page + '&objects.comeFromPaging=1';
        }
        
        if(typeof(whitelabel) != 'undefined' && whitelabel)
        {
        		params += '&whitelabel=true';
        }

        var url  = absCorrect + 'de/cnt_ajax_searchlist.html';

		var myAjax = new Ajax.Request(url,
                                        {method: 'post',
                                         parameters: params,
                                         asynchronous: false
                                        }
                                      );
        return myAjax.transport.responseText;
    },

    getSearchListFulltext: function (option) {
        var params = Form.serialize('formfulltext');
//console.debug(params);
        params += '&objects.searchmode=fulltext&searchstring='+document.formfulltext.elements['objects.searchstring'].value;

        if (option.page) {
            params += '&objects.page=' + option.page + '&objects.comeFromPaging=1';
        }
        
        if(typeof(whitelabel) != 'undefined' && whitelabel)
        {
        		params += '&whitelabel=true';
        }

        var url  = absCorrect + 'de/cnt_ajax_searchlist.html?fulltextsearch=yes';

        this.toggleContent('results');
		var myAjax = new Ajax.Updater( {success: 'boxSearchresult'},
											url,
											{
												method: 'post',
												parameters: params,
												evalScripts: true
											});
/*		var myAjax = new Ajax.Request(url,
                                        {method: 'post',
                                         parameters: params,
                                         evalScripts: true,
                                         asynchronous: false
                                        }
                                      );
        return myAjax.transport.responseText;*/
    },

    setSearchStatistic: function (originalRequest) {
        // var stat = this.getSearchStatistic();

    	if(originalRequest.responseXML.getElementsByTagName('muss')[0].childNodes[0])
        {
	        var muss = originalRequest.responseXML.getElementsByTagName('muss')[0].childNodes[0].nodeValue;
	        var soll = originalRequest.responseXML.getElementsByTagName('soll')[0].childNodes[0].nodeValue;
	        var total = originalRequest.responseXML.getElementsByTagName('total')[0].childNodes[0].nodeValue;
        }
        else
        {
    		var muss = 0;
    		var soll = 0;
        }

	if($('searchstatisticSoll_top')) $('searchstatisticSoll_top').innerHTML = soll;
	if($('searchstatisticMuss_top')) $('searchstatisticMuss_top').innerHTML = muss;
	if($('searchstatisticTotal_top')) $('searchstatisticTotal_top').innerHTML = total;

	if($('searchstatisticSoll_bottom')) $('searchstatisticSoll_bottom').innerHTML = soll;
	if($('searchstatisticMuss_bottom')) $('searchstatisticMuss_bottom').innerHTML = muss;
	if($('searchstatisticTotal_bottom')) $('searchstatisticTotal_bottom').innerHTML = total;

        $('searchactive_top').style.display = 'none';
        $('searchactive_bottom').style.display = 'none';
		
    },

    getSearchStatistic: function () {

        $('searchactive_top').style.display = '';
        $('searchactive_bottom').style.display = '';
        //Effect.Pulsate('productstatistic');
        //$('ajaxloader').style.display = 'none';


        var params = Form.serialize(this.formid);
        params += '&objects.searchmode=statistic';
        var url  = absCorrect + 'xmlsearchstat.html';
		var myAjax = new Ajax.Request(url,
                                        {method: 'post',
                                         parameters: params,
                                         asynchronous: true,
                                         onComplete: this.setSearchStatistic
                                        }
                                      );
    }

/*    setSearchStatistic: function () {
        var stat = this.getSearchStatistic();
        if (stat == false) {
            $('searchstatisticSoll').innerHTML = 0;
            $('searchstatisticMuss').innerHTML = 0;
            $('searchstatisticTotal').innerHTML = 0;

            $('searchstatisticTotal').style.width = 0;
            $('searchstatisticTotal').style.width = 0;
        } else {
            $('searchstatisticSoll').innerHTML = stat.soll;
            $('searchstatisticMuss').innerHTML = stat.muss;
            $('searchstatisticTotal').innerHTML = stat.total;

			$('barmuss').style.width = (258 / stat.total * stat.muss) - (258 / stat.total * stat.soll) + 'px';
            $('barsoll').style.width = (258 / stat.total * stat.soll) +'px' ;
        }
    },

    getSearchStatistic: function () {

        $('ajaxloader').style.display = '';

        var params = Form.serialize(this.formid);
        params += '&objects.searchmode=statistic';
        var url  = absCorrect + 'xmlsearchstat.html';
		var myAjax = new Ajax.Request(url,
                                        {method: 'post',
                                         parameters: params,
                                         asynchronous: true,
                                         onComplete: this.setSearchStatistic()
                                        }
                                      );

        Effect.Pulsate('productstatistic', {duration:0.3, pulses: 1});
        $('ajaxloader').style.display = 'none';

        if(!myAjax.transport.responseXML.getElementsByTagName('muss')[0].childNodes[0])
        {
            return false;
        }

        return {muss: myAjax.transport.responseXML.getElementsByTagName('muss')[0].childNodes[0].nodeValue,
                soll: myAjax.transport.responseXML.getElementsByTagName('soll')[0].childNodes[0].nodeValue,
                total: myAjax.transport.responseXML.getElementsByTagName('total')[0].childNodes[0].nodeValue};
    } */
})


/*
* searchform-function: get groups for the searchform
*/
var displayedFields = new Array();
function getSearchField(fieldID,fe_admin,prodid,uSearch,unique, element) {

	if (typeof unique == 'undefined') var unique = '';

	if (unique.length > 0)
	{
		var uniqueP = unique;
		var unique = unique + '-';
	}
	else
	{
		var unique = '';
		var uniqueP = '';
	}

	var boxActive = $$('.boxActive');
	boxActive.each(function(div, key) {
		if(div.id != 'boxtitle-'+unique+fieldID) {
			if(div.hasClassName('boxActive')) {
				div.addClassName('boxInactive');
				div.removeClassName('boxActive');
			}
		}
	});

	var boxFontActive = $$('.boxFontActive');
	boxFontActive.each(function(div, key) {
		if(div.id != 'boxbereichfont-'+unique+fieldID) {
			if(div.hasClassName('boxFontActive')) {
				div.addClassName('boxFontInactive');
				div.removeClassName('boxFontActive');
			}
		}
	});

	var boxBereich = $$('.boxbereich');
	boxBereich.each(function(div, key) {
		if(div.id != 'boxbereich-'+unique+fieldID) {
			div.style.display = 'none';
		}
	});

	if ($('boxbereich-'+unique+fieldID).style.display == 'none')
	{

		if (displayedFields[unique+fieldID] != "on")
		{
			$('boxbereich-'+unique+fieldID).style.display = '';
			var params = 'objects.getBereich='+fieldID+'&objects.admin='+fe_admin+'&objects.produktid='+prodid+'&objects.loadUserSearch='+uSearch+'&unique='+uniqueP;
			if (fe_admin == 1)
			{
				var url    = absCorrect + 'de/cnt_ajax_bereich_admin.html';
			}
			else if (fe_admin == 2)
			{
				var url    = absCorrect + 'icms/topsoft/editor/sbs_step_question_answer_criterias_ajax.html';
			}
			else
			{
				var url    = absCorrect + 'de/cnt_ajax_bereich.html';
			}
			var myAjax = new Ajax.Updater( {success: 'boxbereich-'+unique+fieldID},
											url,
											{
												method: 'get',
												parameters: params,
												onFailure: gSF_error,
												onComplete: gSF_complete(fieldID,unique),
												evalScripts: true
											});
		}
		else
		{
			$('boxbereich-'+unique+fieldID).style.display = '';
			Element.removeClassName('boxtitle-'+unique+fieldID,'boxInactive');
			Element.addClassName('boxtitle-'+unique+fieldID,'boxActive');
			Element.removeClassName('boxbereichfont-'+unique+fieldID,'boxFontInactive');
			Element.addClassName('boxbereichfont-'+unique+fieldID,'boxFontActive');

			if (Element.hasClassName('boxchecked-'+unique+fieldID,'boxCheckedInactive')) {
				Element.removeClassName('boxchecked-'+unique+fieldID,'boxCheckedInactive');
				Element.addClassName('boxchecked-'+unique+fieldID,'boxCheckedActive');
			}

		}
		if(typeof element != 'undefined')
		{
			var scrollOffsets = document.viewport.getScrollOffsets();
			var topOffset = scrollOffsets['top'] - ($('stalker-div').getHeight() + 50);
			$(window).scrollTo(scrollOffsets['left'], topOffset);
		}
	}
	else
	{
		$('boxbereich-'+unique+fieldID).style.display = 'none';
		Element.removeClassName('boxbereichfont-'+unique+fieldID,'boxFontActive');
		Element.addClassName('boxbereichfont-'+unique+fieldID,'boxFontInactive');
		Element.removeClassName('boxtitle-'+unique+fieldID,'boxActive');
		Element.addClassName('boxtitle-'+unique+fieldID,'boxInactive');

		if (Element.hasClassName('boxchecked-'+unique+fieldID,'boxCheckedActive')) {
			Element.removeClassName('boxchecked-'+unique+fieldID,'boxCheckedActive');
			Element.addClassName('boxchecked-'+unique+fieldID,'boxCheckedInactive');
		}

	}
}

function gSF_complete(fieldID,unique)
{
	if (typeof unique == 'undefined') var unique = '';

	displayedFields[unique+fieldID] = "on";
	$('boxbereich-'+unique+fieldID).style.display = '';
	Element.removeClassName('boxtitle-'+unique+fieldID,'boxInactive');
	Element.addClassName('boxtitle-'+unique+fieldID,'boxActive');
	Element.removeClassName('boxbereichfont-'+unique+fieldID,'boxFontInactive');
	Element.addClassName('boxbereichfont-'+unique+fieldID,'boxFontActive');
	if (Element.hasClassName('boxchecked-'+unique+fieldID,'boxCheckedInactive')) {
		Element.removeClassName('boxchecked-'+unique+fieldID,'boxCheckedInactive');
		Element.addClassName('boxchecked-'+unique+fieldID,'boxCheckedActive');
	}
}

function gSF_error(request)
{
	alert('ERROR: ' + request);
}


/**
 * searchform-function: categorie-tree
 */
var pathOn = absCorrect +'images/icons/check_on.gif'
var pathOff = absCorrect +'images/icons/check_off.gif';
var pathSemi = absCorrect +'images/icons/check_semi.gif';

function swapGroup(linkRef, elementid) {
	if (document.getElementById(elementid).style.display == 'none'){
		document.getElementById(elementid).style.display = 'block';
		linkRef.src=absCorrect + 'images/btn_list_opened.gif';
	} else {
		document.getElementById(elementid).style.display = 'none';
		linkRef.src=absCorrect + 'images/btn_list_closed.gif';
	}
}

function checkGroup(groupid,unique) {

	if (typeof unique == 'undefined') var unique = '';

	if (unique.length>0) unique = unique + '-';
	else unique = '';

	var source = $('checkbox-gruppe-'+unique+groupid).src;

	if(source.indexOf(pathOn) > 0){
		onoff = false;
		$('checkbox-gruppe-'+unique+groupid).src = pathOff;
	} else {
		onoff = true;
		$('checkbox-gruppe-'+unique+groupid).src = pathOn;
	}

	var element = document.getElementsByClassName('gruppe-'+unique+groupid);
	for (var n = 0 ; n < element.length ; n++) {
		element[n].checked = onoff;
	}
}

function checkingGroup(groupid,unique) {

	if (typeof unique == 'undefined') var unique = '';

	if (unique.length>0) unique = unique + '-';
	else unique = '';

	var element = document.getElementsByClassName('gruppe-'+unique+groupid);
	var notCheckedCount = 0;
	var checkedCount = 0;

	for (var n = 0 ; n < element.length ; n++) {
		if(element[n].checked) {
			checkedCount++
		} else {
			notCheckedCount++
		}
	}

	if (checkedCount == element.length) {
		$('checkbox-gruppe-'+unique+groupid).src = pathOn;
	} else if(notCheckedCount == element.length) {
		$('checkbox-gruppe-'+unique+groupid).src = pathOff;
	} else {
		$('checkbox-gruppe-'+unique+groupid).src = pathSemi;
	}
}

function checkBereich(bereichid,unique) {

	if (typeof unique == 'undefined') var unique = '';

	if (unique.length>0) unique = unique + '-';
	else unique = '';

	var gruppen = document.getElementsByClassName('bereich-'+unique+bereichid+'-gruppe');
	var checked = 0;

	for (var i=0; i < gruppen.length; i++) {

		var tmp = gruppen[i].src;
		//alert('gruppe: '+ tmp.search(pathOn) + ' '+tmp+' ' + pathOn);

		if (tmp.search(pathOn) != -1 || tmp.search(pathSemi) != -1) {
			checked++;
		}
	}

	if (checked > 0) {
		//alert(Element.classNames('boxtitle-'+bereichid));
		Element.addClassName('boxchecked-'+unique+bereichid,'boxCheckedActive');
		//alert(Element.classNames('boxtitle-'+bereichid));
	} else {
		//alert(Element.classNames('boxtitle-'+bereichid));
		Element.removeClassName('boxchecked-'+unique+bereichid,'boxCheckedActive');
		//alert(Element.classNames('boxtitle-'+bereichid));
	}


}

var picpath_importance1 = absCorrect +'images/icons/importance_1.gif';
var picpath_importance2 = absCorrect +'images/icons/importance_2.gif';

function changeimportance(htmlElement) {
	var type = '';
	if($('kriterium-'+ htmlElement.id)) {
		type = 'kriterium-';
	} else {
		type = 'anbieter-';
	}

	if($(type + htmlElement.id).value == '1') {
		htmlElement.src = picpath_importance1;
		$(type + htmlElement.id).value = '0';
	} else {
		htmlElement.src = picpath_importance2;
		$(type + htmlElement.id).value = '1';
	}
}

function setImportanceSoll(kriterienId) {
	if($('kriterium-'+ kriterienId +'-soll') && $('kriterium-'+ kriterienId +'-soll').value == 1)
	{
		$(kriterienId +'-soll').src = picpath_importance2;
	}
	if($('anbieter-'+ kriterienId +'-soll') && $('anbieter-'+ kriterienId +'-soll').value == 1)
	{
		$(kriterienId +'-soll').src = picpath_importance2;
	}
}
function changeAreaSearch(bereichid) {
	if ($('bereichaktiv-'+ bereichid) && $('bereichaktiv-'+ bereichid).value == '0') {
		$('divDesaktiv-'+ bereichid).style.display = 'none';
		$('divAktiv-'+ bereichid).style.display = '';
		$('bereichaktiv-'+ bereichid).value = '1';
	}else{
		$('divAktiv-'+ bereichid).style.display = 'none';
		$('divDesaktiv-'+ bereichid).style.display = '';
		$('bereichaktiv-'+ bereichid).value = '0';
	}
}
function setAreaSearch(bereichid) {
	if ($('bereichaktiv-'+ bereichid).value == '0') {
		$('divAktiv-'+ bereichid).style.display = 'none';
	}else{
		$('divDesaktiv-'+ bereichid).style.display = 'none';
	}
}

var bereichGruppe = new Array();
function clearSearchArea(bereichid) {
    /*
    var formelements = Form.getElements('formmarktuebersicht')
    var alerttext = '';
    for (var n = 0 ; n < formelements.length ; n++) {
        //alerttext += formelements[n].id + "("+ formelements[n].type +"): "+ formelements[n].value +"\n";
        //formelements[n].onchange = "alert('hello);";
        formelements[n].onchange = function() {
            alert('123');
          }

    }
    */
	var elements = document.getElementsByClassName('resetarea-'+ bereichid);
	var text;
	for (var n = 0 ; n < elements.length ; n++) {

		switch (elements[n].type) {
			case'text':
				elements[n].value = '';
			break;
			case'checkbox':
			case'radio':
				elements[n].checked = false;
			break;
			case'select-one':
			case'select-multiple':
				elements[n].selectedIndex = 0;
				elements[n].options[0].selected = false;
			break;
			default:
				if (elements[n].src) {
					elements[n].src = picpath_importance1;
					$('kriterium-'+ elements[n].id).value = 0;
				} else {
					alert('123: '+ elements[n].type);
				}
		}
		text += elements[n].type + "("+elements[n].id+")\n";
	}

	for(var a=0 ; a < bereichGruppe[bereichid].length ; a++) {
		checkingGroup(bereichGruppe[bereichid][a]);
	}
	computeSelectedCriteria(bereichid);
}

var changedElements = new Array();
function searchFieldChanged(elementid) {
    if($(elementid))
    {
        delement = $(elementid);
        switch (delement.type) {
    			case'text':
    			case'select-one':
    			case'select-multiple':
    			    if (changedElements[elementid] && changedElements[elementid] == delement.value) {
    			        //alert("--> "+ changedElements[elementid] +" == "+ delement.value);
    			        return;
    			    }
    			    changedElements[elementid] = delement.value;
    			break;
    			case'checkbox':
    			    if ((changedElements[elementid] || changedElements[elementid] === false)&& changedElements[elementid] == delement.checked) {
    			        return;
    			    }
    			    changedElements[elementid] = delement.checked;
    			break;
    			default:
    				if (delement.src) {
    				    if (changedElements[elementid] && changedElements[elementid] == delement.src) {
    			            return;
    			        }
    				    changedElements[elementid] = delement.src;
    				}
    		}
    }
    topsoftsearch.getSearchStatistic();
}


function setSearchStatisticFulltext(muss, soll) {
    $('searchstatisticSoll').innerHTML = soll;
    $('searchstatisticMuss').innerHTML = muss;

    $('searchactive_top').style.display = 'none';
    $('searchactive_bottom').style.display = 'none';
	// $('barmuss').style.width = (muss != 0 && muss != '') ? (258 / total * muss) - (258 / total * soll) + 'px' : '0px';
    // $('barsoll').style.width = (soll != 0 && soll != '') ? (258 / total * soll) +'px' : '0px' ;
}

function showOrHideButton() {
	var numCriteriaOn = $$('.num_criteria_checked');
	var total = 0;
	numCriteriaOn.each(function(span, key) {
		total += parseInt(span.innerHTML);
		
	});
	if(total > 0) 
	{
		$('buttonSearchList_top').show();
		$('buttonSearchList_bottom').show();
	} else {
		$('buttonSearchList_top').hide();
		$('buttonSearchList_bottom').hide();
	}
}


function computeSelectedCriteria(uniqueID) {
	var inputList = $$('input.resetarea-'+uniqueID);
	var selectedCriteria = 0;
	inputList.each(function(input, key) {
		if(input.checked) selectedCriteria++;
	});
	var criteriaCB = $('has_criteria_'+uniqueID);
	if(selectedCriteria > 0) {
		// enable checkbox
		if(criteriaCB && !criteriaCB.hasClassName()) criteriaCB.addClassName('active');
	} else {
		// disable checkbox
		if(criteriaCB && criteriaCB.hasClassName('active')) criteriaCB.removeClassName('active');
	}
	$('num_criteria_'+uniqueID).innerHTML = selectedCriteria;
	showOrHideButton();
}


function checkCriteria(bereichId, groupId, fieldId) {
	checkingGroup(groupId);
	checkBereich(bereichId);
	searchFieldChanged(fieldId);
	computeSelectedCriteria(bereichId);
}

function checkArea(bereichId, groupId, fieldId) {
	checkGroup(groupId);
	checkBereich(bereichId);
	searchFieldChanged(fieldId);
	computeSelectedCriteria(bereichId);
}

function toggleLoginTooltip(showIt, itemId) {
	var className = 'loginTooltip';
	if(itemId)
	{
		className = className + '_' + itemId;
	}
	var toolTips = $$('.' + className);
	toolTips.each(function(div) {
		if(showIt)
		{
			div.show();
		}
		else
		{
			div.hide();
		}
	});
}

Event.observe(window, 'scroll', function() {
	var stalkerMarker = $('stalker-marker');
	var stalkerDiv = $('stalker-div');
	var markerOffset = stalkerMarker.viewportOffset();
	var stalkerOffset = stalkerDiv.viewportOffset();
	var markerHeight = stalkerMarker.getHeight();
	var markerOffsetTop = markerOffset[1];
	if(Prototype.Browser.IE)
	{
		markerOffsetTop += 135;
	}
	if(markerOffsetTop > 0 && markerOffsetTop > stalkerOffset[1])
	{
		stalkerDiv.style.position = 'relative';
		// stalkerDiv.style.top = 'auto';
		$('evaluation-breadcrumb').style.margin = '14px 0';
	}
	else if(stalkerOffset[1] < 0 && stalkerDiv.style.position != 'fixed')
	{
		stalkerDiv.style.zIndex = 1;
		stalkerDiv.style.position = 'fixed';
		stalkerDiv.style.top = 0;
		$('evaluation-breadcrumb').style.margin = '0';
		stalkerMarker.style.display = 'block';
		// stalkerMarker.style.height = markerHeight;
	}
});

