EarthfavesProvider = function(){}


//EarthfavesProvider.prototype.lookupClusters = function(name, address, lat1, lng1, lat2, lng2, filter, mapId, 
//												ignoreMove, ignoreSearch1, ignoreSearch2, zoom, callback, callbackOnError, callbackOnTimeout, timeout)
EarthfavesProvider.prototype.lookupClusters = function(parMap, callback, callbackOnError, callbackOnTimeout, timeout)
{
	info("EarthfavesProvider.prototype.lookupClusters zoom: " + parMap.searchZoom);
	
	var sendLaender = "" ;
	if (parMap.searchForcedRegionId.length > 0) {
			sendLaender = parMap.searchForcedRegionId.join(":");
	}

	Ajax.send(global.AJAX_URL + 'lookupClusters.php',
			'&lat1=' + parMap.searchLat1 + '&lng1=' + parMap.searchLng1 + '&lat2=' + parMap.searchLat2 + '&lng2=' + parMap.searchLng2 + '&name=' + parMap.search1
			+ "&filter=" + parMap.searchFilter + "&mapId=" + parMap.id 
			+ "&ignoreMove=" + (parMap.ignoreMove ? "1" : "0") + "&ignoreSearch1=" + (parMap.searchIgnoreSearch1 ? "1" : "0") + "&ignoreSearch2=" + (parMap.searchIgnoreSearch2 ? "1" : "0")
			+ "&zoom=" + parMap.searchZoom + "&searchForcedRegion=" + parMap.searchForcedRegion + "&searchForcedRegionId=" + sendLaender,  callback, callbackOnError, callbackOnTimeout, global.EARTHFAVES_TIMEOUT);
}



EarthfavesProvider.prototype.lookupPaginationsEarthfaves = function(parMap, callback, callbackOnError, callbackOnTimeout){
	
	console.log("fdfd") ;
	
	var aktivePageEarthfavesIdString = parMap.aktivePageEarthfavesIdArray.join(":");
	
	var sendFilterString = "";
	if( parMap.earthfavesFilterArray.length > 0 ){
			sendFilterString = parMap.earthfavesFilterArray.join(":");
	}
	
	var sendLaender = "" ;
	if (parMap.searchForcedRegionId.length > 0) {
			sendLaender = parMap.searchForcedRegionId.join(":");
	}
	
	Ajax.send(global.AJAX_URL + 'lookupPaginationsEarthfaves.php',
			'&lat1=' + parMap.searchLat1 + '&lng1=' + parMap.searchLng1 + '&lat2=' + parMap.searchLat2 + '&lng2=' + parMap.searchLng2 + '&name=' + parMap.search1
			+ "&aktivePageEarthfavesSearchMax=" + parMap.aktivePageEarthfavesSearchMax + "&filter=" + parMap.searchFilter + "&mapId=" + parMap.id + "&aktivePageEarthfavesIdString=" + aktivePageEarthfavesIdString +
			"&searchForcedRegion=" + parMap.searchForcedRegion + "&searchForcedRegionId=" + sendLaender + "&searchRedundanceData=" + parMap.searchRedundanceData +
			'&checkboxFilterString=' + sendFilterString,	callback, callbackOnError, callbackOnTimeout, global.EARTHFAVES_TIMEOUT);	
}

/**
 *
 */
//EarthfavesProvider.prototype.lookup = function(filterArray, name, address, lat1, lng1, lat2, lng2, filter, from, max, 
//		mapId, listId, autoZoom, zoom, clusterFinding, ignoreMove,ignoreSearch1, ignoreSearch2, quadrantsearch, callback, callbackOnError, callbackOnTimeout) 

