/**
 * Javascript voor standaard layout
 * 
 * De DigiCode Applicatie beheerd DigiCodes en laat gebruikers deze activeren, direct op de applicatie site
 * maar ook via een SOAP koppeling
 * 
 * @package DigiCodeApplicatie
 * @subpackage Javascript
 * 
 * @copyright Uitgeverij Edu'Actief b.v. 2009-2010
 * @author Elze Kool <e.kool@edu-actief.nl>
 * @version $Id: default.js 149 2010-11-03 08:11:37Z elkoo $ 
 * 
 */



/**
 * Lock Systeem
 * 
 * De DigiCode Applicatie beheerd DigiCodes en laat gebruikers deze activeren, direct op de applicatie site
 * maar ook via een SOAP koppeling
 * 
 * @package DigiCodeApplicatie
 * @subpackage Javascript
 * 
 * @copyright Uitgeverij Edu'Actief b.v. 2009-2010
 * @author Elze Kool <e.kool@edu-actief.nl>
 * 
 */
DigiCodeApp.Lock = {

	/**
	 * Update ingestelde Lock
	 */
	updateLock : function() {
	
		// Geef Lock icoon weer
		jQuery('#lockicon').show().attr('class', 'updating');
		
		// Voer een AJAX request uit
		jQuery.ajax({
			dataType : 'text',
			timeout : 30000,
			type : 'POST',
			url : '/locks/update',
			data : {
				// Geef lock URI mee
				uri : DigiCodeApp.lock
			},
			
			/**
			 * AJAX Succes callback
			 */
			success : function(data, status, req) {

				if (data == '') {
					// Fout
					jQuery('#lockicon').attr('class', 'lockerror');
					
					// Foutmelding weergeven
					var errormessage = jQuery('<div class="error">' + __('Er is een fout opgetreden tijdens het blokkeren van deze pagina. Mogelijk gaan gewijzigde velden verloren.') + '</div>');					
					jQuery('#flashMessages').append(errormessage);
					
				} else {
					// Succesvol
					jQuery('#lockicon')
						.attr('title', data)
						.removeAttr('class');
					setTimeout(DigiCodeApp.Lock.updateLock, 5000);
				}
			}
		});
	}
		
}

// DOM ready event
jQuery(document).ready(function() {
	
	// Kijk of er een Lock is ingesteld
	if (DigiCodeApp.lock != '') {
		setTimeout(DigiCodeApp.Lock.updateLock, 100);
	}
	
	jQuery('.beheer_container th.sort').bind('mouseenter', function() {
		jQuery(this).children('a.sortup, a.sortdown').fadeIn(150);
	});
	
	jQuery('.beheer_container th.sort').bind('mouseleave', function() {
		jQuery(this).children('a.sortup, a.sortdown').fadeOut(150);
	});
	
	// Verberg flash berichten
	jQuery('#flashMessages > div.notice')
		.delay(5000)
		.slideUp(300);

	// Verberg flash berichten
	jQuery('#flashMessages > div.error')
		.delay(8000)
		.slideUp(300);

	// Verberg flash berichten
	jQuery('#flashMessages > div.success')
		.delay(3000)
		.slideUp(300);

});
