var brandstofXML;
var transmissieXML;
var carrosserieXML;
var kentekenXML;
var xOffset = 10;
var yOffset = 60;
var timerId;  
var amount;
var hoverbutton = false;
var vestiging;
var address;
var SelectieCookie;
var carSelectie = [];

var order = "merk,model,uitvoering%20ASC";

var videoObject = '<object width="350" height="300"><param name="movie" value="#VIDEOURL#?fs=1&amp;hl=nl_NL"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="#VIDEOURL#?fs=1&amp;hl=nl_NL" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="350" height="300"></embed></object>';

$(function(){
	 SelectieCookie = new Cookie(cCOOKIE_SAVE_SELECTIE, 30);
	//Kijk of alles in de cookies in de juiste format staan.
	if(!SelectieCookie.isEmpty()){
		var cookie = SelectieCookie.getCookies();
		var output = "";
		var format = new RegExp("\w{6}_\d{3,5}");
		for(var i = 0; i < cookie.length; i++){
			if(cookie[i].match(format)){
				output += cookie[i] + ":";
			}
		}
		output = output.substring(0, output.length - 1);
	}
});
	
function filterCharacters( aFilterString ) {
  var lString = "";
  try {
    lString = aFilterString + '';
    lString = lString.toLowerCase();
    regexp = new RegExp('[^a-zA-Z0-9_]', "g");

    return lString.replace( regexp, '' );
  }
  catch( err ) {
    return aFilterString;
  }
}

function CurrencyFormatted( amount ){
	var returnString = "";
	amount = "" + amount;
	for(var i = amount.length; i >= 0; i -= 3){
		if(i - 3 <= 0)	{ returnString = amount.substring(0, i) + returnString; }
		else			{ returnString = "." + amount.substring(i - 3, i) + returnString; }
	}
	return returnString;
}

Array.prototype.inArray = function ( aValue ) {
  for ( obj in this) {
    if ( filterCharacters( this[obj] ) == filterCharacters( aValue ) ) {
      return true;
    }
  }
  return false;
};

String.prototype.capitalize = function(){
   return this.replace( /(^|\s)([a-z])/g , function( m, p1, p2 ) { return p1 + p2.toUpperCase(); } );
};

String.prototype.endsWith = function(str) 
{return (this.match(str+"$")==str);};

function getListFromServer( aListAction, aParams ){
  var lResultXML;	

  $.ajax({
    type: "GET",
    url: serverurl + ccdb2dll + "/" + aListAction + "?site_id=" + ccdb2_dslnummer + "&theme=" + ccdb2_theme + aParams,
    dataType: "xml",
    async: false,
    success: function(xml){
      lResultXML = xml;
    }
  });

  return lResultXML;
}

function getCountFromServer( aParams, categorie) {  
  var lResult = "";
  var cat = "";
  if(categorie != undefined){
	cat += "&autocategorie=" + categorie.toUpperCase();
  }
  $.ajax({
    type: "GET",
    url: serverurl + ccdb2dll + "/actGetVrtCount?site_id=" + ccdb2_dslnummer+ "&theme=" + ccdb2_theme + aParams + cat,
    dataType: "text",
    async: false,
    success: function(text) {
      lResult = text;
    }
  });

  return lResult;
}

function mailafriend( aMAFType, aSender, aFriend, aLink, aRemarks ) {
  var lStatus = false;
  var lFrom = "CustomerConnect";
  if (typeof(ccdb2_maf_from) != "undefined") {
    lFrom = ccdb2_maf_from;
  }
  var lFromEmail = "no-reply@customerconnect.nl";
  if (typeof(ccdb2_maf_fromemail) != "undefined") {
    lFromEmail = ccdb2_maf_fromemail;
  }
  $.ajax({
    type: "POST",
    url: serverurl + ccdb2dll + "/actMailAFriend?type=" + aMAFType + "&site_id=" + ccdb2_dslnummer + "&theme=" + ccdb2_theme, 
    dataType: "text",
    data: { sender: aSender, friend: aFriend, link: aLink, from: lFrom, fromemail: lFromEmail, remarks: aRemarks},  
    async: false,
    success: function(aResponse){
    if ( aResponse == "ok" ) { lStatus = true; }
    }
  });

  return lStatus;
}

