var inputString = 0;
var inputSize = 0;

var initOn = 0;


window.onresize = handleResize;


function lookup() {

		inputString = $('#inputString').attr('value');	
		k_radius = $("#radius").attr('value');	
		showLocation(inputString, k_radius);
	} // MITTELPUNKT FÜR UMKREISSUCHE ERMITTELN


function lookupNew(iS) {

		inputString = iS;	
		k_radius = $("#radius").attr('value');	
		showLocation(inputString, k_radius);
	} // MITTELPUNKT FÜR UMKREISSUCHE ERMITTELN
	
	

function lookupInit() {
		inputString = $('#inputString').attr('value');
		k_radius = $("#radius").attr('value');	
		showLocation(inputString, k_radius);
		
	} // UMKREISSUCHE INIT HOMEPAGE
	
function lookupCrossair() {
		initVar = $('#findMe').attr('class');
		k_radius = $("#radius").attr('value');	
		showLocation(initVar, k_radius);
		
} 



// UMKREISSUCHE
// ------------------------------------------------------
function findRadius(phpLat, phpLon, k_radius, initswitch) {
	
	$.post("sql/rpc.php", {queryLon: ""+phpLat+"", queryLat: ""+phpLon+"", queryRadius: ""+k_radius+""}, function(data){
				if(data.length >0) {
					splitData(data,initswitch);
				}
				else{
					document.getElementById("sidebar").innerHTML = ''; // NULLSETZEN HÄNDLERLISTE SCROLLBAR
					$('#sidebar').attr('style', 'margin-top:0px');
				}
			});		
} 

// ------------------------------------------------------	



// FORMVALIDATOR KONTAKTFORMULAR
// ------------------------------------------------------
function validate(formData, jqForm, options) { 
    
	var at = "@";
	var dot = ".";
	
	//$('#'+index).removeClass("off");
    //$('#'+index).addClass("on"); 
			
    var nameValue = $('#form_name').attr('value');
    var emailValue = $('#form_email').attr('value'); 
 	
		
	if (nameValue=='' || nameValue=='Nachname*' || nameValue=='name*'){
			$('#form_name').attr('style', 'border: 1px solid #f90608');
		 	return false
		}
	
	if (emailValue.indexOf(at)==-1 || emailValue.indexOf(at)==0){
		   $('#form_email').attr('style', 'border: 1px solid #f90608');
		   return false
		}

	if (emailValue.indexOf(dot)==-1 || emailValue.indexOf(dot)==0){
			$('#form_email').attr('style', 'border: 1px solid #f90608');
		    return false
		}
	
	if (emailValue=='' || emailValue=='Email*' || emailValue=='email*'){
			$('#form_email').attr('style', 'border: 1px solid #f90608');
		 	return false
		}
	
	
   
    
}
// ------------------------------------------------------




function changeLanguage(){

languageSelect = $("#language").attr('value');

self.location =  languageSelect + '/';

return false;
}


$("document").ready(function(){
							 
	//$(this).load('index.php?lang=en');

	
	handleResize();
	
	initVar = $('#findMe').attr('class');
	langSwitcher = $('#langSwitch').attr('class');
	initialize();
	lookupInit(initVar);
	
	
	// SCROLLBUTTONS AKTIVIEREN
	$("#nextPage").click(function () { 
      nextPage();
    });
	
	$("#prevPage").click(function () { 
      prevPage();
    });
	
	$("#nextPageO").click(function () { 
      nextPage();
    });
	
	$("#prevPageO").click(function () { 
      prevPage();
    });



// FORM 
// -------------------------------------------
	 var options = { 
        target:        '#resultContact',   // target element(s) to be updated with server response 
        beforeSubmit:  validate,
		success:   function() { 
			setTimeout("initForm()",3000)
        } 
		
	 }

	$('#postDealer').ajaxForm(options); 
	

// LIFEDEALER INFO
// -------------------------------------------


										
		languageSet = $("#language").attr('value');
		
		if(languageSet == "de"){
			lifedealerText = 	
									'<img src="images/CUBE-LIFE-DEALER-ICON.jpg" />' + 
									'<h1>LIFE DEALER INFO</h1><br>' +
									'Erlebe die CUBE WELT in deiner Nähe<br><b>- Der CUBE LIFE DEALER:</b><br>' +
									'CUBE LIFE DEALER bieten für CUBE Kunden eine große Auswahl an CUBE BIKES und Accessoires. ' +
									'Du findest dort eine  Auswahl an Mountain Bikes, Rennrädern, Trekking und Cross Bikes.' +
									'Teste vor Ort die neuesten Dual Trail Control Bikes wie Stereo oder Sting – diese Bikes stehen im Shop zum Test bereit.' +
									'Solltest du CUBE Accessoires suchen, so bietet dir der CUBE LIFE DEALER ein breites Angebot – frage einfach nach dem CUBE Spezialist im Shop.<br>';
		}
			
		else{
			lifedealerText = 		'<img src="images/CUBE-LIFE-DEALER-ICON.jpg" />' + 
									'<h1>LIFE DEALER INFO</h1><br>' +
									'Experience the CUBE WORLD in your area<br><b>- The CUBE LIFE DEALER: </b><br>' +
									'CUBE LIFE DEALER offer customers a wide selection of CUBE BIKES & Accessories. ' +
									'You\'ll find a selection of our Mountain, Road, Trekking and Cross Bikes.' +
									'You can check out the latest Dual Trail Control bikes such as Stereo or Sting - these bikes are normally in the shop ready for testing.' +
									'And if you are looking for CUBE Accessories, the CUBE LIFE DEALER can offer you a wide selection - just ask for a CUBE specialist at the dealer.<br>';
		}
			
		$("#lifedealer_container").html(lifedealerText);



	
});








