/* Functions for Gilde Amsterdam
 * Created by:	03.11.2009 - Edgar Vijgeboom (Parkers)
 * 
 * 
 */
var IE7_PNG_SUFFIX = ".png";
 

 /* Carrousel functie */
function randomCar(id) {

  //$('#block_1').animate({opacity: "toggle",left:"+=200"},2000);
  
  $('#block_1').fadeIn();
  $('#quote_1').delay(250).fadeIn("slow");
  //$('#quote_1').delay(500).animate({opacity: "toggle", left: "+=100" }, 1000);

  $('#block_2').delay(500).fadeIn();
  $('#quote_2').delay(750).fadeIn("slow");
  
  $('#block_4').delay(1000).fadeIn();
  $('#quote_4').delay(1250).fadeIn("slow");
    
  $('#block_3').delay(1500).fadeIn();
  $('#quote_3').delay(1750).fadeIn("slow");
    
  $('#block_5').delay(2000).fadeIn("slow"); 
  $('.btn_vrijwilliger').delay(2250).fadeIn("slow");
  
  }
	
 /* Carrousel functie */
function randomCarHome() {
 
  $('#block_1').fadeIn();
  $('a.link_1').delay().fadeIn("slow");

  $('#block_2').delay(200).fadeIn();
  $('a.link_2').delay(350).fadeIn("slow");
	
  $('#block_3').delay(400).fadeIn();
  $('a.link_3').delay(500).fadeIn("slow");
  
  $('#block_4').delay(600).fadeIn();
  $('a.link_4').delay(750).fadeIn("slow");
    
  $('#block_5').delay(850).fadeIn("slow"); 
  $('a.link_5').delay(900).fadeIn("slow");
		
  $('#block_6').delay(1000).fadeIn();
  
  $('#block_7').delay(1100).fadeIn();
  $('a.btn_vrijwilliger').delay(1200).fadeIn("slow");
  
  }	
  
/* showVerhaal ajax function will get the verhaal from vrijwillger table and put in the DOM id verhaal */
function showVerhaal(id) {
  var carrousel = $('#verhaal').parent('div').attr("id");
  $.ajax({
    type: "GET",
    url:  "ajax/ajax_calls.php", 
    data: "action=getVerhaal&id="+id,
    dataType: "json",
    success: function(data){
      
      html = '<a href="#" class="close" onclick="hideVerhaal(\''+carrousel+'\');return false;">Sluiten x</a>' +
                  '<img src="footage/430x0_'+data["verhaal"][0]["foto"]+'" />'+
                  '<p>'+data["verhaal"][0]["beschrijving"]+'</p>'+ 
    							'<div class="bron">'+
							      '<span class="naam">'+data["verhaal"][0]["title"]+'</span><br/>'+
							      '<span class="specialisme">'+data["verhaal"][0]["beroep"]+'</span>'+
							    '</div>';
							    
        $("#verhaal").html(html);
        
        Cufon.replace('#verhaal p', { fontFamily: 'Caecilia' });
        Cufon.replace('#verhaal .bron', {fontFamily: 'Officina' });
        
        $("#"+carrousel+" a").hide();
        $("#verhaal .close").show();
        $("#verhaal .bron").show();
        $("#verhaal").show();
      }
    });
    return false;
 }
 
function hideVerhaal(id) {
  $("#"+id+" a").show();
  $("#verhaal").hide();
  }
  

/* Knoppen bij inschrijfformulier */
/* 
TODO: check bij stappen starters verschillende rules:
stap 1 > minstens 1 vraag beantwoorden
stap 2 > tenminste 1 vinkje verplicht
stap 3 > tenminste 1 vinkje verplicht of invullen open vraag
*/