EarthfavesProvider.prototype.lookup = function(par, callback, callbackOnError, callbackOnTimeout) 
{
	//der filterarray ist gefuellt mit den ids der 7 Superkategorien. Es sind die ids im array, nach denen gefiltert werde soll
	var sendFilterString = "";
	if( par.earthfavesFilterArray.length > 0 ){
			sendFilterString = par.earthfavesFilterArray.join(":");
	}
	
	//console.log("BlaBla-LookUp" + sendFilterString) ;
	
	//Mehrere Laender
	var sendLaender = "" ;
	if (par.searchForcedRegionId.length > 0) {
			sendLaender = par.searchForcedRegionId.join(":");
	}
	//info("EarthfavesProvider.prototype.lookup sendFilterString=" + sendFilterString);
	
	// ignoreSearch1, ignoreSearch2 true oder false. Ob die Eingabefelder bei der Suche beruecksichtigt werden sollen
	if (typeof callbackOnError == "undefined") {
		callbackOnError = earthfavesLookupCallbackOnError;
	}
	if (typeof callbackOnTimeout == "undefined") {
		callbackOnTimeout = earthfavesLookupCallbackOnTimeout;
	}
	/*
	
	Ajax.send(global.AJAX_URL + 'lookupEarthfaves.php',
			'&lat1=' + lat1 + '&lng1=' + lng1 + '&lat2=' + lat2 + '&lng2=' + lng2 + '&name=' + name +  sendFilterString
			+ "&filter=" + filter + "&from=" + from + "&max=" + max + "&mapId=" + mapId + "&listId=" + listId + "&autoZoom=" + (autoZoom ? "1" : "0") + "&zoom=" + zoom + "&clusterFinding=" + (clusterFinding ? "1" : "0") +
			"&ignoreMove=" + (ignoreMove ? "1" : "0") + "&ignoreSearch1=" + (ignoreSearch1 ? "1" : "0") + "&ignoreSearch2=" + (ignoreSearch2 ? "1" : "0") + "&quadrantsearch=" + (quadrantsearch ? "1" : "0"),
//			+ "&filter=" + filter + "&mapId=" + mapId + "&listId=" + listId + "&autoZoom=" + (autoZoom ? "1" : "0"),
			callback, callbackOnError, callbackOnTimeout, global.EARTHFAVES_TIMEOUT);
  */
  
  //var blub = Application.getActiveMap() ;
  
  //console.log("look up ((((((((((((((((((((((((((((((((8 -> IgnoreNextMove ))))))))))))))))))) " + par.ignoreNextMove) ;
  
	Ajax.send(global.AJAX_URL + 'lookupEarthfaves.php',
			'&lat1=' + par.searchLat1 + '&lng1=' + par.searchLng1 + '&lat2=' + par.searchLat2 + '&lng2=' + par.searchLng2 + '&name=' + par.search1  +  '&address=' + par.search2 + '&checkboxFilterString=' + sendFilterString
			+ "&filter=" + par.searchFilter + "&from=" + par.searchFrom + "&max=" + par.searchMax + "&mapId=" + par.id + "&listId=" + par.searchListId + "&autoZoom=" + (par.searchAutoZoom ? "1" : "0") + "&zoom=" + par.searchZoom + "&clusterFinding=" + (par.clusterSearch ? "1" : "0") +
			"&ignoreMove=" + (par.ignoreMove ? "1" : "0") + "&ignoreSearch1=" + (par.searchIgnoreSearch1 ? "1" : "0") + "&ignoreSearch2=" + (par.searchIgnoreSearch2 ? "1" : "0") + "&quadrantsearch=" + (par.searchQuadrantSearch ? "1" : "0") +
		  "&searchForcedRegion=" + par.searchForcedRegion + "&searchForcedRegionId=" + sendLaender + "&searchRedundanceData=" + par.searchRedundanceData + "&searchNearby=" + par.searchNearby, 
//			+ "&filter=" + filter + "&mapId=" + mapId + "&listId=" + listId + "&autoZoom=" + (autoZoom ? "1" : "0"),
			callback, callbackOnError, callbackOnTimeout, global.EARTHFAVES_TIMEOUT);
	
	

}

EarthfavesProvider.prototype.lookupForNearEarthfaves = function(long,lat,km)
{
	Ajax.send(global.AJAX_URL + 'lookupForNearEarthfaves.php',
			'&lat=' + lat + '&lng=' + long + '&km=' + km , lookupForNearEarthfavesCallback , "", "", global.EARTHFAVES_TIMEOUT);
}




function earthfavesLookupCallbackOnError(response)
{
	info("Search for earthfaves canceled because of an error [" + response + "]");
}


function earthfavesLookupCallbackOnTimeout(response)
{
	info("Search for earthfaves canceled because of an timeout [" + response + "]");
}


//Daniel
// vor der suche werden die daten der MapSearchSaver in die normale Map kopiert

EarthfavesProvider.prototype.lookupSaved = function(karte,earthfavesLookupCallback){
	
	Map.ignoreMove = false;
	Map.showMapLoaderAnimation();
	MapSearch.transferToMap(karte); // die gespeicherten Werte in der MapSearch in die echte Map kopieren 
	

	var lat_center = Map.searchLat1 + (Map.searchLat2 - Map.searchLat1)/2;
	var lng_center = Map.searchLng1 + (Map.searchLng2 - Map.searchLng1)/2;

	var center = new GLatLng(lat_center, lng_center);
	
	Map.setCenter(center, Map.searchZoom);
	this.lookup(karte,earthfavesLookupCallback); // hier dann die suche mit der Map und dren Daten absenden

}


EarthfavesProvider.prototype.count = function(name, address, lat1, lng1, lat2, lng2, searchForcedRegion, searchForcedRegionId, searchRedundanceData, earthfavesFilterArray, callback, callbackOnError, callbackOnTimeout) 
{
	console.group("Count earthfaves");
	console.info("zaehlt die earthvaes");
	
	if (typeof callbackOnError == "undefined") {		callbackOnError = earthfavesCountCallbackOnError;	}
	if (typeof callbackOnTimeout == "undefined") {		callbackOnTimeout = earthfavesCountCallbackOnTimeout;	}
	var checkboxFilterString  = "";	
	if( earthfavesFilterArray.length > 0 ){			 checkboxFilterString = earthfavesFilterArray.join(":");	}
	
	console.log("Country id :" ,searchForcedRegionId) ;
	console.log("Country id :" ,searchForcedRegion) ;
	
	var sendLaender = "" ;
	if (searchForcedRegionId.length > 0) {
			sendLaender = searchForcedRegionId.join(":");
	}

	Ajax.send(global.AJAX_URL + "countEarthfaves.php", 
			'name=' + name + "&address=" + address + '&lat1=' + lat1 + '&lng1=' + lng1 + '&lat2=' + lat2 + '&lng2=' + lng2 + '&earthfavesFilterString=' +  checkboxFilterString+
			 "&searchForcedRegion=" + searchForcedRegion + "&searchForcedRegionId=" + searchForcedRegionId + "&searchRedundanceData=" + searchRedundanceData,
			callback, callbackOnError, callbackOnTimeout, global.EARTHFAVES_TIMEOUT);
	console.groupEnd();

}

function earthfavesCountCallbackOnError(response){	info("Counting earthfaves canceled because of an error [" +response + "]");}

function earthfavesCountCallbackOnTimeout(response)
{	info("Counting earthfaves canceled because of an timeout [" +response + "]");}