function confirmCancel(redir) {
	if (confirm("Weet u zeker dat u wilt annuleren? Wijzigingen worden dan niet doorgevoerd.")) {
		location.replace(redir);
	}
	return false;
}


/**
 * Moves the selected items of a select box down.
 * 
 * @param selectId
 * @return
 */
function moveSelectItemsDown(selectId) {
	$('#' + selectId + ' option:selected').each(function(){
		$(this).insertAfter($(this).next());
	});
}

function alt_show() {
    document.getElementById('filetypes').style.display = 'block';
}

function alt_remove() {
    document.getElementById('filetypes').style.display="none";
}

function showCertificationGroupIcon(groupId) {
	$('.certificationgroup-details-icon img').remove();
	$('.certificationgroup-details-icon').append('<img src="/keurmerk/icoon?groupId=' + groupId + '&ts=' + new Date().getTime() + '" class="cg_icon" />');
}

function showPersonPhoto(userId) {
    $('.myprofile-person-photo img').remove();
    $('.myprofile-person-photo').append('<img src="/profielfoto?id=' + userId + '&ts=' + new Date().getTime() + '" class="cg_icon" />');
}

$(function() {

    $('.captchaReload').click(function() {                 
        var randomnumber = Math.floor(Math.random()*1000);
        $(this).parents('table.captcha').each(function() {
            var captcha = $('img.captcha', this);
            $(captcha).attr('src', captcha.attr('src') + '&r=' + randomnumber);
        });
        return false;
    });

	$('a.openUploadPopup').click(function() {
		window.open($(this).attr('href'), 'upload', 'width=300,height=300,location=no,status=no,menubar=no,resizable=no,scrollbars=no');
		return false;
	});

	$('#submitInappropriateReviewForm:has(.errors)').each(function() {
		$('#submitInappropriateReviewForm input[name=smoId]').each(function() {
			$('#submitInappropriateReviewForm').removeClass('hidden')
                                               .appendTo($('#lom_reviews li[smoid=' + $(this).val() + ']'));

		});
		var position = $(this).parent().position();
		window.scrollTo(position.left, position.top);
	});

	$('#lom_reviews a[rel=inappropriate]').click(function() {
		if ($('#submitInappropriateReviewForm').parent().attr('smoid') != $(this).parent().attr('smoid')) {
			var idValue = $(this).parent().attr('smoid');
			var reviewerName = $('.reviewerName', $(this).parent()).html();
			$('#submitInappropriateReviewForm input[name=smoId]').attr('value', idValue);
			$('#submitInappropriateReviewForm input[name=reviewerName]').attr('value', reviewerName);
			$('#submitInappropriateReviewForm').removeClass('hidden')
			                                   .appendTo($(this).parent());
		}
		return false;
	});

	$('.addToFavourites a.enabled').click(function() {
        var thisElement = this;
        $.ajax({
            url: $(this).attr('href'),
            type: 'get',
            success: function(data) { $(thisElement).replaceWith('<span class="icon_ok">Opgeslagen in <a href="/account/favorieten/home.psml">favorieten</a></span>')},
            error: function(request, status, e) {}
		});
		return false;
    });

	/***************************************************************************
	 * Certification
	 **************************************************************************/
	$('form.certify input[name=certified]').change(function() {
		$(this).parents('form').submit();
	});
    if($.browser.msie) {
    	$('form.certify input[name=certified]').click(function() {
	        $(this).change().focus();
    	});
    }
	$('form.certify').submit(function() {
		var form = this;
		var messageBox = $('.message', this);
		$.ajax({
			url: $(this).attr('action'),
			type: 'post',
			data: {
				certified: $('input[name=certified]', form).attr('checked'),
				groupId: $('input[name=groupId]', form).val(),
				learningObjectUri: $('input[name=learningObjectUri]', form).val(),
				title: $('input[name=title]', form).val()
			},
			beforeSend: function() {
				messageBox.addClass('hidden').removeClass('confirm').removeClass('errors');
				$('input[name=certified]', form).attr('disabled', 'disabled');
			},
			success: function(data) {
				messageBox.removeClass('hidden').addClass('confirm').text('Keurmerk met succes gewijzigd');
				$('input[name=certified]', form).removeAttr('disabled');
			},
			error: function(request, status, e) {
				messageBox.removeClass('hidden').addClass('errors').text('Keurmerk niet succesvol gewijzigd');
				$('input[name=certified]', form).removeAttr('disabled');
			}
		});
		return false;
	});
	$('#search_certifications').submit(function() {
		$.post($(this).attr('action'), $(this).serialize(), function(data) {

			var isCertified = function(groups, groupId) {
				var certified = false;
				$.grep(groups, function(a) {
					certified |= groupId == a['groupId'];
				});
				return certified;
			}

			var addCertificates = function(elem, parent) {
				var c = $('<div class="certifications"><h3>Keurmerken: </h3></div>');
				c.appendTo($('ul.result_right', parent));
				c.wrap('<li />');

				for (var i = 0; i < elem['groups'].length; i++) {
					var title = elem['groups'][i]['name'] + ' - ' + elem['groups'][i]['info'];
					c.append('<li><img src="/keurmerk/icoon?groupId=' + elem['groups'][i]['groupId'] + '" class="cg_icon" title="' + title + '"></li>');
				}

				$('li', c).wrapAll('<ol />');
				$('img[title!=""]', c).easyTooltip();
			}

			var addCertification = function(elem, res, parent) {
				var groupId = $('#certification_placeholder input[name=groupId]').val();
				var groupName = $('#certification_placeholder input[name=groupName]').val();
				var form = $('#certification_placeholder').clone(true /* also copy events */);

				$('input[name=learningObjectUri]', form).attr('value', elem['uri']);
				$('input[name=title]', form).attr('value', $('div.title a', res).text());

				if (isCertified(elem['groups'], groupId)) {
					$('input[name=certified]', form).attr('checked', 'checked');
				} else {
					$('input[name=certified]', form).removeAttr('checked');
				}

				$('div.group', form)
					.prepend('<img src="/keurmerk/icoon?groupId=' + groupId + '" class="cg_icon">')
					.append(groupName);

				form.removeClass('hidden').removeAttr('id');
				form.appendTo($('ul.result_right', parent));
				form.wrap('<li />');
			}
			
			$('div.zoekresultaten div.result').each(function(i, res) {
				if (data[i]['groups'].length > 0) {
					addCertificates(data[i], this);
				}

				if ($('#certification_placeholder').size() == 1) {
					addCertification(data[i], res, this);
				}
			});
		}, 'json');
		return false;
	}).submit(); // retrieve certificates when the page is ready

	if ($("#twitterForm div.errors").length == 0 ) {		
		$('#twitterForm textarea').labelify({ labelledClass: "labelled" });
	}

	$('form.collections input.display').click(function() {
		if (!this.checked) {
			$(this).parent().next().children('input').attr('checked', false);
		}
	});
	$('form.collections input.preferred').click(function() {
		if (this.checked) {
			$(this).parent().prev().children('input').attr('checked', true);
		}
	});

	/**
	 * Add tablesorter to tables with class 'tablesorter' 
	 */
    $('.tablesorter').tablesorter();

	/**
	 * Add tablesorter to tables with class 'tablesorter' 
	 */
    $('.tablednd').tableDnD();

	
/*http://orkans-tmp.22web.net/star_rating/index.html#overview*/
   $("#stars-wrapper1").stars({
       oneVoteOnly: false
   });
		//http://sorgalla.com/projects/jcarousel/#Examples
		if ( $("#mycarousel").length > 0 ) {
		 	$('#mycarousel').jcarousel();
		}
		
		$('.portal-layout-ThreeColumns').corner('5px');
		
		$('.form-button').mouseover(function(){
	    	$(this).addClass("form-button-hover");
	    }).mouseout(function(){
	    	$(this).removeClass("form-button-hover");		
	    });

		$('.ui-button').mouseover(function(){
	    	$(this).addClass("ui-button-hover");
	    }).mouseout(function(){
	    	$(this).removeClass("ui-button-hover");		
	    });

		
		$("#lom_reviews_handle").click(function () {
			if($(this).hasClass('reviews_closed')) {
				$(this).removeClass("reviews_closed");
				$(this).addClass("reviews_open");
			} else {
				$(this).addClass("reviews_closed");
				$(this).removeClass("reviews_open");
			}
			
			$("#lom_reviews").toggle("slow");
		});

		$("#saveSearchCommand .form-messages-errors").each(function() {
			$("#saveSearchCommand form").show();
		});
		$("#saveSearchCommand .confirm").each(function() {
			$("#saveSearchCommand form").show();
		});
		$("#saveSearchCommand a").click(function () {
			$("#saveSearchCommand form").toggle();
		});

		$("#mailSearchCommand .form-messages-errors").each(function() {
			$("#mailSearchCommand form").show();
		});
		$("#mailSearchCommand .confirm").each(function() {
			$("#mailSearchCommand form").show();
		});
		$("#mailSearchCommand a").click(function () {
			$("#mailSearchCommand form").toggle();
		});		
		
		$('form.arrangeer a').click(function() {
			$(this).parent().submit();
			return false;
		});
		

		$('a#reviews_link_form').click(function() {
			var lomUri=$(this).attr('data-uri');
			var baseUrl=$(this).attr('data-baseurl');
			$.ajax({
				   url: "/lomURL",
				   data : {lomUri:lomUri,baseUrl:baseUrl},
				   success: function(data) {
					   	window.location.href=data;
					}
				 });
			return false;
		});

		
		$('form.arrangeer_favourites a').click(function() {
			var lomUri=$(this).parent().children('input[name=lomUri]').val();
			var lomCrc=$(this).parent().children('input[name=lomCrc]').val();
			var parentForm=$(this).parent();
			$.ajax({
				   url: "/lomXML",
				   data : {lomUri:lomUri,lomCrc:lomCrc},
				   async : false,
				   success: function(data) {
					    parentForm.children('input[name=recordData]').attr('value', data);
					}
				 });
			parentForm.submit();
			return false;
		});
		
		$('#sortForm #selectedOption').change(function() {
			var parentForm=$(this).parents("form");
			parentForm.submit();
			return false;
		});


		$('a.link-redirect-onload').each(function() {
			var href = $(this).attr("href");
			document.location.replace(href);
			setTimeout(function() {
				$(this).show();
			}, 10*1000);
			return false;
		});

        $('div.usermanager a[rel]').click(function(event) { 
            event.preventDefault();
            var rel = $(this).attr('rel');
            var split = rel.indexOf('[');
            var namePart = rel.substring(0, split);
            var valuePart = rel.substring(split + 1, rel.length -1);
            var form = $('form.userbrowser');
            $('<input type="hidden" name="' + namePart + '" />').attr('value', valuePart).appendTo(form);
            form.submit();
        });

        $('div.publishermanager a[rel]').click(function(event) { 
            event.preventDefault();
            var rel = $(this).attr('rel');
            var split = rel.indexOf('[');
            var namePart = rel.substring(0, split);
            var valuePart = rel.substring(split + 1, rel.length -1);
            var form = $('#list');
            $('<input type="hidden" name="' + namePart + '" />').attr('value', valuePart).appendTo(form);
            form.submit();
        });
  jQuery.validator.addMethod("dutchDate", function(value, element) {
      return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/);
    },
    "Datum moet van het formaat 'dd/mm/jjjj' zijn"
  );

  $("#webanalyticsForm").validate({
    rules: {
      field: {
        required: true,
        dutchDate: true,
        messages: {
          required: "Datum is verplicht.", 
        }
      }
    }
  });

});
