// If page is ready

$(document).ready(function(){	
	
	$('div.calendar_month').each(function(){
		initCalendarItem($(this));
		$(this).hide();
	});
	$('div.calendar_month[id="m0"]').show();
	
	var $footerH	= ($('#footer').height()+40);
	var $bodyH		= $('body').height();
	
	var lch = $('.left_content').height();
	var rch = $('.right_content').height();
	var hlh = $('#home_left').height();
	var hrh = $('#home_right').height();
	
	if($('#top').height() + $footerH < $bodyH)
		$('#top').height(($bodyH-$footerH-25)+'px');
	
	if(rch > lch){
		$('#left_content_margin_element').css({'margin-bottom' : ((rch - lch)+14)+'px'});
	}
	
	if(hrh > hlh){
		var hnbh = $('#home_news_bottom').height();		
		var extra = $.browser.msie ? 12 : 0;
		
		$('#home_news_bottom').height(hnbh + (hrh - hlh) + extra);
	}else{
		//$('#right_home_margin_element').css({'margin-bottom' : ((hlh - hrh))+'px'});
	}
	
	var kennisoffset = $('.sitemapblock h2.kennis').offset();
	var aliancieoffset = $('.sitemapblock h2.aliancie').offset();
	
	if(kennisoffset != null && aliancieoffset != null){
		var kt = kennisoffset.top;
		var at = aliancieoffset.top;
		if(kt > at){
			var diff = kt-at;
			$('.sitemapblock h2.aliancie').css('margin-top', (diff+40)+'px')
		}else if(kt < at){
			var diff = at-kt;
			$('.sitemapblock h2.kennis').css('margin-top', (diff+40)+'px')
		}
	}

	$('.content a img').each(function(){
		$(this).parent().css({'background':'none', 'padding' : '0'});
	});
	
	var kbbh = 0;
	
	$('.kennisbank_homeblock').each(function(){
		if($(this).height() > kbbh)
			kbbh = $(this).height();
	});

	if(kbbh > 0){
		$('.kennisbank_homeblock').each(function(){
			if($(this).height() < kbbh)
				$(this).children('.kennisbank_homeblock_bottom').css('margin-top' , (kbbh-$(this).height())+'px');
		});		
	}
	
	$('.kennisbank_filter div.tip').hover(function(){
		$('.kennisbank_filter .kennisbank_popup').show();
	},function(){});
	
	$('.kennisbank_filter .kennisbank_popup').hover(function(){},function(){
		$('.kennisbank_filter .kennisbank_popup').hide();
	});
	
	$('.kennisbank_homeblock ul li').hover(function() {
		var p = $(this).position();
		$(this).find('.kennisbank_popup').css({'top' : p.top+30});
	},
	function() {
	});
	
	$('input#cv').filestyle({ 
		 image: "/img/browse.gif",
		 imageheight : 28,
		 imagewidth : 88,
		 width : 180
 	});
	
	$('#loggedin_cloud').css('left', function(){
		var _obj = $('a#loggedInAs');
		
		var _offset	= _obj.offset();
		var _width 	= _obj.width();

		var tWidth 	= $('#loggedin_cloud').width();
		var pOffset	= _obj.parent().offset();

		return (_offset.left - pOffset.left - ((tWidth-_width)/2))+'px';
	});

	
	$('a.newWindow').click(function(){
		window.open($(this).attr('href'));
		return false;
	});
	
	$('#home_news ul li, #main_menu li, #news_overview li, #project_news_overview li, div.kennisbank_homeblock ul li, #project_news_overview li, #films_overview li').hover(function(){	
			$(this).addClass('hover');
		},function(){
			$(this).removeClass('hover');
	});
	
	$('div#dtb_left, div#dtb_right, #top_buttons li, .social_buttons li, ul#main_menu li, #news_overview li, #project_news_overview li, #films_overview li, ul#medewerker_overview li').click(function(){
		var $aBoj	= $(this).children('a:first');
		
		if($aBoj.length > 0){
			var $url	= $aBoj.attr('href');
			if($url.length > 0){
				if($aBoj.hasClass('newWindow'))
					window.open($url);
				else
					window.location=$url;
			}
		}
		return false;
	});
	
	var homeSubmenuSize 	= $('div#home_top').height();
	var bottomMargin		= 10;
	var submenuOpen 		= false;

	$('#top_buttons li').hover(function(){
		var $_obj = $('#hover_submenu_'+$(this).attr('class'));
		if($_obj.height() == 0){
			var submenuSize = ($_obj.hasClass('home'))? homeSubmenuSize : $_obj.children('.hover_submenu:first').show().height()+bottomMargin;
			setZIndex($_obj);
			$_obj.animate({height: submenuSize+'px'}, 300);
			$('ul#home_top_tekst li.'+$(this).attr('class')).addClass('blank');
			
		}
	},function(){
		var $_obj = $('#hover_submenu_'+$(this).attr('class'));
		$_obj.animate({height: '0'}, 200);
		$('ul#home_top_tekst li.'+$(this).attr('class')).removeClass('blank');
	});
	
	$('#hover_submenu_kennis, #hover_submenu_actie, #hover_submenu_aliancie').hover(function(){
		$(this).stop();
		$('#hover_submenu_kennis, #hover_submenu_actie, #hover_submenu_aliancie').removeClass('hover');
		$('#hover_submenu_kennis, #hover_submenu_actie, #hover_submenu_aliancie').animate({height: '0'}, 200);
		$(this).stop();
		var submenuSize = ($(this).hasClass('home')) ? homeSubmenuSize : $(this).children('.hover_submenu:first').show().height()+bottomMargin;
		$(this).height(submenuSize);
		$('ul#home_top_tekst li.'+$(this).attr('id').replace('hover_submenu_', '')).addClass('blank');
	},function(){
		$(this).animate({height: '0'}, 200);
		$('ul#home_top_tekst li.'+$(this).attr('id').replace('hover_submenu_', '')).removeClass('blank');
	});
	
	var shownPartner = 1;
	var allPartners = $('ul#partners li.images').length;
	
	var partnerOn = {width:'155px'};
	var partnerOff = {width:0};
	
	$('ul#partners li.images').hide();
	$('ul#partners li.images:first').show();
	
	$('ul#partners li.prev').click(function(){
		var prevPartner = shownPartner-1;
		prevPartner = (prevPartner == 0)? allPartners : prevPartner;
		
		$('ul#partners li:nth-child('+(shownPartner+1)+')').hide();
		$('ul#partners li:nth-child('+(prevPartner+1)+')').show();
		
		shownPartner = prevPartner;
		
		return false;
	});
	
	$('a#remove_all_filters').click(function(){
		var $btn = $(this);
		$.ajax({
	    	type: "GET",
	        url:  baseUrl + '/js/ajax/kennisbankfilters/clear',
	        cache:false,
	        success: function(mssg){
				var $parts = mssg.split('##|##');
				if($parts[0] == 'succes'){
					$('#selected_filter_num').html('0');
					$('#filter_container').html('');
					$('select.filter option').removeClass('selected');
					$btn.hide();
					refreshKennisbankResults();
				}else
					alert($parts[1]);
			}
		});
		return false;
	});
	
	$('#filter_container a').click(function(){
		removeKennisbankFilter($(this));
		return false;		
	});
	
	$('select.filter').change(function(){
		$(this).children('option:selected').each(function(){
			var $sfVal 	= $(this).val();
			var $option = $(this);
			if($sfVal.length > 0){
				$.ajax({
			    	type: "GET",
			        url:  baseUrl + '/js/ajax/kennisbankfilters/add/'+$sfVal,
			        cache:false,
			        success: function(mssg){
						var $parts = mssg.split('##|##');
						if($parts[0] == 'succes'){
							var aId = 'selectedfilter_'+$sfVal;
							$option.addClass('selected');
							$('#selected_filter_num').html($parts[2]);
							$('#filter_container').append('<a href="#" id="'+aId+'" rel="'+$sfVal+'">'+$parts[1]+'</a>');
							$('#remove_all_filters').show();
							$('#'+aId).click(function(){
								removeKennisbankFilter($(this));
								return false;
							});
							refreshKennisbankResults();
						}else{
							alert($parts[1]);
						}
			        }
				});
			}
		});
		
		$(this).children('option').removeAttr('selected');
		$(this).children('option:first').attr('selected','selected');
		$(this).blur();
	});
	
	$('select#publication_date_filter').change(function(){
		var $select = $(this);
		$(this).children('option:selected').each(function(){
			var $sfVal 	= $(this).val();
			$.ajax({
		    	type: "GET",
		        url:  baseUrl + '/js/ajax/kennisbankmonth/set/'+$sfVal,
		        cache:false,
		        success: function(mssg){
					var $parts = mssg.split('##|##');
					if($parts[0] == 'succes'){
						refreshKennisbankResults();
					}else{
						$select.val('');
						alert('select#publication_date_filter: '+$parts[1]);
					}
		        }
			});
		});
	});
	
	var oldRatingWidth = 0;
	var ratingImgDiff = 90;
	
	$('.kennisbank_rating img').hover(function(){
		oldRatingWidth = $('.kennisbank_rating .bg').width();
		var imgOffset = $(this).parent().offset();
		
		$(this).mousemove(function(e){
			if (e!=null){				
				var newWidth = e.pageX - imgOffset.left - ratingImgDiff;
				$('.kennisbank_rating .bg').width(newWidth);
			}
		});
	}, function(){
		$('.kennisbank_rating .bg').width(oldRatingWidth);
	});
	
	$('.kennisbank_rating img').click(function(e){
		if (e!=null){
			var imgOffset = $(this).parent().offset();
			
			var place	= e.pageX - imgOffset.left - ratingImgDiff;
			var rating	= roundToHalf(Math.round((50*(place/$(this).width())))/10);
			var bool	= confirm('U staat op het punt een score van '+rating+' punten (totaal 5 punten) toe te kennen aan dit artikel. \nWeet u het zeker?');
			
			if(bool){
				$id = $(this).attr('id').replace('p', '');
				
				//ajax call
				$.ajax({
			    	type: "GET",
			        url:  baseUrl + '/js/ajax/rating/add/'+$id+'/'+rating,
			        cache:false,
			        success: function(mssg){
						var $parts = mssg.split('##|##');
						if($parts[0] == 'succes'){
							$('.kennisbank_rating').html('<div class="succes">'+$parts[1]+'</div>');
						}else{
							$('.kennisbank_rating').html('<div class="error">'+$parts[1]+'</div>');
						}
			        }
				});
			}
		}
	});
	
	$('ul#partners li.next').click(function(){
		var nextPartner = shownPartner+1;
		nextPartner = (nextPartner > allPartners)? 1 : nextPartner;
		
		$('ul#partners li:nth-child('+(shownPartner+1)+')').hide();
		$('ul#partners li:nth-child('+(nextPartner+1)+')').show();;
		
		shownPartner = nextPartner;
		
		return false;
	});
	
	ciclePartnerClick();
	
	
	$('.dates').css({'display':'none'});
	$('.dates:first').css({'display':'block'});
	$('#location').bind('change',function(){
		  //alert('change');
		var dateID = $(this).val();
		//alert(dateID);
		$('.dates select.date').attr('name','date');
		$('.dates').css({'display':'none'});
		$('#dates_'+dateID+' select.date').attr('name','date_active');
		$('#dates_'+dateID).css({'display':'block'});
		});
		$('.anders').bind('keyup',function(){
		id = $(this).parent().attr('id');
		if($(this).parent().find('input[name="'+id+'[]"]').length > 0){
		$(this).parent().find('input[name="'+id+'[]"]').val($(this).parent().attr('rel')+$(this).val()).attr('checked','checked');;
		}
		else if($(this).parent().find('input[name="'+id+'"]').length > 0) {
		$(this).parent().find('input[name="'+id+'"]').val($(this).parent().attr('rel')+$(this).val()).attr('checked','checked');;
		}
	});
		
	$('form#destination_innovation').submit(function(){
		$('form#destination_innovation input, form#destination_innovation textarea').each(function(){
			$(this).click();
		});
	});
	
	$('form#destination_innovation input, form#destination_innovation textarea').click(function(){
		if(!$(this).hasClass('filled'))
			$(this).addClass('filled');
		
		var label = $(this).parent().children('label:first').html();
		
		if($(this).val() == label)
			$(this).val('');
		
		if($(this).val().length == 0)
			$(this).removeClass('filled');
	});
	
	$('form#destination_innovation input, form#destination_innovation textarea').change(function(){
		$(this).click();
	});
	
	
	if(typeof(logedInUser) != "undefined"){
		$('form.dynamicForm input, form.dynamicForm textarea').each(function(){
			var label = $(this).parent().children('label:first').html();
			
			if(label != null && label.length > 0){
				label = $.trim(label.replace(/[^a-zA-Z 0-9]+/g,'').toLowerCase());
				
				if(label.indexOf('email') > -1 && logedInUser['email'] != undefined){
					$(this).val(logedInUser['email']);
				}else{
					switch(label){
						case 'naam':
							if(logedInUser['initials'] != undefined)
								$(this).val(logedInUser['initials']);
						break;
						
						case 'achternaam':
							if(logedInUser['name'] != undefined)
								$(this).val(logedInUser['name']);
						break;	
						
						case 'telefoonnummer':
							if(logedInUser['phone'] != undefined && logedInUser['phone'].length > 0)
								$(this).val(logedInUser['phone']);
							else if(logedInUser['mobile'] != undefined)
								$(this).val(logedInUser['mobile']);
						break;					
						
						case 'organisatie':
							if(logedInUser['organisation'] != undefined)
								$(this).val(logedInUser['organisation']);							
						break;
						
						default:
							if(logedInUser[label] != undefined)
								$(this).val(logedInUser[label]);
						break;
					}
				}
			}
		});	
	}
		
		
	preloadImages(	 
			 baseUrl +'/img/bgs/kennisbank_popup_bottom.gif'
			,baseUrl +'/img/bgs/kennisbank_popup_middle.gif'
			,baseUrl +'/img/bgs/kennisbank_popup_top.gif'
			
			,baseUrl +'/images/calendar/item_bottom.gif'
			,baseUrl +'/images/calendar/item_middle.gif'
			,baseUrl +'/images/calendar/item_top.gif'
	);
		
        $('div.plaats-block').mouseover(function(){
            $(this).children('.plaats').hide();
            $(this).children('.plaats-bord').show();
	});
        $('div.plaats-block').mouseout(function(){
            $(this).children('.plaats').show();
            $(this).children('.plaats-bord').hide();
	});
	
	$('#close_countdown').click(function(e) {
		$('#countdown_holder').stop().slideUp(200);	
	});		
	
	if(keyword == 'home') { 
		$('#countdown_holder').delay(800).slideDown(2000, 'easeOutBounce').delay(10000).slideUp(200);
	}
	
	$("#time").countdown({
	    htmlTemplate: '<span class="day-time">%d</span> dagen <span class="hour-time">%h</span> uur <span class="min-time">%i</span> min. <span class="sec-time">%s</span> sec.',
		date : "march 31, 2012 23:59:59",
		yearsAndMonths: false
	});
});