function inschrijvingStappen(obj) {

  // welke serviceid?
  service   = $('#serviceid').val();
  action    = $(obj).attr('id');
  curStep   = $('.stap:visible').attr('id');
  nextStep  = $('.stap:visible').next('.stap').attr('id');
  prevStep  = $('.stap:visible').prev('.stap').attr('id');

  $('#error').hide();
  if (service == 3 && action == 'inschrijvingStap') {

    result = checkStartersForm(action,curStep,nextStep);
    if (!result) return false;
  }

  if (action == 'inschrijvingStap') {
    $('#'+curStep).hide();
    $('#'+nextStep).show();
  
    /* buttons toggle */
    $('#inschrijvingStapVorige').css({display: 'block'});
    if ($('#stap4').css('display') == 'block') {
      $('#inschrijvingStap').hide();
      $('#submitInschrijving').css({display: 'block'});
    }
  }
 
  if (action == 'inschrijvingStapVorige') {
    $('#'+curStep).hide();
    $('#'+prevStep).show();
  
    /* buttons toggle */
    $('#inschrijvingStap').show();
    $('#submitInschrijving').hide();
  
    if ($('#stap1').css('display') == 'block') {$('#inschrijvingStapVorige').hide()};
  }

}
 
/* foto carrousel bij wandelingen*/
function fotoCarrousel() {
  $('#mainbeeld2').innerfade({ animationtype: 'fade', speed: 1000, timeout: 5000, type: 'random', containerheight: '350px' }); 
  }

/* Navigatie routines */
var closeTimer = null;
  
function cancelHideSubmenu(){
  /* Check timer */
  if (closeTimer) {
    window.clearTimeout(closeTimer);
    closeTimer = null;
  }
}





function hideSubmenu(item){
  /* hide the submenu with delay*/
  if ($(item).not(":hidden")) {
    closeTimer = window.setTimeout(function(){
      $(item).fadeOut('fast');
    }, 300);
  }
}

function hideAllSubmenus(item){

    /*Close submenu's */
    var subMenus = $(item);
    for (i = 0; i < subMenus.length; i++) {
        if ($(subMenus[i]).not(":hidden")) {
            $(subMenus[i]).fadeOut('fast');
        }
    }
}

/* ///End navigation routines */ 


