Event.observe(window, 'load', function() 
{
	// Event.observe('tr_ma', 'mouseover', function(event)
	// {
	// 	$('nl').src = '/images/nederland_ma.png';
	// });	

	// Event.observe('tr_di', 'mouseover', function(event)
	// {
	// 	$('nl').src = '/images/nederland_di.png';
	// });	

	// Event.observe('tr_wo', 'mouseover', function(event)
	// {
	// 	$('nl').src = '/images/nederland_wo.png';
	// });	

	// Event.observe('tr_do', 'mouseover', function(event)
	// {
	// 	$('nl').src = '/images/nederland_do.png';
	// });	

	// Event.observe('tr_vr', 'mouseover', function(event)
	// {
	// 	$('nl').src = '/images/nederland_vr.png';
	// });	


	// Event.observe('tr_ma', 'mouseout', function(event)
	// {
	// 	$('nl').src = '/images/nederland.png';
	// });	

	// Event.observe('tr_di', 'mouseout', function(event)
	// {
	// 	$('nl').src = '/images/nederland.png';
	// });	

	// Event.observe('tr_wo', 'mouseout', function(event)
	// {
	// 	$('nl').src = '/images/nederland.png';
	// });	

	// Event.observe('tr_do', 'mouseout', function(event)
	// {
	// 	$('nl').src = '/images/nederland.png';
	// });	

	// Event.observe('tr_vr', 'mouseout', function(event)
	// {
	// 	$('nl').src = '/images/nederland.png';
	// });	

});



var isie = (document.all) ? true : false;

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	
	if ((version >= 5.5) && (document.body.filters)) 
	{
		for(var i=0; i<document.images.length; i++)
		{
			var img = document.images[i]
			var imgName = img.src.toUpperCase()
			
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
			{
				img.style.display = 'block';
				
				var imgID = (img.id) ? "id='" + img.id + "' " : ""
				var imgClass = (img.className) ? "class='" + img.className + "' " : ""
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
				var imgStyle = "display:inline-block;" + img.style.cssText 
				if (img.align == "left") imgStyle = "float:left;" + imgStyle
				if (img.align == "right") imgStyle = "float:right;" + imgStyle
				if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
				var strNewHTML = "<div " + imgID + imgClass + imgTitle
				+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
				+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></div>" 
				img.outerHTML = strNewHTML
				
				i = i-1
			}
		}
	}
	
	for (var i=0; i<document.images.length; i++)
	{
		var img = document.images[i]
		var imgName = img.src.toUpperCase()
		
		if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
		{
			img.style.display = 'block';
		}
	}
}

function setClassName (object, name)
{
	var names 	= object.className.split(" ");
	var classes = "";
	
	if (names.length > 0 && name == "")
	{
		classes = names[0];
	}
	
	if (name != "")
	{
		classes = names[0] + " " + names[0] + "_active";
	}
	
	object.className = classes;
}

function replaceField(field)
{ 
    var password 	= document.createElement("input"); 
    
    password.type 	= "password"; 
    password.name 	= field.name; 
    password.id		= field.name; 
    
    field.parentNode.replaceChild(password, field); 
}


function changeQuantity(objectinstanceid, count, udcsizeitemid, udccoloritemid)
{
    new Ajax.Request('/_ctrl/shop/cart/add/'+objectinstanceid+'/'+count+'/', {
            onSuccess: function(transport) {
                //document.getElementById('price_'+objectinstanceid).innerHTML = transport.responseText;
                document.location.href='/_ctrl/shop/cart/list';
            }
        });
    
}



/**
* @description: functie who's purpose is to perform an AJAX request to update the shoppingcart
*/
function calculateNewPriceQuantity(event)
{
    var input = event.element();
    
    var updateknop = $('updatecartbtn');
    
    updateknop.value    = 'Updaten';
    updateknop.disabled = true;
      
    var url = '/_ctrl/shop/cart/update/req/ajax';
   
    var AllOptions = 
    {
        method: 'get',
        parameters: { quantity: input.value, encodedid: input.id }, 
        onSuccess: function(oXHR, oJson)
        {
        	
            updateknop.value = "Update winkelwagen";
            updateknop.disabled = false;
            
            updateCart(oXHR, oJson, input);
        },
        onFailure: function(oXHR, oJson)
        {
            alert('mislukt om een ajax request uit te voeren.');
        }
    }   
    var myAjax = new Ajax.Request(url, AllOptions);
    
}

