var dialog = null;
var modalwindow = null;
var menu__div = null;

function Modal(titulo , page , width , height)
{
	$(document.body).css('overflow','hidden');
	dialog = $("<div id = 'modal' >modal</div>");	
 	dialog.dialog({ 
		maximize: false, // not maximizable 
		modal:true, 
		overlay:{background:'#000000', opacity:0.4} ,
		title: titulo,
		width:width,
		height:height,
		bgiframe:true,
		resizable:true,
		draggable:false,
		beforeclose: function(){$(document.body).css('overflow','auto');}
	
	    	});
	modalwindow = dialog;
	dialog.dialog('open');
	dialog.html("<iframe border=0 style='width:100%;height:100%' src='"+page+"'></iframe>");
}

function Window(titulo , page , width , height)
{
	dialog_w = $("<div id = 'modal' >modal</div>");	
 	dialog_w.dialog({ 
		maximize: true, // not maximizable 
		modal:false, 
		overlay:{background:'#000000', opacity:0.4} ,
		title: titulo,
		width:width,
		height:height,
		bgiframe:true,
		resizable:true,
		draggable:false,

		beforeclose: function(){$(document.body).css('overflow','auto');}
		
	    	});

	dialog_w.bind('dialogclose', function(event, ui) {
										$(this).remove();
									});		
	//modalwindow = dialog;
	dialog_w.dialog('open');
	dialog_w.html("<iframe border=0 style='width:100%;height:100%' src='"+page+"'></iframe>");
}


function ModalDiv(titulo , page , width , height)
{

	//console.log(page);
	if(dialog)
		dialog.remove();

	dialog = $("<div></div>");	
 	dialog.dialog({ 
		maximize: false, // not maximizable 
		modal:true, 
		overlay:{background:'#000000', opacity:0.4} ,
		title: titulo,
		width:width,
		height:height,
		bgiframe:true,
		draggable:false,

		beforeclose: function(){$(document.body).css('overflow','auto');}
	    	});


	
	modalwindow = dialog;
	dialog.dialog('open');
	dialog.html(page);
}

function WindowDiv(titulo , page , width , height , name)
{
	if(!name)
		name = Math.random();


	dialog_wd = $("<div id='"+name+"'style='overflow:auto'></div>");	
 	dialog_wd.dialog({ 
		maximize: false, // not maximizable 
		modal:false, 
		overlay:{background:'#000000', opacity:0.4} ,
		title: titulo,
		width:width,
		height:height,
		bgiframe:true,
		resizable:true,
		draggable:false,
		overflow:true,
		beforeclose: function(){$(document.body).css('overflow','auto');}
	    	});
			
	dialog_wd.bind('dialogclose', function(event, ui) {
										$(this).remove();
									});		
	
	dialog_wd.dialog('open');
	dialog_wd.html(page);
}


function closeModal()
{
	//$(document.body).css('overflow','auto');
	modalwindow.dialog('close');
}


function trim(str){
	return str.replace(/^\s*|\s*$/g, "");
}

function is_array(input){
    return typeof(input)=='object'&&(input instanceof Array);
  }



function Permissao(permissao)
{
	this.permissao = permissao.toUpperCase();
	this.leitura  = permissao.indexOf('L') != -1 ? true :false;
	this.delecao  = permissao.indexOf('D') != -1 ? true :false;
	this.insercao = permissao.indexOf('I') != -1 ? true :false;
	this.edicao = permissao.indexOf('A') != -1 ? true :false;
}




function getMenuPosition(e) {
    e = e ? e : window.event;
	if (!e) return;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    }
    else {
        cursor.x = e.clientX +
            (document.documentElement.scrollLeft ||
            document.body.scrollLeft) -
            document.documentElement.clientLeft;
        cursor.y = e.clientY +
            (document.documentElement.scrollTop ||
            document.body.scrollTop) -
            document.documentElement.clientTop;
    }
    return cursor;
}

function closeMenu()
{
	if(menu__div)
		menu__div.remove();	
}

function showMenu( obj , e)
{
	if(!e) var e = window.event;
	//alert('entrou');
	var x = getMenuPosition(e).x;
	var y = getMenuPosition(e).y;
	
	owindow = $(window);
	
	att = $(obj).attr('links');
	//console.log(att);	
	
	if(menu__div && menu__div.jquery)
		menu__div.remove();
	
	menu__div = $('<div>');
	menu__div.appendTo($(document.body));
	menu__div.css('position','absolute');
	menu__div.css('z-index','10');
	menu__div.addClass("menu");
	
	
	
	//menu.css('top',(y - 10));
	//menu.css('left',(x - 10));

	
	
	links = att.split('$||$');

	texto = '<div class="menu-header" style="text-align:center">Menu</div>';
	mclass = 'line_on';
	tot_links = links.length;

	max_len = 0;
				
	for(i = 0; i < tot_links; i++)
	{
		mclass = (mclass == 'line_on')?'line_off':'line_on';
		oplinks = links[i].split('$|$');
		max_len = oplinks[0].length > max_len?oplinks[0].length:max_len;
		texto +=  '<div style="height:20px;text-align:center;margin:2px"  class="menu-option '+mclass+'"><a style="text-decoration:none" nowrap ="true" class = "menu-link" href=\''+oplinks[1]+'\' target="'+oplinks[2]+'">'+oplinks[0] + '</a></div>' ;
	}
	//console.log(texto);

	menu__div.html(texto);

	menu__div.find('div.menu-option').each( function()
			{
				$(this).hover(
					      function () {
						$(this).addClass("selected-register");
					      }, 
					      function () {
						$(this).removeClass("selected-register");
					      }
					    );

			});

	difx = -1;
	dify = 5;

	dify =  menu__div.height() - 5;			

	if( x + menu__div.width() >= owindow.width())
	{
		difx = x + menu__div.width() - owindow.width() + 20;			
	}

	menu__div.css('width',max_len * 10);
	menu__div.css('top',y-dify);
	menu__div.css('left',x-difx);
	menu__div.show();

	e.cancelBubble = true;
	e.returnValue = false;

	//e.stopPropagation works only in Firefox.
	if (e.stopPropagation) {
		e.stopPropagation();
		e.preventDefault();
	}
	//alert('oi');
	return false;
	
}