/* Werkt niet in IE 
$(function(){
	//var today 		= new Date();
	var finalday	= new Date(2012, 4, 1);
	
	$('#countdown').countdown({
		timestamp	: finalday,
		callback	: function(days, hours, minutes, seconds){
		}
	});
	
});
*/

function str2int(str){
	int = parseFloat(str);
	return (!is_numeric(int))? 0 : Math.round(int);
}

function is_numeric(str){
	return (!isNaN(str*1));
}


function roundToHalf(value) {
	   var converted = parseFloat(value); // Make sure we have a number
	   var decimal = (converted - parseInt(converted, 10));
	   decimal = Math.round(decimal * 10);
	   if (decimal == 5) {return (parseInt(converted, 10)+0.5);}
	   if ( (decimal < 3) || (decimal > 7) ) {
	      return Math.round(converted);
	   } else {
	      return (parseInt(converted, 10)+0.5);
	   }
	} 

function removeKennisbankFilter(_obj){
	var $id = _obj.attr('rel');
	$.ajax({
    	type: "GET",
        url:  baseUrl + '/js/ajax/kennisbankfilters/remove/'+$id,
        cache:false,
        success: function(mssg){
			var $parts = mssg.split('##|##');
			if($parts[0] == 'succes'){
				_obj.remove();
				
				$('#selected_filter_num').html($parts[1]);
				$('option[value="'+$id+'"]').removeClass('selected');	
				if($('#filter_container a').length == 0)
					$('#remove_all_filters').hide();
				
				refreshKennisbankResults();
			}else{
				alert($parts[1]);
			}
        }
	});
}