function setImageHovers( aImageSelector, aPreviewId) {
  $(aImageSelector).each(function() {
    setImageHover( $(this), aPreviewId );
    setImageButton( $(this));
  });
}

function setImageButton( aButton, compare) {
  // set opacity functionality for image control buttons
  aButton.parent().find("button")
    .addClass("opacity-low")
    .hover( function() {
	  hoverbutton = true;
      $(this).removeClass('opacity-low' );
      $(this).addClass('opacity-normal' );
    },
    function() {
	  hoverbutton = false;
      $(this).removeClass('opacity-normal' );
      $(this).addClass('opacity-low' );
    });

  // Assign button functions
  aButton
    .parent()
    .find("button[id*='btn-delete']")
    .button({text: false, label: "Verwijderen", icons: { primary: "ui-icon-trash" } } )
    .click(function(){
      // verwijderen uit de historie
      var lKentekenDSL = $(this).attr('id').split("_");
	  var car = new Car(lKentekenDSL[1], lKentekenDSL[2]);
      var lCookieKentekens = deleteFromHistory(car);

      // Verwijderen uit het grafische lijstje
      $(this).closest('li').remove();

      if ( lCookieKentekens === null || lCookieKentekens === "" ) {
        $('#wrap-vrt-save-list').hide();
		$('#selectie').hide();
		
      }
		
      // Verwijderen uit het grafische lijstje
      $('input#' + car.getKenDsl())
        .click()
        .next().removeClass('ui-state-active');
    });
}

function setHistoryCompare( aHistorie, start, maxSize, aContainer, aList, aPreviewId ) {
  //Optional variables
  var lContainer = "#wrap-vrt-save-list";
  if ( ( aContainer != undefined ) && ( aContainer != "" ) ) {
    lContainer = aContainer;
  }
  var lList = "#vrt-save-list";
  if ( ( aList !== undefined ) && ( aList !== "" ) ) {
    lList = aList;
  }
  var lPreviewId = "preview";
  if ( ( aPreviewId !== undefined ) && ( aPreviewId !== "" ) ) {
    lPreviewId = aPreviewId;
  }
  kentekens = carSelectie.getKenDsl().join(":");
  $( lList ).children().remove();
  lKentekens = aHistorie.split(":");
  $(".cookie-left-btn").css("visibility", ((start === 0)?"hidden":"visible"));
  $(".cookie-right-btn").css("visibility", ((start + maxSize >= lKentekens.length)?"hidden":"visible"));
  
  for ( var i = 0; i < Math.min(maxSize, lKentekens.length - start); i++ ) {
    var lKentekenDSL = lKentekens[start + i].split("_");
	var car = new Car(lKentekenDSL[0], lKentekenDSL[1]);
    var lImageURL = "";
    if (car.imageExists(1)) {
      lImageURL = car.getImageUrl(1, 75, 50);
    } else { lImageURL = "/img_live/geenfotokl.jpg"; }
    $vrtSaveItem = $('<img id="hist_' + car.getKenDsl() + '" src="' + lImageURL + '" width="75" height="50"/>')
      .click( function()  {
        window.location = 'detail.html?site_id=' + ccdb2_dslnummer + '&theme=' + ccdb2_theme + '&selectie=' + car.getKenDsl();
        return false;
      })
      .appendTo( lList )
      .wrap( '<li><div class="vrt-list-item"></div></li>' );
	var InIt = false;
	$.each(carSelectie, function(){
		if(this.getKenDsl() == car.getKenDsl()){
			InIt = true;
		}
	});
	if(!InIt){
		$vrtSaveItem.addClass("opacity-low");
	}
    $('<div class="vrt-list-item-controls"><button id="btn-delete-vrt-list-item_' + car.getKenDsl() + '" class="top-right"></button></div>').insertBefore( $vrtSaveItem );
  }
  $( lContainer ).show();
  setImageHovers( lList + " img", lPreviewId);
  
  $(lList + " button[id*='btn-delete-vrt-list-item_']")
  .unbind("click")
  .click(function(){
      // verwijderen uit de historie
      var lCookieKentekens = deleteFromHistory( car);

      // Verwijderen uit het grafische lijstje
      $(this).closest('li').remove();

      if ( lCookieKentekens === null || lCookieKentekens === "" ) {
        $('#wrap-vrt-save-list').hide();
      }
	  
	  setHistoryCompare( lCookieKentekens, start, maxSize, kentekens, aContainer, aList, aPreviewId );
  });
}

