
// render create event dialog
function renderNewEventDialog(){

	var filename = '/' + labels.lang + '/calendar.html';

	var send = {
		'ajax': "2",
		'action': "render-new-event-dialog"
	}

	var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);

	$.post(filename, params, function (response){

		//create content
		var decoded = $('<div></div>').html(response);
		var content = $('<div id="new-event-dialog"></div>');
		content.html(decoded);

		// create dialog
		var dialog = content.dialog({
            title: 'New event',
            dialogClass: 'ngl_dialog_container',
            autoOpen: false,
            position: 'center',
            height: 'auto',
            width: 'auto',
            modal: true,
            draggable: false,
            resizable: false
		});

		// open dialog
		if( !$('#new-event-dialog').dialog("isOpen") ){
			dialog.dialog('open');			
		}
		
		// destroy dialog on close	
		$("#new-event-dialog").bind("dialogclose", function(){
        	$("#new-event-dialog").dialog('destroy');
            $("#new-event-dialog").remove();
		});
	});
}

// create event
function newEvent( obj ){

	var filename = '/' + labels.lang + '/calendar.html';

	var send = {
		'ajax': "2",
		'action': "new-event"
	}

	var form = obj.parents("#newEventForm");

	var event_title				= $("input[name='event_title']", form).val();
	var event_date_day			= $("input[name='event_date_day']", form).val();
	var event_date_month		= $("select[name='event_date_month']", form).val();
	var event_date_year			= $("input[name='event_date_year']", form).val();
	var event_era				= $("select[name='event_era']", form).val();
	var event_descr				= $("textarea[name='event_descr']", form).val();
	var event_lightboxes		= $("select[name='event_lightboxes']", form).val();
	var event_type				= $("select[name='event_type']", form).val();
	var event_priority			= $("select[name='event_aniv']", form).val();	

	if($("input[name='event_special']", form).is(':checked')){
		var event_special				= 1;
	}else{
		var event_special				= 0;
	}
	
	if($("input[name='event_aniv']", form).is(':checked')){
		var event_aniv				= 1;
	}else{
		var event_aniv				= 0;
	}

	send.event_title			= event_title;
	send.event_date_day			= event_date_day;
	send.event_date_month		= event_date_month;
	send.event_date_year		= event_date_year;
	send.event_era				= event_era;
	send.event_descr			= event_descr;
	send.event_lightboxes		= event_lightboxes;
	send.event_special			= event_special;
	send.event_type				= event_type;
	send.event_aniv				= event_aniv;
	send.event_priority			= event_priority;

	var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);

	$.post(filename, params, function (response){
		var res = $.evalJSON(response);

		if(res.err.length == 0){
			window.location.href = filename;
		}else{
			console.log(res.err);
		}
	});
}

// render edit event dialog
function renderEditEventDialog( obj ){

	var filename = '/' + labels.lang + '/calendar.html';

	var send = {
		'ajax': "2",
		'action': "render-edit-event-dialog"
	}

	var event_id = obj.attr('data-event-id');
	send.event_id = event_id;
	
	var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);

	$.post(filename, params, function (response){

		//create content
		var decoded = $('<div></div>').html(response);
		var content = $('<div id="edit-event-dialog"></div>');
		content.html(decoded);

		// create dialog
		var dialog = content.dialog({
            title: 'Edit event',
            dialogClass: 'ngl_dialog_container',
            autoOpen: false,
            position: 'center',
            height: 'auto',
            width: 'auto',
            modal: true,
            draggable: false,
            resizable: false
		});

		// open dialog
		if( !$('#edit-event-dialog').dialog("isOpen") ){
			dialog.dialog('open');			
		}
		
		// destroy dialog on close	
		$("#edit-event-dialog").bind("dialogclose", function(){
        	$("#edit-event-dialog").dialog('destroy');
            $("#edit-event-dialog").remove();
		});
	});
}

// edit event
function editEvent( obj ){

	var filename = '/' + labels.lang + '/calendar.html';

	var send = {
		'ajax': "2",
		'action': "edit-event"
	}

	var form = obj.parents("#editEventForm");

	send.event_title			= $("input[name='event_title']", form).val();
	send.event_date_day			= $("input[name='event_date_day']", form).val();
	send.event_date_month		= $("select[name='event_date_month']", form).val();
	send.event_date_year		= $("input[name='event_date_year']", form).val();
	send.event_era				= $("select[name='event_era']", form).val();
	send.event_descr			= $("textarea[name='event_descr']", form).val();
	send.event_lightboxes		= $("select[name='event_lightboxes']", form).val();
	send.event_type				= $("select[name='event_type']", form).val();
	send.event_priority			= $("select[name='event_aniv']", form).val();
	send.event_id				= $("input[name='event_id']", form).val();

	if($("input[name='event_special']", form).is(':checked')){
		send.event_special				= 1;
	}else{
		send.event_special				= 0;
	}
	
	if($("input[name='event_aniv']", form).is(':checked')){
		send.event_aniv				= 1;
	}else{
		send.event_aniv				= 0;
	}

	var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);

	$.post(filename, params, function (response){
		var res = $.evalJSON(response);

		if(res.err.length == 0){
			window.location.href = filename;
		}else{
			console.log(res.err);
		}
	});
}

// delete event
function deleteEvent( obj ){
	
	var filename = '/' + labels.lang + '/calendar.html';

	var send = {
		'ajax': "2",
		'action': "delete-event"
	}

	var event_id = obj.attr('data-event-id');
	send.event_id = event_id;

	var encoded = $.toJSON(send);
    var params = $.evalJSON(encoded);

	$.post(filename, params, function (response){
		
		var res = $.evalJSON(response);

		if( res.err && res.err.length == 0 ){
			window.location = filename;
		}
	});
}

// on load methods
$(window).load(function(){
	
	// render new event dialog trigger
	$(".new-event").live('click', function(e){
		e.preventDefault();
		renderNewEventDialog();	
	});

	// create event trigger
	$(".new-event-button").live('click', function(e){
		e.preventDefault();
		newEvent( $(this) );	
	});
	
	// edit event dialog trigger
	$(".edit-event").live('click', function(e){
		e.preventDefault();
		renderEditEventDialog( $(this) );	
	});

	// edit event trigger
	$(".edit-event-button").live('click', function(e){
		e.preventDefault();
		editEvent( $(this) );	
	});
	
	// delete event trigger
	$(".delete-event").live('click',function(){	
		var functionToCall = deleteEvent;
		deleteNGLConfirmation( functionToCall, $(this) );
	});
} );
