// JavaScript Document

Cufon.replace('div.block-headTitle h1, div.block-headPageTitle h1, div.block-headPageTitle h3', { fontName : 'MetaPlusBold', textShadow : '1px 1px rgba(0, 0, 0, 0.35)' });
Cufon.replace('.metaFont, div.block-calcMethods legend span, .h2-wrapper h2, .title h2, div.block-methodesList span.title, div.block-oursubjects div.title a, div.block-partnersblocks div.block-ankeiler div.title, div.block-leftTitle h2, div.block-leftTitle h3, div.block-paragraphHolder h1', { fontName : 'MetaPlus' });

$(document).ready(function(){
	$('div.thumb').append('<span class="tl"></span><span class="tr"></span><span class="bl"></span><span class="br"></span>');
	$('div.block-languageMenu').css('left', '50%');
	$('div.clearBg div.block-methodNews div.wrapper div.date').after('<div class="clearer"><!--  --></div>');
	
	$('div.block-topLevelNav > div.navigation-general > div.wrapper > ul > li, div.block-topLevelSubNav > div.navigation-general > div.wrapper > ul > li').hover(
		function() {
			$(this).children('ul').hide().stop(true, true);
			$(this).children('ul').slideDown(250);
		},
		function() {
			$(this).children('ul').slideUp(150);
		}
	);
	
	$('div.block-searchHolder div.formtextbox input')
	.bind('keydown', function() {
		if ($(this).val() == "") return;
		$('#searchResultsPopup').show();
	});
	
	$('#searchResultsPopup').hover(
		function() {},
		function() {
			$(this).hide();
		}
	);
	
	onWindowResize();
	$(window).resize(function() {
		onWindowResize();
	});
});


jQuery.download = function(url, data, method){
	//url and data options required
	if( url && data ){
		//data can be string of parameters or array/object
		data = typeof data == 'string' ? data : jQuery.param(data);
		//split params into form inputs
		var inputs = '';
		jQuery.each(data.split('&'), function(){
			var pair = this.split('=');
			inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
		});
		//send request
		jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
		.appendTo('body').submit().remove();
	};
};

function onWindowResize() {
	$('#lockAll').height(0);
	$('#lockAll').height($(document).height());
}

function toggleSelectBoxes(selectObj) {
    $(selectObj).each(function() {
		if ($(this).hasClass('selectHadToggled')) return;
		$(this).addClass('selectHadToggled');
        var $parentSelect = $(this);
        var selectName = $parentSelect.attr("name");
        $parentSelect.wrap('<span class="selectHolder"></span>').wrap('<span class="text"></span>').after('<input type="text" name="JSB_' + selectName + '" value="" readonly="readonly" /><span class="closeBg"></span><span class="arrow"></span>');
        var $selectHolder = $parentSelect.parent().parent();
        $selectHolder.attr("style", $parentSelect.attr("style"));
        var $selectInput = $selectHolder.find("span.text").find("input");
        var newWidth = $parentSelect.css('width').replace('px', '') - 26;
        $selectInput.css("width", newWidth);

        var $selectArrow = $selectHolder.find("span.text").find("span.arrow");
        $selectHolder.append('<span class="listHolder"></span>');
        var $listHolder = $selectHolder.find('span.listHolder');
        $listHolder.append(doSelectList($parentSelect, ''));
        $parentSelect.hide();

        var listWidth = newWidth + 6;
        //var listWidth = $selectHolder.width() - 20;
        $listHolder.css("width", listWidth);

        var defaultVal = $(this).find("option:selected").text();
        $selectInput.val(defaultVal);
        
        var hasFocus = false;
        var keepFocus = false;
        
        $selectArrow
        .click(function() {
            $selectInput.focus();
        });

        $listHolder.mousedown(function() {
            keepFocus = hasFocus;
        });
        
        $listHolder.find("span.li").mousedown(function() {
			var $thisTr = $(this).parents('tr:first');

			if ($thisTr.attr('id') == 'ff_relation') {
				var $selectBox = $('#wmdropdown_relation');

				if ($selectBox.length > 0) {
					var $trOccupation = $('#ff_occupation');

					if ($trOccupation.length > 0 && ($trOccupation.css('display') == 'block')) {
						var $spanArrow = $('.arrow', $trOccupation);

						if ($spanArrow.length > 0) {
							$spanArrow.trigger('click');
						}
					}
				}
			}
            keepFocus = false;
            hasFocus = false;
            $selectInput.val($(this).text());
            $parentSelect.val($(this).attr("value"));
            $parentSelect.change();
        });
        
        $selectInput
        .focus(function() {
            hasFocus = true;
            $selectHolder.addClass("positionRelative");
            $listHolder.show();
        })
        .blur(function(e) {
            hasFocus = false;
            if ($.browser.mozilla) keepFocus = false;
            if (!keepFocus) {
                $listHolder.hide();
                $selectHolder.removeClass("positionRelative");
            } else {
                keepFocus = false;
                $(this).focus();
            }
        });
    });
    
    $("span.selectHolder span.listHolder span.li").hover(
        function() {
            $(this).addClass("hover");
        }, 
        function() {
            $(this).removeClass("hover");
        }
    );

}

