function popUp(id)
{
 win = window.open("alg_voorw.asp","Voorwaarden",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=500,height=500')
 win.moveTo((screen.width-500)/2,(screen.height-500)/2);
}

/*
Submenu functies
*/
var debug     = false;
var mouseover = false;
var did       = null;
var rid       = null;
var aid       = null;
var tid       = null;

function show_sub(menuid)
{
	
	var menudiv = document.getElementById('menu_'+menuid);

	if (menudiv)
	{
		var lis = menudiv.getElementsByTagName('LI');
		if (lis.length <= 0)
			return false;
	}


	obj = document.getElementById('submenu');
	scroll_down(obj);

	if (tid != null)
		clearTimeout(tid);
	if (did != null)
		clearTimeout(did);

	if (aid != null)
		document.getElementById('menu_'+aid).style.display = 'none';

	if (rid != null)
		document.getElementById('menu_'+rid).style.display = 'none';

	if (menudiv)
	{
		menudiv.style.display = 'block';
		aid = menuid;
		mouseover = true;
		did = setTimeout("set_default()", 5000);
	}
	else
		//alert('menu '+menuid+' bestaat niet')
		
	
	if (debug)
		status = 'show_sub('+menuid+') rid: '+rid+', aid: '+aid+' mouseover = '+mouseover;
}

function hide_sub(menuid)
{
	mouseover = false;
	var menudiv = document.getElementById('menu_'+menuid);
	if (menudiv)
		tid = setTimeout("document.getElementById('menu_"+menuid+"').style.display='none'", 2000);

	if (debug)
		status = 'hide_sub('+menuid+') rid: '+rid+', aid: '+aid+' mouseover = '+mouseover;
}

function set_default()
{
	if (aid && rid && (mouseover == false))
	{
		clearTimeout(tid);
		clearTimeout(did);
		document.getElementById('menu_'+aid).style.display = 'none';
		document.getElementById('menu_'+rid).style.display = 'block';
	}

	if (rid == null || rid == 0)
	{
		scroll_up(document.getElementById('submenu'));
	}


	if (debug)
		status = 'set_default rid: '+rid+', aid: '+aid+' mouseover = '+mouseover;
}

function sub_on(sid)
{
	if (tid != null)
		clearTimeout(tid);

	if (did != null)
		clearTimeout(did)

	aid = sid;
	mouseover = true;

	if (debug)
		status = 'sub_on('+sid+') rid: '+rid+', aid: '+aid+' mouseover = '+mouseover;
}

function sub_off()
{
	mouseover = false;
	did = setTimeout("set_default()", 2000);

	if (debug)
		status = 'sub_off() rid: '+rid+', aid: '+aid+' mouseover = '+mouseover;
}
/*
///////////////////////////////////////////////////////////////////////////////
// div, naar benden laten scrollen (OPENEN)
///////////////////////////////////////////////////////////////////////////////
*/
var scroll_down_tid   = null;
var scroll_down_step  = 5;
var scroll_down_delay = 0.25;
var scroll_down_dim   = 62;
var scroll_down_pos   = 1;

function scroll_down(obj)
{
	obj.style.overflow = 'hidden';
	obj.style.position = 'relative';

	scroll_down_pos  += scroll_down_step;

	if ( (scroll_down_pos + scroll_down_step) >= scroll_down_dim )
	{
		clearTimeout(scroll_down_tid);
		scroll_down_pos  = 1;
		obj.style.height = scroll_down_dim+'px';
	}
	else
	{
		obj.style.display = 'block';
		obj.style.height = (scroll_down_step + scroll_down_pos) + 'px';
		scroll_down_tid = setTimeout("scroll_down(this.obj);", scroll_down_step*scroll_down_delay);
	}

	if (debug)
		status = 'DOWN for '+obj.id+', scroll_down_pos:'+scroll_down_pos+' scroll_down_dim:'+scroll_down_dim+' scroll_down_step:'+scroll_down_step;
}

/*
///////////////////////////////////////////////////////////////////////////////
// div, naar boven laten scrollen (SLUITEN)
///////////////////////////////////////////////////////////////////////////////
*/
var scroll_up_tid   = null;
var scroll_up_step  = 1;
var scroll_up_delay = 0.25;

function scroll_up(obj)
{
	var scroll_up_pos = parseInt(obj.style.height);

	if (isNaN(scroll_up_pos))
	{
		scroll_up_dim = getWidthHeight(obj);
		scroll_up_pos  = scroll_up_dim.height;
	}

	if ( scroll_up_pos <= scroll_up_step)
	{
		clearTimeout(scroll_up_tid);
		obj.style.display = 'none';
		obj.style.overflow = '';
		obj.style.height = '';
	}
	else
	{
		obj.style.overflow = 'hidden';
		obj.style.height = (scroll_up_pos - scroll_up_step) + 'px';
		scroll_up_tid = setTimeout("scroll_up(this.obj);", scroll_up_step*scroll_up_delay);
	}

	if (debug)
		status = 'UP for '+obj.id+', scroll_down_pos:'+scroll_up_pos;
}


function shop_step(i,action)
{
	oForm = document.basket;

	if (i == 3)
		oForm.action = action;

	oForm.submit();
}

var map;
var gdir;
var geocoder = null;
var addressMarker;

var startIcon = "images/home.png";
var startIconShadow = "images/home_shadow.png"
var endIcon = "images/totaalnet_logo.png";
var endIconShadow = "images/totaalnet_logo_shadow.png"

function replaceDescriptionIcons(){
	var obj = document.getElementById('directions');
	
	if (obj)
	{
		var aimages = obj.getElementsByTagName('img');
		
		if (aimages){
			if (aimages.length > 0){
				aimages[0].src = startIcon;
				aimages[0].style.margin =  "0px 0px 3px 0px";
				aimages[1].src = endIcon;
				aimages[1].style.margin =  "0px 0px 3px 0px";
			}
			
			else return setTimeout("replaceDescriptionIcons()", 500)

		}
	}
	}

   function load() {

	//G_START_ICON.image = startIcon;
	//G_START_ICON.shadow = startIconShadow;
	//G_START_ICON.iconSize = new GSize(26, 23);
	//G_START_ICON.shadowSize = new GSize(37, 23);
	//G_START_ICON.iconAnchor = new GPoint(10, 13);
	
	//G_END_ICON.image = endIcon;
	//G_END_ICON.shadow = endIconShadow;
	//G_END_ICON.iconSize = new GSize(22, 30);
	//G_END_ICON.shadowSize = new GSize(34, 30);
	//G_END_ICON.iconAnchor = new GPoint(10, 26);
  
  
     if (GBrowserIsCompatible()) {      
       map = new GMap2(document.getElementById("map"));
	map.addControl(new GMapTypeControl());
	map.addControl(new GLargeMapControl());
	map.setCenter(new GLatLng(51.960692, 6.0), 10);
	map.setMapType(G_HYBRID_MAP); 

       gdir = new GDirections(map, document.getElementById("directions"));
       GEvent.addListener(gdir, "load", onGDirectionsLoad);
       GEvent.addListener(gdir, "error", handleErrors);

       setDirections("Marketing 35 Duiven", "Steenstraat 112 Arnhem");
	//replaceDescriptionIcons();
     }
   }
   
   function setDirections(fromAddress, toAddress) {
     gdir.load("from: " + fromAddress + " The Netherlands" + " to: " + toAddress + " The Netherlands", "nl_nl" );
   }

   function handleErrors(){

            if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
              alert("Er is geen overeenkomstige geografische plaats voor één van de gespecificeerde adressen gevonden. Dit kan liggen aan het feit dat het adres vrij nieuw is, of onjuist is.\nError code: " + gdir.getStatus().code);

            else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
              alert("Uw route-aanvraag kon niet met succes worden verwerkt, de nauwkeurige reden van de mislukking is nog onbekend.\n Error code: " + gdir.getStatus().code);

            else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
              alert("Een parameter van de HTTP q miste of had geen waarde. Voor geocoderverzoeken, betekent dit dat er een leeg adres werd gespecificeerd. Voor route-aanvragen, betekent dit dat er geen vraag werd gespecificeerd.\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("Geocode voor het bepaalde adres of de route voor een bepaalde richtingenvraag kan wegens wettelijke of contractuele redenen zijn geblokkeerd.\n Error code: " + gdir.getStatus().code);

            else if (gdir.getStatus().code == G_GEO_BAD_KEY)
              alert("De sleutel is ongeldig of past niet bij het domein waarvoor het werd afgegeven. \n Error code: " + gdir.getStatus().code);

            else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
              alert("Uw route-aanvraag kon niet worden berekend.\n Error code: " + gdir.getStatus().code);

            else alert("Er is een onbekende fout opgetreden."); 

         }



function onGDirectionsLoad(){}