var map_a;
var map_ctry;

function loadVendorsOnMap(area,country) {
    map_a = area;
    map_ctry = country;
    initServerUrl();
    if (document.getElementById('loadingIndicatorVendorMap')) show(document.getElementById('loadingIndicatorVendorMap'));
    if (document.getElementById('infoLoadingMap')) {show(document.getElementById('infoLoadingMap'));}
    if (document.getElementById('infoLoadingMap1')) show(document.getElementById('infoLoadingMap1'));				

 	var url = serverUrl + "ajax/?act=loadVendorsOnOverviewMap&a="+area+"&ctry="+country;
	httpRequest("GET",uncache(url),true,handleResponseVendors);
}

function loadTendersOnMap(area,country) {
	initServerUrl();
    if (document.getElementById('loadingIndicatorTenderMap')) show(document.getElementById('loadingIndicatorTenderMap'));
    if (document.getElementById('infoLoadingMap')) {show(document.getElementById('infoLoadingMap'));}	
    if (document.getElementById('infoLoadingMap2')) show(document.getElementById('infoLoadingMap2'));	
 	var url = serverUrl + "ajax/?act=loadTendersOnMap&a="+area+"&ctry="+country;
	httpRequest("GET",uncache(url),true,handleResponseTenders);
}


//event handlers for XMLHttpRequest

function handleResponseVendors(){

    var vendorsJsonReturnVal;
    if(request.readyState == 4){
        if(request.status == 200){
			vendorsJsonReturnVal = request.responseText;
			//var vendors = eval( dec(vendorsJsonReturnVal) );
			var vendors = eval( vendorsJsonReturnVal );	
			// JSON lib gives error in Firefox, check later...
			//var tenders = jsonReturnVal.parseJSON(); 

			for (var i=0;i<=vendors.length-1;i++) {
				var businessCard = new BusinessCard();
				businessCard = new BusinessCard();
				businessCard.id = vendors[i].id;			
				businessCard.zip = vendors[i].zip;				
				// businessCard.street = vendors[i].street;
				// businessCard.city = vendors[i].city;
				// businessCard.address = vendors[i].address;
				businessCard.company = vendors[i].company;
				businessCard.website = vendors[i].website;
				businessCard.vendorId = vendors[i].vendorid;
				businessCard.logo = vendors[i].logo;
				businessCard.logoExists = vendors[i].logoexists;
				businessCard.public = vendors[i].public;
				
				businessCard.country = vendors[i].country;
								
     			businessCard.name1 = vendors[i].name1;
				businessCard.position1 = vendors[i].position1;
				businessCard.xing1 = vendors[i].xing1;
				businessCard.photo1 = vendors[i].photo1;
				businessCard.photo1Exists = vendors[i].photo1exists;

     			businessCard.name2 = vendors[i].name2;
				businessCard.position2 = vendors[i].position2;
				businessCard.xing2 = vendors[i].xing2;
				businessCard.photo2 = vendors[i].photo2;
				businessCard.photo2Exists = vendors[i].photo2exists;
				
				businessCard.groupId = vendors[i].groupid;
				businessCard.sealExists = vendors[i].sealexists;
				businessCard.seal = vendors[i].seal;
				businessCard.grade = vendors[i].grade;
				businessCard.isRanked = vendors[i].ranked;
				businessCard.favorite = vendors[i].favorite;
				businessCard.bpkfavorite = vendors[i].bpkfavorite;				
				businessCard.point = new GPoint(vendors[i].geolat,vendors[i].geolng);
				businessCards.push(businessCard);
			}

			var icon;
			var ignore = false;
			
			for (var i=0;i<=businessCards.length-1;i++) {
			 
			    ignore = false;
			    
				if (document.location.href.indexOf("merkliste")>=0) {
					if (businessCards[i].favorite===true) {icon = iconFavoriteOwn;}
					else if (businessCards[i].bpkfavorite===true) {icon = iconFavoriteBpk;}
					else {icon = iconFavoriteNo; ignore=true;}
					if (businessCards[i].public===false) {icon = iconLocked;}
				} else {

					if (businessCards[i].sealExists===false) {
						icon = iconSealNone;
						if (businessCards[i].public===false) {icon = iconLocked;}
					} else {
						if (businessCards[i].grade>=9 && businessCards[i].sealExists) icon = iconSealExcellent;
						else if (businessCards[i].grade>=7 && businessCards[i].sealExists) icon = iconSealVeryGood;
						else if (businessCards[i].grade>=5 && businessCards[i].sealExists) icon = iconSealGood;
						else icon = iconWhite;
						if (businessCards[i].public===false) {icon = iconLocked;}
					}
				}
				
				if (!ignore && (!(businessCards[i].point.x=='null' || !businessCards[i].point.x))) {
					if (businessCards[i].public===false) createLockedBusinessCard(businessCards[i].point, icon, businessCards[i]);
					else createBusinessCard(businessCards[i].point, icon, businessCards[i]);
				}
			}

		    if (document.getElementById('loadingIndicatorVendorMap')) hide(document.getElementById('loadingIndicatorVendorMap'));
    		if (document.getElementById('infoLoadingMap')) hide(document.getElementById('infoLoadingMap'));	
		    if (document.getElementById('infoLoadingMap1')) hide(document.getElementById('infoLoadingMap1'));					

            if (document.location.href.indexOf("benchpark-favoriten-karte")>=0) {
                // hideFavoritesMarkers('none');
                hideFavoritesMarkers('my');
            } else if (document.location.href.indexOf("merkliste-karte")>=0) {
                // hideFavoritesMarkers('none');
                hideFavoritesMarkers('bpk');
            }

			// if finished and tender map exist, load tenders
			if (document.getElementById('mapTenders')) {			
				loadTendersOnMap(map_a,map_ctry);
			}
			
        } else {
            alert("Sorry, diese Funktion kann z.Zt. nicht ausgef�hrt werden.");
        }
    } //end outer if
}



