// JavaScript Document
var lastModal  = null;
jQuery.fn.modal = function(parametros) {
	var img = 'imgs/loading.gif';
		option = jQuery.extend({
		id      : 'modalPadrao',  // id da modal
		title   : null,  // titulo da modal 
		width   : 100,   // largura inicial da modal
		height  : null,  // altura fixa da modal
		buttons : null,  // botoes
		container : null,// conteudo da modal
		url     : null,  // ajax - carrega conteudo dinamico a ser exibido,
		cutContent: true,// recorta ou clona o conteúdo da modal
		blockClose: false, // bloqueia o fechamento da modal, permitindo somente pelos botoes
		classe  : null,   // classe da modal
		onSuccess: null  // fn a ser executada após a execução da requisição ** apenas para requisições ajax
  }, parametros);
	lastModal = option.id;
	/* cria modal */
	if (!$('#'+option.id)[0]) {
		divNew = document.createElement('div');
		$(divNew).addClass('modal size-modal').attr('id', option.id);
		if (option.blockClose == true) {
			$(divNew).html('<div class="intern"><div class="header"><span></span></div><div class="container"><div class="text">&nbsp;</div><div class="divButtons"></div></div></div>');			
		} else {
			$(divNew).html('<div class="intern"><div class="header"><span></span><a  href="javascript:void(0);" onclick="javascript:closeModal(\''+ option.id +'\')" class="close" title="Fechar">x</a></div><div class="container"><div class="text">&nbsp;</div><div class="divButtons"></div></div></div><div id="shadowRight" class="shadow"></div><div id="shadowBottom" class="shadow"></div>');
		}
		$('body').append(divNew);
	}
	else {
		divNew = '#'+option.id;
	}
	
	if (option.classe) {
		$(divNew).addClass(option.classe);	
	}

	/* seta uma classe para o link fechar, passando o ID do objeto a ser fechado */
	/* título da modal */
	$(divNew).find('.header span').html(option.title);

	/* largura da modal */
	$(divNew).css('width', option.width);

	/* conteúdo da modal */
	if (option.url) {
		$(divNew).find('.text')
		  .html('<img src="' +img+ '" align="absmiddle" />&nbsp;&nbsp;Aguarde...')
		  .load(option.url, {}, 
				function() {
					$(divNew).fixedBox();
					if (option.onSuccess) {
						eval(option.onSuccess);	
					}
				}
		  );
	}
	else if (option.container) {
		$(divNew).find('.text').html(option.container.html());
		if (option.cutContent == true) option.container.remove();
	}
	/* botões da modal */
	$(divNew).find('.divButtons').html('').show();

	tDiv = document.createElement('div'); 
	if (option.buttons) {
		var input, btn;
		for (i=0; i< option.buttons.length; i++) {
			btn   = option.buttons[i];
			input = document.createElement("input");
			$(input).attr('type', 'button');
			$(input).attr('name', btn.id);
			$(input).attr('id', btn.id);
			$(input).attr('value', btn.name);
			$(input).addClass('btn');
			setTimeout('$(\'#' + btn.id + '\').click(function(){eval('+btn.action+')})', 0);
			$(divNew).find('.divButtons').append(input);
		}
	}

	/* altura */
	if (option.height) {
		$(divNew).height(option.height+'px');
	} else {
		option.height = $(divNew).height();
	}
	
	sizeWindow   = getPageSize();
	heightCenter = (sizeWindow.pageHeight - option.height)/2;

	/* torna a modal drag e centralizada */
	//$(divNew).draggable({handle:'.header', axis:'3,4'}).fixedBox();
	$(divNew).fixedBox();

	$(divNew).fadeIn();
	
	//setClassObjectForm('#'+option.id);
	
	/* sombras modal - não está sendo utilizado, pois apresenta problema*/
	function shadowShow(){
		$("div#shadowRight").height("100%");
		$("div#shadowBottom").width("100%");
		$("div#shadowRight").height($("div#shadowRight").height()-4);
		$("div#shadowBottom").width($("div#shadowBottom").width()+4);
	}
};
