window.addEvent('domready', function(){

	areYouSure();
	alerts();
	linkButtons();
	$$('a[rel=external]').setProperty('target', '_blank');

	checkFileLinks();
	initModalBox();
	
});

var modalBox;
var initModalBox = function(){
	
	var helpTxt = $$('#helptxt');
	if(helpTxt.length)	$('helpbutton').setStyle('display', 'inline');
	modalBox = new mooFacebox({
		draggable: 		false,
		loading_image: 	urlbase +'img/modal/loading.gif',
		close_text: 	'sluiten'
	});
	
}

var linkButtons = function(){
	
	$$('button.link').each(function(n){
		var link = n.getProperty('rel');
		n.addEvent('click', function(e){
			location.href = link;
			e.stop();
		});		
	});
	
}

var checkFileLinks = function(){
	
	$$('.addfiles').each(function(el){
		
		var options = JSON.decode(el.get('rel'));
		var data = '?action=select&';
		if(options){
			for(key in options){
				data += 'options['+ key +']='+ options[key] +'&';
			};
		}
		
		el.href = urlbase +'modules/files/select.php'+data;
		el.title = 'select files';
		el.rel	= '';
		
	});
	
	initFileSelector();	
	
}

var initFileSelector = function(){
	
	$$('.addfile').addEvent('click', function(e){
		
		var fileID = this.get('id').replace('item_', '').toInt();
		new Request.JSON({
			url: 		urlbase +'modules/files/actions.php',
			method: 	'post',
			onSuccess: 	function(res){
				addFile(res);
				modalBox.close();
			}
		}).send('action=filejson&item='+ fileID);
		e.stop();
		
	});
	
	$$('.deletefile').addEvent('click', function(e){
		this.removeEvents();
		
		this.getParent('li').destroy();
		
		var fileHolder = $$('ul.files')[0];
		if(fileHolder.getElements('li').length == 1){
			fileHolder.getElement('.nofiles').setStyle('display', 'block');
		}
		e.stop();
	});
	
}

var addFile = function(json){
	
	var fileHolder = $$('ul.files')[0];
	fileHolder.getElement('.nofiles').setStyle('display', 'none');
	
	if(!fileHolder.getElement('#item_'+ json.id)){
	
		var li =	new Element('li').set('id', 'item_'+ json.id);
		var a =		new Element('a', {href: '#'}).addClass('deletefile').inject(li);
		var img =	new Element('img', {src: urlbase +'img/icons/delete.png'}).inject(a);
		li.appendText(' '+ json.title);
		new Element('input', {type: 'hidden', name: 'attachment[]'}).set('value', json.id).inject(li);
		li.inject(fileHolder);
		
	}
	
	initFileSelector();
	
}

var areYouSure = function(){
	
	$$('a.sure').addEvent('click', function(e){
		if(confirm('weet u dit zeker?')){
			return true;
		}else{
			e.stop();
		}
	});
	
}

var alerts = function(){
	
	$$('.alert').each(function(el){
		el.addEvent('click', function(e){
			el.slide('out');
			e = new Event(e).stop();
		});
	});
	
}