// when ajax request is succesfull, the retrieved data from the Json object needs to be placed inside the DOM structure
// this is where the updateCart function fits in.
function updateCart(oXHR, oJson, input)
{
    var cartobject = oXHR.responseText.evalJSON();
     
	var formatedid = input.id.split('_');
	var subtotalprice = $('subtot_'+formatedid[1]);
	var totalprice    = $('totalprice');
     	     
    subtotalprice.innerHTML    = '&euro; '+cartobject.subtotalprice;
    totalprice.innerHTML       = '&euro; '+cartobject.totalprice;
    input.value                = cartobject.quantity;  
     
     if(cartobject.errorkey != null)
     {
        alert(cartobject.errormessage);
     }
     
}


window.onload = function ()
{
	// png's voor IE6 aanpassen
	correctPNG();

//	var so = new SWFObject("/images/sfeer.swf", "video", "561", "224", "8");
//	so.addParam("quality", "high");
//	so.addParam("wmode", "transparent");
//	so.addParam("salign", "t");
//	so.write("sfeer");
	
	if ($('articles'))
	{
		$$(".items li a").each(function(el) {
			new FancyZoom(el);
		})	
	}
	
	if (document.URL == 'http://jonka.web/route' || document.URL == 'http://jonka.reprovinci.nl/route' || document.URL == 'http://www.jonka.nl/route')
	{
		load();
	}

	if (document.URL == 'http://jonka.web/expeditie' || document.URL == 'http://jonka.reprovinci.nl/expeditie' || document.URL == 'http://www.jonka.nl/expeditie')
	{
		loadExpeditie();
	}
	
	if($('slide-images'))
	{
		init();
	}
	
}
	
var delay = 5000;
	var start_frame = 0;
	
	function init() {
		var lis = $('slide-images').getElementsByTagName('li');
		
		for( i=0; i < lis.length; i++){
			if(i!=0){
				lis[i].style.display = 'none';
			}
		}
		end_frame = lis.length -1;
		
		start_slideshow(start_frame, end_frame, delay, lis);
		
		
	}
	
	
	
	function start_slideshow(start_frame, end_frame, delay, lis) {
		setTimeout(fadeInOut(start_frame,start_frame,end_frame, delay, lis), delay);
	}
	
	
	function fadeInOut(frame, start_frame, end_frame, delay, lis) {
		return (function() {
			lis = $('slide-images').getElementsByTagName('li');
			Effect.Fade(lis[frame]);
			if (frame == end_frame) { frame = start_frame; } else { frame++; }
			lisAppear = lis[frame];
			setTimeout("Effect.Appear(lisAppear);", 0);
			setTimeout(fadeInOut(frame, start_frame, end_frame, delay), delay + 1850);
		})
		
	}



	var map;
    var gdir;
    var geocoder = null;
    var addressMarker;
    
