// JaiScript Document
function abrir(caminho,msg,grups) {

  var URL = caminho+"/disparo.php?mensagem="+msg+"&grupo="+grups;
  var width = 600;
  var height = 400;

  var left = 120;
  var top = 120;

  window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');

}
function isCurrentBrowser(browserName)
{
	if(navigator.userAgent.search(browserName) != -1)
		return true;
	else
		return false;
}


function testeTipoText(campo)
{

	campo = campo.value.toString();

	if( !empty(campo) )
	{
		//alert("O campo " + campo.name + ", não está vazio!" + "\n\n" + "Seu valor é.: " + campo.valor + "!");
		return true;
	}
	else
	{
		//alert('this field is empty!');
		return false;
	}
}

function testeTipoSelect(campo)
{

	campo = campo.value.toString();

	if( campo != "-1" && campo != "0" )
	{
		//alert("O campo " + campo.name + ", não está vazio!" + "\n\n" + "Seu valor é.: " + campo.valor + "!");
		return true;
	}
	else
	{
		//alert('this field is empty!');
		return false;
	}

}


function confirmaAbondonarPagina(camposIgnorados)
{

	form = document.getElementsByTagName("form");

	numeroFormularios = form.length;

	// ---------------------------------------------------
	// Configura a mensagem que será exibida

	var mensagem = 	"Tem certeza que deseja sair desta página?" + "\n\n" +
					"Se você decidir sair todas as informações presentes na mesma serão perdidas!";


	if(isCurrentBrowser("Firefox"))
	{
		mensagem = "";
	}

	else if(isCurrentBrowser("Chrome"))
	{
		mensagem = mensagem;
	}

	else if(isCurrentBrowser("MSIE"))
	{
		mensagem = "";
	}

	else if(isCurrentBrowser("Safari"))
	{
		mensagem = "";
	}


	// ---------------------------------------------------


	if( numeroFormularios > 0 )
	{


		for(var indice = 0; indice < numeroFormularios; indice++)
		{
			elementos 	= document.forms[indice].elements;

			var vetorRetorno = new Array(parseInt(elementos.length));

			for(var index = 0; index < elementos.length; index++)
			{
				if(!empty(elementos[index].id))
					id = elementos[index].id;
				else
					id = elementos[index].name;

				if(camposIgnorados[id] == id)
				{
					//alert('O campo ' + camposIgnorados[id] + ' == ' + id + ' será ignorado!');
					continue;
				}


				switch(elementos[index].type)
				{

					case "text":
						//alert("Tipo de Campo é texto!");
						vetorRetorno[index] = testeTipoText(elementos[index]);
						break;

					case "textarea":
						//alert("Tipo de Campo é TextArea!");
						break;

					case "hidden":
						//alert("Tipo de Campo é Hidden!");
						break;

					case "select-one":
						//alert("Tipo de Campo é ComboBox!");
						vetorRetorno[index] = testeTipoSelect(elementos[index]);
						break;

					case "checkbox":
						//alert("Tipo de Campo é CheckBox!");
						break;

					case "radio":
						//alert("Tipo de Campo é Radio!");
						break;

					case "reset":
						//alert("Tipo de Campo é Reset!");
						break;

					case "submit":
						//alert("Tipo de Campo é Submit!");
						break;
				}
			}

			for(var index = 0; index < elementos.length; index++)
			{
				if(vetorRetorno[index] == true)
				{
					return mensagem;
				}
			}
		}
	}
}

function devolveCamposIgnorados()
{

	form = document.getElementsByTagName("form");

	numeroFormularios = form.length;

	if( numeroFormularios > 0 )
	{

		for(var indice = 0; indice < numeroFormularios; indice++)
		{
			elementos = document.forms[indice].elements;

			var vetorRetorno = new Array(parseInt(elementos.length));

			for(var index = 0; index < elementos.length; index++)
			{

				if(!empty(elementos[index].id))
					id = elementos[index].id;
				else
					id = elementos[index].name;

				retorno = false;

				switch(elementos[index].type)
				{

					case "text":
						//alert("Tipo de Campo é texto!");
						retorno = testeTipoText(elementos[index]);

						if( retorno == true	)
							vetorRetorno[id] = id;
						break;

					case "textarea":
						//alert("Tipo de Campo é TextArea!");
						break;

					case "hidden":
						//alert("Tipo de Campo é Hidden!");
						break;

					case "select-one":
						//alert("Tipo de Campo é ComboBox!");
						retorno = testeTipoSelect(elementos[index]);

						if(retorno == true)
							vetorRetorno[id] = id;
						break;

					case "checkbox":
						//alert("Tipo de Campo é CheckBox!");
						break;

					case "radio":
						//alert("Tipo de Campo é Radio!");
						break;

					case "reset":
						//alert("Tipo de Campo é Reset!");
						break;

					case "submit":
						//alert("Tipo de Campo é Submit!");
						break;
				}
			}
			return vetorRetorno;
		}
	}
}

