/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +	Diese Javascript soll dazu dienen,   						**/
/** +	alle AJAX-Aktionen in bezug auf die Produkte zu			**/
/** +	beherbergen															**/
/** +																			**/
/** +	@copyright (c) 2008 , Martin Glück							**/
/** +	@author Martin Glück <martin.glueck@fibee.de>			**/
/** +	@package chat														**/
/** +																			**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/

/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +	-- ANFANG --- Verhindere ein mehrfaches Laden 			**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
if (globalProductsJavaScriptLoaded != 1 ){
	
var globalProductsJavaScriptLoaded = 1;
var globalIdUser = 0;
var globalIdUser = 0;
var globalUin ='';
var globalProductsAjaxServerURL;
var globalLanguage ='de';
var globalLiveSearchMinimumChars 	= 5;
var globalLiveSearchMaximumResults 	= 15;
// ############## TOP Produktze b#############
var globalTopProductsNumber 			= 10;
var globalTopProductsTemplate 		= '';

/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +																			**/
/** +	 DIVERSE SET-METHODEN											**/
/** +																			**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
// Funktion, zum setzten der chatUin
function setUin(uin){
	globalUin	= uin ;	
}
// Funktion, zum setzten der userId
function setIdUser(idUser){
	globalIdUser	= idUser ;	
}
// Funktion, zum setzten der Sprache
function setLanguage(value){
	globalLanguage	= value ;	
}
// Funktion, zum setzten der Url für den AjaxServer
function setProductsAjaxServerUrl(url){
	globalProductsAjaxServerURL	= url ;	
}
// Funktion, zum setzten der LiveSearchMinimumChars
function setLiveSearchMinimumChars(value){
	globalLiveSearchMinimumChars	= value ;
}
// Funktion, zum setzten der maximalen Treffer für die Live-Suche
function setLiveSearchMaximumResults(value){
	globalLiveSearchMaximumResults	= value ;	
}
//########################## Methioden für die Top_produktze Listeung ##############
// Funktion, zum setzten der Zahl für die Auflistung
function setTopProductsNumber(value){
	globalTopProductsNumber	= value ;	
}

// Funktion, zum setzten der maximalen Treffer für die Live-Suche
function setTopProductsTemplate(value){
	globalTopProductsTemplate	= value ;	
}


/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +																			**/
/** +	 DIVERSE METHODEN FÜR DIE LIVE_SEARCH	-- ANFANG ---	**/
/** +																			**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
// Funktion, sendet Abfrage an Ajaxserver, um sich den Inhalt für die
// Livesuche zu holen
function getLiveSearchResults(){
	// ermittle Länge des gesuchten Strings
	var mySearchStringLength;
	var inputBox = document.getElementById('searchInput');
	if (inputBox) mySearchStringLength = inputBox.value.length;
	else mySearchStringLength = 0;

	if ( mySearchStringLength < globalLiveSearchMinimumChars ){
		setSeaerchOffers('');
	}else {

		// starte LIVESUCHE
		// ermittle suchtext und einschränkungen;
		var mySearchString = inputBox.value;

		// ermittle gewähle ProduktID
		var inputIdProduktRubrik = document.productSearch.idProduktRubrik;
		if (inputIdProduktRubrik) var idProduktRubrik = inputIdProduktRubrik.value;
		else var idProduktRubrik = '';

		// ermittle gewählen ProduktTyp
		var inputIdProduktTyp = document.productSearch.idProduktTyp;
		if (inputIdProduktTyp) var idProduktTyp = checkradio(inputIdProduktTyp);
		else var idProduktTyp = '';
	
		 $.ajax({
		   type: "GET",
		   url: globalProductsAjaxServerURL,
		   data: "ajaxRequestName=getSearchOffers&idUser=" + globalIdUser + "&uin=" + globalUin + "&language=" + globalLanguage  + "&text=" + mySearchString + "&idProduktRubrik=" + idProduktRubrik + "&idProduktTyp=" + idProduktTyp,
		   dataType: "html",
		   cache: "false",
		   success: function(msg){
		     setSeaerchOffers(msg);
		   },
		   error: function(msg){
		   }
		 });	
	}
}

// Funktion setz den Inhalt der Vorschläge    
function setSeaerchOffers(strData){
	var resultBox 		= document.getElementById('productSearchResponse');
	var suggestBox 	= document.getElementById('productSearchSuggest');
	// wenn kein INhalt, dann leeren!!
	if (!strData || strData.length < 15){
		suggestBox.style.display = "none";
	} else {
		suggestBox.style.display = "block";
		resultBox.innerHTML = strData;
	}
}
    


/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +																			**/
/** +	 DIVERSE METHODEN FÜR DIE LIVE_SEARCH	-- ENDE	 ---	**/
/** +																			**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/

/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +																			**/
/** +	 DIVERSE METH. für DynamicTopProducts	-- ANFANG ---	**/
/** +																			**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
// Funktion, sendet Abfrage an Ajaxserver, um sich den Inhalt für die
// Livesuche zu holen
function getTopProductsResults(){
	// ermitlle zunächst die ID des Produkttypes!
	var idProduktTyp;
	var selectForm = document.getElementById('dynamicProductTypeSelection');
	if (selectForm) idProduktTyp = selectForm.options[selectForm.selectedIndex].value;
	else idProduktTyp = 0;

	if ( idProduktTyp != 0){
		// starte PRODUKTLISTUNG
		 $.ajax({
		   type: "GET",
		   url: globalProductsAjaxServerURL,
		   data: "ajaxRequestName=getTopProducts&idUser=" + globalIdUser + "&uin=" + globalUin + "&language=" + globalLanguage  + "&topProductsNumber=" + globalTopProductsNumber + "&idProduktTyp=" + idProduktTyp + "&template=" + globalTopProductsTemplate ,
		   dataType: "html",
		   cache: "false",
		   success: function(msg){
		     setTopProductsContent(msg);
		   },
		   error: function(msg){
		   	alert("fehler");
		   }
		 });	
	}
}

// Funktion setz den Inhalt der Top-Produkte    
function setTopProductsContent(strData){
	var resultBox 		= document.getElementById('dynamicTopProducts');
	// wenn kein INhalt, dann leeren!!
	if (resultBox){
		resultBox.innerHTML = strData;
	}
}


/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +																			**/
/** +	 DIVERSE METH. für DynamicTopProducts	-- ENDE	 ---	**/
/** +																			**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/

/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +	DIVERSE KLEIN FUNKTIONEN								**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
function checkradio(feld){
	for (i=0; i<feld.length; i++){
			if(feld[i].checked == true){
				return feld[i].value;
			}
	}
}

// Removes leading whitespaces
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}
// Removes ending whitespaces
function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}
// Removes leading and ending whitespaces
function trim( value ) {
	return LTrim(RTrim(value));
}

/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
/** +	-- ENDE --- Verhindere ein mehrfaches Laden 				**/
/** +++++++++++++++++++++++++++++++++++++++++++++++++++++++	**/
}