/** *********************************************************************************** */
/** * SOLR-Suche ********************************************************************** */ 
/** *********************************************************************************** */



/** *********************************************************************************** */
/** * Update auf Labels ********************************************************************** */ 
/** *********************************************************************************** */

	function updateLabel(key_label){
		
		var link_span = $('link_'+key_label);
		var newlink = "<a href=\"javascript:submitNewLabel('"+key_label+"');\" title='submit'>ok</a>";
		link_span.innerHTML = newlink;
	
		var content_span = $('content_'+key_label);
		var content = content_span.innerHTML;
		var newcontent = "<input type='text' id='input_"+key_label+"' style='width:200px;margin-top:0px;margin-bottom:0px;' value='"+content+"'>";
		content_span.innerHTML = newcontent;
		
	}
	
	function submitNewLabel(key_label)
	{
		var input_span = $('input_'+key_label);
	
		var label = input_span.value;
		
		//Ergebnis in DB übertragen
		labelDao.updateLabel(key_label,label,{
			callback: function(data){submitNewLabelCallback(key_label, label, data);}
		});
	}
	
	function submitNewLabelCallback(key_label, label, data)
	{
		var link_span = $('link_'+key_label);
		var newlink = "<a href=\"javascript:updateLabel('"+key_label+"');\" title='change'>x4u</a>";
		link_span.innerHTML = newlink;
	
		var content_span = $('content_'+key_label);
		content_span.innerHTML = data;
		
	}
