/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

              _   _  ___  ____          ___  _____ 
             | | | ||_ _||  _ \        |_ _||_   _|
             | |_| | | | | |_) | _____  | |   | |
             |  _  | | | |  __/ |_____| | |   | |
             |_| |_||___||_|           |___|  |_|
 
   
        (c) Concept, vormgeving, ontwerp en uitvoering
         ~~ HIP-IT BV (Media Laboratory) Amsterdam ~~
           Tel. +31-(0)20-617 02 82, info@hip-it.nl
                        www.hip-it.nl

(c) 1999-2008 HIP-IT Media Produkties BV
(c) Redouan Salmoun

All rights reserved! Alle rechten voorbehouden. Niets uit deze uitgave
mag zonder voorafgaande schriftelijke toestemming van HIP-IT
verveelvoudigd en/of openbaar worden gemaakt!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
AttachEvent(document, 'keydown', checkEsc, false);placestimer = cleartimer = cleardelayedtimer = '';

function initAgenda()
{
  if (document.getElementById('cp_venue'))
  {
    document.cp_wijzig_extra.venue.setAttribute('autocomplete', 'off')
  }
  
  if (document.getElementById('gmapc'))
  {
    printversie = false;
    if (document.getElementById('printmap'))
    {
      printversie = true;
    }
    g_laad_map('\'' + document.getElementById('mapvenue').innerHTML + ' ' + document.getElementById('mapadres').innerHTML + ' ' + document.getElementById('maphnr').innerHTML + ', ' + document.getElementById('mapplaats').innerHTML + '\'');
  }
  
  $('.socmedia_facebook').html('<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Ffacebook.com%2Fmarokko&amp;locale=en_US&amp;send=false&amp;layout=button_count&amp;width=90&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21&amp;appId=255545541122595" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:21px;" allowTransparency="true"></iframe>');
  $('.socmedia_twitter').html('<iframe src="http://platform.twitter.com/widgets/follow_button.html?screen_name=marokko&lang=en&show_screen_name=false&text_color=928D89" frameBorder="0" scrolling="no" style="width: 112px; height: 20px;" allowTransparency="allowtransparency">');
  $('.socmedia_google').html('<div class="g-plusone" data-size="medium" data-count="true" data-href="http://www.marokko.nl"></div>');
  gapi.plusone.go();

  
  $('.cp_tab_1_i').live('mouseover mouseout', function(){$('.cp_tab_1_i').toggleClass('cp_tab_1_o cp_tab_1_i')});
  $('.cp_tab_2_i').live('mouseover mouseout', function(){$('.cp_tab_2_i').toggleClass('cp_tab_2_o cp_tab_2_i')});
  $('.cp_tab_3_i').live('mouseover mouseout', function(){$('.cp_tab_3_i').toggleClass('cp_tab_3_o cp_tab_3_i')});
  $('.cp_tab_4_i').live('mouseover mouseout', function(){$('.cp_tab_4_i').toggleClass('cp_tab_4_o cp_tab_4_i')});
  $('.cp_tab_1_o').live('mouseover mouseout', function(){$('.cp_tab_1_o').toggleClass('cp_tab_1_i cp_tab_1_o')});
  $('.cp_tab_2_o').live('mouseover mouseout', function(){$('.cp_tab_2_o').toggleClass('cp_tab_2_i cp_tab_2_o')});
  $('.cp_tab_3_o').live('mouseover mouseout', function(){$('.cp_tab_3_o').toggleClass('cp_tab_3_i cp_tab_3_o')});
  $('.cp_tab_4_o').live('mouseover mouseout', function(){$('.cp_tab_4_o').toggleClass('cp_tab_4_i cp_tab_4_o')});
  $('#biz_ui_nbtn').live('mouseover mouseout', function(){$('#biz_ui_nbtn').toggleClass('biz_ui_nbtn biz_ui_nbtn_o')});

  if (document.getElementById('addthis_toolbox_container'))
  {
    setTimeout("load_add_this()", 2000);
  }

  if (document.getElementById('cp_contact_tel1'))
  {
    cp_contact_callback()
  }
  
  if (document.getElementById('slideshow'))
  {
    $('#main').css('height', $('#main').height() - 70);
  }
  
  if (!document.getElementById('cp_wijzig_event') && !document.getElementById('cp_wijzig_extra') && !document.getElementById('cp_wijzig_contact'))
  {
    setTimeout('location.reload()', 305000);
  }
  
  wbds_ads.load();
  toon_txt_ads(json_txtads);
}