// ----------------------------------------------------










// VARIABLEN
var map;
var geocoder;

var ID = new Array();
var kd_nr = new Array();
var shopname = new Array();
var partner = new Array();
var strasse = new Array();
var plz = new Array();
var ort = new Array();
var land = new Array();
var telefon = new Array();
var email = new Array();
var website = new Array();
var empfehlung = new Array();
var b2b = new Array();
var angelegt_von = new Array();
var angelegt_am = new Array();
var geaendert_von = new Array();
var geaendert_am = new Array();
var lifedealer = new Array();
var geol = new Array();
var geob = new Array();
var monostore = new Array();
var ebike = new Array();
var tner = new Array();
var fully = new Array();
var prio = new Array();

var punkt = new Array();

var address = new Array();
var myCenter;
var index1 = 0;

var phplat = 0;
var phplon = 0;

var k_radius = 25;

var aktiv;
var passiv = 10000;

var scrollh = 0;
var listh = 0;
var pressed;

var detIn = 0;

var gdir; // ROUTE



// INITIALISIERUNG BEI SEITENAUFRUF
function initialize(la,lo) {


	myCenter = new GLatLng(la,lo);
	
	map = new GMap2(document.getElementById("map"));
	//map.setCenter(new GLatLng(la, lo), 7);
	map.setMapType(G_PHYSICAL_MAP);
	map.setUIToDefault();
	map.enableDoubleClickZoom();
	
	document.getElementById("sidebar").innerHTML = ''; // NULLSETZEN HÄNDLERLISTE SCROLLBAR
	
	// ROUTE
	gdir = new GDirections(map);
	GEvent.addListener(gdir, "error", handleErrors);
	GEvent.addListener(gdir,"load", function() {
											 
	if(langSwitcher == 'en'){
   		 $('#routeDistance').html('Distance: <span class="red">' + gdir.getDistance().html + '</span>');
		 $('#routeTime').html('Time: <span class="red">' + gdir.getDuration().html + '</span>'); 
	}
	else{
		 $('#routeDistance').html('Entfernung: <span class="red">' + gdir.getDistance().html + '</span>');
		 $('#routeTime').html('Reisezeit: <span class="red">' + gdir.getDuration().html + '</span>'); 
	}
  }); 

	

}
	
	

