
var ie4 = document.all && navigator.userAgent.indexOf("Opera") == -1;
var ns6 = document.getElementById && !document.all;
var ns4 = document.layers;

//------------------------------------------------------//
// GETS

function getObj(obj) {
	
	if (ie4){
		
		if (obj.indexOf(".") == -1) {
			return document.all[obj];
		}
		else {
			obj = obj.split(".");
			i = obj.length - 1;
			return document.all[obj[i]];
		}
		
	} else if (ns6) {
		
		if (obj.indexOf(".") == -1) {
			return document.getElementById(""+obj+"");
		}
		else {
			return eval("document."+obj);
		}
		
	} else if (ns4) {
		
		if (obj.indexOf(".") == -1) {
			return document[obj];
		}
		else {
			obj = obj.split(".");
			i = obj.length - 1;
			return document[obj[i]];
		}
		
	} else {
		
		if (obj.indexOf(".") == -1) {
			return document.getElementById(""+obj+"");
		}
		else {
			return eval("document."+obj);
		}
		
	}
	
}

function getCenterWin(url, name, w, h, isRolagem, isStatus, isResize) {
	
	var win = null;
	
	LeftPosition = (screen.width) ? (screen.width-w) / 2 : 100;
	TopPosition = (screen.height) ? (screen.height-h) / 2 : 100;
	
	settings = 'height=' + h + ',width=' + w + ',top=' + TopPosition + ',left=' + LeftPosition;
	settings = settings + 'toolbar=no,location=no,status=' + isStatus + ',menubar=no,scrollbars=' + isRolagem + ',resizable=' + isResize;
	win = window.open(url, name, settings);
	win.focus();
	
}

function getEditorLength(objEditor) {

	var oEditor = FCKeditorAPI.GetInstance(objEditor);
	var oDOM = oEditor.EditorDocument;
	var iLength;
	if ( document.all ) {
		iLength = oDOM.body.innerText.length;
	}
	else {
		var r = oDOM.createRange();
		r.selectNodeContents( oDOM.body );
		iLength = r.toString().length;
	}

	return iLength;
	
}

//------------------------------------------------------//
// SETS

function setInputMask(obj, sMask, evtKeyPress) {
	
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	evtKeyPress = evtKeyPress || window.event; 
	nTecla = evtKeyPress.which || evtKeyPress.keyCode;

	sValue = obj.value;
	
	// Limpa todos os caracteres de formatação que já estiverem no campo
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	// Caso seja pressionado backspace, então ignora a verificação da máscara
	if (nTecla != 8) {
		
		tam = mskLen;
		
		while (i <= mskLen) {
			
			bolMask = 			 ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"));
			bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "));
			
			if (bolMask) {
				sCod += sMask.charAt(i);
				mskLen++; 
			}
			else {
				sCod += sValue.charAt(nCount);
				nCount++;
			}
			
			i++;
			
		}

		// Se for numérico só pode aceitar entre 0 e 9
		if (sMask.charAt(i-1) == "9") {
			
			var data = sCod;
			var dataok = '';
			var cont = 0;
	
			for (i = 0; i < data.length; i++) {
				
				bolMask = 			 ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"));
				bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "));
				
				if ( ( (data.charAt(i) >= '0') && (data.charAt(i) <= '9') ) || bolMask ) {
					dataok += data.charAt(i);
				}
				else {
					cont++;
				}
			}
			
			if (cont > 0) {  
				sCod = dataok;
			}
			
		}
		
		if (sCod.length > sMask.length) {
			sCod = sCod.substr(0, sMask.length);
		}

		obj.value = sCod;
		
		return true;
		
	}

}

//------------------------------------------------------//
// METHODS

function doValidInput(campo, tam) {
		
	campo.setAttribute('valid', 'yes');
	var str = doJSTrim(campo.value);
	if (str == "" || str.length < tam) {
		campo.className = 'inputFormAlert';
		return false;
	}
	
	campo.className = 'inputFormOK';
	return true;
	
}

function doValidInputValor(campo, tam) {
		
	campo.setAttribute('valid', 'yes');
	var str = doJSTrim(campo.value);
	
	if (str == "" || str == "0.00" || str.length < tam) {
		campo.className = 'inputFormAlert';
		return false;
	}
	
	campo.className = 'inputFormOK';
	return true;
	
}

function doValidSB(campo) {
		
	campo.setAttribute('valid', 'yes');
	if (campo.value == -1) {
		campo.className = 'inputFormAlert';
		return false;
	}
	
	campo.className = 'inputFormOK';
	return true;
	
}

function doFocusInput(campo) {
	
	if (campo.getAttribute('valid') == 'no') {
		campo.className = 'inputFormSelect';
	}
	
}

function doBlurInput(campo) {
	
	if (campo.getAttribute('valid') == 'no') {
		campo.className = 'inputFormNormal';
	}
	
}

function doValidNumberOnly(obj) {
	
	var data = obj.value
	var dataOK = "";
	
	for (i = 0; i < data.length; i++) {
		if ( ((data.charAt(i) >= '0') && (data.charAt(i) <= '9')) ) {
			dataOK += data.charAt(i);
		}
	}
	
	obj.value = dataOK;
	
}

function doFormatPreco(obj) {
	
	var isP = false;
	var data = obj.value
	var dataOK = "";
	

	for (i = 0; i < data.length; i++) {
		if ( ((data.charAt(i) >= '0') && (data.charAt(i) <= '9')) || ( data.charAt(i) == "," || data.charAt(i) == "." ) ) {
			if (data.charAt(i) == "," || data.charAt(i) == ".") {
				if (isP == false) {
					dataOK += ".";
					isP = true;
				}
			}
			else {
				dataOK += data.charAt(i);
			}
		}
	}

	obj.value = dataOK;
	
}

function doFormatLabelPreco(obj) {
				
	var data = obj.value;
	var pos = data.indexOf(".");

	if (data.length == 0) {
		data += "0.00";
	}
	else {
		if (pos >= 0) {
			data = parseFloat(data).toFixed(2);
		}
		else {
			data += ".00";
			data = parseFloat(data).toFixed(2);
		}
	}

	obj.value = data;
	
}

function doJSLTrim(str){
	if (str != null){
		while (str.substring(0, 1) == ' '){
			str = str.substring(1, str.length);
		}
	}
	return str;
}
		 
function doJSRTrim(str){
	if (str != null){
		while (str.substring(str.length-1, str.length) == ' '){
			str = str.substring(0, str.length-1);
		}
	}
	return str;
}
 
function doJSTrim(str) {
	
	if (str != null && str != ""){
		str = doJSLTrim(str);
		str = doJSRTrim(str);
	}
	return str;
	
}

function doOculta(elemento, elematual, tot) {
	
	var dispatual = getObj(elemento + elematual).style.display;
	
	for (i = 0; i < tot; i++) {
		obElemento = getObj(elemento + i);
		obElemento.style.display = 'none';
	}
	
	obElemento = getObj(elemento + elematual);
	
	if (dispatual == '') {
		obElemento.style.display = 'none';
	}
	else {
		obElemento.style.display = '';
	}

}

function doPesquisar(obj) {
	getObj(obj).value = '';
}

function doDesfazerPesquisa(msg, pag) {
	con = confirm(msg);
	
	if (con) {
		window.location = pag;
	}
	
}

function doNavergar(target, obPag, obForm) {
	
	var pagina = Number(obPag.value);
	
	if (target == "A") {
		obPag.value = pagina - 1;
	}
	else {
		obPag.value = pagina + 1;
	}
	
	obForm.submit();
	
}