function asort (inputArr, sort_flags) {

    var valArr=[], keyArr=[], k, i, ret, sorter, that = this, strictForIn = false, populateArr = {};

    switch (sort_flags) {
        case 'SORT_STRING': // compare items as strings
            sorter = function (a, b) {
                return that.strnatcmp(a, b);
            };
            break;
        case 'SORT_LOCALE_STRING': // compare items as strings, based on the current locale (set with i18n_loc_set_default() as of PHP6)
            var loc = this.i18n_loc_get_default();
            sorter = this.php_js.i18nLocales[loc].sorting;
            break;
        case 'SORT_NUMERIC': // compare items numerically
            sorter = function (a, b) {
                return (a - b);
            };
            break;
        case 'SORT_REGULAR': // compare items normally (don't change types)
        default:
            sorter = function (a, b) {
                if (a > b) {
                    return 1;
                }
                if (a < b) {
                    return -1;
                }
                return 0;
            };
            break;
    }

    var bubbleSort = function (keyArr, inputArr) {
        var i, j, tempValue, tempKeyVal;
        for (i = inputArr.length-2; i >= 0; i--) {
            for (j = 0; j <= i; j++) {
                ret = sorter(inputArr[j+1], inputArr[j]);
                if (ret < 0) {
                    tempValue = inputArr[j];
                    inputArr[j] = inputArr[j+1];
                    inputArr[j+1] = tempValue;
                    tempKeyVal = keyArr[j];
                    keyArr[j] = keyArr[j+1];
                    keyArr[j+1] = tempKeyVal;
                }
            }
        }
    };

    // BEGIN REDUNDANT
    this.php_js = this.php_js || {};
    this.php_js.ini = this.php_js.ini || {};
    // END REDUNDANT

    strictForIn = this.php_js.ini['phpjs.strictForIn'] && this.php_js.ini['phpjs.strictForIn'].local_value &&
                    this.php_js.ini['phpjs.strictForIn'].local_value !== 'off';
    populateArr = strictForIn ? inputArr : populateArr;

    // Get key and value arrays
    for (k in inputArr) {
        if (inputArr.hasOwnProperty(k)) {
            valArr.push(inputArr[k]);
            keyArr.push(k);
            if (strictForIn) {
                delete inputArr[k];
            }
        }
    }
    try {
        // Sort our new temporary arrays
        bubbleSort(keyArr, valArr);
    } catch (e) {
        return false;
    }

    // Repopulate the old array
    for (i = 0; i < valArr.length; i++) {
        populateArr[keyArr[i]] = valArr[i];
    }

    return strictForIn || populateArr;
}

function explode (delimiter, string, limit) {

    var emptyArray = { 0: '' };

    // third argument is not required
    if ( arguments.length < 2 ||
        typeof arguments[0] == 'undefined' ||
        typeof arguments[1] == 'undefined' ) {
        return null;
    }

    if ( delimiter === '' ||
        delimiter === false ||
        delimiter === null ) {
        return false;
    }

    if ( typeof delimiter == 'function' ||
        typeof delimiter == 'object' ||
        typeof string == 'function' ||
        typeof string == 'object' ) {
        return emptyArray;
    }

    if ( delimiter === true ) {
        delimiter = '1';
    }

    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
}