function doSelectList($selectObj, startStr) {
    var returnString = startStr;
    $selectObj.children().each(function() {
        if ($(this)[0].tagName.toUpperCase() == "OPTION") {
            returnString += '<span class="li" value="' + $(this).val() + '">' + $(this).text() + '</span>';
        } else {
            returnString += '<span class="group">' + $(this).attr("label") + '</span>';
            returnString += doSelectList($(this), '');
        }
    });
    return returnString;
}

function fixSelectInputs($holder) {
    $holder.find("span.selectHolder").each(function() {
        $(this).find("span.text input").width(parseInt($(this).css("width")) - 30);
        $(this).find("span.listHolder").width(parseInt($(this).css("width")) - 8);
    });
}

function onFocusInput(inputObj, defaultText) {
    if ($.trim($(inputObj).val()) == defaultText) {
		$(inputObj).val("").addClass("focusInput");
	}
}

function onBlurInput(inputObj, defaultText) {
    if (($.trim($(inputObj).val()) == "") || ($(inputObj).val().toLowerCase() == defaultText.toLowerCase())) {
		$(inputObj).val(defaultText).removeClass("focusInput");;
	}
}

function alignPopup(objID) {
	var resizeTimer;
	var $obj = $(objID);
      $obj.css('margin-left', - $obj.width() / 2 - 24);
	  if ($(window).height() < 200 + $obj.height()) {
		  $obj.css({ 'position': 'absolute', 'top': '40px' });
		  window.scrollTo(0, 0);
	  } else {
		  $obj.css({ 'position': 'fixed', 'top': '100px' });
	  }
      if ($.browser.msie) {
            $('div.lightbox-general > div.top', $obj).css('width', $obj.width() + 24);
      }

	  $(window).resize(function() {
		  clearTimeout(resizeTimer);
		  resizeTimer = setTimeout(function() {
			if ($(window).height() < 200 + $obj.height()) {
				$obj.css({ 'position': 'absolute', 'top': '40px' });
				window.scrollTo(0, 0);
			} else {
				$obj.css({ 'position': 'fixed', 'top': '100px' });
}
		  }, 200);
	  });
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}

function relative_time2(time_value) {
  var values = time_value.split(" ");
  time_value = values[2] + " " + values[1] + ", " + values[3] + " " + values[4];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}