// -------------------------------------------------------------
// MARKER AUF MAP PLATZIEREN
// -------------------------------------------------------------
function createMarker(pointa,pointb,lifedealer,index, monostore) {
	
	listh += 44; // HOEHE LISTENITEMS SPALTE LINKS (FUER SCROLLER)
	
	
	point = new GPoint(pointb,pointa); 	
	
	 // one way to detect IE6 and IE6 only
	var is_ie6 = (
		window.external &&
		typeof window.XMLHttpRequest == "undefined"
	);     
	
	// ICON KLASSE
	var baseIcon = new GIcon();
	
	
	if(lifedealer == "TRUE" || lifedealer == "True"){
		baseIcon.image = is_ie6 ?	"images/CUBE-LIFE-DEALER-ICON.jpg" :	"images/CUBE-LIFE-DEALER-ICON.jpg"; // IE6 WEICHE FUER MARKER
	}
	
	else{
		baseIcon.image = is_ie6 ?	"images/CUBE-NORMAL-DEALER-ICON.jpg" :	"images/CUBE-NORMAL-DEALER-ICON.jpg"; // IE6 WEICHE FUER MARKER
	}
	
	
	// MONOSTORE ICON
	if(monostore == "TRUE" || monostore == "True"){
		baseIcon.image = is_ie6 ?	"images/CUBE-PREMIUM-DEALER-ICON.jpg" :	"images/CUBE-PREMIUM-DEALER-ICON.jpg"; // IE6 WEICHE FUER MARKER
	}
	
	
	
	//baseIcon.image = "images/icon_marker_bw.jpg";
	baseIcon.transparent = null; // don't use transparency mask
	baseIcon.shadow = null; // don't use shadow image
	baseIcon.iconSize = new GSize(23, 23); // icon size matches image
	baseIcon.shadowSize = null; // self-explanatory
	baseIcon.iconAnchor = new GPoint(23, 23); // *center* of the icon
	baseIcon.infoWindowAnchor = new GPoint(9, 2);
	baseIcon.infoShadowAnchor = null;

	
	
    markerOptions = { icon:baseIcon };
    var marker = new GMarker(point, markerOptions);
	map.addOverlay(marker);
	

	// -------------------------------------------------------------
	// LISTENER FÜR MARKER SETZEN
	// -------------------------------------------------------------
    GEvent.addListener(marker, "click", function() {
												 
												 
												 
    	
		
		// DETAILANSICHT FÜLLEN
				
		if(lifedealer == "TRUE" || lifedealer == "true" || lifedealer == "True"){
			farbe = "red";
			dealerIcon = '<div class="dealerIcon"><img src="images/CUBE-LIFE-DEALER-ICON.jpg"></div>';
		}
		
		else{
			farbe = "gray";
			dealerIcon = '';
		}
		
		// MONOSTORE ICON
		if(monostore == "TRUE" || monostore == "True"){
			farbe = "red";
			dealerIcon = '<div class="dealerIcon"><img src="images/CUBE-PREMIUM-DEALER-ICON.jpg"></div>';
		}
		
		
		
		
		// ----------------------------------------------------------------------------------
		// LANGUAGE SELECT MARKER
		// ----------------------------------------------------------------------------------
		if(langSwitcher == 'en'){
		
		// MARKER FÜLLEN ENGLISCH
		marker.openInfoWindowHtml('<b>Shop:</b> ' + shopname[index] + '<br/>' + 
								  '<b>Address:</b> ' + strasse[index] + '<br/>' + 
								  '<b>City:</b> ' + plz[index] + ' - ' + ort[index] + '<br/>' + 
								  '<b>Country:</b> ' + land[index] + '<br/>');
		
		// DETAILANSICHT FÜLLEN ENGLISCH
		$('#fillDetail').html('<div><b class="' + farbe + '">' + shopname[index] + '</b></div>' +
                        	'<div class="left_col_oben"><br>' +
                        	strasse[index] + '<br>' +
                       	 	plz[index] + ' ' + ort[index] + '<br><br>' +
                        	'Phone ' + telefon[index] + '<br><br>' +
                            '</div>' +
							'<div class="right_co_obenl"><br /><br /><br /><br /><a href="javascript:void()" onclick="javascript:scrollDetailOut();return false;"><img src="images/bt_back_list_en.gif"></a></div><br>' 
							);
		}
		
		else
		{
		// MARKER FÜLLEN DEUTSCH
		marker.openInfoWindowHtml('<b>Shop:</b> ' + shopname[index] + '<br/>' + 
								  '<b>Adresse:</b> ' + strasse[index] + '<br/>' + 
								  '<b>Ort:</b> ' + plz[index] + ' - ' + ort[index] + '<br/>' + 
								  '<b>Land:</b> ' + land[index] + '<br/>');
		
		// DETAILANSICHT FÜLLEN DEUTSCH
		$('#fillDetail').html('<div><b class="' + farbe + '">' + shopname[index] + '</b></div>' +
                        	'<div class="left_col_oben"><br>' +
                        	strasse[index] + '<br>' +
                       	 	plz[index] + ' ' + ort[index] + '<br><br>' +
                        	'Telefon ' + telefon[index] + '<br><br>' +
                            '</div>' +
							'<div class="right_co_obenl"><br /><br /><br /><br /><a href="javascript:void()" onclick="javascript:scrollDetailOut();return false;"><img src="images/bt_back_list.gif"></a></div><br>' 
							);
		}
		
		
		 // ÜBERSICHT AUSKLAPPEN
			$('#'+index).removeClass("off");
          	$('#'+index).addClass("on"); 
		  	
			$('#'+index).parent().attr('style', 'height:170px');
		 	$('#'+index).next('div').attr('style', 'display:block');
			
			aktiv = index;
		 
		 // ÜBERSICHT EINKLAPPEN
		 	$('#'+passiv).removeClass("on");
          	$('#'+passiv).addClass("off"); 
		  	
			$('#'+passiv).parent().attr('style', 'height:30px');
		 	$('#'+passiv).next('div').attr('style', 'display:none');

			
			if(aktiv == passiv){
				passiv = 10000;
			}
			
			else{
				passiv = aktiv;
			}
			
		  	pressed = aktiv;
		
		
		// BROWSERDATEN ÄNDERN
		changeBrowser(index);
		
		// AUF ELEMENT IN SCROLLLEISTE ZOOMEN
		scroller(index);
		
		// GOOGLE ANALYTICS
		trackerURL = "/" + langSwitcher + "/" + ort[index].toString() + '-' + shopname[index].toString() + '-' + kd_nr[index] + ".html"
		trackerURL = trackerURL.replace(/(\\)/g, '')
		trackerURL = trackerURL.replace(/( )/g, '_');
		
		pageTracker._trackPageview("'" + trackerURL + "'");
	
	});

	// -------------------------------------------------------------
	// ENDE - LISTENER FÜR MARKER SETZEN
	// -------------------------------------------------------------
	
	
	// -------------------------------------------------------------
	// SIDEBAR 
	// -------------------------------------------------------------
		
		// GOOGLE ANALYTICS
		trackerURL = "/" + langSwitcher + "/" + ort[index].toString() + '-' + shopname[index].toString() + '-' + kd_nr[index] + ".html"
		trackerURL = trackerURL.replace(/(\\)/g, '')
		trackerURL = trackerURL.replace(/( )/g, '_');
		
		if(email[index].toString() == ""){
			dealerDetailIcon = '';
		}
		
		else{
			dealerDetailIcon = '<a class="red" href="javascript:void()" onclick="javascript:scrollDetailIn(' + 
							index + ');return false;"><img src="images/bt_dealer_detail_' + langSwitcher + '.gif"></a><br /><br />';
		}
		
		
		if(lifedealer == "TRUE" || lifedealer == "true" || lifedealer == "True"){
			farbe = "red";
			dealerIcon = '<div class="dealerIcon"><img src="images/CUBE-LIFE-DEALER-ICON.jpg"></div>';
		}
		
		else{
			farbe = "gray";
			dealerIcon = '';
		}
		
		
		// MONOSTORE ICON
		if(monostore == "TRUE" || monostore == "true" || monostore == "True"){
			farbe = "red";
			dealerIcon = '<div class="dealerIcon"><img src="images/CUBE-PREMIUM-DEALER-ICON.jpg"></div>';
		}
		
		
		if(langSwitcher == 'en'){
		
		// TELEFON
		if(telefon[index].toString() != ""){
			telefonVal = '<br><br>Phone ' + telefon[index] + '<br><br>';
		}else{
			telefonVal = '';
		}

		
		// ÜBERSICHTSLISTE FÜLLEN ENGLISCH							
		$("#sidebar").append('<div class="panelItem"><div id="' + index + '" class="off">' + dealerIcon + 
							'<a href="javascript:void()" onclick="javascript:pageTracker._trackPageview(\'' + trackerURL + '\');return false;" class="' + farbe + '"><b>' + 
							shopname[index].toString() + '</b></a></div>' +
							'<div class="hidden"><br>' + strasse[index].toString() + '<br>' +
							plz[index] + '<br> ' + ort[index] + telefonVal +
							dealerDetailIcon + 
							'</div></div>');
		}
		
		else
		{
		
		// TELEFON
		if(telefon[index].toString() != ""){
			telefonVal = '<br><br>Telefon ' + telefon[index] + '<br><br>';
		}else{
			telefonVal = '';
		}
			
		// ÜBERSICHTSLISTE FÜLLEN DEUTSCH							
		$("#sidebar").append('<div class="panelItem"><div id="' + index + '" class="off">' + dealerIcon + 
							'<a href="javascript:void()" onclick="javascript:pageTracker._trackPageview(\'' +trackerURL + '\');return false;" class="' + farbe + '"><b>' + 
							shopname[index].toString() + '</b></a></div>' +
							'<div class="hidden"><br>' + strasse[index].toString() + '<br>' +
							plz[index] + '<br> ' + ort[index] + telefonVal +
							dealerDetailIcon + 
							'</div></div>');
		}
		
// ----------------------------------------------------------------------------------				
// LISTENER SIDEBAR
// ----------------------------------------------------------------------------------
	$('#'+index).bind('click', function(){	
			
			
			
		// ----------------------------------------------------------------------------------
		// LANGUAGE SELECT SIDEBAR
		// ----------------------------------------------------------------------------------
		if(langSwitcher == 'en'){
		
		// MARKER FÜLLEN ENGLISCH
		marker.openInfoWindowHtml('<b>Shop:</b> ' + shopname[index] + '<br/>' + 
								  '<b>Address:</b> ' + strasse[index] + '<br/>' + 
								  '<b>City:</b> ' + plz[index] + ' - ' + ort[index] + '<br/>' + 
								  '<b>Country:</b> ' + land[index] + '<br/>');
		
		// Monostore Partner						  
		if(monostore == "TRUE" || monostore == "true" || monostore == "True"){
			partnerVal = '<div>' + partner[index] + '</div>';
		}else{
			partnerVal = '';
		}
		
		// TESTCENTER
		testCenter = new Array();
		if(ebike[index] == "TRUE" || ebike[index] == "true" || ebike[index] == "True") testCenter[0] = 'Ebikes';
		if(tner[index] == "TRUE" || tner[index] == "true" || tner[index] == "True") testCenter[1] = '29er';
		if(fully[index] == "TRUE" || fully[index] == "true" || fully[index] == "True") testCenter[2] = 'Ebikes';
		
		testCenterVal = '';
		if(testCenter.length > 0){
		
			testCenterVal += '<b>Testcenter:</b><br />';
			for (var i = 0; i < testCenter.length; i++){
				testCenterVal += testCenter[i] + ' ';
			} 
		}
		
		
		// DETAILANSICHT FÜLLEN ENGLISCH
		$('#fillDetail').html('<div><b class="' + farbe + '">' + shopname[index] + '</b></div>' +
							partnerVal +
                        	'<div class="left_col_oben"><br>' +
                        	strasse[index] + '<br>' +
                       	 	plz[index] + ' ' + ort[index] + '<br><br>' +
                        	'Phone ' + telefon[index] + '<br><br>' +
                        	testCenterVal + 
                            '<br /><br /></div>' +
							'<div class="right_co_obenl"><br /><br /><br /><br /><a href=javascript:void()" onclick="javascript:scrollDetailOut();return false;"><img src="images/bt_back_list_en.gif"></a></div><br>' 
							);
		}
		
		else
		{
		// MARKER FÜLLEN DEUTSCH
		marker.openInfoWindowHtml('<b>Shop:</b> ' + shopname[index] + '<br/>' + 
								  '<b>Adresse:</b> ' + strasse[index] + '<br/>' + 
								  '<b>Ort:</b> ' + plz[index] + ' - ' + ort[index] + '<br/>' + 
								  '<b>Land:</b> ' + land[index] + '<br/>');
		
		// Monostore Partner						  
		if(monostore == "TRUE" || monostore == "true" || monostore == "True"){
			partnerVal = '<div>' + partner[index] + '</div>';
		}else{
			partnerVal = '';
		}
		
		
		// TESTCENTER
		testCenter = new Array();
		if(ebike[index] == "TRUE" || ebike[index] == "true" || ebike[index] == "True") testCenter[0] = 'Ebikes';
		if(tner[index] == "TRUE" || tner[index] == "true" || tner[index] == "True") testCenter[1] = '29er';
		if(fully[index] == "TRUE" || fully[index] == "true" || fully[index] == "True") testCenter[2] = 'Ebikes';
		
		testCenterVal = '';
		if(testCenter.length > 0){
		
			testCenterVal += '<b>Testcenter:</b><br />';
			for (var i = 0; i < testCenter.length; i++){
				testCenterVal += testCenter[i] + ' ';
			} 
		}
		
		

		
		// DETAILANSICHT FÜLLEN DEUTSCH
		$('#fillDetail').html('<div><b class="' + farbe + '">' + shopname[index] + '</b></div>' +
							partnerVal +
                        	'<div class="left_col_oben"><br>' +
                        	strasse[index] + '<br>' +
                       	 	plz[index] + ' ' + ort[index] + '<br><br>' +
                        	'Telefon ' + telefon[index] + '<br><br>' +
                        	testCenterVal + 
                            '<br /><br /></div>' +
							'<div class="right_co_obenl"><br /><br /><br /><br /><a href=javascript:void()" onclick="javascript:scrollDetailOut();return false;"><img src="images/bt_back_list.gif"></a></div><br>' 
							);
		}
		
		
		
		  
		 	// ÜBERSICHT AUSKLAPPEN
			$('#'+index).removeClass("off");
          	$('#'+index).addClass("on"); 
		  	
			$('#'+index).parent().attr('style', 'height:170px');
		 	$('#'+index).next('div').attr('style', 'display:block');
			
			aktiv = index;
		 
		 // ÜBERSICHT EINKLAPPEN
		 	$('#'+passiv).removeClass("on");
          	$('#'+passiv).addClass("off"); 
		  	
			$('#'+passiv).parent().attr('style', 'height:30px');
		 	$('#'+passiv).next('div').attr('style', 'display:none');

			
			if(aktiv == passiv){
				passiv = 10000;
			}
			
			else{
				passiv = aktiv;
			}
			
		  	pressed = aktiv;
			
		
			
			
			// BROWSERDATEN ÄNDERN
			changeBrowser(index);
		
			// AUF ELEMENT IN SCROLLLEISTE ZOOMEN
			scroller(index);


	});
	
	
	// BROWSERDATEN ÄNDERN
	function changeBrowser(index){
		
		newURL = "#/" + ort[index].toString() + '-' + shopname[index].toString() + '-' + kd_nr[index] + ".html"
		newURL = newURL.replace(/(\\)/g, '')
		newURL = newURL.replace(/( )/g, '_');
		
			document.location.hash = newURL;
			//self.location =  newURL;
			document.title = '© CUBE BIKES DEALER SEARCH © ' + ort[index].toString() + ' © ' + shopname[index].toString();
	}
	
	// MAUSZEIGER ÜBER ÜBERSICHT ÄNDERN
	/*$('#'+index).bind("mouseover", function(){
		  document.body.style.cursor = "pointer";
		});*/
	
	handleResize();
	
}