function load_add_this()
{
  $('.addthis_toolbox').fadeIn('fast');
  $('.add_button_agenda').fadeIn('fast');
}

function toon_txt_ads(Aanvraag)
{
  if (document.getElementById('textadsnav') || document.getElementById('mvcadtextbig'))
  {
    textads = Aanvraag['ad'];
    if (document.getElementById('mvcadtextbig'))
    {
      var rand = Math.floor(Math.random()*textads.length);
    }
    else
    {
      var rand = false;
    }
    
    var addata = '';
    for (x = 0; x < textads.length; x++)
    {
      if (x == rand)
      {
        writer('mvcadtextbig', '<span class="o">Aanbieding:</span> ' + textads[x]['htmlad']);
      }
      addata += maakDiv('dblink textadlink', textads[x]['htmlad']);
    }
    writer('textadsnav', addata);
  }
}

function checkEsc()
{
  if (window.event.keyCode == 27)
  {
    if (document.getElementById('dialog'))
    {
      sluitDivPop();
    }
  }
}

function event_info_controlleer(formulier)
{
  errorfound = false;
  $('.checktitel, .checktype, .checkcat').removeClass('r');
  
  if (formulier.titel.value.length < 3)
  {
    $('.checktitel').addClass('r');
    errorfound = true;
  }

  if (formulier.eventtype.options[formulier.eventtype.selectedIndex].value < 1)
  {
    $('.checktype').addClass('r');
    errorfound = true;
  }

  if (formulier.categorie.options[formulier.categorie.selectedIndex].value < 1)
  {
    $('.checkcat').addClass('r');
    errorfound = true;
  }
  
  if (document.getElementById('nieuw_event'))
  {
    if (formulier.agree.checked != true)
    {
      errorfound = true;
    }
  }
  
  if (errorfound)
  {
    $('#errordisplay').addClass('r anf b alignr');
    $('#errordisplay').css('padding', '5px 0px 15px 5px');
    $('#errordisplay').slideDown();
    return false;
  }
  else
  {
    return true;
  }
}

function event_verwijder(eid)
{
  blurPagina();
  if (confirm('Alle bijbehorende gegevens en afbeeldingen worden ook verwijderd! Weer je zeker dat je dit event wilt verwijderen?'))
  {
    ganaar('/agendacp.php?nav=verwijder&eid=' + eid);
  }
  else
  {
    focusPagina();
  }
}

function check_conditions()
{
  if (document.nieuw_event.agree.checked == true)
  { 
    $('#nieuwformbutton').slideDown();
    $('#conditionsdiv').slideUp();
  }
  else
  {
    $('#nieuwformbutton').slideUp();
    $('#conditionsdiv').slideDown();
  }
}

function all_day_event(formulier)
{
  if (formulier.ade.checked == true)
  {
    formulier.min.selectedIndex = 0;
    formulier.uur.selectedIndex = 0;
    $('.cp_time').hide();
  }
  else
  {
    $('.cp_time').fadeIn();
  }
}

function print_event(data)
{
  window.print()
}