function handleResponseTenders(){

    var tendersJsonReturnVal;
    
    if(request.readyState == 4){
        if(request.status == 200){

			tendersJsonReturnVal = request.responseText;
			// var tenders = eval( dec(tendersJsonReturnVal) );
			var tenders = eval( tendersJsonReturnVal );

			// JSON lib gives error in Firefox, check later...
			//var tenders = jsonReturnVal.parseJSON(); 

			for (var i=0;i<=tenders.length-1;i++) {
				var tenderCard = new TenderCard();
				tenderCard = new TenderCard();
				tenderCard.id = tenders[i].id;
				tenderCard.title = tenders[i].title;
				tenderCard.zip = tenders[i].zip;
				tenderCard.location = tenders[i].location;
				tenderCard.isExpired = tenders[i].expired;
				tenderCard.countryId = tenders[i].countryid;
				tenderCard.country = tenders[i].country;				
				tenderCard.address = tenders[i].address;
				tenderCard.url = tenders[i].url;
				tenderCard.endDate = tenders[i].enddate;
				tenderCard.point = new GPoint(tenders[i].geolat,tenders[i].geolng);
				tenderCards.push(tenderCard);
			}

			var icon;
			for (var i=0;i<=tenderCards.length-1;i++) {
				icon = tenderCards[i].isExpired?iconClockOff:iconClockOn;
				if (!(tenderCards[i].point.x=='null' || !tenderCards[i].point.x))
					createTenderCard(tenderCards[i].point, icon, tenderCards[i]);
			}

		    if (document.getElementById('loadingIndicatorTenderMap')) hide(document.getElementById('loadingIndicatorTenderMap'));
    		if (document.getElementById('infoLoadingMap')) hide(document.getElementById('infoLoadingMap'));	
		    if (document.getElementById('infoLoadingMap2')) hide(document.getElementById('infoLoadingMap2'));			

        } else {
            alert("Sorry, diese Funktion kann z.Zt. nicht ausgef�hrt werden.");
        }
    } //end outer if
}