// STRING ADRESSE IN KOORDINATEN UMWANDEL
function addAddressToMap(response) {
	
    if (!response || response.Status.code != 200) {
    	alert("NO RESULT - PLEASE TRY AGAIN");
    } else {
    	place = response.Placemark[0];
        point = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
		
			map.clearOverlays();

			map.setCenter(point, 8);
			
			
			phplat = place.Point.coordinates[0];
			phplon = place.Point.coordinates[1];
			
			drawCircle(); // KREISRADIUS ZEICHNEN
			
			findRadius(phplat,phplon,oRadius);	// UMKREISSUCHE
			
			
      }
	  
	  
    }
	


// LOKALISIERUNG DER EINGABEDATEN
function showLocation(locateme, k_radius) {
	
	oRadius = k_radius; // UMKREISGROESSE AUSLESEN
      	
	// ADRESSDATEN IN KOORDINATEN WANDELN
    geocoder = new GClientGeocoder();
	geocoder.getLocations(locateme, addAddressToMap);
}


// PHP DATEN UMWANDELN
function splitData(data, initSW) {
	
	if(initSW == 1){
		oRadius = k_radius; // UMKREISGROESSE AUSLESEN
		map.clearOverlays();
		map.setCenter(new GLatLng(la, lo), 7);
		drawCircle(); // KREISRADIUS ZEICHNEN
		
		
	}
		
	ID.length = 0;
	kd_nr.length = 0;
	shopname.length = 0;
	partner.length = 0;
	strasse.length = 0;
	plz.length = 0;
	ort.length = 0;
	land.length = 0;
	telefon.length = 0;
	email.length = 0;
	website.length = 0;
	empfehlung.length = 0;
	b2b.length = 0;
	angelegt_von.length = 0;
	angelegt_am.length = 0;
	geaendert_von.length = 0;
	geaendert_am.length = 0;
	lifedealer.length = 0;
	geol.length = 0;
	geob.length = 0;
	monostore.length = 0;
	ebike.length = 0;
	tner.length = 0;
	fully.length = 0;
	prio.length = 0;
	
	index1 = 0;
	
	var rows = data.split('\n');
	
	document.getElementById("sidebar").innerHTML = ''; // NULLSETZEN HÄNDLERLISTE SCROLLBAR
	$('#sidebar').attr('style', 'margin-top:0px');
	initStage();
	initForm();
	
	//listheight = 0;  // NULLSETZEN HOEHE SCROLLBAR
						
		for (var j = 0; j < rows.length-1; j++) {
			
			ID.push(rows[j].split(';')[0]);
			kd_nr.push(rows[j].split(';')[1]);
			shopname.push(rows[j].split(';')[2]);
			partner.push(rows[j].split(';')[3]);
			strasse.push(rows[j].split(';')[4]);
			plz.push(rows[j].split(';')[5]);
			ort.push(rows[j].split(';')[6]);
			land.push(rows[j].split(';')[7]);
			telefon.push(rows[j].split(';')[8]);
			email.push(rows[j].split(';')[9]);
			website.push(rows[j].split(';')[10]);
			empfehlung.push(rows[j].split(';')[11]);
			b2b.push(rows[j].split(';')[12]);
			angelegt_von.push(rows[j].split(';')[13]);
			angelegt_am.push(rows[j].split(';')[14]);
			geaendert_von.push(rows[j].split(';')[15]);
			geaendert_am.push(rows[j].split(';')[16]);
			lifedealer.push(rows[j].split(';')[17]);
			geol.push(rows[j].split(';')[18]);
			geob.push(rows[j].split(';')[19]);
			monostore.push(rows[j].split(';')[20]);
			ebike.push(rows[j].split(';')[21]);
			tner.push(rows[j].split(';')[22]);
			fully.push(rows[j].split(';')[23]);
			prio.push(rows[j].split(';')[24]);
			
			address = (geol[j],geob[j]);
			createMarker(geol[j],geob[j],lifedealer[j],index1++,monostore[j]);
						
		}			
}


