var map="";
var lptext="";
var map2="";
var marker2="";
var cid="";
var gmarkers = [];
var controls = [];
var mrkrCount = 0;
var zmbk;
var ltbk;
var lnbk;

var pex = [];
pex[1] = 'Drenthe';
pex[2] = 'Flevoland';
pex[3] = "Friesland";
pex[4] = "Gelderland";
pex[5] = "Groningen";
pex[6] = "Limburg";
pex[7] = "Noord-Brabant";
pex[8] = "Noord-Holland";
pex[9] = "Overijssel";
pex[10] = "Utrecht";
pex[11] = "Zeeland";
pex[12] = "Zuid-Holland";
pex[0] = "NL-kaart"; 
var ltex = [];
ltex[1] = 52.9387;
ltex[2] = 52.5162;
ltex[3] = 53.1368;
ltex[4] = 52.2059;
ltex[5] = 53.2405;
ltex[6] = 51.2068;
ltex[7] = 51.5753;
ltex[8] = 52.650;
ltex[9] = 52.4944;
ltex[10] = 52.1014;
ltex[11] = 51.5582;
ltex[12] = 51.951;
ltex[0] = 52.650;		
var lnex = [];
lnex[1] = 6.6769;
lnex[2] = 5.462;
lnex[3] = 5.7321;
lnex[4] = 6.1029;
lnex[5] = 6.61926;
lnex[6] = 5.9188;
lnex[7] = 4.92736;
lnex[8] = 4.917;
lnex[9] = 6.4956;
lnex[10] = 5.1635;
lnex[11] = 3.8864;
lnex[12] = 4.477;
lnex[0] = 4.917;

var zex = [];
zex[1] = 8;
zex[2] = 9;
zex[3] = 9;
zex[4] = 9;
zex[5] = 9;
zex[6] = 9;
zex[7] = 9;
zex[8] = 9;
zex[9] = 9;
zex[10] = 10;
zex[11] = 9;
zex[12] = 9;
zex[0] = 7;



var wcv = [];
wcv[1]= "http://neils.mine.nu/content/webcam/1_campic.php";
wcv[2]= "http://almere-haven.com/cam/webcam/current.jpg";
wcv[3]= "http://83.136.192.185/record/current.jpg";
wcv[4]= "http://www.d-toren.nl/webcam/images/webcam.jpeg";
wcv[5]= "http://www.rtvnoord.nl/webcam/RTVN-GM.jpg";
wcv[6]= "http://www.xs4all.nl/~weck/broadcast.jpg";
wcv[7]= "http://87.213.192.207/axis-cgi/jpg/image.cgi";
wcv[8]= "http://mozart.amadeus-hotel.com:82/jpg/image.jpg";
wcv[9]= "http://www.nijverdalcam.nl/webcam/cam/stillold.jpg";
wcv[10]= "http://82.95.100.25/jpg/image.jpg";
wcv[11]= "http://195.225.34.54/liveplayback?camera=1";
wcv[12]= "http://home.caiway.nl/~nsm/webcam.jpg";

var wcvtxt = [];
wcvtxt[1]= "Landelijk beeld Nieuw-Weerdinge (live)";
wcvtxt[2]= "Sluiskade Almere-Haven (live)";
wcvtxt[3]= "Binnenstad Leeuwarden (live)";
wcvtxt[4]= "Doetinchem - Grutstraat/Europaweg (live)";
wcvtxt[5]= "Grote Markt Groningen (live)";
wcvtxt[6]= "Valkenburg (live)";
wcvtxt[7]= "Eindhoven Esperheide (live)";
wcvtxt[8]= "Grote Markt Haarlem (live)";
wcvtxt[9]= "Nijverdal centrum (live)";
wcvtxt[10]= "Vredenburg Utrecht (live)";
wcvtxt[11]= "Zeezicht vanaf Oosterscheldekering (live)";
wcvtxt[12]= "Markt Maassluis (live)";

var prov = "";

function gup( name )
{
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var tmpURL = window.location.href;
  var results = regex.exec( tmpURL );
  if( results == null )
    return "";
  else
    return results[1];
}



function shiftmap2(latc,lonc,zc)
{
    		map2.removeOverlay(marker2);											 
				map2.setCenter(new GLatLng(latc,lonc),zc);
				var point = new GLatLng(latc,lonc);
   			marker2= new GMarker(point);
        map2.addOverlay(marker2);
}

function firstMap2(lat,lon)
{

				map2 = new GMap2(document.getElementById("map2"));
        map2.addControl(new GSmallZoomControl(),new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(10,30)) );
        map2.addControl(new GMapTypeControl());

}				

function MainMarkers(shl) {
  clearMarkers();
	for (i=1; i<13; i++){
			var point = new GLatLng(ltex[i],lnex[i]);
      var marker = new GMarker(point,{title:pex[i]});
			if(i==1) {
						var handle = GEvent.addListener(marker, "click", function() {
						if (shl!=1){
      	    document.drop_list.Category.value = pex[1];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=1";
        });
			}
			if(i==2) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[2];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=2";

        });
			}
			if(i==3) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[3];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=3";

        });
			}
			if(i==4) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[4];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=4";

        });
			}
			if(i==5) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[5];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=5";

        });
			}
			if(i==6) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[6];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=6";

        });
			}
			if(i==7) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[7];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=7";

        });
			}
			if(i==8) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[8];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=8";

        });
			}
			if(i==9) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[9];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=9";

        });
			}
			if(i==10) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[10];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=10";

        });
			}
			if(i==11) {
						var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[11];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=11";

        });
			}
			if(i==12) {
  	       var handle = GEvent.addListener(marker, "click", function() {
					if (shl!=1){
      	    document.drop_list.Category.value = pex[12];
      			SelectSubCat();
						}
						else
								window.location="http://www.cammap.nl/webcam.html?city=12";

        });
			}
    	map.addOverlay(marker);
			handle = null
	}		
}