function load() 
{
//  if (GBrowserIsCompatible()) {
//    var map = new GMap2(document.getElementById("map"));
//  	map.setCenter(new GLatLng(51.946224, 4.814083), 13);
//  	map.addControl(new GSmallMapControl());
//  	map.addControl(new GMapTypeControl());
//  	 map.openInfoWindowHtml(map.getCenter(), "<div style=\"font-family:arial;font-size:12px;\"><b>De Jong's Timmerfabriek</b><br>Bovenberg 68<br>2861 BB Bergambacht<br>T. 0182 - 38 58 88</div>");
//  	
//  }
		
		map = new GMap2(document.getElementById("map"));
	  	map.setCenter(new GLatLng(51.946224, 4.814083), 13);
	  	map.addControl(new GSmallMapControl());
	  	map.addControl(new GMapTypeControl());
	  	map.openInfoWindowHtml(map.getCenter(), "<div style=\"font-family:arial;font-size:12px;\"><b>Jonka BV</b><br>Bovenberg 68<br>2861 BB Bergambacht<br>T. 0182 - 38 24 85</div>");

        gdir = new GDirections(map, document.getElementById("directions"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);

       // setDirections("The Netherlands", "Bergambacht", "nl_NL");
  
}

function loadExpeditie() 
{
//  if (GBrowserIsCompatible()) {
//    var map = new GMap2(document.getElementById("map"));
//  	map.setCenter(new GLatLng(51.946224, 4.814083), 13);
//  	map.addControl(new GSmallMapControl());
//  	map.addControl(new GMapTypeControl());
//  	 map.openInfoWindowHtml(map.getCenter(), "<div style=\"font-family:arial;font-size:12px;\"><b>De Jong's Timmerfabriek</b><br>Bovenberg 68<br>2861 BB Bergambacht<br>T. 0182 - 38 58 88</div>");
//  	
//  }
		
		map = new GMap2(document.getElementById("map"));
	  	map.setCenter(new GLatLng(51.946224, 4.814083), 6);
	  	map.addControl(new GSmallMapControl());
	  	map.addControl(new GMapTypeControl());
	  	//map.openInfoWindowHtml(map.getCenter(), "<div style=\"font-family:arial;font-size:12px;\"><b>Jonka BV</b><br>Bovenberg 68<br>2861 BB Bergambacht<br>T. 0182 - 38 24 85</div>");

        gdir = new GDirections(map, document.getElementById("directions"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);

       // setDirections("The Netherlands", "Bergambacht", "nl_NL");
  
}
function setDirections(fromAddress, toAddress, locale) {
      gdir.load("from: " + fromAddress + " to: " + toAddress,
                { "locale": locale });
        checkAddress(fromAddress);
        //document.getElementById('hoekje2').style.display = 'none';
    }
    
    function checkAddress(adres){
        geocoder2 = new GClientGeocoder();
        if (geocoder2) {
            geocoder2.getLatLng(
              adres,
              function(point) {
                if (!point) {
                  alert("Dit is geen geldig adres. Voer als volgt in: Straat + huisnr, postcode plaats");
                }
              }
            );
        }
    }

    function handleErrors(){
       if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
         alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.nError code: " + gdir.getStatus().code);
       else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
         alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.n Error code: " + gdir.getStatus().code);
      
       else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
         alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.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("The given key is either invalid or does not match the domain for which it was given. n Error code: " + gdir.getStatus().code);

       else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
         alert("A directions request could not be successfully parsed.n Error code: " + gdir.getStatus().code);
        
       else alert("An unknown error occurred.");
      
    }  
    function onGDirectionsLoad()
    {    	
          // Use this function to access information about the latest load()
          // results.
          // e.g.
   		// document.getElementById("getStatus").innerHTML = gdir.getStatus().code;
   		// and yada yada yada...
 	}


function showMouseOverHome(e, id) 	
{  
	document.getElementById('back_home').style.display = 'block';
}

function showMouseOutHome(e, id) 	
{  
	if (document.getElementById('item_215').className == 'li_0_0 li_0_0_active active')
	{
		document.getElementById('back_home').style.display = 'block';
	}
	else
	{
		document.getElementById('back_home').style.display = 'none';
	}
}

function showMouseOverDiensten(e, id) 	
{  
	document.getElementById('back_diensten').style.display = 'block';
}

function showMouseOutDiensten(e, id) 	
{  
	if (document.getElementById('item_216').className == 'li_0_1 li_0_1_active active')
	{
		document.getElementById('back_diensten').style.display = 'block';
	}
	else
	{
		document.getElementById('back_diensten').style.display = 'none';
	}
	
}

//function showMouseOverWerkgebied(e, id) 	
//{  
//	document.getElementById('back_werkgebied').style.display = 'block';
//}
//
//function showMouseOutWerkgebied(e, id) 	
//{  
//	if (document.getElementById('item_217').className == 'li_0_2 li_0_2_active active')
//	{
//		document.getElementById('back_werkgebied').style.display = 'block';
//	}
//	else
//	{
//		document.getElementById('back_werkgebied').style.display = 'none';
//	}
//	
//}
//
//function showMouseOverWerkwijze(e, id) 	
//{  
//	document.getElementById('back_werkwijze').style.display = 'block';
//}
//
//function showMouseOutWerkwijze(e, id) 	
//{
//	if (document.getElementById('item_218').className == 'li_0_3 li_0_3_active active')
//	{
//		document.getElementById('back_werkwijze').style.display = 'block';
//	}
//	else
//	{
//		document.getElementById('back_werkwijze').style.display = 'none';
//	}
//	
//}

function showMouseOverReferenties(e, id) 	
{  
	document.getElementById('back_referenties').style.display = 'block';
}

function showMouseOutReferenties(e, id) 	
{  
	if (document.getElementById('item_228').className == 'li_0_2 li_0_2_active active')
	{
		document.getElementById('back_referenties').style.display = 'block';
	}
	else
	{
		document.getElementById('back_referenties').style.display = 'none';
	}
	
}

function showMouseOverContact(e, id) 	
{  
	document.getElementById('back_contact').style.display = 'block';
}

function showMouseOutContact(e, id) 	
{  
	if (document.getElementById('item_220').className == 'li_0_3 li_0_3_active active')
	{
		document.getElementById('back_contact').style.display = 'block';
	}
	else
	{
		document.getElementById('back_contact').style.display = 'none';
	}
	
}

function showMouseOverLinks(e, id) 	
{  
	document.getElementById('back_links').style.display = 'block';
}

function showMouseOutLinks(e, id) 	
{
	if (document.getElementById('item_221').className == 'li_0_4 li_0_4_active active')
	{
		document.getElementById('back_links').style.display = 'block';
	}
	else
	{
		document.getElementById('back_links').style.display = 'none';
	}
}


function initMouseOver()
{
	var home = document.getElementById('item_215');
	if		( home.addEventListener ) { home.addEventListener('mouseover',showMouseOverHome,false);	} 
	else if	( home.attachEvent 		) { home.attachEvent('onmouseover',showMouseOverHome);			}
	if		( home.addEventListener ) { home.addEventListener('mouseout',showMouseOutHome,false);	} 
	else if	( home.attachEvent 		) { home.attachEvent('onmouseout',showMouseOutHome);			}
	
	var diensten = document.getElementById('item_216');
	if		(  diensten.addEventListener ) 	{ diensten.addEventListener('mouseover',showMouseOverDiensten,false);	} 
	else if	(  diensten.attachEvent 	 ) 	{ diensten.attachEvent('onmouseover',showMouseOverDiensten);			}
	if		(  diensten.addEventListener ) 	{ diensten.addEventListener('mouseout',showMouseOutDiensten,false);		} 
	else if	(  diensten.attachEvent 	 ) 	{ diensten.attachEvent('onmouseout',showMouseOutDiensten);				}	
	
//	var werkgebied = document.getElementById('item_217');
//	if		(  werkgebied.addEventListener  )	{ werkgebied.addEventListener('mouseover',showMouseOverWerkgebied,false);	} 
//	else if	(  werkgebied.attachEvent 	 	) 	{ werkgebied.attachEvent('onmouseover',showMouseOverWerkgebied);			}
//	if		(  werkgebied.addEventListener  )	{ werkgebied.addEventListener('mouseout',showMouseOutWerkgebied,false);		} 
//	else if	(  werkgebied.attachEvent 	 	) 	{ werkgebied.attachEvent('onmouseout',showMouseOutWerkgebied);				}	
//
//	var werkwijze = document.getElementById('item_218');
//	if		(  werkwijze.addEventListener   )	{ werkwijze.addEventListener('mouseover',showMouseOverWerkwijze,false);		} 
//	else if	(  werkwijze.attachEvent 	 	) 	{ werkwijze.attachEvent('onmouseover',showMouseOverWerkwijze);				}
//	if		(  werkwijze.addEventListener   )	{ werkwijze.addEventListener('mouseout',showMouseOutWerkwijze,false);		} 
//	else if	(  werkwijze.attachEvent 	 	) 	{ werkwijze.attachEvent('onmouseout',showMouseOutWerkwijze);				}	
	
	var referenties = document.getElementById('item_228');
	if		(  referenties.addEventListener   )	{ referenties.addEventListener('mouseover',showMouseOverReferenties,false);	} 
	else if	(  referenties.attachEvent 	 	  )	{ referenties.attachEvent('onmouseover',showMouseOverReferenties);			}
	if		(  referenties.addEventListener   )	{ referenties.addEventListener('mouseout',showMouseOutReferenties,false);	} 
	else if	(  referenties.attachEvent 	 	  )	{ referenties.attachEvent('onmouseout',showMouseOutReferenties);			}	

	var contact = document.getElementById('item_220');
	if		(  contact.addEventListener   )	{ contact.addEventListener('mouseover',showMouseOverContact,false);	} 
	else if	(  contact.attachEvent 	 	  )	{ contact.attachEvent('onmouseover',showMouseOverContact);			}
	if		(  contact.addEventListener   )	{ contact.addEventListener('mouseout',showMouseOutContact,false);	} 
	else if	(  contact.attachEvent 	 	  )	{ contact.attachEvent('onmouseout',showMouseOutContact);			}	

	var links = document.getElementById('item_221');
	if		(  links.addEventListener     )	{ links.addEventListener('mouseover',showMouseOverLinks,false);	} 
	else if	(  links.attachEvent 	 	  )	{ links.attachEvent('onmouseover',showMouseOverLinks);			}
	if		(  links.addEventListener     )	{ links.addEventListener('mouseout',showMouseOutLinks,false);	} 
	else if	(  links.attachEvent 	 	  )	{ links.attachEvent('onmouseout',showMouseOutLinks);			}	
	
	
}

function var_dump(obj, recursive)
{	
	//var recursive = recursive||true;
	var s = var_dump_noprint(obj, 0, recursive);
	
	s = s.replace(/</g, '&lt;');
	s = s.replace(/>/g, '&gt;');
	debugwin = window.open('', 'debugwin', 'left=20,top=20,width=400,height=800,toolbar=0,location=0,status=0,scrollbars=1,resizable=1');
	debugwin.document.write('<html><body style="cursor:pointer;" onClick="self.close()"><pre>' + s + '</pre></body></html>');
	debugwin.document.close();
}

/**
* voor debuggen, wordt gebruikt door var_dump hierboven
* ook los te gebruiken: alert(var_dump_noprint(obj));
*/
function var_dump_noprint(obj, indent_level, recursive)
{

	var LINEFEED = '\n';	
	var INDENT   = '\t';
	var indent_level = indent_level||0;
	var indent_str = '';
	var j;
	for(j=0; j<indent_level; j++) {
		indent_str += INDENT;
	}
	var s = '';
	if(typeof obj == 'undefined' || obj==null) {
		s += 'undefined' + LINEFEED;
	} else if(typeof obj == 'array' || typeof obj == 'object') {
		s += typeof obj + ' (' + LINEFEED;
		if(recursive || indent_level==0) {
			var i;
			for(i in obj) {
				s += indent_str + INDENT + '[' + i + '] => ' /*+ INDENT*/ + var_dump_noprint(obj[i], (indent_level+1), recursive);
			}
		}
		s += indent_str + ')' + LINEFEED;
	} else if(typeof obj == 'function') {
		s += 'function' + LINEFEED;
	} else {
		s += '(' + typeof obj + ') ' /*+ INDENT*/ + obj + LINEFEED;
	}
	return s;
}


function formHandler ()
{
	
}

	formHandler.prototype.Send = function (formname, method, action)
	{
		document.forms[formname].method = method;
		document.forms[formname].action = action;
		document.forms[formname].submit();
	}
	
	var formHandler = new formHandler();
	

function SwapImage(element)
{
	this.active = element;
};

	SwapImage.prototype.swap = function(element, id, src, lightboxurl)
	{
		if (this.active.id != element.id)
		{
			element.className = 'active';
			
			document.getElementById(id).src = src;
			
			this.active.className = '';
			this.active = element;
		
			if (lightboxurl != '')
			{
				document.getElementById('related_lightbox').href = lightboxurl;
			}
		}
	};