/* ### BEGIN Document ready functions ### */
/* parse the Jquery functions after document ready */
$(document).ready( function(){
  
  /* Cufon */
  Cufon.replace('#navigatie h1, #navigatie_sub h1', { fontFamily: 'Officina' });
  Cufon.replace('#navigatie_sub li', { fontFamily: 'Officina', hover:'true'});
  Cufon.replace('.block_80_title', { fontFamily: 'Officina' });
  Cufon.replace('.quote', { fontFamily: 'Caecilia' });
  Cufon.replace('#content h2, #algemeen h2', { fontFamily: 'Officina' });
  Cufon.replace('#content h3, .wandeling-quote, #wandeling h4', { fontFamily: 'Caecilia' });
	Cufon.replace('.introtekst h2', { fontFamily: 'Officina' });
  Cufon.replace('#inschrijving h1,  #inschrijving h3', { fontFamily: 'Officina' });
  Cufon.replace('#wandeling h2, .wandeling-titel, #wandeling h3', { fontFamily: 'Officina' });
  Cufon.replace('#hoofdmenu h2', { fontFamily: 'Officina' });
  Cufon.replace('#algemeen h1, #algemeen .typevraag', { fontFamily: 'Officina' });
  Cufon.replace('#reservering-holder .head, #reservering h2', { fontFamily: 'Officina' });
  Cufon.replace('.categories h3, #archives h3', { fontFamily: 'Officina' });
  Cufon.replace('#samenwerkingstekst h2', { fontFamily: 'Officina' });
  Cufon.replace('#boeking_content h3', { fontFamily: 'Officina' });
  Cufon.replace('#lightbox_sub h1', { fontFamily: 'Officina' });
  Cufon.replace('#lightbox_content h3', { fontFamily: 'Officina' });
 
  /* fix voor Cufon traag laden in IE, in CSS eerst text-indent -1000px en daarna resetten */
  $('#navigatie').css("text-indent", "0px"); 
  $('#navigatie_sub').css("text-indent", "0px"); 
    
  
  
  
  
  /* Navigatie mouseovers */
  $('.menuitem').mouseover(function(){
    hideAllSubmenus('.sub');
    $(this).next('ul').fadeIn('fast');
    cancelHideSubmenu();
    })
    .mouseout(function(){
      if ($('.sub').not(":hidden")) {
        closeTimer = window.setTimeout(function(){
          $('.sub').fadeOut('fast');
        }, 1000);
       }
    });

  $(".sub").mouseover(function(){
    cancelHideSubmenu();
   }).mouseout(function(){
    hideSubmenu(this);
   });


  $('#showvideohome')
  .click(function(){
    $('#showvideohome').hide();
    $('#contentfilm').show();
     return false;
  });
  
  
  // alternatief geboorteland (inschrijfformulier advies en begeleiding, laatste stap)
  $('#geboorteland').click(function(){
    $('#geboorteland').attr("value", '');
  })

  // alternatieve tijd
  $('#bereikbaar').click(function(){
    $('#bereikbaar').attr("value", '');
  })
  
  
  // alternatieve tijd
  $('#tijd_alternatief').click(function(){
    $('.tijden_overzicht').show();
    $('#tijd1').attr("checked", false);
    $('#tijd2').attr("checked", false);
    $('#tijd3').attr("checked", false);
    return false;
  })
  
  // alternatieve tijd
  $('.standardtime').click(function(){
    $('#tijd4').val("");
  })
  
  
  // alternatieve tijden voor speciale evenementen
  var id = ($('#wandelingid').attr('value'));
	
	function closedDays(date) {
    if (date.getDay() == 1){ 
      return [false,"","Gesloten"]; 
    } else { 
      return [true, ""]; 
    }
  }

	if (id == 16) {
	  
     $('.alternativehidden').show(); 
     $('#tijd_alternatief').hide();
     $('#datum').datepicker( "destroy" );
     $('#datum').datepicker({ 
      dateFormat: 'yy-mm-dd',
      dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
      minDate: new Date(2010,7,19),
      maxDate:  new Date(2010,7,23)
     });
     $('#datum').datepicker( "refresh" );
     
	} else {
	   $('.alternativehidden').hide(); 
	    $('#datum').datepicker( "destroy" );
      $('#datum').datepicker({ 
        dateFormat: 'yy-mm-dd',
        dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za']
        //minDate: 0
       });
      $('#datum').datepicker( "refresh" );
      
	}

  // alternatieve tijden voor speciale evenementen / Sint Nicolaas wandeling

  if (id == 3) {
    
     $('.alternativehidden').hide(); 
     $('#tijd_alternatief').hide();
     $('#datum').datepicker( "destroy" );
     $('#datum').datepicker({ 
      dateFormat: 'yy-mm-dd',
      dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
      minDate: new Date(2010,10,14),
      maxDate:  new Date(2010,11,5),
			beforeShowDay:  closedDays
     });
     $('#datum').datepicker( "refresh" );
     
  } else {
    
     $('.alternativehidden').hide(); 
      $('#datum').datepicker( "destroy" );
      $('#datum').datepicker({ 
        dateFormat: 'yy-mm-dd',
        dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za']
        //minDate: 0
       });
      $('#datum').datepicker( "refresh" );
      
  }

  $('#wandelingid').click(function(){
    var id = ($('#wandelingid').attr('value'));

    if (id == 16) {
		$('.alternativehidden').show();
		$('#tijd_alternatief').hide();
		$('#datum').datepicker("destroy");
		$('#datum').datepicker({
			dateFormat: 'yy-mm-dd',
			dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
			minDate: new Date(2011, 7, 19),
			maxDate: new Date(2010, 7, 23)
		});
		$('#datum').datepicker("refresh");
	 }
	 else 
		if (id == 3) {
			$('.alternativehidden').hide();
			$('#tijd_alternatief').hide();
			$('#datum').datepicker("destroy");
			$('#datum').datepicker({
				dateFormat: 'yy-mm-dd',
	      dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
	      minDate: new Date(2010,10,14),
	      maxDate:  new Date(2010,11,5),
	      beforeShowDay: closedDays
			});
			$('#datum').datepicker("refresh");
			
		}
		else {
		
			$('.alternativehidden').hide();
			$('#tijd_alternatief').show();
			$('#datum').datepicker("destroy");
			$('#datum').datepicker({
				dateFormat: 'yy-mm-dd',
				dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
				minDate: 0
			});
			$('#datum').datepicker("refresh");
		}
    return false;
  })
  
  
  
  /* versturen formulier */
  $('#knop_verstuur_reservering').click(function(){
    $('#reserveringformulier').submit();
    return false;
  })
  
  /* versturen opmaat formulier */
  $('#knop_verstuur_opmaat').click(function(){
    //alert('verstuur op maat aanvraag');
    $('#opmaatformulier').submit();
    return false;
  })
  
	  
   /* carrousel detail layer */
  $('#verhaal .close').click(function(){
    $('#verhaal').hide();
    return false;
  })



  /*inschrijfformulier (advies en begeleiding) behaviours */
  
	/* aanmeldformulier stappen */
  $('#inschrijvingStap, #inschrijvingStapVorige').click(function(){
    inschrijvingStappen(this);
    return false;
  })
  	
  $('#submitInschrijving').click(function(){
    //alert("OLA");
    $('#inschrijfformulier').submit();
    return false;
  })
  
  $('#situatie_student').click(function(){
    $('#studentvraag').show();
    $('#werkendvraag').hide();
    //$('#werkstudentvraag').hide();
  })
  
   $('#situatie_werkend').click(function(){
    $('#studentvraag').hide();
    $('#werkendvraag').show();
    //$('#werkstudentvraag').hide();
  })
  
   $('#situatie_werkstudent').click(function(){
    $('#studentvraag').show();
    $('#werkendvraag').show();
    //$('#werkstudentvraag').show();
  })
	
	
   /* vragen*/
  $('#algemeen .vraag').click(function(){
    if($(this).parent().next('li').css('display') == 'list-item') {
      $(this).parent().next('li').fadeOut();
    } else {
      $(this).parent().next('li').fadeIn();
    }
    return false;
  })


  /* ### standaard wandeling bestelformulier functies ### */
  /* Count of prices */
  $('#prijs_n').change(function() {
    var optelling = $('#prijs_n').val() * $('#ticketprijs').val();
    var totaal = Number(optelling).toFixed(2);
    $('#sumticketprijs').html(totaal);
    totaalPrijs()
  });
  
  $('#prijs_c').change(function() {
    var optelling = $('#prijs_c').val() * $('#cadeaubonprijs').val();
    var totaal = Number(optelling).toFixed(2);
    $('#sumcadeaubonprijs').html(totaal);
    totaalPrijs()
  });

  $('#prijs_k').change(function() {
    var optelling = $('#prijs_k').val() * $('#kinderprijs').val();
    var totaal = Number(optelling).toFixed(2);
    $('#sumkinderprijs').html(totaal);
    totaalPrijs()
  });
  
  function totaalPrijs(){
    var aantal = 0;
    var aantal_n = 0; if ($('#prijs_n').val() != '') aantal = aantal + Number($('#prijs_n').val());
    var aantal_c = 0; if ($('#prijs_c').val() != '') aantal = aantal + Number($('#prijs_c').val());
    var aantal_k = 0; if ($('#prijs_k').val() != '') aantal = aantal + Number($('#prijs_k').val());
    var totaal = Number(aantal);
    $('#totaalaantal').attr('value',totaal);
    var totaal = $('#totaalaantal').val();

    var optelling   =  Number($('#sumticketprijs').html()) + Number($('#sumcadeaubonprijs').html()) + Number($('#sumkinderprijs').html());
    var totaalPrijs = Number(optelling).toFixed(2);
    $('#totaalprijs').attr('value',totaalPrijs);
  }
  
  /* wensen field empty onlick */
  $('#wensen').click(function() {
    if (!$('#wensen').hasClass('changed')) {
      $('#wensen').html('');
      $('#wensen').addClass('changed');
     }
   });

  
  $('.question').mouseover(function() {
    $(this).children().show();
		}).mouseout(function() {
    $(this).children().hide();
		});
  
}); 
/* ### END Document ready functions ### */