/** ***********************************************************************************
 * 
 *********************************************************************************** */

	function highlight_in(control){}
	    
	function highlight_out(control){}
	
	function changeToggleImg(elem){
		if (elem.name == "p" ) {
			elem.src = "${baseUrl}images/" + "plus.gif";
			elem.name = "m";
		}else{
			elem.src = "${baseUrl}images/" + "minus.gif";
			elem.name = "p";
		}
	}
	/*
	* Hilfsfunktion für Vorschlag PLZ -> Stadt
	*/
	function getOrte(anschriftpfad, index){
		
		if ( $(anschriftpfad+'.key_staat').value == 'D'){
			$(anschriftpfad+'.plz').value = $(anschriftpfad+'.plz').value.strip(); 
			if ($(anschriftpfad+'.plz').value.length ==  5){
				partnerDao.getOrtList($(anschriftpfad+'.plz').value, {callback:function(data) {getOrteCallback(data, anschriftpfad, index)}});
			}
		}else if ($(anschriftpfad+'.plz').value.length == 0){
			$(anschriftpfad+'.ort').value = "";	
			$(anschriftpfad+'.ort').show();
			$(anschriftpfad+'.ort').focus();
			$('ort_select'+index).hide();
			$('ueberstimme_ort'+index).hide();
		}
	}
	function getOrteCallback(data, anschriftpfad, index){
		if ($H(data).keys().length == 0){
			$(anschriftpfad+'.ort').value = "";	
			$(anschriftpfad+'.ort').show();
			$(anschriftpfad+'.ort').focus();
			$('ort_select'+index).hide();
			$('ueberstimme_ort'+index).hide();
		}else{
			$(anschriftpfad+'.ort').hide();
			$('ort_select'+index).show();
			$('ueberstimme_ort'+index).show();
			DWRUtil.removeAllOptions($("ort_select"+index));	
			DWRUtil.addOptions($("ort_select"+index), data);
			setOrtName(anschriftpfad, index);
		}
	}
	function setOrtName(anschriftpfad, index){
		$(anschriftpfad+'.ort').value= $('ort_select'+index).value.strip();
	}
	function ueberstimmeOrtvorschlag(anschriftpfad, index)
	{
			$(anschriftpfad+'.ort').value = "";	
			$(anschriftpfad+'.ort').show();
			$(anschriftpfad+'.ort').focus();
			$('ort_select'+index).hide();
			$('ueberstimme_ort'+index).hide();;
	}
	
	function ajax_loader(updateControl)
	{
		if ($("ajax_loader_img") == null){
			var i =  document.createElement("img");
			i.id = "ajax_loader_img";
			i.src =  "${baseUrl}images/ajax-loader.gif";
			$(updateControl).up(0).appendChild(i);
		}
		$('dataform').disable();
	}
	
	function ajax_loaderStop(updateControl)
	{
		if (updateControl != null && $(updateControl).next(0)){
			$(updateControl).next(0).remove();
			$(updateControl).up(0).previous(0).className = "here label";
		}
		$('dataform').enable();
	}
	
	/**
	 * Kaufmännische Glättung auf 2 signifikante Stellen.
	 * Beschränkt auf Zahlen < 100.000. Größere Werte werden trotzdem auf Tausender 
	 * gerundet. (Beschränkung von Exp auf 3)
	 */
	function glaetten(value, digits)
	{
		if (value == 0)
			return 0;
			
		var sign = 1;
		if (value < 0)
		{
			value = -value;
			sign = -1;
		}
		
		if (!digits) // default
			digits = 2; // default
		
		//Anzahl zu "Nullender" Ziffern 
	   	var exp = Math.floor(Math.log(value)/Math.log(10)-(digits-1));
	   	//Zahl > 100.000 soll trotzdem nur auf 1000er gerundet werden
	   	exp = exp>3?3:exp;
	   	
	   	var factor = Math.pow (10, exp);
	   	
	   	var result = sign * factor * Math.floor((value / factor) + 0.5);
	   	
	   	
	   	return result;
	}	
	
	function getSliderStep(maxValue, digits)
	{
		var steps = computeSteps(maxValue, digits);
		
		//ANPASSUNG WEGEN DTS 824: Maximal 1000 als Schrittweite
		if (steps > 1000) steps = 1000;
		
		return steps;
	}
	
	
	function computeSteps(maxValue, digits)
	{
		if (maxValue <= 0)
			return 0;
			
		if (!digits) // default
			digits = 1; // default
		
	   	var exp    = Math.floor(Math.log(maxValue)/Math.log(10))-digits;   	
	   	return Math.floor(Math.pow (10, exp));
	}
	
	
	function toggleSpringCBToggle(cb,name){
		$(name).value = (cb) ? 'true' : 'false';
	}
	
	function kaufmRunden(x) {
	  if (typeof x == 'undefined') x = 0;
	  var k = (Math.round(x * 100) / 100).toString();
	  k = k.replace(/\./, ",");
	  k += (k.indexOf(',') == -1)? ',00' : '00';
	  return k.substring(0, k.indexOf(',') + 3);
	}
	
	/*
	* Nur Runden einer Zahl, ohne Formatierung
	*/
	function kaufmRunden2(x){
	  if (typeof x == 'undefined') x = 0;
	  return (Math.round(x * 100) / 100);
	}
	
	function roundTo(value, prozent){
		return parseInt(parseInt(parseInt((value)*prozent)/100)*100);
	}
	
	function cleanNum(x) {
		if (typeof x == 'undefined') x = 0;
	  	k = x.replace(/\./, "");
	  	k = k.replace(/\,/, ".");
	  	return k;
	}
	
	function cleanNumReturn(x) {
	  if (typeof x == 'undefined') x = 0;
	  k = x.replace(/\,/, ".");
	  return k;
	}
	
	function showPopup(url, title, width, height, showScrollbars)
	{
	    var options;
	    if (showScrollbars)
	        options = "scrollbars=yes";
	    else
	        options = "scrollbars=no";
	        
	    var left   = (screen.width - width)/2;
	    var top    = (screen.height - height)/2;
	    var position = ",width=" + width + ",height=" + height+",top=" + top + ",left=" + left;
	
	    options = options + ",location=no,menubar=no,toolbar=no,resizable=yes" + position;
	              
	    var popupWindow = window.open(url, title, options);
	    popupWindow.opener = self;
	    
	    try { popupWindow.focus(); } catch (e) {}
	}	
	
	
	function removeError(el){
		if ($(el).up('td') != null)	
			$(el).up('td').getElementsBySelector('.'+'error').invoke('hide');
			//this.element.getElementsBySelector('.'+this.options.emptyClassName).invoke('remove');
			//$(el).up('td').getElementsByClassName('error').invoke('hide');
	}
		
		
	function isNumeric(sText)
	
	{
	   var ValidChars = "0123456789.";
	   var IsNumber=true;
	   var Char;
	
	 
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
	      { 
	      Char = sText.charAt(i); 
	      if (ValidChars.indexOf(Char) == -1) 
	         {
	         IsNumber = false;
	         }
	      }
	   return IsNumber;
	   
	}

	
	