function setHistory( aHistorie, aContainer, aList, aPreviewId ) {
  var lKentekens;

  var lContainer = "#wrap-vrt-save-list";
  if ( ( aContainer != undefined ) && ( aContainer != "" ) ) {
    lContainer = aContainer;
  }
  var lList = "#vrt-save-list";
  if ( ( aList != undefined ) && ( aList != "" ) ) {
    lList = aList;
  }
  var lPreviewId = "preview";
  if ( ( aPreviewId != undefined ) && ( aPreviewId != "" ) ) {
    lPreviewId = aPreviewId;
  }

  if ( aHistorie == undefined || aHistorie == "" ) {
    $( lContainer ).hide();
    return;
  }

  $( lList ).children().remove();
  lKentekens = aHistorie.split(":");
  for ( var i = 0; i < lKentekens.length; i++ ) {
    var lKentekenDSL = lKentekens[i].split("_");
	var car = new Car(lKentekenDSL[0], lKentekenDSL[1]);
    var lImageURL = "";
    if (car.imageExists(1)) {
      lImageURL = car.getImageUrl(1, 75, 50);
    } else { lImageURL = "/img_live/geenfotokl.jpg"; }

    $vrtSaveItem = $('<img id="hist_' + car.getKenDsl() + '" src="' + lImageURL + '" width="75" height="50"/>')
      .click( function()  {
        window.location = 'detail.html?site_id=' + ccdb2_dslnummer + '&theme=' + ccdb2_theme + '&selectie=' + car.getKenDsl();
        return false;
      })
      .appendTo( lList )
      .wrap( '<li><div class="vrt-list-item"></div></li>' );

    $('<div class="vrt-list-item-controls"><button id="btn-delete-vrt-list-item_' + car.getKenDsl() + '" class="top-right"></button></div>').insertBefore( $vrtSaveItem );
  }

  $( lContainer ).show();
  setImageHovers( lList + " img", lPreviewId);
}

function addToVrtSaveList( aList, aCar ) {
  var $vrtSaveItem;
  var lImageURL = "";

  if ( aCar.imageExists(1)) {
    lImageURL = aCar.getImageUrl(1, 75, 50);
  } else { lImageURL = "/img_live/geenfotokl.jpg"; }

  $vrtSaveItem = 
    $('<img id="hist_' + aCar.getKenDsl() + '" src="' + lImageURL + '" width="75" height="50"/>')
      .click( function()  {
        var lKentekenDSL = $(this).attr('id').split("_");
        window.location = 'detail.html?site_id=' + ccdb2_dslnummer + '&theme=' + ccdb2_theme + '&selectie=' + aCar.getKenDsl();
        return false;
      })
      .appendTo( aList )
      .wrap( '<li><div class="vrt-list-item"></div></li>' );

  $('<div class="vrt-list-item-controls"><button id="btn-delete-vrt-list-item_' + aCar.getKenDsl() + '" class="top-right"></button></div>')
    .insertBefore( $vrtSaveItem );
	
  setImageHover( $('#hist_' + aCar.getKenDsl() ), 'preview' );
  setImageButton( $('#hist_' + aCar.getKenDsl() ) );
}