function substr (str, start, len) {

    var i = 0, allBMP = true, es = 0, el = 0, se = 0, ret = '';
    str += '';
    var end = str.length;

    // BEGIN REDUNDANT
    this.php_js = this.php_js || {};
    this.php_js.ini = this.php_js.ini || {};
    // END REDUNDANT
    switch(
        (this.php_js.ini['unicode.semantics'] &&
            this.php_js.ini['unicode.semantics'].local_value.toLowerCase())) {
        case 'on': // Full-blown Unicode including non-Basic-Multilingual-Plane characters
            // strlen()
            for (i=0; i < str.length; i++) {
                if (/[\uD800-\uDBFF]/.test(str.charAt(i)) && /[\uDC00-\uDFFF]/.test(str.charAt(i+1))) {
                    allBMP = false;
                    break;
                }
            }

            if (!allBMP) {
                if (start < 0) {
                    for (i = end - 1, es = (start += end); i >= es; i--) {
                        if (/[\uDC00-\uDFFF]/.test(str.charAt(i)) && /[\uD800-\uDBFF]/.test(str.charAt(i-1))) {
                            start--;
                            es--;
                        }
                    }
                }
                else {
                    var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
                    while ((surrogatePairs.exec(str)) != null) {
                        var li = surrogatePairs.lastIndex;
                        if (li - 2 < start) {
                            start++;
                        }
                        else {
                            break;
                        }
                    }
                }

                if (start >= end || start < 0) {
                    return false;
                }
                if (len < 0) {
                    for (i = end - 1, el = (end += len); i >= el; i--) {
                        if (/[\uDC00-\uDFFF]/.test(str.charAt(i)) && /[\uD800-\uDBFF]/.test(str.charAt(i-1))) {
                            end--;
                            el--;
                        }
                    }
                    if (start > end) {
                        return false;
                    }
                    return str.slice(start, end);
                }
                else {
                    se = start + len;
                    for (i = start; i < se; i++) {
                        ret += str.charAt(i);
                        if (/[\uD800-\uDBFF]/.test(str.charAt(i)) && /[\uDC00-\uDFFF]/.test(str.charAt(i+1))) {
                            se++; // Go one further, since one of the "characters" is part of a surrogate pair
                        }
                    }
                    return ret;
                }
                break;
            }
            // Fall-through
        case 'off': // assumes there are no non-BMP characters;
                           //    if there may be such characters, then it is best to turn it on (critical in true XHTML/XML)
        default:
            if (start < 0) {
                start += end;
            }
            end = typeof len === 'undefined' ? end : (len < 0 ? len + end : len + start);

            return start >= str.length || start < 0 || start > end ? !1 : str.slice(start, end);
    }
    return undefined; // Please Netbeans
}


function strpos (haystack, needle, offset) {

    var i = (haystack+'').indexOf(needle, (offset || 0));
    return i === -1 ? false : i;
}

function empty (mixed_var) {

    var key;

    if (mixed_var === "" ||
        mixed_var === 0 ||
        mixed_var === "0" ||
        mixed_var === null ||
        mixed_var === false ||
        typeof mixed_var === 'undefined'
    ){
        return true;
    }

    if (typeof mixed_var == 'object') {
        for (key in mixed_var) {
            return false;
        }
        return true;
    }

    return false;
}


function confirmaExclusao(mensagem) {
	// a mensagem a ser exibida na confirmação pode ser passada como referencia, caso contrário é utilizada a mensagem padrão
	if(mensagem==undefined)
		mensagem='Você tem certeza que deseja excluir?';
	if(confirm(mensagem)){
		this.href;
		return true;
	}else{
		return false;
	}
}

function showHideReg(id) {
	 var obj = document.getElementById(id);
	 if(obj.style.display == "") {
	  obj.style.display = "none";
	 } else {
	  obj.style.display = "";
	 }
}

function hide(id) {
 var obj = document.getElementById(id);
 obj.style.display = "none";
}
function hideAlternativo(id) {
 var obj = document.getElementById(id);
 obj.style.display = "none";
}

function show(id)
{
 	var obj = document.getElementById(id);
  	obj.style.display = "";
}

function showAlternativo(id)
{
 	var obj = document.getElementById(id);
  	obj.style.display = "";
}

function functionToOnMouseOver(id) {
	var obj = document.getElementById(id);
	obj.style.display = "";
}


function functionToOnMouseOut(id) {
		var obj = document.getElementById(id);
		obj.style.display = "none";

}

function onChangeFocus(id)
{
	 id.style.backgroundColor='#FFFFAA';
}

function onLostFocus(id)
{
	 id.style.backgroundColor='#FFFFFF';
}
function setFocus(id)
{
	var obj = document.getElementById(id);
	if(obj)
	{
		obj.focus();
	}
}

var tgs = new Array( 'div' );

//Specify spectrum of different font sizes:
var szs = new Array( '9','10','11','12','13','14','15' );
var startSz = 2;

function ts( trgt,inc ) {
	if (!document.getElementById)
	return
	var d = document,cEl = null,sz = startSz,i,j,cTags;
	sz += inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 6 ) sz = 6;
	startSz = sz;
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs[ sz ];

	for ( i = 0; i < tgs.length; i++ )
	{
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0; j < cTags.length; j++ )
			cTags[ j ].style.fontSize = szs[ sz ];
	}
}

function menu() {

   var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");

   for (var i=0; i< navItems.length; i++) {
      if(navItems[i].className == "submenu")
      {
         if(navItems[i].getElementsByTagName('ul')[0] != null)
         {
            navItems[i].onmouseover=function() {this.getElementsByTagName('ul')[0].style.display="block";this.style.backgroundColor = "#f9f9f9";}
            navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";this.style.backgroundColor = "#FFFFFF";}
         }
      }
   }

}