// KREISRADIUS ZEICHNEN
function drawCircle() {

	//var oRadius = document.getElementById('radiusInput');
	
	//oRadius = 50;
	

	circleRadius = oRadius;
	circleUnits = 'KM';
	
	doDrawCircle();
}


function doDrawCircle(){

	centerMarker = new GMarker(map.getCenter(),{draggable:true});
	GEvent.addListener(centerMarker,'dragend',drawCircle)
	//map.addOverlay(centerMarker);

	var center = map.getCenter();

	var bounds = new GLatLngBounds();

	
	var circlePoints = Array();

	with (Math) {
		if (circleUnits == 'KM') {
			var d = circleRadius/6378.8;	// radians
		}
		else { //miles
			var d = circleRadius/3963.189;	// radians
		}

		var lat1 = (PI/180)* center.lat(); // radians
		var lng1 = (PI/180)* center.lng(); // radians

		for (var a = 0 ; a < 361 ; a++ ) {
			var tc = (PI/180)*a;
			var y = asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc));
			var dlng = atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y));
			var x = ((lng1-dlng+PI) % (2*PI)) - PI ; // MOD function
			var point = new GLatLng(parseFloat(y*(180/PI)),parseFloat(x*(180/PI)));
			circlePoints.push(point);
			bounds.extend(point);
		}

		if (d < 1.5678565720686044) {
			circle = new GPolygon(circlePoints, '#AAAAAA', 2, 1, '#FFF', 0.40);	
		}
		else {
			circle = new GPolygon(circlePoints, '#000000', 2, 1);	
		}
		map.addOverlay(circle); 

		map.setZoom(map.getBoundsZoomLevel(bounds));
	}
}