function calculate_licence_prices() {
	// reset alerts
	if(errorObjliccalc.length){
	  errorObjliccalc.html('');
	  $('.input','#ff_city').removeClass('inputAlert');
	  $('.alert','#ff_city').removeClass('inputAlert');
	  $('.input','#ff_avgrpcnt').removeClass('inputAlert');
	  $('.alert','#ff_avgrpcnt').removeClass('inputAlert');
	}
	// check for valid cfiavgroup
	if ($('#cfiavgroup').val() == '' || isNaN(parseFloat($('#cfiavgroup').val())) || $('#cfiavgroup').val() <= 0) {
		addErrorMessage('liccalc', 'avgrpcnt', 'Voer een geldige gemiddelde groepsgrootte in');
		return false;
	}
	var discount = $('#earlydiscount').attr('checked');
	$('.subRow').each(function() {
		var $cur = $(this);
		var pps = $cur.find('#price').val();
		var grpcnt = $cur.find('#groupcount').val();
		var allowearly = $cur.find('#earlystart').val();
		var avgrpcnt = parseFloat($('#cfiavgroup').val().replace(',', '.'));

		if (allowearly == 'true' && discount) {
			$cur.find('.peryear').html(((pps*avgrpcnt*grpcnt)*0.9).toFixed(2).replace('.', ','));
			$cur.find('.price').html(((pps*avgrpcnt*grpcnt)*7*0.9).toFixed(2).replace('.', ','));
		} else {
			$cur.find('.peryear').html(((pps*avgrpcnt*grpcnt)).toFixed(2).replace('.', ','));
			$cur.find('.price').html(((pps*avgrpcnt*grpcnt)*7).toFixed(2).replace('.', ','));
		}
	});

	return true;
}

function print_calculations() {
	if (calculate_licence_prices()) {
		$.download('/web/wcbservlet/com.gxwebmanager.solutions.pdfservlet.servlet', 'xml=' + buildLicenceXml());
	}
}

function buildLicenceXml() {

	var result = new Array();
	result.push('<items>');

	var currentTime = new Date();
	result.push('<date>' + currentTime.getDate() + '-' + (currentTime.getMonth()+1) + '-' + currentTime.getFullYear() + '</date>');

	var pagetitle = "Software prijsindicatie";
	result.push('<pagetitle>' + pagetitle + '</pagetitle>');

	var logo = "http://www.malmberg.nl/static/malmbergpresentation/_images/malmberg-logo.gif";
	result.push('<logo>' + logo + '</logo>');

	var discount = $('#earlydiscount').attr('checked');
	result.push('<discount>' + discount + '</discount>');

	var schoolcity = $('#schoolcity').val();
	result.push('<schoolcity>' + schoolcity + '</schoolcity>');

	var school = $('#school').val();
	result.push('<school>' + school + '</school>');

	var cfiavgrp = $('#cfiavgroup').val();
	result.push('<cfi>' + cfiavgrp + '</cfi>');

	$('.block-apprenticeship').each(function() {

		result.push('<itemgroup>');

		var title = $(this).find('h3').find('span').html();
		result.push('<title><![CDATA[' + title + ']]></title>');

		$(this).find('.mainRow').each(function() {

			var name = $(this).find('td.title').html();

			$subRow = $(this).next('.subRow');

			var $priceInfo = $subRow.find('td:first');
			var priceInfoString = ''

			if ($priceInfo.length > 0) {
				var priceInfoHtml = $priceInfo.html();
				priceInfoString = priceInfoHtml.substring(0, priceInfoHtml.indexOf('<'));
			}

			var $perYear = $subRow.find('td.peryear');
			var pricePerYear = '';

			if ($perYear.length > 0) {
				pricePerYear = $subRow.find('td.peryear').html();
			} else {
				pricePerYear = 'n.v.t.';
			}
			var price = $subRow.find('td.price').html();

			result.push('<item>');
				result.push('<name><![CDATA[' + name + ']]></name>');
				result.push('<priceInfo><![CDATA[' + priceInfoString + ']]></priceInfo>');
				result.push('<pricePerYear><![CDATA[' + pricePerYear + ']]></pricePerYear>');
				result.push('<price><![CDATA[' + price + ']]></price>');
			result.push('</item>');

		});

		result.push('</itemgroup>');
	});
	result.push('</items>');

	return result.join('');
}