function validaSite(site){
	siteCampo = site.value;
    siteCampo=siteCampo.replace(/^http:\/\/?/,"")
    dominio=siteCampo
    caminho=""
    if(siteCampo.indexOf("/")>-1)
        dominio=siteCampo.split("/")[0]
        caminho=siteCampo.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    siteCampo="http://"+dominio+caminho
    site.value = siteCampo;
}

function campoObrigatorio(id)
{
	if(id.value == "")
	{
		alert("Campo Obrigatório!");
		id.focus();
		return false;
	}
	return true;
}
function camposObrigatorios(valores)
{
	var obj;
	var i = 1;
	while(i<=valores.length)
	{
		obj = document.getElementById(valores[i]);
 		if(obj.value == "")
		{
			obj.focus();
			alert("Você deve preencher todos os campos obrigatórios");
			return false;
		}
		if(obj.value == "000")
		{
			obj.focus();
			alert("Você deve preencher todos os campos obrigatórios");
			return false;
		}
		i++;
	}
	return true;
}

function umCampoMaiorZero(valores)
{
	var obj;
	var i = 1;
	while(i<=valores.length)
	{
		obj = document.getElementById(valores[i]);
		if(obj.value > 0)
		{
			return true;
		}
		i++;
	}
	document.getElementById(valores[1]).focus();
	alert("Você deve preencher pelo menos uma quantidade com um valor maior que zero");
	return false;
}

function criaArray(n)
{
	this.length = n;
	for(var i = 1;i<=n;i++)
	{
		this[i] = "";
	}
}

function validaCPF(cpfValor)
{
	var i;
	s = cpfValor.value;
	s = s.replace(/\./g,"");
	s = s.replace(/\-/g,"");
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(10-i);
	}
	if (d1 == 0)
	{
		alert("CPF Inválido");
		cpfValor.value="";
		cpfValor.focus();
		return false;
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9)
		d1 = 0;
	if (dv.charAt(0) != d1)
	{
		alert("CPF Inválido");
		cpfValor.focus();
		cpfValor.value="";
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 9; i++)
	{
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9)
		d1 = 0;
	if (dv.charAt(1) != d1)
	{
		alert("CPF Inválido");
		cpfValor.value="";
		cpfValor.focus();
		return false;
	}
	return true;
}
function validaEmail(email)
{
	var parte1 = email.value.indexOf("@");
    var parte2 = email.value.indexOf(".");
    var parte3 = email.value.length;
    if (!(parte1 >= 1 && parte2 >= 3 && parte3 >= 5))
    {
	     alert ("O campo \"E-mail\" deve conter um endereço eletrônico válido!\nFormato: nome@seuprovedor.com");
	     email.focus();
	     return false;
    }
}
function checkMail(mail){
   var str = mail;
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if(filter.test(str))
      valido = true;
    else{
      alert("Este endereço de e-mail não é válido!");
      document.cadastro.e_mail.focus();
      valido = false;
    }
    return valido;
}
function validaSeparador(separador)
{
	if((separador != '.') && (separador != '@') && !isNumber(separador) && !isChar(separador))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function validaCEP(cep)
{
    cepValue = cep.value;
	cepValue = cepValue.replace(/\-/g,"");
	parte1 = cepValue.length;
    if (parte1 < 8)
    {
	     alert ("O campo \"CEP\" está incorreto!\nFormato: 99999-999");
	     cep.focus();
	     return false;
    }
    return true;
}
function validaData(data)
{
    dataValue = data.value;
	dataValue = dataValue.replace(/\//g,"");
	parte1 = dataValue.length;
    if (parte1 < 8)
    {
	     alert ("O campo \"Data\" está incorreto!\nFormato: dd/mm/aaaa");
	     data.focus();
	     return false;
    }
    return true;
}
function validaHora(hora)
{
    horaValue = hora.value;
	horaValue = horaValue.replace(/\:/g,"");
	parte1 = horaValue.length;
    if (parte1 < 4)
    {
	     alert ("O campo \"Hora\" está incorreto!\nFormato: hh:mm");
	     hora.focus();
	     return false;
    }
    return true;
}

function validaCNPJ(cnpjPass)
{
	CNPJ = cnpjPass.value;
	erro = new String;
	if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! \n\n";
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-"))
	{
		if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
	}
	//substituir os caracteres que não são números
	if(document.layers && parseInt(navigator.appVersion) == 4)
	{
	      x = CNPJ.substring(0,2);
	      x += CNPJ. substring (3,6);
	      x += CNPJ. substring (7,10);
	      x += CNPJ. substring (11,15);
	      x += CNPJ. substring (16,18);
	      CNPJ = x;
	}else
	{
	      CNPJ = CNPJ. replace (".","");
	      CNPJ = CNPJ. replace (".","");
	      CNPJ = CNPJ. replace ("-","");
	      CNPJ = CNPJ. replace ("/","");
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n";
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++)
	{
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2)
	{
		a[12] = 0;
	}else
	{
		a[12] = 11-x;
	}
	b = 0;
	for (y=0; y<13; y++)
	{
	    b += (a[y] * c[y]);
	}
	if ((x = b % 11) < 2)
	{
		a[13] = 0;
	}else
	{
		a[13] = 11-x;
	}
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13]))
	{
	      erro +="Dígito verificador com problema!";
	}
	if (erro.length > 0)
	{
		alert(erro);
		cnpjPass.focus();
		return false;
	}