// function changeCalendar om calendar aan te passen als er op een wandeling geklikt wordt in eerste stap bestelproces
function changeCalendar(period,closeddays,times) {
  // make new calendar (div 'datumpicker')
  
  // change the div with the new times (div 'tijden') (ajax?)
  
  // optional: change the price/number div (div 'tickets') (ajax?)

}
// end function changeCalendar 
  
function reLoad(url) {
  //var url = serverpath+'bestellen/1/'+wandeling;
  //var url = serverpath+wandeling;
  //alert(url);
  window.location.href = url;
}

// lightbox bij engelstalige bestelling wandeling (keuze standaard of opmaat)
function displayLightbox(id){
  $('#overlay_details').css({
    top:    (($(window).height() - 670 ) / 2 +$(window).scrollTop() + "px")//,
    // left:   (($(window).width() - $('#overlay_details').width() ) / 2 +$(window).scrollLeft() + "px")
  })
  $('#overlay_bg').toggle();
  $('#overlay_bg_container').toggle();
}


// taalkeuze in opmaat wandeling 'bestel' formulier
function taalandersbox() {
  var chosen = $('#taalchosen').val();
  if (chosen == 'Anders') {
    $('#anderetaal').show();
  } else {
    $('#anderetaal').hide();
  }
}

// verzenden standaard wandeling bestelformulier

