﻿function loadXMLString(txt) 
{
	var xmlDoc;
	if (window.DOMParser)
	{
		parser=new DOMParser();
		xmlDoc=parser.parseFromString(txt,"text/xml");
	}
	else
	{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(txt); 
	}
	return xmlDoc;
}

function getTopPos(inputObj)
{
	var returnValue = inputObj.offsetTop;
	while((inputObj = inputObj.offsetParent) != null)
		returnValue += inputObj.offsetTop;
	return returnValue;
}

function getLeftPos(inputObj)
{
	var returnValue = inputObj.offsetLeft;
	while((inputObj = inputObj.offsetParent) != null)
		returnValue += inputObj.offsetLeft;
	return returnValue;
}

function selectSingleNode(xmlDoc, elementPath) 
{
	if(window.ActiveXObject) 
		return xmlDoc.selectSingleNode(elementPath); 
	else
	{
		var xpe = new XPathEvaluator(); 
		var nsResolver = xpe.createNSResolver( xmlDoc.ownerDocument == null ? xmlDoc.documentElement : xmlDoc.ownerDocument.documentElement);
		var results = xpe.evaluate(elementPath,xmlDoc,nsResolver,XPathResult.ANY_TYPE, null);return results; 
	}
}

function selectNodes(xmlDoc, elementPath)
{
	if(window.ActiveXObject) 
		return xmlDoc.selectNodes(elementPath); 
	else
	{
        var oEvaluator = new XPathEvaluator();
	    var oResult = oEvaluator.evaluate(elementPath, xmlDoc, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
	    var aNodes = new Array();
	    if (oResult != null) {
	        var oElement = oResult.iterateNext();
	        while (oElement) {
	            aNodes.push(oElement);
	            oElement = oResult.iterateNext();
	        }
	    }
	    return aNodes;
	}
}

function getXHR()
{
	if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		try {
			return new ActiveXObject("Microsoft.XMLHTTP"); }
		catch(e) {
        	return new ActiveXObject("Microsoft.XMLHTTP"); }
	}
}

function $get(obj)
{
	return document.getElementById(obj);
}


function preparePost(frm)
{
	var sSearch = '';
	for (i=0;i<frm.elements.length;i++)
	{
		if (frm.elements[i].type=='text' || frm.elements[i].type=='password' || frm.elements[i].type=='select-one' || frm.elements[i].type=='hidden' || frm.elements[i].type=='textarea' || (frm.elements[i].type=='checkbox' && frm.elements[i].checked))
		{
			sSearch+='&'+frm.elements[i].name+'='+((frm.elements[i].disabled && frm.elements[i].type=='text')?'':encodeURI(frm.elements[i].value));
		}
		if (frm.elements[i].type=='select-multiple')
		{
			sOp = ''
			for (j=0; j < frm.elements[i].options.length; j++)
				if (frm.elements[i].options[j].selected)
					sOp+=encodeURI(frm.elements[i].options[j].value)+','
			sOp = sOp.substr(0,sOp.length-1)
			sSearch+='&'+frm.elements[i].name+'='+sOp
		}
	}
	return sSearch
}

function lockScreen(state,msg)
{
	if (state)
	{
		try 
		{
			document.getElementById('box').style.height=pageHeight()+topPosition()+'px'
			document.getElementById('box').style.width=pageWidth()+'px'
			msg = '<img border="0" src="img/load.gif"><br>'+((msg==undefined)?'Carregando conteúdo dinâmico...':msg)
			document.getElementById('msg').innerHTML=msg
//			document.getElementById('box').style.top=dsoctop+'px'
			document.getElementById('box').style.display='block'
		}
		catch (erro) {}
	}
	else
	{
		document.getElementById('box').style.display='none'
	}
}

function getpage(pg,container,msg)
{	
	if (container!='' && msg!='hide')
		lockScreen(true,msg)

	var url = pg.substr(0,pg.indexOf('?'))
	var params = pg.substr(pg.indexOf('?')+1)
	pg = url
	params = params+'&rnd='+Math.random()*99999999


	xmlhttp = getXHR()
	xmlhttp.open("POST",pg,true);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4)
		{
			resp = xmlhttp.responseText
			code = ''
			if (resp.indexOf('#JS#')>-1)
			{
				code = resp.substr(resp.indexOf('#JS#')+4,resp.indexOf('#/JS#')-resp.indexOf('#JS#')-4)
				resp = resp.substr(0,resp.indexOf('#JS#')) + resp.substr(resp.indexOf('#/JS#')+5)
			}
			
		    if (container!='')
		    	try {
		    		document.getElementById(container).innerHTML = resp
		    	}
		    	catch (erro)
		    	{}
    
		    if (code!='') eval(code)
		   	if (msg!='hide') lockScreen(false)
		}
		else
		{
//			alert(xmlhttp.readyState)
		}
	}
	xmlhttp.send(params)
}

function getscript(pg)
{	
	var url = pg.substr(0,pg.indexOf('?'))
	var params = pg.substr(pg.indexOf('?')+1)
	pg = url
	params = params+'&rnd='+Math.random()*99999999

	xmlhttp = getXHR()
	xmlhttp.open("POST",pg,true);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");

	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4)
		{
			resp = xmlhttp.responseText
		    eval(resp)
		}
	}
	xmlhttp.send(params)
}


function getCEP()
{	

	pg = 'cep/?CEP='+$get('nr_cep').value+'&rnd='+Math.random()*5;
	lockScreen(true,'Obtendo Endereço nos Correios...')
	xmlhttp = getXHR()
	xmlhttp.open("GET",pg,true);
	xmlhttp.onreadystatechange=function()
	{
		if (xmlhttp.readyState==4)
		{
			resp = xmlhttp.responseText.split('#')
			if (resp[0] == '0')
			{
				obj = $get('frm')
				obj.dc_endereco.value = resp[1].substr(0,100)
				obj.dc_bairro.value = resp[2].substr(0,50)
				obj.dc_cidade.value = resp[3].substr(0,50)
				obj.dc_uf.value = resp[4].substr(0,2)
				try {
				$get('frm').dc_numero.focus()
				}
				catch (erro) {}
			}
			else
			{
				showDialog('CEP não localizado','Verifique o CEP informado, pois não retornou nenhum endereço válido. Se esta mensagem repetir, clique no link para buscar o CEP diretamente no site dos correios.','error',0,'void(0)');
			}
		   	lockScreen(false)
		}
	}
	xmlhttp.send(null)
}

String.prototype.left = function(str, n)
{
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str
	else
		return String(str).substring(0,n);
}

String.prototype.right = function(str, n)
{
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else
		var iLen = String(str).length;
	return String(str).substring(iLen, iLen - n);
}

String.prototype.replaceAll = function(de, para){
    var str = this;
    var pos = str.indexOf(de);
    while (pos > -1){
		str = str.replace(de, para);
		pos = str.indexOf(de);
	}
    return (str);
}

document.write('<div id="box" style="display:none;">')
document.write('<table width="100%" height="100%" border="0" bgcolor="#FFFFFF">')
document.write('<tr><td width="100%" height="100%" valign="middle" align="center"><span id="msg" style="color: black"></span></td></tr></table></div>')
