var objAtom 		= new Object() ;
var sAgent 			= navigator.userAgent.toLowerCase() ;

objAtom.BrowserInfo				= new Object() ;
objAtom.BrowserInfo.IsIE		= ( sAgent.indexOf("msie") != -1 ) ;
objAtom.BrowserInfo.IsGecko		= !objAtom.BrowserInfo.IsIE ;
objAtom.BrowserInfo.IsSafari	= ( sAgent.indexOf("safari") != -1 ) ;
objAtom.BrowserInfo.IsNetscape	= ( sAgent.indexOf("netscape") != -1 ) ;

objAtom.objContextMenu			 = '';

objAtom.frmVerifyMaxLength = function (obj,max){
	var sCampo = new String(obj.value);
	if(sCampo.length > max){
		obj.value = '';
		obj.value = sCampo.substr(0,max);
	}
};

objAtom.popup = function(strUrl, intLargura, intAltura, bolClosePopUp ,bolAntiPopUp, bolCentralizar,strNome,strPropriedades)
{
	var largura      = (intLargura > 0) ? (intLargura) : (750);
	var altura       = (intAltura  > 0) ? (intAltura)  : (500);
	var propriedades = (strPropriedades != '') ? (', ' + strPropriedades) : ('');
	var top  = 10;
	var left = 10;

	if (bolCentralizar !== false)
	{
		left = (screen.width  - largura) / 2;
		top  = (screen.height - altura ) / 2;
	}
	propriedades = 'width=' + largura + ', height=' + altura + ',top=' + top + ', left=' + left + propriedades;

	var popwin = window.open(strUrl,strNome, propriedades);
    if ((bolAntiPopUp == true) && (popwin == null))
	{ 
	    alert('Seu navegador possui bloqueador de pop-up.\n Por favor habilite a abertura de pop-up para este \n endereço e atualize esta página.');
	    return false;
	}
	if (bolClosePopUp == true) 
	{ 
		popwin.close();
	}
	else 
	{
		popwin.focus();
		return popwin;
	}
};


objAtom.GoTo = function (link)
{	
    if (objAtom.BrowserInfo.IsIE ) {window.location.href =link;}
	else {document.location = link;}
	return false;
};

/*
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/

objAtom.doInnerHTML = function (elem, stringHTML) {
   try {
	  var iistringHTML = '<div>';
 	  iistringHTML += stringHTML ;
	  iistringHTML += '</div>';
	  
      var children = elem.childNodes;
		 
      for (var i = 0; i <children.length; i++) {
         elem.removeChild(children[i]);
      }
 
      var nodes = new DOMParser().parseFromString(iistringHTML,'application\/xhtml+xml').documentElement;
      var range = document.createRange();
      range.selectNodeContents(elem);
      range.deleteContents();
 
      for (var i = 0; i <nodes.childNodes.length; i++) {
         elem.appendChild(document.importNode(nodes.childNodes[i], true));
      }
      return true;
      } catch (e) {
         try {
            elem.innerHTML = stringHTML;
            return true;
         }
      catch(ee) {
         return false;
      }
   }
};


/*
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/

objAtom.GetE = function ( elementId )
{
	return document.getElementById( elementId )  ;
};

objAtom.SetAttribute = function ( element, attName, attValue )
{
	if (!element) { return false ;}
	if ( attValue == null || attValue.length == 0 ) element.removeAttribute( attName, 0 ) ;			// 0 : Case Insensitive
	else element.setAttribute( attName, attValue, 0 ) ;	// 0 : Case Insensitive
};

objAtom.GetAttribute = function ( element, attName, valueIfNull )
{
	var oAtt = element.attributes[attName];
	if ( oAtt == null || !oAtt.specified ) return valueIfNull ? valueIfNull : '' ;
	var oValue ;
	
	if ( !( oValue = element.getAttribute( attName, 2 ) ) ) oValue = oAtt.nodeValue ;
	return ( oValue == null ? valueIfNull : oValue ) ;
};

objAtom.createElement = function (element) {
  if (typeof document.createElementNS != 'undefined') {
    return document.createElementNS('http://www.w3.org/1999/xhtml', element);
  }
  if (typeof document.createElement != 'undefined') {
    return document.createElement(element);
  }
  return false;
};

objAtom.StringReplace = function (S,OldPattern,NewPattern) {
  return S.replace(OldPattern,NewPattern);
};

objAtom.getKey = function (strChave)
{
	var querystring = document.location.search;
	var expressao   = eval('/(?:&)*' + strChave.toLowerCase() + '=([^\&]+)(?:&)*/i');
	var regexp      = expressao.exec(querystring);

	if (regexp != null) {
		if (querystring.length > 0)
			return regexp[1]; else
			return false;
	}
};



var objXMLHttpRequest 		= false;
var	returnXMLHttpRequest	= '';
objAtom.AJAXGetRequest = function (url, fcn) {

        objXMLHttpRequest = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            objXMLHttpRequest = new XMLHttpRequest();
            if (objXMLHttpRequest.overrideMimeType) {
                objXMLHttpRequest.overrideMimeType('text/xml');
                // See note below about this line
            }
        } else if (window.ActiveXObject) { // IE
            try {
                objXMLHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    objXMLHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!objXMLHttpRequest) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        
        if (fcn != "")
        {
			if (objAtom.BrowserInfo.IsIE)
			{
				objXMLHttpRequest.onreadystatechange = fcn;
			} else {
				objXMLHttpRequest.onreadystatechange = eval(fcn);
			}
		} else {
        	objXMLHttpRequest.onreadystatechange = objAtom.ReturnContents;
		}
		
        objXMLHttpRequest.open('GET', url, true);
        objXMLHttpRequest.send(null);

    }

objAtom.ReturnContents = function () {
        if (objXMLHttpRequest.readyState == 4) {
            if (objXMLHttpRequest.status == 200) {
				returnXMLHttpRequest = objXMLHttpRequest.responseText;  
            } else {
				returnXMLHttpRequest = 'There was a problem with the request.';
            }
        }
    }


/*
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/


function fuSearch(frm){
    if (frm.WordQuery.value.length > 2) {
		frm.submit();
		return false;
	}
	else {
		alert('Tamanho de palavra inválido');
		return false;
	}
};