function doMailAFriend() {      
  var lCookieValue = SelectieCookie.getCookies();
  var lList = "#mailafriend-selection";
  if ( ( lCookieValue != null ) && ( lCookieValue != "" ) ) {
    $( lList ).children().remove();
    lKentekens = lCookieValue;
    for ( var i = 0; i < lKentekens.length; i++ ) {
      var lKentekenDSL = lKentekens[i].split("_");
	  var car = new Car(lKentekenDSL[0], lKentekenDSL[1]);
      var lImageURL = "";
      if (car.imageExists(1)) {
        lImageURL = car.getImageUrl(1, 75, 50);
      } else { lImageURL = "/img_live/geenfotokl.jpg"; }

      $vrtSelectionItem = $('<img id="hist_' + car.getKenDsl() + '" src="' + lImageURL + '" width="75" height="50"/>')
        .appendTo( lList )
        .wrap( '<li><div class="vrt-list-item"></div></li>' );

      $('<div class="vrt-list-item-controls"><button id="btn-delete-vrt-list-item_' + car.getKenDsl() + '" class="top-right"></button></div>').insertBefore( $vrtSelectionItem );

      // set opacity functionality for image control buttons
      $vrtSelectionItem.parent().find("button")
        .addClass("opacity-low")
        .hover( function() {
          $(this).removeClass('opacity-low' );
          $(this).addClass('opacity-normal' );
        },
        function() {
          $(this).removeClass('opacity-normal' );
          $(this).addClass('opacity-low' );
        });

      // Assign button functions
      $vrtSelectionItem
        .parent()
        .find("button[id*='btn-delete']")
        .button({text: false, label: "Verwijderen uit de selectie", icons: { primary: "ui-icon-close" } } )
        .click(function(){
          // Verwijderen uit het grafische lijstje
          $(this).closest('li').remove();
        });

      setImageHover( $vrtSelectionItem, 'preview' )
    }

    $('#mail-a-friend-form').dialog('open');
  } else {
    $('#dlg-close-no-selection').dialog('open');
  }

  return false;
}

function getParameterByName( aName ) {
	 aName = aName.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	 var regexS = "[\\?&]"+aName+"=([^&#]*)";
	 var regex = new RegExp( regexS );
	 var results = regex.exec( window.location.href );
	 if( results == null )
	 	return "";
	 else
	 	return decodeURIComponent(results[1].replace(/\+/g, " "));
} 
	
function aantalVan( aXML, aElementName, aValue ) {
  lResult = 0;
  $( aXML ).find( aElementName ).each( function() {
    if ( aValue.toLowerCase() == $(this).attr('value').toLowerCase() ) {
      lResult = lResult + parseInt( $(this).attr('count') );
    }
  });

  return lResult;
}

function getArrayFromXML( aXML, aNodeName ){
  var lArray = [];

  $(aXML).find( aNodeName ).each( function() {
    lArray.push( $(this).text() );
  });

  return lArray;
}

/**
 * Retourneert de modellen in een array
 * De format is een normale array met de merken, en binnen die array zit ook een associative array verborgen aan de hand van de merknamen.
 * In die associative array zit een array met de modellen die bij dat merk horen.
 * vb:
 * array[0] = 'audi'
 * array[1] = 'mercedes-benz'
 * array.length = 2 (associative array waarden weergeeft hij niet in de lengte)
 * array['audi'] = {A3, A4, A5, A6}
 * array[array[0]] = {A3, A4, A5, A6}
 */
function getModellenFromXML(aXML){
  var lArray = [];
  $(aXML).find("MODEL").each( function(){
	if(!lArray.inArray($(this).attr("MERK"))){
	  lArray.push($(this).attr("MERK").toLowerCase());
	  lArray[$(this).attr("MERK").toLowerCase()] = [];
	}
	if(!lArray[$(this).attr("MERK").toLowerCase()].inArray($(this).text()))
		lArray[$(this).attr("MERK").toLowerCase()].push($(this).text());
  });
  return lArray;
}

function getSelected( aSelectedElements ) {
  var lString = "";
  $( aSelectedElements ).each(function() {
    if ( lString == "" ) {
      lString = $(this).attr("value");
    } else {
      lString = lString + ":" + $(this).attr("value");
    }
  });
  return lString;
}

function filterRedundancy( aArray){
  var lTempArray = [];
  for(var i = 0; i < aArray.length; i++){
    var add = true;
    if( lTempArray.inArray( aArray[i] ) ) {
      add = false;
    }
    if( add ){
      lTempArray.push( ( aArray[i] + "" ).toLowerCase().capitalize() );
    }
  }

  return lTempArray;
}

function filterSame( aArray ) {
  var lTempArray = [];
  var lAdd = true;

  for(var i = 0; i < aArray.length; i++) {
    for( var j = 0; j < i; j++) {
      if( aArray[ i ] == aArray[ j ]  ) lAdd = false;
    }
    if( lAdd ) lTempArray.push( aArray[ i ] );
  }

  return lTempArray;
}

