$(function () {
	var tabContainers = $('div.footer_tabs > div');
	tabContainers.hide().filter(':first').show();

	var currentTime = new Date();
	currentTime.setDate(currentTime.getDate() + 14)
	var month = currentTime.getMonth() + 1;
	var day = currentTime.getDate();
	var year = currentTime.getFullYear();
	if (day < 10) {var day = "0" + day}
	if (month < 10) {month = "0" + month}
	$('#startdate_day').val(day);
	$('#startdate_month').val(month);
	$('#startdate_year').val(year);
	
	$("#fldInitials").alpha({allow:"., -"});
	$("#fldPrefix").alpha({allow:" "});
	$("#fldLastName").alpha({allow:"., -"});
	$("#fldShipZipCode").alphanumeric();
	$("#fldShipHouseNumber").numeric();
	$("#fldShipHouseNumberExt").alphanumeric();
	$("#fldShipStreet").alphanumeric({allow:"., -'"});
	$("#fldShipCity").alpha({allow:"., -'"});
	$("#fldPhoneNumber").numeric();
	$("#fldBankNo").numeric();
	
	$('div.footer_tabs ul.footer_tabNavigation a').click(function () {
		tabContainers.hide();
		tabContainers.filter(this.hash).fadeIn(400);
		$('div.footer_tabs ul.footer_tabNavigation a').removeClass('selected');
		$(this).addClass('selected');
		return false;
	}).filter(':first').click();

	$(".fancybox").fancybox({type: 'iframe', width: '90%', height: '90%'});
			
    $('#fldIsMovingT').click(function(){
        if ($(this).attr('checked')) {
			var currentTime = new Date();
			currentTime.setDate(currentTime.getDate() + 26)
			var month = currentTime.getMonth() + 1;
			var day = currentTime.getDate();
			var year = currentTime.getFullYear();
			if (day < 10) {var day = "0" + day}
			if (month < 10) {month = "0" + month}
			$('#startdate_day').val(day);
			$('#startdate_month').val(month);
			$('#startdate_year').val(year);
        }
    });
    $('#fldIsMovingF').click(function(){
        if ($(this).attr('checked')) {
			var currentTime = new Date();
			currentTime.setDate(currentTime.getDate() + 14)
			var month = currentTime.getMonth() + 1;
			var day = currentTime.getDate();
			var year = currentTime.getFullYear();
			if (day < 10) {var day = "0" + day}
			if (month < 10) {month = "0" + month}
			$('#startdate_day').val(day);
			$('#startdate_month').val(month);
			$('#startdate_year').val(year);
        }
    });

		
	$('#button.small div').mousedown(function(){
		$(this).css('background-position','left -200px');
	}).mouseover(function(){
		$(this).css('background-position','left -100px');
	}).mouseout(function(){
		$(this).css('background-position','left 0');
	}).click(function(){
		$(this).css('background-position','left 0');

		if($(".icon-box").size() > 0){
			window.location = $(".direct-icon").attr("href");
		} else {
			/* Submt form */
			var velden = "";
			$("input").removeClass("error");
			$("select").removeClass("error");
			if (!$('#fldGenderF').attr('checked') && !$('#fldGenderM').attr('checked')) {velden = velden + "- Aanhef\n";$("#fldGenderM").parent().parent().find("b").addClass('checkbox error');}
			if ($('#fldInitials').val() == '') {velden = velden + "- Voorletters\n";$("#fldInitials").addClass('error');}
			if ($('#fldLastName').val() == '') {velden = velden + "- Achternaam\n";$("#fldLastName").addClass('error');}
			if ($('#bd_day').val() == '0' || $('#bd_month').val() == '0' || $('#bd_year').val() == '0') {velden = velden + "- Geboortedatum\n";$("#bd_day").addClass('error');$("#bd_month").addClass('error');$("#bd_year").addClass('error');}
			if ($('#fldShipZipCode').val() == '') {velden = velden + "- Postcode\n";$("#fldShipZipCode").addClass('error');}
			if ($('#fldShipHouseNumber').val() == '') {velden = velden + "- Huisnummer\n";$("#fldShipHouseNumber").addClass('error');}
			if ($('#fldPhoneNumber').val() == '') {velden = velden + "- Telefoonnummer\n";$("#fldPhoneNumber").addClass('error');}
			if ($('#fldEmailAddress').val() == '') {velden = velden + "- E-mailadres\n";$("#fldEmailAddress").addClass('error');}
			if ($('#fldEmailAddressCheck').val() == '') {velden = velden + "- Herhaal e-mailadres\n";$("#fldEmailAddressCheck").addClass('error');}
			if ($('#fldBankNo').val() == '') {velden = velden + "- Rekeningnummer\n";$("#fldBankNo").addClass('error');}
			if (!$('#agree_conditions').attr('checked')) {velden = velden + "- Akkoord voorwaarden\n";$("#agree_conditions").parent().find("b").addClass('checkbox error');}
			if (!$('#agree_collection').attr('checked')) {velden = velden + "- Akkoord automatische afschrijving \n";$("#agree_collection").parent().find("b").addClass('checkbox error');}
	
			
			var account = false;
			// giro
			if ( $('#fldBankNo').val().length <= 8 && $('#fldBankNo').val().length >= 3 ) {
				account = true;
			}
			// niet giro
			if ( $('#fldBankNo').val().length == 9 ) {
				if (elfProef($('#fldBankNo').val())) {
					account = true;
				}
			}
			
			if (velden != ""){
				alert("Oops!\nWij missen nog het volgende van je:\n\n" + velden);
			} else if($("#fldShipZipCode").val().length != 6) { 
				$("#fldShipZipCode").addClass('error');
				alert("Je postcode is niet correct ingevuld");		
			} else if($('#fldEmailAddress').val().indexOf('@') < 0) {
				$("#fldEmailAddress").addClass('error');
				alert("Je e-mailadres is niet correct ingevuld");
			} else if($('#fldEmailAddressCheck').val().indexOf('@') < 0) {
				$("#fldEmailAddressCheck").addClass('error');
				alert("Je herhaal e-mailadres is niet correct ingevuld");
			} else if($('#fldEmailAddress').val() != $('#fldEmailAddressCheck').val()) {
				$("#fldEmailAddress").addClass('error');
				$("#fldEmailAddressCheck").addClass('error');
				alert("Je e-mailadressen zijn niet gelijk");
			} else if ( account == false ) {
				$("#fldBankNo").addClass('error');
				alert("Je rekeningnummer is niet juist");
			} else {
				$("#fldDateOfBirth").val($("#bd_day").val() + "-" + $("#bd_month").val() + "-" + $("#bd_year").val());
				$("#fldLpQ3Value").val($("#fldDateOfBirth").val());
				$("#fldStartDate").val($("#startdate_day").val() + "-" + $("#startdate_month").val() + "-" + $("#startdate_year").val());

				/* orderref code generatie */
				var currentTime = new Date();
				var seconds = currentTime.getSeconds();
				var minutes = currentTime.getMinutes();
				var hours = currentTime.getHours();
				var month = currentTime.getMonth() + 1;
				var day = currentTime.getDate();
				var year = currentTime.getFullYear();
				var orderref = "" + year + month + day + hours + minutes + seconds + "_" + $('#fldLastName').val() + "_" + $('#fldShipZipCode').val() + "_" + $('#fldShipHouseNumber').val();
				if ( $('#fldShipHouseNumberExt').val() != "" ) {
					var orderref = orderref + "_" + $('#fldShipHouseNumberExt').val();
				}
				$('#hidGoodBy').val($('#hidGoodBy').val() + orderref);  
				
				$('#overstappen').submit();
			}	
		}
	});

	

	
  	$('.form_tip').tipsy({gravity: 'w'}); 

/* show extra fields if checkboxes were left ON after page reload*/
	if ($('#radio3').attr('checked')) {
		$('#naam_rekeninghouder').css("color","black");
		$('#naam_rekeninghouder input').removeAttr("disabled").removeClass("disabled");
	}
	$('#radio3').click(function(){
		if ($(this).attr('checked')) {
			$('#naam_rekeninghouder').css("color","black");
			$('#naam_rekeninghouder input').removeAttr("disabled").removeClass("disabled");
		}
	});
	$('#radio4').click(function(){
		if ($(this).attr('checked')) {
			$('#naam_rekeninghouder').css("color","#ccc");
			$('#naam_rekeninghouder input').attr("disabled", "disabled").val("").addClass("disabled");
		}
	});
    
    $("#checkbox-groen").change(function(){
		var val = parseInt($("#fldOfferingId").val(),10);
        if($(this).attr('checked'))
        {
			$(".wind").show();
			$("#fldOfferingId").val(val + 1);
		} else {
			$(".wind").hide();
			$("#fldOfferingId").val(val - 1);
        }        
    });

	if ($("#overstappen").size()>0) {
		$("#overstappen").validate({
		  rules: {
			fldShipZipCode: {
			  required: true,
			  maxlength: 6
			},
			fldEmailAddress: {
			  required: true,
			  email: true
			},
			fldEmailAddressCheck: {
			  required: true,
			  email: true
			}
		  }
		});
	}
	
	var counter = $('#counter');
	var count = "517374";
	if (counter.length > 0){
		counter.empty();
		counter.flip({count: count, animate: 1});	
	}
	
});

