var ck_config = {
	toolbar:
	[
		['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink'], 
		['UIColor']
	]
};

$(document).ready(function() {
	
	// setup the wysiwyg editors		
	$('.wysiwyg').each(function() {
		$(this).ckeditor(ck_config);
	});
	
	// enhance the seating plan
	if(doesElementExist('#drawing-board-container')) {
		enhanceGrid();
	}
	
	// setup ticket info
	if(doesElementExist('#drawing-board-container')) {
		setupTicketInfo();
	}
	
	// set place ticket select
	if(doesElementExist('form#formPlaceSelect')) {
		setupFormPlaceSelect();
	}
	
	// set up the notes form
	if(doesElementExist('form#form-note')) {
		setupFormNote();
	}
	
	// setup lightboxes
	if(doesElementExist('a.lightbox')) {
		$('a.lightbox').lightBox({
			overlayBgColor: '#000',
			overlayOpacity: 0.6,
			imageLoading: '/js/jquery-lightbox/images/lightbox-ico-loading.gif',
			imageBtnClose: '/js/jquery-lightbox/images/lightbox-btn-close.gif',
			imageBtnPrev: '/js/jquery-lightbox/images/lightbox-btn-prev.gif',
			imageBtnNext: '/js/jquery-lightbox/images/lightbox-btn-next.gif',
			containerResizeSpeed: 350,
			txtImage: 'Imagem',
			txtOf: 'de'
		   });
	}

	// setup togglas
	if(doesElementExist('.toggla')) {
		setupTogglas();
	}
	
	// setup 
	if(doesElementExist('.plan-select')) {
		setupSelectionTogglas();
	}
	
	// admin menu
	if(doesElementExist('ul#adminmenu')) {
		adminAnimateMenu();
	}
	
});

/* Notes functionality */
function setupFormNote() {
	
	// bind form using 'ajaxForm' 
	var options = { 
	    target: 'form#form-note',
		success: function() {
		
			setupFormNote();	
			getNotesList();
		} 
	};
	$('form#form-note').ajaxForm(options);
	getNotesList();
	
}

function getNotesList() {
	
	//$('div#admin-order-notes-list').showLoading();

	var object_id = $('form#form-note input#object_id').val();
	var object_type = $('form#form-note input#object_type').val();	
	
	// remove the cart item
	$.get(u("/notes/get_notes/" + object_id + "/" + object_type), {}, function(data) {

		// re-render the cart
		$('div#admin-order-notes-list').html(data);
		//$('div#admin-order-notes-list').hideLoading();
	});
	
}

function formNoteSave_Click() {
	
	$('form#form-note').showLoading();
	$('form#form-note').submit();
}

/* End Notes functionality */

function adminAnimateMenu() {
	
	$("ul#adminmenu a").hover(function(){
		$(this).animate({
			color: '#80868e',
		});
		
	}, function() {
		$(this).animate({
			color: '#ffffff',
		});
	});
}

function setupSelectionTogglas() {

	if(doesElementExist('div.seat_select')) {
		
		contractTogglas('div.ticket-select');
		contractTogglas('div.plan-select');	
	} 
	else {
		
		if(doesElementExist('div.ticket-select')) {
			contractTogglas('div.plan-select');
		}
	}
}

function setupTogglas() {

	$('.toggla').each(function() {	
		$(this).find('label.title').click(function() {
			
			var target = $(this).parent().find('.content');		
			target.stop();
			
			if (target.css('display') == 'none') {
				// show
				expandTogglas(target.parent());
			} else {			
				// hide
				contractTogglas(target.parent());
			}
		});
		
	});
}

function contractTogglas(target, slide) {
	
	$(target).find('label.title').css('background', 'transparent url(/themes/grey/images/arrow_right.png) no-repeat 10px 10px');
	
	if (slide == true) {
		$(target).find('.content').slideUp('quick', function() {});
	} else {
		$(target).find('.content').css('display', 'none');
	}
}

function expandTogglas(target, slide) {

	$(target).find('label.title').css('background', 'transparent url(/themes/grey/images/arrow_down.png) no-repeat 10px 10px');
	
	if (slide == true) {
		$(target).find('.content').slideUp('quick', function() {});
	} else {
		$(target).find('.content').css('display', 'block');
	}	
}

function fadeElementIn(element) {
	
	element.css('display', 'block');
}

function fadeElementOut(element) {
	
	element.css('display', 'none');
}

function setupFormPlaceSelect() {

	// create ticket picker dialog
	$('#dialog-no-tickets').dialog({
		autoOpen: false,
		modal: true,
		title: 'Choose Tickets',
		buttons: {'Close': function() {
				$('#dialog-no-tickets').dialog('close');
			}
		}
	});

	$('.txtPlaceSelect').each(function() {
		addPlusMinus(this);
	});
	
	$('form#formPlaceSelect').submit(function() {
		
		var valid = false;
		
		$('.txtPlaceSelect').each(function(key, value) {
			if(parseInt($(value).val()) > 0) {
				valid = true;
			}
		});
		
		if(valid == false) {
			$('#dialog-no-tickets').dialog('open');
		}
		
		return valid;
	});
	
}

function setupTicketInfo() {

	var admin_system = false;

	// generate the ticket info
	$('.drawing-board td.seat').bind('mouseover', fb_seat_mouseover);
	
	// is this the admin system 
	if (doesElementExist('input#admin_system')) {
		admin_system = true;
	}
	
	// display it next to the cursor
	$('.drawing-board td.seat').mousemove(function(e){
		
		if (admin_system == true) {
			$('#ticket-info').css({
				left: e.pageX - 80,
				top: e.pageY,
				display: 'block',
			});
		} else {
			$('#ticket-info').css({
				left: e.pageX + 20,
				top: e.pageY,
				display: 'block',
			});
		}
	});
	
	// hide it when you 
	$('.drawing-board td.seat').mouseout(function(e){
		$('#ticket-info').css({
			display: 'none',
		});
	});
}

/* handler for seat hover */
function fb_seat_mouseover() {

	var html = $(this).find('div.info').html();
	$('#ticket-info .content').html(html);
}

/* items added to cart close button */
function fb_items_added_cart_click() {
	$('div.cart-items-added').css('display', 'none');
}

function enhanceGrid() {
	
	if(doesElementExist('#drawing-board-container')) {
		
		var grid_container = $('#drawing-board-container');
		var grid = $('#drawing-board-container table');
		var cell_size = 20.1;
		
		// make the table the correct width
		var width = $('input#plan_width').val() * cell_size;
		
		// resize the grid
		//grid.css('width', width.toString() + 'px');
	}
}

function selectType_Click() {
	
	// show dimensions
	if($('select#selectType').val() == 1) {
		$(".board-dimensions").css('display', 'none');
	}
	else {
		$(".board-dimensions").css('display', 'block');
	}
}