function refreshKennisbankResults(){
	$('.kennisbank_results, .kennisbank_pager').css({opacity : 0.25});
	$('.kennisbank_filter .loading').show();
	
	$.ajax({
    	type: "GET",
        url:  baseUrl + '/js/ajax/kennisbankresults',
        cache:false,
        success: function(mssg){
			var $parts = mssg.split('##|##');
			if($parts[0] == 'succes'){
				$('.kennisbank_results, .kennisbank_pager').remove();
				$('.content').after($parts[1]);
			}else{
				alert($parts[1]);
			}
        },
		complete: function(){
        	$('.kennisbank_results, .kennisbank_pager').fadeIn(100, function(){
        		$(this).removeAttr("style");
    			$('.kennisbank_filter .loading').hide();
        	});
        }
	});
}


function ciclePartnerClick(){
	setTimeout(function(){
		$('ul#partners li.next').click();
		ciclePartnerClick();
	}, 10000);
}



function initCalendarItem($parentObj){
	
	// controls
	$parentObj.children('ul.calendar_header:first').children('li').each(function(){
		if($(this).hasClass('prev_month') || $(this).hasClass('next_month')){
			$(this).click(function(){ 
				var $_aObj	= $(this).children('a:first');
				var $_id 	= $_aObj.attr('rel');
				var $_obj 	= $('div.calendar_month#m'+$_id);
				var $_cont 	= $_obj.html();
				
				if($_cont == null){
					$parentObj.css({opacity:'0.25'});
					
					$.ajax({
				    	type: "GET",
				        url:  $_aObj.attr('href'),
				        success: function(msg){
							
							if(msg == 'error')
								alert('Error tijdens toevoegen');
							else {
								$parentObj.hide();
								$parentObj.css({opacity:'1'});
								$parentObj.after(msg);
								$_obj = $('div.calendar_month#m'+$_id);
								initCalendarItem($_obj);
							}
				        }
					});
				}else{
					$parentObj.css({opacity:'0.25'});
					setTimeout(function(){
						$parentObj.hide();
						$parentObj.css({opacity:'1'});
						$_obj.show();
					},300);
				}
				return false;
			});
		}
	});

	//items
	$parentObj.children('ul.calendar_days').each(function(){
		$(this).children('li').each(function(){			
			if($(this).hasClass('hasitem')){
				$(this).children('a:first').click(function(){return false;});
				
				$(this).hover(function(){
					$(this).addClass('selected');
					var $_obj = $(this).children('div.calendar_hover:first');
					setZIndex($_obj);
					$_obj.show();
				},function(){
					$(this).removeClass('selected');
					$(this).children('div.calendar_hover:first').hide();
				});
			}
		});
	});
}
	
	

var zIndex = 50;

function setZIndex(Obj){
	Obj.css('z-index', zIndex);
	zIndex = zIndex + 1;
}

function preloadImages() { //v3.0
  var d=document;if(d.images){if(!d.p) d.p=new Array();
	var i,j=d.p.length,a=preloadImages.arguments;for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){d.p[j]=new Image;d.p[j++].src=a[i];}}
}

var map 		= '';
var geocoder 	= '';
var zoomLevel	= 14;

function initialize() {
	  if (GBrowserIsCompatible()) {
		map  		= new GMap2(document.getElementById("map_canvas"));
		geocoder	= new GClientGeocoder();

		map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
	}
}

function addToMap(lon, lat, html){
	var point = new GLatLng(lat, lon);
	var marker = new GMarker(point);
	GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
		map.setCenter(point);
    });

	map.addOverlay(marker);
	marker.openInfoWindowHtml(html);
	map.setCenter(point, zoomLevel);
}
