// 
// Impostos.Net: funções de utilização do webService para consulta dos créditos
//

var aObject;
var mutex = 0;	// Garante acesso exclusivo ao objecto e ao div

function setDivText(text) {
	overlib('<tr><td class="tipCreditos" align="center">' + text + '</td></tr>', RIGHT, WIDTH, 150)
	aObject.notes = document.all('overDiv').innerHTML
}

function getIdObjFromURL(url) {
	var strURL = new String(url);
	var startPos, endPos = -1;
	var idObj = 0;

	strURL = strURL.toLowerCase()
	startPos = strURL.indexOf("idobj=")
	if (startPos >= 0) {
		endPos = strURL.indexOf("&", startPos + 6)
		if (endPos >= 0)
			idObj = strURL.substring(startPos + 6, endPos)
		else
			idObj = strURL.substring(startPos + 6)
	}
	
	return idObj
}

function getCredits(url) {
	idObj = getIdObjFromURL(url)
	
	if (idObj != '0') {
		service.useService(webServiceUrl, "impnetsrv")
		iCallID = service.impnetsrv.callService(storeResult, "GetCredits", idObj)
	}
	else
		storeResult('-1')
}

function storeResult(result) {
	var desc = new String();
	var strResult = new String(result.value);

	if (strResult == '-1')
		desc = 'Consulta de cr&eacute;ditos indispon&iacute;vel'
	else {
		if (strResult == '0')
			desc = 'Consulta gratuita'
		else
			desc = 'Consulta = ' + strResult + ' cr&eacute;ditos'
	}
	setDivText(desc)
}

function onMouseOverHandler() {
	while (mutex == 1);
	mutex = 1

	aObject = eval(this.id)

	if ((aObject.notes == '') || 
		(aObject.notes.indexOf('A consultar...') >= 0) || (aObject.notes.indexOf('-1') >= 0)) {
		setDivText('A consultar...')
		getCredits(aObject.href)
	}
	else {
		document.all('overDiv').innerHTML = aObject.notes
		document.all('overDiv').style.visibility = 'visible'
	}

	mutex = 0
}

function onMouseOutHandler() {
	document.all('overDiv').style.visibility = 'hidden'
}

function injectHandlers() {
	var arElems = new Array()
	var aElem;
	
	arElems = document.getElementsByTagName("A")
	for (i = 0; i < arElems.length; i++) {
		aElem = arElems(i)
		if (aElem.id == '')
			aElem.id = 'a' + i

		aElem.notes = ''
		if ((aElem.creditsInfo == 'true') || (aElem.href.indexOf('login.aspx') >= 0)) {
			aElem.onmouseover = onMouseOverHandler
			aElem.onmouseout = onMouseOutHandler
		}
	}
}