function elfProef(bankAccount) {
    //---- set sum to 0 and start the for-loop for counting
    var sum = 0;
    var digitAmount = 9;
    for (var i = 0; i < digitAmount; i++) {
        //---- for every digit multiply it times 9 - number 
        //---- of the digit and count it to the sum var
        sum += bankAccount.charAt(i) * (digitAmount - i);
    }
    //---- Check if sum can be devided by 11 without having ##,##
    if(sum % 11==0){
        //---- return true means string is "elf-proef"
        return true; 
    }else {
        //---- String is not "elf-proef", try again
        return false;
    }
}
		
jQuery.fn.extend({
/**
* Returns get parameters.
*
* If the desired param does not exist, null will be returned
*
* To get the document params:
* @example value = $(document).getUrlParam("paramName");
* 
* To get the params of a html-attribut (uses src attribute)
* @example value = $('#imgLink').getUrlParam("paramName");
*/ 
 getUrlParam: function(strParamName){
	  strParamName = escape(unescape(strParamName));
	  
	  var returnVal = new Array();
	  var qString = null;
	  
	  if ($(this).attr("nodeName")=="#document") {
	  	//document-handler
		
		if (window.location.search.search(strParamName) > -1 ){
			
			qString = window.location.search.substr(1,window.location.search.length).split("&");
		}
			
	  } else if ($(this).attr("src")!="undefined") {
	  	
	  	var strHref = $(this).attr("src")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else if ($(this).attr("href")!="undefined") {
	  	
	  	var strHref = $(this).attr("href")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else {
	  	return null;
	  }
	  	
	  
	  if (qString==null) return null;
	  
	  
	  for (var i=0;i<qString.length; i++){
			if (escape(unescape(qString[i].split("=")[0])) == strParamName){
				returnVal.push(qString[i].split("=")[1]);
			}
			
	  }
	  
	  
	  if (returnVal.length==0) return null;
	  else if (returnVal.length==1) return returnVal[0];
	  else return returnVal;
	}
});