// 1) wandeling, datum, tijd, tickets
// > zie checkforms.js

// 2) naw, extra vraag
function sendStep2() {    
  
  var message = '';
  if ($('#naam').val() == '') message += 'Naam is  niet ingevuld\n';
  if ($('#woonplaats').val() == '') message += 'Woonplaats is  niet ingevuld\n';
  if ($('#telefoon').val() == '') message += 'Telefoon is  niet ingevuld\n';
  // TO ADD: check on valid emailaddress
  if ($('#email').val() == '') message += 'Email is  niet ingevuld\n';
  
  if (message != '') {
    alert(message); 
    return false;
  } else {
    $('#bestelform2').attr('action','bestellen/3'); 
    $('#bestelform2').submit();
  }
}

// 3) betaalactie: ideal of incasso/cash; bij incasso check op aanvinken machtiging en correct giro/banknummer
function sendStep3(language,wandeling) {    
  $('#bestelform3').attr('action','bestellen/5');
  if (language == 'EN') {
    $('#bestelform3').attr('action','bestellen/EN/5/'+wandeling);
  }
  // is er een betaalmethode gekozen?
  var message = '';
  
  var payment = '';
  // is er een hidden field betaalwijze (alleen als orderbedrag = 0)?
  if ($('#betaalwijze').val() == 'C') payment = 'C';  
	
	$tmp = $('input[name=betaalwijze]:checked').val() == undefined;
	
  if ($tmp && payment == '') {
    if (language == 'EN') {
      message += 'Please select a payment method\n'
    } else {
      message += 'U heeft geen betaalwijze geselecteerd\n'
  	}
  } else {
    //action form is afhankelijk van gekozen betaalwijze
    var payment = $('input:radio[name=betaalwijze]:checked').val(); // get the value from a set of radio buttons
    if (payment == 'B') {
      if ($('#issuer').val() == '') {
        message += '[iDEAL] Kies een bank uit de lijst\n';
      } else {
        $('#bestelform3').attr('action', 'startideal');
      }
    }	else {
      if (payment == 'I') {
        var number = $('#rekeningnummer').val();
        // strip non-digits
        number = number.replace(/\D/g, "");
        // is rekeningnummer ingevuld?
        if (number == '') { 
					message += 'Rekeningnummer moet ingevuld zijn en mag alleen cijfers bevatten\n';
				} else {
          var som = 0;
          var lengte = number.length;
          // indien bankrekening: 11-proef
          if (lengte == 9 || lengte == 10) {
            for (i=1; i<lengte+1; i++) {
              getal=number.charAt(i-1);
              som +=getal*(lengte+1-i);
            }
            if (som % 11 != 0) {
              message += 'Het ingevoerde bankrekeningnummer is ongeldig\n';
            } else {
              // zet integerwaarde in formfield
              $('#rekeningnummer').attr('value',number);
            }
          } else {
            // zet integerwaarde in formfield
            $('#rekeningnummer').attr('value',number);
          }
				}
					
				// is machtiging aangevinkt??
				$tmp2 = $('input[name=akkoord_machtiging]:checked').val() == undefined;
				if ($tmp2) 
				  if (language == 'EN') {
            message += 'Please check I agree with the machtiging\n';
				  } else {
				 	  message += 'U moet akkoord gaan met de machtiging\n';
					}
				}
			}
		}

  $tmp = $('input[name=akkoord_voorwaarden]:checked').val() == undefined;
  if (language == 'EN') {
    if ($tmp) message += 'Please agree with the general conditions\n';
  } else {
    if ($tmp) message += 'U moet akkoord gaan met de algemene voorwaarden\n';
  }

  if (message != '') {
    alert(message); 
    return false;
  } else {
    $('#bestelform3').submit();
  } 
}