/* google maps API */
function g_laad_map(adres)
{
  ttype = 3;
  cadres = false;
  geocoder = new GClientGeocoder();
  geocoder.getLatLng(adres,function(point)
  {
    if (point)
    {
      map = new GMap2(document.getElementById('gmapc'));
      map.setCenter(g_reken_bound(point));
      obound = map.getCenter();
      map.savePosition();
      origmarker = new GMarker(point);
      if (printversie == false)
      {
        map.addControl(new GLargeMapControl());
  	    map.addControl(new GMapTypeControl());
  	    map.addControl(new GOverviewMapControl(), new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10, 10)));
  	    
        startgdiv = maakDiv('', document.getElementById('mapbedrijf').innerHTML);
        GEvent.addListener(origmarker, 'click', function(){
          origmarker.openInfoWindowHtml(startgdiv);
        });
        map.addOverlay(origmarker);
        GEvent.trigger(origmarker, 'click');
        var gads = new GAdsManager(map, 'ca-pub-7260620660546519', {'maxAdsOnMap':100, 'minZoomLevel':6, 'channel':'8561054874'});
        gads.enable();
  	  }
  	  map.addOverlay(origmarker);
  	  map.addControl(new GScaleControl());
      
      var tmap = new GTrafficOverlay();
      tmap.show();
    }
    else
    {
     alert(adres + ' niet gevonden! Ververs de pagina om het nogmaals te proberen.');
    }
  });
}

function g_toon_adres()
{
  $('.eventdisplay_map_balloon_bereken').hide();
  writer('bbitmbuttonl', showLoader(1));
  g_disable_form();
  var gdata = document.gmapform;
  if (gdata.plaats.value.length < 1)
  {
    g_enable_form();
    alert('Vul de verplichten velden in');
  }
  else
  {
    adres = '';
    if (gdata.straat.value.length > 0)
    {
      adres += gdata.straat.value + ', ';
    }
    if (gdata.hnr.value.length > 0)
    {
      adres += gdata.hnr.value + ', ';
    }
    adres += gdata.plaats.value;
    geocoder = new GClientGeocoder();
    geocoder.getLatLng(adres,function(point)
    {
      if (point)
      {
        var nbound = g_reken_bound(point);
        map.setCenter(nbound);
        g_zoom_map(nbound);
        $('.eventdisplay_map_balloon_bereken').show();
        map.removeOverlay(cadres);
        cadres = new GMarker(point);
        writer('mapcadresd', adres);
        GEvent.addListener(cadres, 'click', function(){
          cadres.openInfoWindowHtml(maakDiv('padding10 alf', document.getElementById('mapcadres').innerHTML));
        });
        map.addOverlay(cadres);
        GEvent.trigger(cadres, 'click');
        g_switch_marker(false);
        g_enable_form();
      }
      else
      {
        alert('Locatie \'' + adres + '\' niet gevonden!');
        g_enable_form();
      }
    });
  }
}

function g_disable_form()
{
  contract('bbitmbutton');
  expand('bbitmbuttonl');
}

function g_enable_form()
{
  contract('bbitmbuttonl');
  expand('bbitmbutton');
}

function g_zoom_map(nbound)
{
  var zlevel = new GLatLngBounds;
  zlevel.extend(obound);
  zlevel.extend(nbound);
  map.setZoom(map.getBoundsZoomLevel(zlevel) - 1);
}

function g_switch_marker(reset)
{
  startgdiv = maakDiv('', document.getElementById('mapbedrijf').innerHTML);
  GEvent.addListener(origmarker, 'click', function(){
    origmarker.openInfoWindowHtml(startgdiv);
  });
  if (reset == true)
  {
    map.zoomOut();
    GEvent.trigger(origmarker, 'click');
  }
  else
  {
    window.setTimeout(function(){map.zoomOut();GEvent.trigger(origmarker, 'click');}, 4000);
  }
}

function g_reken_bound(cords)
{
  map.setCenter(cords, 15);
  var bounds = map.getBounds();
  var cords = new GLatLng(bounds.getSouthWest().lat() + 0.006, bounds.getNorthEast().lng() - 0.014);
  return cords;
}

function g_reset_bound()
{
  $('.eventdisplay_map_balloon_bereken').hide();
  g_switch_marker(true);
  map.returnToSavedPosition();
  document.gmapform.straat.value = '';
  document.gmapform.hnr.value = '';
  document.gmapform.plaats.value = '';
  
}