function imageExists( aKenteken, aVolgnummer, aDSLNummer) {
  var lExists = false;
  $.ajax({
    type: "GET",
    url: serverurl + "/imagestore/exists.aspx?filename=" + aKenteken + aVolgnummer + "_" + aDSLNummer + ".jpg",
    dataType: "text",
    async: false,
    success: function( text ) {
      lExists = text;
    }
  }); 

  return lExists;
}

function checkLength(o,n,min,max) {
	if ( o.val().length > max || o.val().length < min ) {
		o.addClass('ui-state-error');
		updateTips("De lengte van " + n + " moet tussen de "+min+" en "+max+" karakters groot zijn.");
		return false;
	} else {
		return true;
	}
}

function checkRegexp(o,regexp,n) {
	if ( !( regexp.test( o.val() ) ) ) {
		o.addClass('ui-state-error');
		updateTips(n);
		return false;
	} else {
		return true;
	}
}

function addToHistory( aCar ) {
  var lCookieKentekens = SelectieCookie.getCookies();
  if(!lCookieKentekens.inArray(aCar.getKenDsl())){
	SelectieCookie.addToCookie(aCar.getKenDsl());
  }
}

function doCompareFromCookie() {
  var lCookieValue = SelectieCookie.getCookies().join(":");
  if ( ( lCookieValue != null ) && ( lCookieValue != "" ) ) {
    window.location = 'vergelijken.html?site_id=' + ccdb2_dslnummer + '&theme=' + ccdb2_theme + '&selectie=' + lCookieValue;
  }
  else{
	$('#dlg-close-no-selection').dialog('open');  
  }

  return false;
}

function deleteFromHistory( aCar ) {
  SelectieCookie.deleteCookie(aCar.getKenDsl());
  return SelectieCookie.getCookies().join(":");
}

function setImageHover( aImage, aPreviewId ) {
  aImage.hoverIntent( function(e) {
    // highlight buttons
    $(this).parent().find("button[id*='btn-']").each(function() {
      $(this).removeClass('opacity-low' );
      $(this).addClass('opacity-normal' );
    });

    var lKentekenDSL = $(this).attr('id').split("_");
    var lHTML = "";
	var car = new Car(lKentekenDSL[1], lKentekenDSL[2]);

	if(!(typeof(timerId) == "undefined"))
	    clearTimeout( timerId );
    $("#" + aPreviewId ).remove();
    if (!car.imageExists(1)) {
      // geen afbeelding, klaar met hover
      return;
    } else {
      // id van de images moet een formaat hebben als: "prefix_KENTEKEN_DSLNUMMER"
      lHTML = '<p id="' + aPreviewId + '"><img src="' + car.getImageUrl(1, 400, 300) + '" alt="Foto voorbeeld" /><br/>' + this.title + '</p>';
    }        
    $("body").append( lHTML );
    $("#" + aPreviewId )
      .css("top", ( e.pageY - xOffset ) + "px" )
      .css("left", ( e.pageX + yOffset ) + "px" )
      .fadeIn("fast");      
  },
  function(){
    // Normal highlighting
	if(!hoverbutton){
		$(this).parent().find("button[id*='btn-']").each(function() {
		  $(this).removeClass('opacity-normal' );
		  $(this).addClass('opacity-low' );
		});
	}

    timerId = setTimeout(function() {
      $('#' + aPreviewId ).remove();
    }, 350 );
  });
}


/*
 * Zet een kenteken om naar een geldig kenteken met streepjes
 */
function translateKenteken(value){
	    rep = loopUntilMatch(value);
        var newKtRgxp = new RegExp('^([a-zA-Z]{2}|[0-9]{2})-?([a-zA-Z]{2})-?([a-zA-Z]{1})([0-9]{1})$');
        if(newKtRgxp.test(rep)) {
            rep = rep.replace(newKtRgxp,"$1-$2$3-$4");
        }
		return rep;
}

function loopUntilMatch(value)
{
    var rgxp =  new RegExp("([a-zA-Z0-9]{2}(?!-)(?=[a-zA-Z0-9]+))");
    if(!rgxp.test(value)){
        return value;
    } else {
        value = value.replace(rgxp,"$1-");
        return loopUntilMatch(value);
    }
}