return true;
}
// Custom event handler
function myCustomExecCommandHandler(editor_id, elm, command, user_interface, value)
{
	var linkElm, imageElm, inst;

	switch (command)
	{
		case "mceLink":
			inst = tinyMCE.getInstanceById(editor_id);
			linkElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "a");

			if (linkElm)
				alert("Link dialog has been overriden. Found link href: " + tinyMCE.getAttrib(linkElm, "href"));
			else
				alert("Link dialog has been overriden.");

			return true;

		case "mceImage":
			inst = tinyMCE.getInstanceById(editor_id);
			imageElm = tinyMCE.getParentElement(inst.selection.getFocusElement(), "img");

			if (imageElm)
				alert("Image dialog has been overriden. Found image src: " + tinyMCE.getAttrib(imageElm, "src"));
			else
				alert("Image dialog has been overriden.");

			return true;
	}

	return false; // Pass to next handler in chain
}
// Custom save callback, gets called when the contents is to be submitted
function customSave(id, content)
{
	alert(id + "=" + content);
}

function myFileBrowser (field_name, url, type, win) {

// alert("Field_Name: " + field_name + "\nURL: " + url + "\nType: " + type + "\nWin: " + win); // debug/testing

/* If you work with sessions in PHP and your client doesn't accept cookies you might need to carry
   the session name and session ID in the request string (can look like this: "?PHPSESSID=88p0n70s9dsknra96qhuk6etm5").
   These lines of code extract the necessary parameters and add them back to the filebrowser URL again. */

var cmsURL = window.location.pathname;      // script URL
var searchString = window.location.search;  // possible parameters
if (searchString.length < 1) {
    // add "?" to the URL to include parameters (in other words: create a search string because there wasn't one before)
    searchString = "?";
}

// newer writing style of the TinyMCE developers for tinyMCE.openWindow

tinyMCE.openWindow({
    file : cmsURL + searchString + "&type=" + type, // PHP session ID is now included if there is one at all
    title : "File Browser",
    width : 420,  // Your dimensions may differ - toy around with them!
    height : 400,
    close_previous : "no"
}, {
    window : win,
    input : field_name,
    resizable : "yes",
    inline : "yes",  // This parameter only has an effect if you use the inlinepopups plugin!
    editor_id : tinyMCE.getWindowArg("editor_id")
});
return false;
}

/**
 *
 * @access public
 * @return void
 **/
function cmc7(valor)
{
	var banco2 = valor.substring(1,4);
	var agencia2 = valor.substring(4,8);
	var dv12 = valor.substring(8,10);
	var sirc2 = valor.substring(11,14);
	var numero2 = valor.substring(13,19);
	var tipo2 = valor.substring(20,21);
	var dv22 = valor.substring(21,22);
	var conta2 = valor.substring(22,32);
	var dv32 = valor.substring(35,37);

	var campo1 = document.getElementById('codigoBanco');
	campo1.setAttribute('value',banco2);
	var campo2 = document.getElementById('agencia');
	campo2.value = agencia2;
	var campo3 = document.getElementById('conta');
	campo3.value = conta2;
	var campo4 = document.getElementById('numero');
	campo4.value = numero2;
}

function abreLink(link)
{
	window.location = link;
}