function g_bereken_route()
{
  var gdata = document.gmapform;
  if (gdata.straat.value.length > 0 && gdata.straat.value.length > 0)
  {
    ganaar('http://route.anwb.nl/routeplanner/servlet/rp?city1=' + gdata.plaats.value + '&street1=' + gdata.straat.value + '&housenr1=' + gdata.hnr.value + '&city2=' + document.getElementById('mapplaats').innerHTML + '&street2=' + document.getElementById('mapadres').innerHTML + '&housenr2=' + document.getElementById('maphnr').innerHTML, '_blank');
  }
}

/* events manager */
function cp_wijzig_event_bizcheckbox(formulier)
{
  if (formulier.bizevent.checked == true)
  {
    $('#biz_ui_c').toggleClass('ui_c_l ui_c_n');
    $('#biz_droplist_c').fadeIn(function(){$('.biz_ui_nbtn').show()});
  }
  else
  {
    $('#biz_ui_c').toggleClass('ui_c_l ui_c_n');
    $('.biz_ui_nbtn').hide(); 
    $('#biz_droplist_c').hide();
  }
}

function cp_contact_add(data)
{
  expand('cp_contact_tel' + (Number(data)+1));
  $('.cp_contact_add' + (Number(data))).hide();
}

function cp_contact_del(data)
{
  formulier = document.cp_wijzig_contact;
  formulier['cpnaam[' + data + ']'].value = formulier['cptel[' + data + ']'].value = '';
  cp_contact_callback();
}

function cp_contact_callback()
{
  newdata = new Array();
  newdata['name'] = new Array();
  newdata['tel'] = new Array();
  b = 1;
  formulier = document.cp_wijzig_contact;
  
  for (a = 1; a <= 5; ++a)
  {
    if (formulier['cptel[' + a + ']'].value)
    {
      newdata['name'][b] = formulier['cpnaam[' + a + ']'].value;
      newdata['tel'][b] = formulier['cptel[' + a + ']'].value;
      ++b;
    }
  }

  for (a = 1; a <= 5; ++a)
  {
    $('.cp_contact_add' + a).show();
    if (newdata['tel'][a])
    {
      formulier['cpnaam[' + a + ']'].value = newdata['name'][a];
      formulier['cptel[' + a + ']'].value = newdata['tel'][a];
      expand('cp_contact_tel' + a);
      $('.cp_contact_add' + (Number(a)-1)).hide();
    }
    else
    {
      formulier['cpnaam[' + a + ']'].value = '';
      formulier['cptel[' + a + ']'].value = '';
      contract('cp_contact_tel' + a);
    }

    if (a == 5)
    {
      $('.cp_contact_add' + a).hide();
    }
  }
  
  if (!formulier['cpnaam[1]'].value && !formulier['cpnaam[2]'].value && !formulier['cpnaam[3]'].value && !formulier['cpnaam[4]'].value && !formulier['cpnaam[5]'].value)
  {
    expand('cp_contact_tel1');
  }
}

function cp_places_suggest(place)
{
  cp_places_clear();
  placestimer = setTimeout(function(){haalData('GET', '/tools.php?nav=getplaces&treffer=' + place, 'cp_places_suggest_callback', null)}, 500);
}

function cp_places_suggest_callback(data)
{
  if (data.substr(5, 4) == 'MSGD')
  {
    $('#placesc').css({'top': document.getElementById('cp_venue').offsetTop + 32, 'left' : document.getElementById('cp_venue').offsetLeft});
    $('#cp_venue').css('background-position', '-560px -115px');
    $(document.cp_wijzig_extra.venue).css('width', '360px');
    writer('places', data);
    $('#placesc').show();
    cleartimer = setTimeout("cp_places_clear()", 5000);
  }
  else
  {
    cp_places_clear();
  }
}

function cp_places_info(data)
{
  haalData('GET', '/tools.php?nav=getplace&r=' + data, 'cp_places_info_callback', null);
}