function startIdeal() {
  //alert('Start iDEAL transactie');
  $('#bestelform4').attr('action','startideal'); 
  $('#bestelform4').submit();
}

function doBoe() {
  alert("BOE");
}

function checkStartersForm(action,curStep,nextStep) {

    checkvalue = false;
    if (curStep == 'stap1' && nextStep == 'stap2') {
      answers = true;
      var elem = document.getElementById('inschrijfformulier').elements;
      for(var i = 0; i < elem.length; i++)
      {
        if (elem[i].name == 'onderneming_soort' || elem[i].name == 'watgedaan' || elem[i].name == 'waarvoor' || elem[i].name == 'werk') {
          if (elem[i].value == '') answers = false;
        }
      } 
      if (!answers) { 
        // meld wat er moet gebeuren
        $('#error').html('Geef svp op al deze vragen een (kort) antwoord.');
        $('#error').show();
      } else {
        checkvalue = true;
      }
    }
    if (curStep == 'stap2' && nextStep == 'stap3' && action == 'inschrijvingStap') {
      var elem = document.getElementById('inschrijfformulier').elements;
      for(var i = 0; i < elem.length; i++)
      {
        if (
        elem[i].name == 'investeringen_aanwezig' 
        || elem[i].name == 'geld_aanwezig' 
        || elem[i].name == 'ondernemingsplan_aanwezig' 
        || elem[i].name == 'exploitatiebegroting_aanwezig'
        || elem[i].name == 'financieringsplan_aanwezig'
        || elem[i].name == 'marktonderzoek_aanwezig'
        || elem[i].name == 'noodzakelijke_vergunningen'
        || elem[i].name == 'over_administratie_nagedacht'
        || elem[i].name == 'over_marketing_nagedacht'
        ) {
          if (elem[i].checked != '') checkvalue = true;
        }
        if (elem[i].name == 'situatie_anders') {
          if (elem[i].value != '') checkvalue = true;
        }
      } 
      if (!checkvalue) { 
        // meld wat er moet gebeuren
        $('#error').html('Vink minstens 1 antwoord aan of vul de open vraag in.');
        $('#error').show();
      }
    }
    if (curStep == 'stap3' && nextStep == 'stap4' && action == 'inschrijvingStap') {
      var elem = document.getElementById('inschrijfformulier').elements;
      for(var i = 0; i < elem.length; i++)
      {
        if (
        elem[i].name == 'besprekenideeen' 
        || elem[i].name == 'ondernemingsplan' 
        || elem[i].name == 'rechtsvorm'
        || elem[i].name == 'financiering'
        || elem[i].name == 'vergunningen'
        || elem[i].name == 'klanten'
        || elem[i].name == 'management'
        || elem[i].name == 'boekhouding'
        ) {
          if (elem[i].checked != '') checkvalue = true;
        }
        if (elem[i].name == 'ondersteuning_anders') {
          if (elem[i].value != '') checkvalue = true;
        }
      } 

      if (!checkvalue) { 
        // meld wat er moet gebeuren
        $('#error').html('Vink minstens 1 antwoord aan of vul de open vraag in.');
        $('#error').show();
      }
    }
    
    return checkvalue;
}