function createMarker(point,url,plaats,id,adres,info,lat,lon,urlp) {

  var tttxt = plaats + ','+ adres + ',' + info;			 
  var marker = new GMarker(point,{title:tttxt});
//  var marker = null;
//  var handle = null;
//  var marker = new GMarker(point);
	if (urlp == "no" || urlp == "x")
		var windowtxt = '<div style="font-size: 10px;font-family: verdana,arial;"><center><b>' + plaats + '</b> - ' + adres + '<br>' + info + '<br>Camera ID:'+id+'<br><A href="javascript:shiftmap(ltbk,lnbk,zmbk,1)">Terug</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="' +url +'" target="_blank">Webcam site</A><br><i>Geen live preview beschikbaar...<br>(mogelijk een streaming webcam)</div></center>';
	else	
		var windowtxt = '<div style="font-size: 10px;font-family: verdana,arial;"><center><b>' + plaats + '</b> - ' + adres + '<br>' + info + '<br>Camera ID:'+id+'<br><A href="javascript:shiftmap(ltbk,lnbk,zmbk,1)">Terug</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="' +url +'" target="_blank">Webcam site</A><br><div style="width:300px;height:200px;overflow:hidden;"><img src="' + urlp + '" border=0 height=200></div></div></center>';
  var handle = GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(windowtxt);
			shiftmap(lat,lon,14);
  });
	gmarkers[mrkrCount] = new Object();
  gmarkers[mrkrCount].marker = marker;
  gmarkers[mrkrCount].handle = handle;
  mrkrCount++;
 	
	handle = null;
  
	return marker;
}

function clearMarkers() {
  // hide the info window, otherwise it still stays open where the removed marker used to be
  // googleMap.getInfoWindow().hide();

  // clear all existing markers
  // (currently theres a bug in clearOverlays that criples the info window
  // but removing them one-by-one is OK)
  if (!gmarkers & mrkrCount > 0) {
    mrkrCount = 0;
    return;
  }

  for (i=0; i<gmarkers.length; i++) {

    if(gmarkers[i].handle != null) {
      GEvent.removeListener (gmarkers[i].handle);
      gmarkers[i].handle = null;
    }
    if(gmarkers[i].marker != null) {
      map.removeOverlay (gmarkers[i].marker);
      delete gmarkers[i].marker;
      gmarkers[i].marker = null;
    }
  }

  for (i=0; i<gmarkers.length; i++) {
    delete gmarkers[0];
  }

  map.clearOverlays();

  // empty the array and reset the counter
  mrkrCount = 0;
  gmarkers = [];
}


function shiftmap(latc,lonc,zc,remw)
{
 			  if (remw==1){
					 	map.getInfoWindow().hide();
				}
				map.setCenter(new GLatLng(latc,lonc),zc);
				if(zc < 14)
				{
								zmbk=zc;
                ltbk=latc;
                lnbk=lonc;
				}				
}

function firstMap()
{


				map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
				map.addMapType(G_PHYSICAL_MAP);
}				


function importXML(nr)
{
 	clearMarkers();			 
  document.getElementById("cityname").innerHTML = "Webcams " + pex[nr];
  document.getElementById("wclist").innerHTML ='<iframe name="camlist" bgcolor="#E6E6E6" src="camlist2.html?city=' + nr + '" width="560" height="345" align="center" scrolling="auto" frameborder="0"><\/iframe>'
	document.getElementById("preview").innerHTML ='<img src=' + wcv[nr] + ' height=250 width=300 border=0 >';
	document.getElementById("preview_txt").innerHTML = wcvtxt[nr];
  prov=nr;
	if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("", "", null);
		xmlDoc.onload = createMap;
	}
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4) createMap(prov)
		};
 	}
	else
	{
		alert('Your browser can not handle this script');
		return;
	}
	eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--)d[c]=k[c]||c;k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('3.2(\'1.0\');',4,4,'xml|function|load|xmlDoc'.split('|'),0,{}))
}



function createMap()
{
       		var ident = xmlDoc.getElementsByTagName("ID");
					var lt = xmlDoc.getElementsByTagName("Lat");
					var ln = xmlDoc.getElementsByTagName("Lon");
      		var urls = xmlDoc.getElementsByTagName("URL");
	     		var plaats = xmlDoc.getElementsByTagName("Plaats");
      		var adr = xmlDoc.getElementsByTagName("Adres");
      		var inf = xmlDoc.getElementsByTagName("Info");
      		var urlv = xmlDoc.getElementsByTagName("Preview");					
       		for (var i=0; i<ident.length; i++)
      		{
      			var prvc = xmlDoc.getElementsByTagName("Provincie")[i].firstChild.nodeValue;
						if (prvc==pex[prov])
						{
    						var point = new GLatLng(lt[i].childNodes[0].nodeValue, ln[i].childNodes[0].nodeValue);
						
								mrk = createMarker(point,urls[i].childNodes[0].nodeValue,plaats[i].childNodes[0].nodeValue,ident[i].childNodes[0].nodeValue,adr[i].childNodes[0].nodeValue,inf[i].childNodes[0].nodeValue,lt[i].childNodes[0].nodeValue, ln[i].childNodes[0].nodeValue,urlv[i].childNodes[0].nodeValue);
    						if(mrk != null)
    						        map.addOverlay(mrk);
    						delete point;
																
						}
      		}
		  	  ident = lt = ln = urls = plaats = adr = inf = urlv = null;
}

function onUnloadMe() {
  pex = ltex = lnex = null;
	xmlDoc=null;
  clearMarkers();
  GUnload();
}