function cp_places_info_callback(data)
{
  eval("data = " + data + ";");

  data['venue'] = (data['venue']) ? data['venue'] : '';
  data['straat'] = (data['straat']) ? data['straat'] : '';
  data['hnr'] = (data['hnr']) ? data['hnr'] : '';
  data['pc'] = (data['pc']) ? data['pc'] : '';
  data['plaats'] = (data['plaats']) ? data['plaats'] : '';
  
  document.cp_wijzig_extra.venue.value = data['venue'];
  document.cp_wijzig_extra.adres.value = data['straat'];
  document.cp_wijzig_extra.hnr.value = data['hnr'];
  document.cp_wijzig_extra.plaats.value = data['plaats'];
  
  document.cp_wijzig_extra.pc.value = data['pc'];
  
  if (data['pc'])
  {
    document.cp_wijzig_extra.provincie.selectedIndex = cp_get_provincie(data['pc'].substr(0, 4));
  }
  else
  {
    document.cp_wijzig_extra.provincie.selectedIndex = 0;
  }
}

function cp_places_clear()
{
  clearTimeout(placestimer);
  clearTimeout(cleartimer);
  clearTimeout(cleardelayedtimer);
  cleardelayedtimer = setTimeout("cp_places_clear_delayed()", 300);
}

function cp_places_clear_delayed()
{
  $('#placesc').hide()
  writer('places', '');
  $('#cp_venue').css('background-position', '-10px -115px');
  $(document.cp_wijzig_extra.venue).css('width', '392px');
}

function cp_get_provincie(pc)
{
  var provincie = false;
  if (pc >= 1000 && pc <= 2158) provincie = 8;
  if (pc >= 2159 && pc <= 3399) provincie = 12;
  if (pc >= 3400 && pc <= 3999) provincie = 10;
  if (pc >= 4000 && pc <= 4329) provincie = 12;
  if (pc >= 4330 && pc <= 4699) provincie = 11;
  if (pc >= 4700 && pc <= 5767) provincie = 7;
  if (pc >= 5768 && pc <= 6499) provincie = 6;
  if (pc >= 6500 && pc <= 7399) provincie = 4;
  if (pc >= 7400 && pc <= 7799) provincie = 9;
  if (pc >= 7800 && pc <= 7999) provincie = 1;
  if (pc >= 8000 && pc <= 8387) provincie = 2;
  if (pc >= 8388 && pc <= 9299) provincie = 3;
  if (pc >= 9300 && pc <= 9399) provincie = 5;
  if (pc >= 9400 && pc <= 9499) provincie = 1;
  if (pc >= 9500 && pc <= 9999) provincie = 5;
  return provincie;
}

/* wijzig aantal dagen in maand */
function schrikkeljaar_update(formulier, data1, data2, data3)
{
  fdag = formulier[data1];
  fmaand = formulier[data2];
  fjaar = formulier[data3];
  
  /* bereken aantal dagen in maand, ook voor schrikkeljaren */
  function dagen_in_maand(maand, jaar)
  {
    var dagen_in_maand = 31;
    if (maand == 4 || maand == 6 || maand == 9 || maand == 11) dagen_in_maand = 30;
    if (maand == 2 && (jaar / 4) != Math.floor(jaar / 4)) dagen_in_maand = 28;
    if (maand == 2 && (jaar / 4) == Math.floor(jaar / 4)) dagen_in_maand = 29;
    return dagen_in_maand;
  }

  dagen_voor_selectie = dagen_in_maand(fmaand[fmaand.selectedIndex].value, fjaar[fjaar.selectedIndex].value);
  aantal_dagen_in_selectie = fdag.options[fdag.options.length - 1].value;
  if (aantal_dagen_in_selectie > dagen_voor_selectie)
  {
    for (var i = 0; i < (aantal_dagen_in_selectie - dagen_voor_selectie); ++i)
    {
      fdag.options[fdag.options.length - 1] = null;
    }
  }
  if (dagen_voor_selectie > aantal_dagen_in_selectie)
  {
    for (var i = 0; i < (dagen_voor_selectie - aantal_dagen_in_selectie); ++i)
    {
      fdag.options[fdag.options.length] = new Option(parseInt(fdag.options[fdag.options.length - 1].value) + 1);
    }
  }
  if (fdag.selectedIndex < 0) fdag.selectedIndex == 0;
}