function UiToBz( aXML, aElementName, aUiValue ) {
  var lResult = "";
  $(aXML).find( aElementName ).each(function(){
    if( $(this).text().toLowerCase() == aUiValue.toLowerCase() )
      lResult = $(this).attr('value');
  })

  if( lResult == "" ) return aUiValue;

  return lResult;
}

function BzToUi( aXML, aElementName, aBzValue ){
  var lResult = "";
  $( aXML ).find( aElementName ).each( function() {
    if( filterCharacters( $(this).attr('value') ) == filterCharacters( aBzValue ) ) {
      lResult = $(this).text();
    }
  });

  if( lResult == "") return aBzValue;

  return lResult;
}


/*
 * Maak een link voor elke pagina aan autos, en zorg dat de huidige pagina niet klikbaar is
 * Voeg ook onderaan een textfield toe waarbij je de huidige pagina kan instellen
 * @param aantal Het totaal aantal paginas
 * @param current De huidige pagina
 */
function updatePager(aantal, current){
	aantal = Math.ceil(aantal);
    pages = [];
    if(aantal > 4){
		pages.push(0);
		pages.push(1);
        
        if(!(current <= 2) && !(current >= aantal - 1))
            pages.push(current - 1);
        if(!(current <= 1) && !(current >= aantal - 2))
        	pages.push(current);
        if(!(current <= 0) && !(current >= aantal - 3))
            pages.push(current + 1);
        
		pages.push(aantal - 2);
		pages.push(aantal - 1);
    }
    else{
        for(var i = 0; i < aantal; i++){
            pages.push(i);  
		}
	}
	var pageHtml = "<span class='pager'>";
    for(var i = 0; i < pages.length; i++){
		pageHtml += " ";
        if(current == pages[i])
            pageHtml += pages[i] + 1;
        else{
			if(i != 0 && pages[i] != pages[i-1] + 1){
				pageHtml += "... ";
			}
			pageHtml += "<a href='#' class='pager-page_" + pages[i] + "'>" + (pages[i] + 1) + "</a>";
        }
    }
	pageHtml += "</span>";
    var pager = "<div class = 'pager-content'>";
	pager += "<span class = 'pager'>Pagina: </span>";
	pager += pageHtml;
	pager += "</div>"
    $('#pager_voertuigen_top').html(pager);
	
	var pager2 = pager;
	pager2 += "<hr><p>Ga naar een specifieke pagina:</p>";
	pager2 += "<span class = 'pager-input-field'><input type = 'text' id='pager_2' size = '5' /></span>";
	pager2 += "<button id='pager-button_2'></button>";
	
    $('#pager_voertuigen_bottom').html(pager2);
	
	$("#pager_voertuigen_bottom button[id*=pager-button]")
		.button({ label: "Ga naar", icons: { primary: "ui-icon-arrowreturnthick-1-e" } } )
		.click(function(){
			if(typeof(changepages) != undefined)
				changepages('pager_' + $(this).attr("id").split("_")[1], aantal, (current + 1));
	})
		
	$("#pager_voertuigen_top a[class*=pager-page], #pager_voertuigen_bottom a[class*=pager-page]")
	.click(function(){
			if(typeof(setPage) !== undefined){
				setPage(parseInt($(this).attr("class").split("_")[1]));
			}
			return false;
	})
}

/**
 * Geef een lijst van alle autos, en stop ze in het overzicht.
 */