function cancelEvent()
{
	return false;
}
function controle(tecla)
{
		cancelEvent();
		if(tecla==112)
		{
			if(variaF1!="")
			{
				abreLink(variaF1);
			}else
			{
				alert('Tecla [F1] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
			}
		}
}

function evento(e)
{
	if(e.keyCode==112){
		if(variaF1!="")
		{
			abreLink(variaF1);
		}else
		{
			alert('Tecla [F1] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==113){
		if(variaF2!="")
		{
			abreLink(variaF2);
		}else
		{
			alert('Tecla [F2] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==114){
		if(variaF3!="")
		{
			abreLink(variaF3);
		}else
		{
			alert('Tecla [F3] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==115){
		if(variaF4!="")
		{
			abreLink(variaF4);
		}else
		{
			alert('Tecla [F4] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==116){
		if(variaF5!="")
		{
			abreLink(variaF5);
		}else
		{
			alert('Tecla [F5] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==117){
		if(variaF6!="")
		{
			abreLink(variaF6);
		}else
		{
			alert('Tecla [F6] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==118){
		if(variaF7!="")
		{
			abreLink(variaF7);
		}else
		{
			alert('Tecla [F7] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==119){
		if(variaF8!="")
		{
			abreLink(variaF8);
		}else
		{
			alert('Tecla [F8] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==120){
		if(variaF9!="")
		{
			abreLink(variaF9);
		}else
		{
			alert('Tecla [F9] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==121){
		if(variaF10!="")
		{
			abreLink(variaF10);
		}else
		{
			alert('Tecla [F10] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==122){
		if(variaF11!="")
		{
			abreLink(variaF11);
		}else
		{
			alert('Tecla [F11] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
	if(e.keyCode==123){
		if(variaF12!="")
		{
			abreLink(variaF12);
		}else
		{
			alert('Tecla [F12] não configurada!\nPara configurar vá em Opções - Configuração - Atalhos');
		}
		return false;
	}
}

function alertaTecla()
 {
  var tecla = window.event.keyCode;
  alert(tecla);
  event.keyCode=0;
  event.returnValue=false;

 }



nereidFadeObjects = new Object();
nereidFadeTimers = new Object();

function sourceNum(obj){
	if ((document.documentElement.sourceIndex*1)+1)
	return obj.sourceIndex;
	else if (document.getElementsByTagName)
	var order=document.getElementsByTagName('*')
	for (var i_tem = 0; i_tem < order.length; i_tem++)
	if (order[i_tem]==obj)
	return i_tem;
}

function nereidFade(object, destOp, rate, delta){
	if (object.toString().indexOf('object') == -1){  //do this so I can take a string too
		setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
		return;
	}
	if (!(object.filters||object.style.MozOpacity||object.style.opacity))
		return;
	var objOpac=object.filters? object.filters.alpha.opacity : object.style.MozOpacity? object.style.MozOpacity*100 : object.style.opacity? object.style.opacity*100 : null
	clearTimeout(nereidFadeTimers[sourceNum(object)]);

	diff = destOp-objOpac;
	direction = 1;
	if (objOpac!==null&&objOpac > destOp){
		direction = -1;
	}
	delta=Math.min(direction*diff,delta);
	if (object.filters)
		object.filters.alpha.opacity+=direction*delta;
	else if (object.style.MozOpacity)
		object.style.MozOpacity=(object.style.MozOpacity*1)+(direction*delta/100);
	else if (object.style.opacity)
		object.style.opacity=(object.style.opacity*1)+(direction*delta/100);

	objOpac=object.filters? object.filters.alpha.opacity : object.style.MozOpacity? object.style.MozOpacity*100 : object.style.opacity? object.style.opacity*100 : null

	if (objOpac!==null&&objOpac != destOp){
		nereidFadeObjects[sourceNum(object)]=object;
		nereidFadeTimers[sourceNum(object)]=setTimeout("nereidFade(nereidFadeObjects["+sourceNum(object)+"],"+destOp+","+rate+","+delta+")",rate);
	}
}
function diferencaDias(data1, data2){

	var d1 = data1.split('/');
	d1 = new Date(d1[2],d1[1]-1,d1[0],0,0,0);

	var d2 = data2.split('/');
	d2 = new Date(d2[2],d2[1]-1,d2[0],0,0,0);

	var dif = (d2-d1)/1000/60/60/24;
    return dif;
 }
 function roundNumber (rnum) {
   return Math.round(rnum*Math.pow(10,2))/Math.pow(10,2);
}
function float2moeda(num) {
   x = 0;
   if(num<0) {
      num = Math.abs(num);
      x = 1;
   }
   if(isNaN(num)) num = "0";
      cents = Math.floor((num*100+0.5)%100);
   num = Math.floor((num*100+0.5)/100).toString();

   if(cents < 10) cents = "0" + cents;
      for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
         num = num.substring(0,num.length-(4*i+3))+'.'
               +num.substring(num.length-(4*i+3));
 ret = num + ',' + cents;
 if (x == 1) ret = ' - ' + ret;return ret;
}
function moeda2float(moeda){
   if(moeda=="")
   	return 0.00;
   moeda = moeda.replace(".","");
   moeda = moeda.replace(",",".");
   return parseFloat(moeda);
}
function arredondamento (x, n)
{
	if (n < 0 || n > 10) return x;
	var pow10 = Math.pow (10, n);
	var y = x * pow10;
	return Math.round (y) / pow10;
}
function testaSelectedValue(selectName)
{
	var dropdownIndex = document.getElementById(selectName).selectedIndex;
	var dropdownValue = document.getElementById(selectName)[dropdownIndex].value;
	if(dropdownValue=="" || dropdownValue=="-1" || dropdownValue=="0")
	{
		alert('Verifique se você não esqueceu nenhum campo obrigatório (*)!');
		return false;
	}else
	{
		return true;
	}
}
function number_format( number, decimals, dec_point, thousands_sep ) {
    // %        nota 1: Para 1000.55 retorna com precisão 1 no FF/Opera é 1,000.5, mas no IE é 1,000.6
    // *     exemplo 1: number_format(1234.56);
    // *     retorno 1: '1,235'
    // *     exemplo 2: number_format(1234.56, 2, ',', ' ');
    // *     retorno 2: '1 234,56'
    // *     exemplo 3: number_format(1234.5678, 2, '.', '');
    // *     retorno 3: '1234.57'
    // *     exemplo 4: number_format(67, 2, ',', '.');
    // *     retorno 4: '67,00'
    // *     exemplo 5: number_format(1000);
    // *     retorno 5: '1,000'
    // *     exemplo 6: number_format(67.311, 2);
    // *     retorno 6: '67.31'

    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;

    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

    var abs = Math.abs(n).toFixed(prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');

        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }

    return s;
}
function float2trescasas(num) {
	num = number_format( num, 3, '.', '' );
	if(isNaN(num)){
		return '0.000';
	}
	else{
		var valor =new String(""+num);
		var separacao = valor.split(".");
		if(separacao[1]==undefined){
			var sep = '';
		}
		else{
			var sep = separacao[1].length;
		}
		if(separacao[0]=='')
	   		return '0.000';
	   	if(sep==0){
	   		return separacao[0]+'.'+'000';
		}
		if(sep==1){
	   		return separacao[0]+'.'+separacao[1]+'00';
	   	}
	   	if(sep==2){
	   		return separacao[0]+'.'+separacao[1]+'0';
	   	}
	   	if(sep==3){
	   		return separacao[0]+'.'+separacao[1];
	   	}
	}
}
/***formulários em geral do sistema mark_news***/
/***grupo***/
function deleta_grupo(id){
	if(confirm('Deseja deletar?')) {
		window.location = "app/app.php?acao=deleta_grupo&id="+id;
	}
}
function cadastra_grupo(){
	form = document.cadastro;
	return true;
	form.submit();
}
function atualiza_grupo(id,acao,nome){
	form = document.cadastro;
	return true;
	form.submit();
}
/***e-mails contato***/
function cadastra_emails(){
	form = document.cadastro;
	return true;
	form.submit();
}
function deleta_email(id){
	if(confirm('Deseja deletar?')) {
		window.location = "app/app.php?acao=deleta_email&id="+id;
	}
}
function atualiza_emails(id,contato,e_mail,grupo,acao){
	form = document.cadastro;
	return true;
	form.submit();
}
/***mensagem***/
function cadastrar_mensagem(){
	form = document.cadastro;
	return true;
	form.submit();
}
function atualizar_mensagem(id,acao,edicao,remetente_nome,remetente_mail,titulo,assunto){
	form = document.cadastro;
	return true;
	form.submit();
}
function deleta_mensagem(id){
	if(confirm('Deseja deletar?')) {
		window.location = "app/app.php?acao=deleta_mensagem&id="+id;
	}
}
/*********agendar envio************/
function cadastrar_envio(){
	form = document.cadastro;
	return true;
	form.submit();
}
function atualizar_envio(id,acao,data_envio2,mensagem,grupo){
	form = document.cadastro;
	return true;
	form.submit();
}
function deleta_envio(id){
	if(confirm('Deseja deletar?')) {
		window.location = "app/app.php?acao=deleta_envio&id="+id;
	}
}
/********importar e-mails**************/
function cadastra_import(arquivo){
	form = document.cadastro;
	return true;
	form.submit();
}
/********Usuários**************/
function cadastra_users(){
	form = document.cadastro;
	return true;
	form.submit();
}
function atualiza_emails(id,nome,login,senha_pass,e_mail,permissao,acao){
	form = document.cadastro;
	return true;
	form.submit();
}
function deleta_user(id){
	if(confirm('Deseja deletar?')) {
		window.location = "app/app.php?acao=deleta_user&id="+id;
	}
}
/********Logout**************/
function logout(){
	window.location = "app/app.php?acao=logout";
}
function buscaInstantaneaGrupo(){
	// Para os browsers complacentes com o DOM W3C.
	if(document.getElementById){
		// Pega o termo digitado no campo de texto.
		var codigo = document.getElementById('search').value;
		show('search_complete');

		// div que exibirá o resultado da busca.
		var exibeResultado = document.getElementById('search_complete');

		// Inicia o Ajax.
		var ajax = openAjax();

		// Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
		ajax.open("GET", "helper/devolvePesquisaGrupo.php?grupo=" + codigo, true);

		ajax.onreadystatechange = function(){
			// Quando estiver carregando, exibe: carregando...
			if(ajax.readyState == 1) {
				exibeResultado.innerHTML  = "Carregando...";
			}

			// Quando estiver tudo pronto.
			if(ajax.readyState == 4) {
				if(ajax.status == 200)	{
					// Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
					var resultado = ajax.responseText;

					exibeResultado.innerHTML  = resultado;

				}
				else 	{
					exibeResultado.innerHTML  = "Grupo";
				}
			}
		}
		// submete
		ajax.send(null);
	}
}
function insert_valor_grupo(valor){
	if(valor!=''){
		document.getElementById('search').value = valor;
		hide('search_complete');
	}
}
function buscaInstantaneaEmail(){
	// Para os browsers complacentes com o DOM W3C.
	if(document.getElementById){
		// Pega o termo digitado no campo de texto.
		var codigo = document.getElementById('search').value;
		show('search_complete');

		// div que exibirá o resultado da busca.
		var exibeResultado = document.getElementById('search_complete');

		// Inicia o Ajax.
		var ajax = openAjax();

		// Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
		ajax.open("GET", "helper/devolvePesquisaEmails.php?emails=" + codigo, true);

		ajax.onreadystatechange = function(){
			// Quando estiver carregando, exibe: carregando...
			if(ajax.readyState == 1) {
				exibeResultado.innerHTML  = "Carregando...";
			}

			// Quando estiver tudo pronto.
			if(ajax.readyState == 4) {
				if(ajax.status == 200)	{
					// Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
					var resultado = ajax.responseText;

					exibeResultado.innerHTML  = resultado;

				}
				else 	{
					exibeResultado.innerHTML  = "Grupo";
				}
			}
		}
		// submete
		ajax.send(null);
	}
}

function buscaInstantaneaMensagem(){
	// Para os browsers complacentes com o DOM W3C.
	if(document.getElementById){
		// Pega o termo digitado no campo de texto.
		var codigo = document.getElementById('search').value;
		show('search_complete');

		// div que exibirá o resultado da busca.
		var exibeResultado = document.getElementById('search_complete');

		// Inicia o Ajax.
		var ajax = openAjax();

		// Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
		ajax.open("GET", "helper/devolvePesquisaMensagem.php?titulo=" + codigo, true);

		ajax.onreadystatechange = function(){
			// Quando estiver carregando, exibe: carregando...
			if(ajax.readyState == 1) {
				exibeResultado.innerHTML  = "Carregando...";
			}

			// Quando estiver tudo pronto.
			if(ajax.readyState == 4) {
				if(ajax.status == 200)	{
					// Coloca o resultado (da busca) retornado pelo Ajax nessa variável (var resultado).
					var resultado = ajax.responseText;

					exibeResultado.innerHTML  = resultado;

				}
				else 	{
					exibeResultado.innerHTML  = "Grupo";
				}
			}
		}
		// submete
		ajax.send(null);
	}
}
function buscaInstantaneaImagem(id){
	// Inicia o Ajax.
	var ajax = openAjax();

	// Envia o termo da busca como uma querystring, nos possibilitando o filtro na busca.
	ajax.open("GET", "galeria.php?id="+id, true);

	ajax.onreadystatechange = function(){
		// Quando estiver carregando, exibe: carregando...
		if(ajax.readyState == 1) {
			document.getElementById('jTscroller').innerHTML  = "Carregando...";
		}

		// Quando estiver tudo pronto.
		if(ajax.readyState == 4) {
			if(ajax.status == 200)	{
				document.getElementById('jTscroller').innerHTML  = ajax.responseText;
			}
			else 	{
				document.getElementById('jTscroller').innerHTML  = "Carregando...";
			}
		}
	}
	// submete
	ajax.send(null);
}

