var _GLOBALS = new Object();
var xGLOBALS = new Object();
var isIE = true;

function returnfalse(e) { return false; }
function returntrue() { return true; }
function getE(id)
	{
		return document.getElementById(id);
	}
function getObject(objectName)  // retorna um objeto 'embed'
	{
		 if (navigator.appName.indexOf ("Microsoft") !=-1) {
			  return window[objectName]
		 } else {
			  return document[objectName]
		 }
	}
function isDefined(v)
	{
    	return ( typeof(v) == "undefined" ) ?  false : true;
	}
	
function checkBrowser()
	{
		if(navigator.appName == "Microsoft Internet Explorer")
			isIE = true;
		else
			isIE = false;
	}

contextmenu_enabled = false;
function contextMenuFix(e)
	{
		checkBrowser();
		if (isIE)
			el = event.srcElement;
		else
			return contextmenu_enabled;//el = e.target;
		
		node = el;
		while(node.tagName != 'BODY')
			{
				if(isDefined(node.oncontextmenu) && node.oncontextmenu != 'null' && node.oncontextmenu != null)
					return false;
				node = node.parentNode;
			}
		
		return contextmenu_enabled;
	}

var textsel_enabled = true;
function disableTextSel()
	{
		textsel_enabled = false;

		document.onselectstart=returnfalse;
		if (window.sidebar)
			{
				document.onmousedown=returnfalse;
				document.onclick=returntrue;
			}
	}
function enableTextSel()
	{
		textsel_enabled = true;

		document.onselectstart=null;
		if (window.sidebar)
			{
				document.onmousedown=null;
				document.onclick=null;
			}
	}

var loadNewJs_ray = new Array;
function loadNewJs(uri) {
	ajaxAdd( function () {
		ajaxGet(uri, function () {
			try {
				eval(ajaxLastResult_raw);
			} catch (err) { errorShow('::geral.inc.js::loadNewJs(String uri = '+uri+')::Err='+err); } ;
		} ) ;
	} );
		
	/*var append = true;
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = uri;
	
	hjs = document.getElementsByTagName("head").item(0).getElementsByTagName("script");
	for(i=0;i<hjs.length;i++)
		{
			if(hjs[i].src == uri)
				{
					if(uri.indexOf('/js/') > -1)
						{
							append = false;
						}
					if(uri.indexOf('/js.php') > -1)
						{
							append = true;
							document.getElementsByTagName("head").item(0).removeChild(hjs[i]);
						}
				}
		}
	
	if(append == true)
		document.getElementsByTagName('head')[0].appendChild(script);
	
	if(loadNewJs_ray[uri] == true)
		return false;
	else
		{
			loadNewJs_ray[uri] = true;
			return true;
		}/**/
}

var loadNewCSS_ray = new Array;
function loadNewCSS(uri)
	{
		if(loadNewCSS_ray[uri] == true)
			return false;
		
		loadNewCSS_ray[uri] = true;
		var css = document.createElement('link');
		css.type = 'text/css';
		css.rel = 'stylesheet';
		css.href = uri;
		document.getElementsByTagName('head')[0].appendChild(css);  
		
		return true;
	}

function getWinSize(winObj) { // retorna o tamanho da janela argumento
	var myWidth = 0, myHeight = 0;
	if( typeof( winObj.innerWidth ) == 'number' ) {
		myWidth = winObj.innerWidth;
		myHeight = winObj.innerHeight;
	} else if( winObj.document.documentElement && ( winObj.document.documentElement.clientWidth || winObj.document.documentElement.clientHeight ) ) {
		myWidth = winObj.document.documentElement.clientWidth;
		myHeight = winObj.document.documentElement.clientHeight;
	} else if( winObj.document.body && ( winObj.document.body.clientWidth || winObj.document.body.clientHeight ) ) {
		myWidth = winObj.document.body.clientWidth;
		myHeight = winObj.document.body.clientHeight;
	}
	return {'w':myWidth,'h':myHeight};
}

/* 3rd PARTY -----------------------------------------------------------*/ 
// DUMPING / PRINT_R
function var_dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
 for(var item in arr) {
  var value = arr[item];
 
  if(typeof(value) == 'object') { //If it is an array,
   dumped_text += level_padding + "'" + item + "' ...\n";
   dumped_text += var_dump(value,level+1);
  } else {
   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
} 