// FENSTERINHALT AN BROWSERGROESSE ANPASSSEN

// BROWSERHOEHE
	function windowHeight() {
	    // Standard browsers (Mozilla, Safari, etc.)
	    if (self.innerHeight)
	        return self.innerHeight;
	    // IE 6
	    if (document.documentElement && document.documentElement.clientHeight)
	        return document.documentElement.clientHeight;
	    // IE 5
	    if (document.body)
	        return document.body.clientHeight;
	    // Just in case.
	    return 0;
	}


// BROWSERBREITE
	function windowWidth(){
		//current browsers
		if(self.innerWidth){
			return self.innerWidth;
		}
		//IE 6 cluase
		if(document.documentElement && document.documentElement.clientWidth){
			return document.documentElement.clientWidth;
		}
		//IE 5 clause
		if(document.body){
			return document.body.clientWidth;
		}
		//If they all fail
		return 0;
	}


// GROESSENANPASSUNG DER DIVS
	function handleResize() 
    {
		
    	//current window height
    	var height = windowHeight() - 160;
		
    	
    	//Sets the height of the map
    	document.getElementById('map').style.height = windowHeight() - 112 + 'px';
		
		// Sets the height of the sidebar
		document.getElementById('scrollable').style.height = height - 16 + 'px';
		document.getElementById('scrollable_detail').style.height = height + 16 + 'px';
		
    	 if(detIn == 0)
		 {
			//Gets the width of window
    		var width = windowWidth() - 275;
		 }
		 
		 else
		 {
			//Gets the width of window
    		var width = windowWidth() - 395;
		 }
		 
		 
    	//Sets map width
    	document.getElementById('map').style.width = width + 'px';
    	//Sets sidebar width
    	//document.getElementById('sidebar').style.width = '270px';
		//document.getElementById('sidebar_detail').style.width = '390px';
	
	}
	
    function resizeMapToScreen(){
    	
    	//Gets the width of window
    	var width = windowWidth();
    	//Sets map width
    	document.getElementById('map').style.width = width + 'px';

    }
	
	
	function scroller(itemAktuell){
		
		// SCROLLERHOEHE
		scrollh = $('#scrollable').height()-150;
		autoScroll = itemAktuell*44;
		
			$('#sidebar').animate({ 
        		marginTop: '-' + autoScroll + 'px'
    		}, 1000 );
}


	function nextPage(){
		
		// ÜBERSICHT EINKLAPPEN
		$('#'+pressed).removeClass("on");
        $('#'+pressed).addClass("off"); 
		  	
		$('#'+pressed).parent().attr('style', 'height:30px');
		$('#'+pressed).next('div').attr('style', 'visibility:hidden');

	
		// SCROLLERHOEHE
		scrollWindow = $('#scrollable').height()-150;
		scrollHight = $('#sidebar').height();
		scrollMe = parseInt(scrollWindow/44) * 44 - 44;
		scrollMeNULL = -($('#sidebar').offset().top);
		
		//$('#gmessage').text("LISTE: " + listh + " - SCROLLBAR: " +scrollWindow + " - scrollMe: " + scrollMe + " - offsetTop: " + scrollMeNULL);		
		
		if(scrollMeNULL <  scrollHight - scrollWindow){
		
			$('#sidebar').animate({ 
        		marginTop: '-=' + scrollMe + 'px'
    		}, 1000 );
		}
	}
	
	
	function prevPage(){
		
		// ÜBERSICHT EINKLAPPEN
		$('#'+pressed).removeClass("on");
        $('#'+pressed).addClass("off"); 
		  	
		$('#'+pressed).parent().attr('style', 'height:30px');
		$('#'+pressed).next('div').attr('style', 'visibility:hidden');

		
		// SCROLLERHOEHE
		scrollWindow = $('#scrollable').height()-150;
		scrollHight = $('#sidebar').height();
		scrollMe = parseInt(scrollWindow/44) * 44 - 44;
		scrollMeNULL = -($('#sidebar').offset().top)+121;
		
		//$('#gmessage').text("LISTE: " + listh + " - SCROLLBAR: " +scrollWindow + " - scrollMe: " + scrollMe + " - offsetTop: " + scrollMeNULL);	
		
		if(scrollMeNULL >= scrollMe){
		
			$('#sidebar').animate({ 
        		marginTop: "+=" + scrollMe + "px"
    		}, 1000 );
		}
		
		else{
			if(scrollMeNULL >= 44){
				scrollMe = parseInt(scrollMeNULL/44) * 44;
				$('#sidebar').animate({ 
        		marginTop: "+=" + scrollMe + "px"
    		}, 1000 );
			}
		}
	}

	
	
	function scrollDetailIn(aktivZoom){
			
			map.setMapType(G_NORMAL_MAP);
			map.setCenter(new GLatLng(geol[aktivZoom], geob[aktivZoom]), 14);
			
			$("#form_dealerKd_nr").attr('value', kd_nr[aktivZoom]);
			$("#form_dealerShopname").attr('value', shopname[aktivZoom]);
			$("#form_dealerPartner").attr('value', partner[aktivZoom]);
			$("#form_dealerStrasse").attr('value', strasse[aktivZoom]);
			$("#form_dealerPlz").attr('value', plz[aktivZoom]);
			$("#form_dealerOrt").attr('value', ort[aktivZoom]);
			$("#form_dealerLand").attr('value', land[aktivZoom]);
			$("#form_dealerEmail").attr('value', email[aktivZoom]);
									
			//document.location.hash = "#" + ort[aktivZoom].toString() + '-' + shopname[aktivZoom].toString() + '-' + kd_nr[aktivZoom] + "-DETAIL.html";
			
			detIn = 1;
		
			$('#body_left_col_container').animate({ 
        		marginLeft: "-=" + 273 + "px"
    		}, 500 );
			
			
			$('#body_right_col_container').animate({ 
        		marginLeft: "+=" + 120 + "px"
    		}, 500 );
			
			document.getElementById('map').style.width = windowWidth() - 395 + 'px';
			
						
	}



	function scrollDetailOut(){
			
			map.setMapType(G_PHYSICAL_MAP);
			map.setCenter(map.getCenter());
			map.setZoom(8);
			
			detIn =  0;
		
			$('#body_left_col_container').animate({ 
        		marginLeft: "+=" + 273 + "px"
    		}, 500 );
			
			
			$('#body_right_col_container').animate({ 
        		marginLeft: "-=" + 120 + "px"
    		}, 500 );
			
			document.getElementById('map').style.width = windowWidth() - 275 + 'px';
			
			
			// FORMULARFELDER NULLSETZEN
			
			initForm();
			
			// ROUTENWERTE NULLSETZEN
			
			$('#routeDistance').html('');
	 		$('#routeTime').html(''); 
	 
	}
	
	
	function initStage(){
			
			detIn =  0;
			
			map.setMapType(G_PHYSICAL_MAP);
			
			$('#body_right_col_container').attr('style', 'margin-left:0px');
			$('#body_left_col_container').attr('style', 'margin-left:0px');		
		
	}
	
	
	function scrollRouteIn(){
		
			
			//detIn = 1;
		
			$('#body_left_col_container').animate({ 
        		marginLeft: "-=" + 395 + "px"
    		}, 500 );
						
						
	}
	
	
	
	
	// ROUTE
	// -----------------------------------------------------------
	
	function setDirections(fromAddress, toAddress) {
	
	
		
	fromAddress = $("#startRoute").attr('value');
	toAddress = geol[pressed] + ',' + geob[pressed];
	map.setMapType(G_NORMAL_MAP);
		
	gdir.clear();
	
	
	gdir.load('from: ' + fromAddress + ' to: ' + toAddress,
                { "locale": "de" });
	
	//alert(gdir.getDistance('from: ' + fromAddress + ' to: ' + toAddress));
	}
	
	
	
	 function handleErrors(){
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	     alert("Start- oder auch Zieladresse konnten nicht gefunden werden. Entweder sind sie nicht bekannt, nicht eindeutig oder die Eingabe ist nicht korrekt. Bitte überprüfen Sie die Eingabe.\nError code: " + gdir.getStatus().code);
	   else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
	     alert("Die Route konnte nicht berechnet werden.\n Error code: " + gdir.getStatus().code);
	   
	   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	     alert("Bitte geben Sie eine Startadresse ein.\n Error code: " + gdir.getStatus().code);

	//   else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
	//     alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);
	     
	   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	     alert("Falscher Google Maps Key. \n Error code: " + gdir.getStatus().code);

	   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	     alert("Die Anfrage konnte nicht geparsed werden.\n Error code: " + gdir.getStatus().code);
	    
	   else alert("Unbekannter Fehler. Bitte überprüfen Sie die Eingabe.");
	   
	}

	
	function initForm(){
	
	// FORMULARFELDER NULLSETZEN
	
	langSwitcher = $('#langSwitch').attr('class');	
	
		// FORMULARFELDER ENGLISCH
		if(langSwitcher == 'en'){
						
			$("#form_name").attr('value', 'last name*');
			$("#form_email").attr('value', 'email*');
			$("#form_ort").attr('value', 'zip code & city');
			$("#form_vorname").attr('value', 'first name');
			$("#form_telefon").attr('value', 'phone');
			$("#form_strasse").attr('value', 'street & number');
			$("#form_nachricht").attr('value', 'your message');
			$("#resultContact").html('');
			
			$("#form_dealerKd_nr").attr('value', '');
			$("#form_dealerShopname").attr('value', '');
			$("#form_dealerPartner").attr('value', '');
			$("#form_dealerStrasse").attr('value', '');
			$("#form_dealerPlz").attr('value', '');
			$("#form_dealerOrt").attr('value', '');
			$("#form_dealerLand").attr('value', '');
			$("#form_dealerEmail").attr('value', '');
			
			$('#form_name').attr('style', 'border: 1px solid #CCC;');
			$('#form_email').attr('style', 'border: 1px solid #CCC;');
			
		}
		
		// FORMULARFELDER DEUTSCH
		else{
			
			$("#form_name").attr('value', 'Nachname*');
			$("#form_email").attr('value', 'Email*');
			$("#form_ort").attr('value', 'PLZ & Ort');
			$("#form_vorname").attr('value', 'Vorname');
			$("#form_telefon").attr('value', 'Telefon');
			$("#form_strasse").attr('value', 'Strasse & Nummer');
			$("#form_nachricht").attr('value', 'Ihre Nachricht');
			$("#resultContact").html('');
			
			$("#form_dealerKd_nr").attr('value', '');
			$("#form_dealerShopname").attr('value', '');
			$("#form_dealerPartner").attr('value', '');
			$("#form_dealerStrasse").attr('value', '');
			$("#form_dealerPlz").attr('value', '');
			$("#form_dealerOrt").attr('value', '');
			$("#form_dealerLand").attr('value', '');
			$("#form_dealerEmail").attr('value', '');
			
			$('#form_name').attr('style', 'border: 1px solid #CCC;');
			$('#form_email').attr('style', 'border: 1px solid #CCC;');
		}
	}
	
	
	
	