function showAlleAutos(pagina, count, params){
    $('#voertuig-grid').find("tr:gt(0)").remove();

	if(!count)
	 	params += "&row_count=1"
	if(getParameterByName("autocategorie")){
		params += "&autocategorie=" + getParameterByName("autocategorie");
	}
	carSelectie = [];
	xml = getListFromServer('actGetVoertuigen', "&page_size=" + page_size + "&cur_page=" + pagina + "&order_by=" + order + "&" + params);
   if(count)
	  amount = $(xml).find("VOERTUIGEN").attr("row_count");
   updatePager(parseInt(amount) / page_size, pagina);
   
   $(xml).find("VOERTUIG").each(function(){
	var kenteken = $(this).find("KENTEKEN").text();
	var dslnummer = $(this).attr("dslnummer");
	var car = new Car(kenteken, dslnummer);
	car.carInfoFromVoertuigXML($(this));
	carSelectie.push(car);
	var lImageURL = "";
	//Check of de afbeelding bestaat
	if (car.imageExists(1)) {
	  lImageURL = car.getImageUrl(1, 100, 75);
	} else { lImageURL = "/img_live/geenfotokl.jpg"; }
	
	//The videourl
	var video = "";
	var videoUrl = car.getFieldInformation("VIDEOURL");
	if(videoUrl != ""){
		video = '<a href="#" id="yt-click-' + car.getKenDsl() + '"><img src="/img_live/youtube-icon_medium.png" alt="Youtube link openen" title="Youtube film openen" style="float: right; border: 0 solid #FFF;"></img></a>';
	}
	var mmu = car.getFieldInformation("MERK") + '&nbsp;' + car.getFieldInformation("MODEL") + '&nbsp;' + car.getFieldInformation("UITVOERING");
	//This format for optimum performance
    var content = [];
	content.push('<tr><td valign="top"><a href = "detail.html?site_id=');
	content.push(ccdb2_dslnummer);
	content.push('&theme=');
	content.push(ccdb2_theme);
	content.push('&selectie=');
	content.push(car.getKenDsl());
	content.push('" id="img-tmb-');
	content.push(car.getKenDsl());
	content.push('"><img src="');
	content.push(lImageURL);
	content.push('" width=100 height=75 border="0" id="overzicht_');
	content.push(car.getKenDsl());
	content.push('" title ="');
	content.push(mmu);
	content.push('"/></a></td><td valign="top"><a href="detail.html?site_id=');
	content.push(ccdb2_dslnummer);
	content.push('&theme=');
	content.push(ccdb2_theme);
	content.push('&selectie=');
	content.push(car.getKenDsl());
	content.push('">');
	content.push(mmu);
	content.push('</a>');
	content.push(video);
	content.push('</td><td valign="top">');
	content.push(car.getFieldInformation("BOUWJAAR"));
	content.push('</td><td valign="top">');
	content.push(CurrencyFormatted(car.getFieldInformation("LAATSTBEKENDEKMSTAND")));
	content.push(' Km.</td>');
	content.push('<td valign="top">&euro;&nbsp;')
	content.push(CurrencyFormatted( car.getFieldInformation("PRIJSINCLUSIEF")));
	content.push('</td>' );
	content.push('<td class="center"><span style="float: center; clear: both;"><input type="checkbox" id="');
	content.push(kenteken);
	content.push('-');
	content.push(dslnummer);
	content.push('" /><label for="'); 
	content.push(kenteken + '-' + dslnummer + '">Selecteer auto</label></span></td></tr>');
    $(content.join("")).appendTo('#voertuig-grid-body');
	if(videoUrl != ""){
		$('#yt-click-' + car.getKenDsl()).click(function(){
			$("div[ id*='yt-dlg']").attr("id", 'yt-dlg-' + car.getKenDsl());
			$("div[ id*='yt-dlg']").dialog('open');
			$("#yt-video-div").empty();
			$("#yt-video-div").append($(videoObject.replace(/#VIDEOURL#/g, videoUrl)));
			return false;
		});   
	}
   })
}
	  
function getMaps(){
	var div = $('<div id="maps"><\/div>');
	$(div).css("width", 480).css("height", 480).css("padding", 0).css("margin", 0);
	div = $('<div><\/div>').append(div);
	$('body').append(div);
	$(div).dialog({
		title: vestiging,
		width: 500,
		heigth: 500,
		modal: true,
		resizable: false,
		autoResize: true,
		buttons: {
			Sluiten: function() {
				$(this).remove();
			}
		},
		close: function(){
			$(this).remove();	
		}
	});
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("maps"));
		map.addControl(new GSmallMapControl());  
		
		var geocoder = new GClientGeocoder();
		showAddress(map,geocoder,address,vestiging);
	}
};
		
function showAddress(map,geocoder,adres,html) {
  geocoder.getLatLng(
	address,
	function(point) {
	  if (!point) {
		alert(address + " niet gevonden");
	  } else {
		map.setCenter(point, 14);
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
			var myHtml = "<span class='black-text'><b>" + html + "<\/b><br/>" + adres + "<\/span>";
			map.openInfoWindowHtml(point, myHtml);
		});
		map.addOverlay(marker);
		map.addControl(new GMapTypeControl());
	  }
	}
  );
}

/**
 * globaalArray en techSpecArray format is: xmlnaam, templateTitel, evt. voorgaande tekens, evt. volgende tekens, evt. format van informatie
 * mogelijke format van informatie zijn: "" (niets); "Amount" (bij 1000tallen voeg punctuatie toe); "Kenteken" (zet een kenteken om naar kenteken met '-' er tussen)
 * de volgorde in de tabel is de ingevoerde volgorde, alle invulwaardes zijn verplicht, indien een mist zal inhoud verpest zijn.
 **/
var globaalArray = new Array(
							  "MERK", "Merk", "", "", "",
							  "MODEL", "Model", "", "", "",
							  "UITVOERING", "Uitvoering", "", "", "",
							  "BRANDSTOF", "Brandstof", "", "", "",
							  "TRANSMISSIE", "Transmissie", "", "", "",
							  "AANTALDEUREN", "Aantal deuren", "", "", "",
							  "AUTOSOORT", "Carrosserie", "", "", "",
							  "LAATSTBEKENDEKMSTAND", "Kilometerstand", "", "km", "Amount",
							  "KLEUR", "Kleur", "", "", "",
							  "PRIJSINCLUSIEF", "Prijs inclusief", "&euro;", "", "Amount",
							  "BOUWJAAR", "Bouwjaar", "", "", "",
							  "DATUMDEEL1", "Datum deel 1", "", "", "",
							  "KENTEKEN", "Kenteken", "", "","Kenteken",
							  "KENTEKENSOORT", "Kentekensoort", "", "","",
							  "KOSTENRIJKLAAR", "Kosten rijklaar maken", "&euro;", "", "Amount"
							  );
var techSpecArray = new Array(
							  "AANTALVERSNELLINGEN", "Aantal Versnellingen", "", "", "",
							  "CYLINDERAANTAL", "Cilinders", "", "", "",
							  "CYLINDERINHOUD", "Cilinder inhoud", "", "cc", "",
							  "VERMOGENPK", "Vermogen", "", "pk", "",
							  "GEWICHTONBELAST", "Gewicht", "", "kg", "", 
							  "AANTALAANGEDREVENWIELEN", "Aandrijving", "", "wiel(en)", ""
							  );

// format hier is: xmlnaam, naam in de tabel
var optiesArray = new Array(
							  "OPTIE_ELEK_RAMEN", "Elektrische Ramen",
							  "OPTIE_CENT_VERGR", "Centrale Deurvergrendeling",
							  "OPTIE_SCHUIFDAK", "Schuif / Kanteldak",
							  "OPTIE_STUUR_BEKR", "Stuurbekrachtiging",
							  "OPTIE_LICHTM_VELGEN", "Lichtmetalen Velgen",
							  "OPTIE_AUDIO", "Audio",
							  "OPTIE_TREKHAAK", "Trekhaak",
							  "OPTIE_WARMTEW_GLAS", "Warmtewerend Glas",
							  "OPTIE_AIRCO", "Airco",
							  "OPTIE_ABS", "ABS",
							  "OPTIE_AIRBAG", "Airbag(s)",
							  "OPTIE_ALARM", "Alarm",
							  "OPTIE_CRUISE_CONTROL", "Cruise Control",
							  "OPTIE_LEER_BEKL", "Leren Bekleding",
							  "OPTIE_START_ONDER", "Start Onderbreking",
							  "OPTIE_NAV_SYSTEEM", "Navigatie Systeem",
							  "OPTIE_TRACTION", "Traction Control",
							  "OPTIE_MIDDENARM", "Middenarmsteun",
							  "OPTIE_PDC", "Park Distance Control",
							  "OPTIE_ELEK_STOEL", "Elec. verstelbare stoelen",
							  "OPTIE_VERW_SPIEGEL", "Verwarmde spiegel(s)",
							  "OPTIE_VERW_STOEL", "Verwarmde voorstoel(en)"
							  );

