
function fnc_getElementById(
	tipo_documento,                        	field_id
) {

	var objeto = null;
	var error  = '\n---------------------------------------------- ATENÇÃO ----------------------------------------------\nSeu navegador não é compativel com este site e isso fará com que não funcione corretamente.\nCaso esteja utilizando um navegador entre: Netscape, Mozilla/FireFox, Opera ou Internet Explorer,\nentre em contato com a administração do site para que possamos efetuar testes e reparos.\nCaso não esteja utilizando os navegadores citados anteriormente, por favor, tente fazer o download\nde um destes modelos e tentar novamente.';

	switch (fnc_browser_appName()) {

		case 'IE':
		case 'NS':
			objeto = (tipo_documento != '') ? (eval(tipo_documento).document.getElementById(field_id)) : (document.getElementById(field_id));
			break;
/*
		case 'NS':
			objeto = (tipo_documento != '') ? (eval(tipo_documento).document.all[field_id]) : (document.all[field_id]);
			break;
*/
		case 'DESCONHECIDO':
		default:
			objeto = (tipo_documento != '') ? (eval(tipo_documento).document.all[field_id]) : (document.all[field_id]);

	}

	return (objeto != null) ? (objeto) : (alert(error));

}

    
function fnc_browser_appName() {

    var browser_name = navigator.appName;

    switch (browser_name) {

		case 'Microsoft Internet Explorer':
            return 'IE';
			break;

        // Firefox e Netscape.
		case 'Netscape':
            return 'NS';
			break;

		default:
			return 'DESCONHECIDO';
			break;

	}

}

    
function fnc_action_MPost(
	form_number,
	action_path,
	target_send,
	method_send
) {

	document.forms[form_number].method = "" + (method_send == '') ? ('POST') : (method_send) + ""; if (target_send != '') {
	document.forms[form_number].target = "" + target_send + ""; }
	document.forms[form_number].action = "" + action_path + "";
	document.forms[form_number].submit();

}

    
function fnc_iframe_to_post(
    form_number,
    action_path,
    div_action,								    href_id
) {
/*
    var body_page       = document.getElementsByTagName("body")[0];*/
    var form_to_submit  = document.forms[form_number];
    var iframe          = document.createElement("iframe");

    iframe.setAttribute("id", "iframe_to_post");
    iframe.setAttribute("name", "iframe_to_post");
    iframe.setAttribute("width", "0");
    iframe.setAttribute("height", "0");
    iframe.setAttribute("border", "0");
    iframe.setAttribute("style", "width: 0; height: 0; border: none;");/*
	body_page.parentNode.appendChild(iframe);*/
	form_to_submit.parentNode.appendChild(iframe);
    window.frames["iframe_to_post"].name = "iframe_to_post";/*

    fnc_change_object_state('DISPLAY', div_action, '');*/
    fnc_change_object_state('DISPLAY:' + div_action + ':');
	fnc_action_MPost(0, action_path, "iframe_to_post", 'POST');

}

    
function fnc_iframe_to_postback(
	form_number,
	div_action
) {/*

	fnc_change_object_state('DISPLAY', div_action, '');*/
	fnc_change_object_state('DISPLAY:' + div_action + ':');
	document.forms[form_number].reset();

}

    
function fnc_focus(
	field_id
) {

	fnc_getElementById('', field_id).focus();

}

    
function fnc_trim(
	string_value
) {

	  	while (string_value.charAt(0) == " ") {
  		string_value = string_value.substr(1, string_value.length -1);
  	}

	  	while (string_value.charAt(string_value.length-1) == " ") {
  		string_value = string_value.substr(0, string_value.length - 1);
  	}

	return string_value;

}

    
function fnc_valida_requisicao(
	msg
) {

	return ((confirm(fnc_trim(msg))) ? (true) : (false));

}

    
function fnc_desabilita_href(
    link_id
) {

	var elemento = (link_id == '') ? (document.getElementsByTagName('a')) : (link_id.split(';'));

	for (i = 0; i < elemento.length; i++) {

		if (link_id == '') {

			elemento[i].removeAttribute('href');
			if (elemento[i].onClick != null) elemento[i].onClick = null;

		} else {

			if (fnc_getElementById('', '' + elemento[i] + '').onclick != null) fnc_getElementById('', '' + elemento[i] + '').onclick = null;
			fnc_getElementById('', '' + elemento[i] + '').removeAttribute('href');

		}

	}

}

    
function fnc_change_object_state(
    estado_field_id_tipo_documento      ) {
    var split_estado = estado_field_id_tipo_documento.split(';');

    for (i = 0; i < split_estado.length; i++) {

        var split_field_id_tipo_documento = split_estado[i].split(':');

        switch (split_field_id_tipo_documento[0]) {

            case 'DISABLED':
                                fnc_getElementById(split_field_id_tipo_documento[2], '' + split_field_id_tipo_documento[1] + '').disabled        = !eval(fnc_getElementById(split_field_id_tipo_documento[2], '' + split_field_id_tipo_documento[1] + '')).disabled;
                                break;

            case 'READONLY':
                                fnc_getElementById(split_field_id_tipo_documento[2], '' + split_field_id_tipo_documento[1] + '').readOnly        = !fnc_getElementById(split_field_id_tipo_documento[2], '' + split_field_id_tipo_documento[1] + '').readOnly;
                break;

            case 'DISPLAY':
                                fnc_getElementById(split_field_id_tipo_documento[2], '' + split_field_id_tipo_documento[1] + '').style.display   = (fnc_getElementById(split_field_id_tipo_documento[2], '' + split_field_id_tipo_documento[1] + '').style.display == "none") ? ("") : ("none");
                break;

        }

    }

}

    
function fnc_monta_status(
	img,
	width_px,
	height_px,
	mensagem
) {

	document.writeln('<img src="' + img + '" width="' + width_px + '" height="' + height_px + '" border=0 align="absmiddle"> <b>'+ mensagem + ', Aguarde ...</b>');

}

    
function fnc_valida_fields_form(
	form_number,								field_detail							) {

	
	var form_name 				= 'document.' + document.forms[form_number].name;
	var split_field_detail		= field_detail.split(';');	var objects_type			= new Array(['text',        ''],
											['file', 		''],
											['password', 	''],
											['select-one',	'-1'],
											['textarea', 	'']);

		for (i = 0; i < split_field_detail.length; i++) {

		        split_field_detail[i]		= fnc_trim(split_field_detail[i]);
        var split_field             = split_field_detail[i].split(':');
		var field_attributes		= new Array();

        		for (attrib = 0; attrib < split_field.length; attrib++) {
			field_attributes[attrib] = split_field[attrib];
		}

		        var field_type = eval(form_name + '.' + field_attributes[1]).type;

				switch (field_type) {

			case objects_type[0][0]: 			case objects_type[1][0]: 			case objects_type[2][0]: 			case objects_type[4][0]: 
								if (fnc_trim(eval(form_name + '.' + field_attributes[1]).value) == objects_type[0][1]) {
					window.alert('Por Favor, é necessário inserir um valor válido para o campo [ ' + field_attributes[0] + ' ]');
					fnc_focus('' + field_attributes[1] + '');
					return false; 				}
				break;

			case objects_type[3][0]: 
								if (eval(form_name + '.' + field_attributes[1]/*Field Name*/).value == objects_type[3][1]) {
					window.alert ('Por Favor, é necessário selecionar um valor válido para o campo [ ' + field_attributes[0] + ' ]');
					fnc_focus('' + field_attributes[1] + '');
					return false; 				}
				break;

		}

	}
		return true;

}

    
function fnc_valida_fields_form_preenchido(
	form_number,								field_detail							) {

	
	var form_name 				= 'document.' + document.forms[form_number].name;
	var split_field_detail		= field_detail.split(';');	var objects_type			= new Array(['text',        ''],
											['file', 		''],
											['password', 	''],
											['select-one', 	'-1'],
											['textarea', 	'']);
	var return_validacao		= false;

		for (i = 0; i < split_field_detail.length; i++) {

		        split_field_detail[i] = fnc_trim(split_field_detail[i]);
		        var field_type = eval(form_name + '.' + split_field_detail[i]).type;

				switch (field_type) {

			case objects_type[0][0]: 			case objects_type[1][0]: 			case objects_type[2][0]: 			case objects_type[4][0]: 
								return_validacao = (eval(form_name + '.' + split_field_detail[i]).value == objects_type[0][1] && return_validacao == false) ? (false) : (true);
				break;

			case objects_type[3][0]: 
								return_validacao = (eval(form_name + '.' + split_field_detail[i]).value == objects_type[3][1] && return_validacao == false) ? (false) : (true);
				break;

		}

	}

	return return_validacao;

}

    
function fnc_valida_checkbox(
	form_number,
	field_name
) {

	var form_name                  = 'document.' + document.forms[form_number].name;
	var field_checkall_name	       = (field_name != '') ? (eval(form_name + '.' + field_name).name) : ('INDEFINIDO');
	var conta_check_box_marcado    = 0;

		for (var i = 0; i < eval(form_name + '.elements.length'); i++) {
				var elemento = eval(form_name + '.elements[i]');
				if (elemento.type == 'checkbox' && elemento.name != field_checkall_name) {

						if (elemento.checked == true) {
								conta_check_box_marcado ++;
			}

		}

	}

	return (conta_check_box_marcado == 0) ? (false) : (true);

}

    
function fnc_select_all_checkbox(
	form_number,
	field_name,
	class_colors
) {

	
	var form_name 					= 'document.' + document.forms[form_number].name;
	var field_checkall_name			= eval(form_name + '.' + field_name);
	var set_state 					= field_checkall_name.checked; 	var original_class_colors		= class_colors;
	var original_class_colors_array	= original_class_colors.split(';');

		for (var i = 0; i < eval(form_name + '.elements.length'); i++) {
				var elemento = eval(form_name + '.elements[i]');
				if (elemento.type == 'checkbox' && elemento.name != field_checkall_name.name) {
						elemento.checked = set_state;
						if (elemento.checked == false) {
								fnc_getElementById('', 'tb_' + elemento.id).className = ((elemento.id%2 == 0) ? (original_class_colors_array[0]) : (original_class_colors_array[1]));
			} else {
				fnc_getElementById('', 'tb_' + elemento.id).className = original_class_colors_array[2];
			}

		}

	}

}

    
function fnc_select_checkbox(
	form_number,
	field_checkall_name,
	objeto,
	class_colors
) {

	
	var form_name 					= 'document.' + document.forms[form_number].name;
	var field_name_checkall			= eval(form_name + '.' + field_checkall_name);
	var original_class_colors		= class_colors;
	var original_class_colors_array	= original_class_colors.split(';');
	var conta_check_box 			= 0;
	var conta_check_box_marcado 	= 0;

		if (objeto.checked == false) {
				fnc_getElementById('', 'tb_' + objeto.id).className = ((objeto.id%2 == 0) ? (original_class_colors_array[0]) : (original_class_colors_array[1]));
	} else {
		fnc_getElementById('', 'tb_' + objeto.id).className = original_class_colors_array[2];
	}

		for (var i = 0; i < eval(form_name + '.elements.length'); i++) {
				var elemento = eval(form_name + '.elements[i]');
				if (elemento.type == 'checkbox' && elemento.name != field_name_checkall.name) {
						conta_check_box ++;
						if (elemento.checked == true) {
								conta_check_box_marcado ++;
			}
		}
	}

		field_name_checkall.checked = ((conta_check_box_marcado == conta_check_box) ? (true) : (false));

}

    
function fnc_select_one_checkbox(
	form_number,
	objeto,
	class_colors
) {

	
	var form_name 					= 'document.' + document.forms[form_number].name;
	var original_class_colors		= class_colors;
	var original_class_colors_array	= original_class_colors.split(';');

    if (objeto.checked == true) {
        fnc_getElementById('', 'tb_' + objeto.id).className = original_class_colors_array[2];
    } else {
        fnc_getElementById('', 'tb_' + objeto.id).className = ((objeto.id%2 == 0) ? (original_class_colors_array[0]) : (original_class_colors_array[1]));
    }

		for (var i = 0; i < eval(form_name + '.elements.length'); i++) {

				var elemento = eval(form_name + '.elements[i]');

		        if (elemento.type == 'checkbox') {

    		if (elemento.id != objeto.id && elemento.checked == true) {
    							fnc_getElementById('', 'tb_' + elemento.id).className   = ((elemento.id%2 == 0) ? (original_class_colors_array[0]) : (original_class_colors_array[1]));
				fnc_getElementById('', elemento.id).checked             = false;
			}

		}

	}

}

    
function fnc_value_select_one_checkbox(
	form_number,
	field_name
) {

	var form_name                  = 'document.' + document.forms[form_number].name;
	var field_checkall_name	       = (field_name != '') ? (eval(form_name + '.' + field_name).name) : ('INDEFINIDO');
	var conta_check_box_marcado    = 0;

		for (var i = 0; i < eval(form_name + '.elements.length'); i++) {
				var elemento = eval(form_name + '.elements[i]');
				if (elemento.type == 'checkbox' && elemento.name != field_checkall_name) {

						if (elemento.checked == true) {
								return elemento.value;
			}

		}

	}

}

    
function fnc_format_field_mask(
	src,
	mask,
	evt
) {

	
	var mask_types = new Array('###.###.###-##',
							   '##.###.###/####-##',
							   '#####-##',
							   '##/##/####',
							   '###-####-####',
							   '##:##',
							   '##-####-####'
							   );

	if (evt.keyCode != 8) { 
		var i 			= src.value.length;
        var string_out	= mask_types[mask].substring(0, 1);
        var string_text	= mask_types[mask].substring(i);

        if (string_text.substring(0, 1) != string_out) {
            src.value += string_text.substring (0, 1);
        }

    }

}

    
function fnc_auto_avance(
	max_length,
	current_field,
	next_field
) {

		if (current_field.value.length >= max_length) {
		current_field.value = current_field.value.substring(0, max_length);
		fnc_focus(next_field);
	}

}

    
function fnc_max_caracter_textarea(
	form_number,
	objeto,
	objeto_contador,
	max_length
) {

	var form_name = 'document.' + document.forms[form_number].name;

	if (eval(form_name + '.' + objeto).value.length > max_length) {

		eval(form_name + '.' + objeto).value = eval(form_name + '.' + objeto).value.substring(0, max_length);

	} else {

		eval(form_name + '.' + objeto_contador).value = max_length - eval(form_name + '.' + objeto).value.length;

	}

}

    
function fnc_capital_letter(
	form_number,
	objeto,
	i_text
) {

	String.prototype.capitalize = function(){
		return this.replace( /(^|\s)([a-z])/g , function(m,p1,p2) { return p1+p2.toUpperCase(); } );
	};

	var form_name = 'document.' + document.forms[form_number].name;

	eval(form_name + '.' + objeto).value = eval(form_name + '.' + objeto).value.capitalize();

}

	
function fnc_apenas_numeros(
	campo,
	evento
) {

	var valores_validos	= '0123456789';
	var key 			= '';
	var len 			= 0;
	var valor_evento 	= (window.Event) ? (evento.which) : (evento.keyCode);

	if (valor_evento == 13) return true;
	key = String.fromCharCode(valor_evento);

	if (valores_validos.indexOf(key) == -1) return false;
	len = campo.value.length;

}

    
function fnc_formato_currency(
	field,
	mil_sep,
	dec_sep,
	evento
) {

	var sep = 0;
	var key = '';
	var i 	= j = 0;
	var len = len2	= 0;
	var str_check 	= '0123456789';
	var aux = aux2 	= '';
	var which_code 	= (window.Event) ? (evento.which) : (evento.keyCode);

    if (which_code == 13)   return true;        if (which_code == 8)    return true;    	key = String.fromCharCode(which_code);  	if (str_check.indexOf(key) == -1)	return false; 	len = field.value.length;

	for (i = 0; i < len; i++)

		if ((field.value.charAt(i) != '0') && (field.value.charAt(i) != dec_sep)) break;
		aux = '';
		for (; i < len; i++)

			if (str_check.indexOf(field.value.charAt(i)) != -1)	aux += field.value.charAt(i);

			aux += key;
			len = aux.length;

			if (len == 0) field.value = '';
			if (len == 1) field.value = '0'+ dec_sep + '0' + aux;
			if (len == 2) field.value = '0'+ dec_sep + aux;
			if (len > 2) {

				aux2 = '';
				for (j = 0, i = len - 3; i >= 0; i--) {

					if (j == 3) {
						aux2 += mil_sep;
						j = 0;
					}

					aux2 += aux.charAt(i);
					j++;

				}

				field.value = '';
				len2 = aux2.length;
				for (i = len2 - 1; i >= 0; i--)
				field.value += aux2.charAt(i);
				field.value += dec_sep + aux.substr(len - 2, len);

			}

	return false;

}

    
function fnc_valida_email(
	form_number,
	objeto
) {

	var form_name 	= 'document.' + document.forms[form_number].name;

	var caracter_ilegal 	= /(@.*@)|(@\.)|(@\-)|(@_)(\.@)|(\-@)|(\.\.)|(^\.)|(\.$)|(\.\-)|(\._)|(\-\.)|(_\.)|(^_)|(_$)|(_\-)|(\-\-)|(^\-)|(\-$)|(\-_)/;
	var filtro_formato_1	= /^\S+\@(\[?)[a-zA-Z0-9_\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
	var filtro_formato_2	= /^([a-zA-Z0-9\@_\-\.\+]+)$/;

	if (eval(form_name + '.' + objeto).value.match(caracter_ilegal)) {

		window.alert('Por Favor, verifique o endereço de e-mail informado, ele contém caracteres inválidos');
		fnc_focus('' + objeto + '');
		return false; 
	}

	if (!(filtro_formato_1.test(eval(form_name + '.' + objeto).value))) {

		window.alert('Por Favor, verifique o endereço de e-mail informado, ele contém formato inválido');
		fnc_focus('' + objeto + '');
		return false; 
	}

	if (!(filtro_formato_2.test(eval(form_name + '.' + objeto).value))) {

		window.alert('Por Favor, verifique o endereço de e-mail informado, ele contém formato inválido');
		fnc_focus('' + objeto + '');
		return false; 
	}

	return true;

}

    
function fnc_dia_mes_ano() {

	
	var now 			= new Date();
	var mes 			= now.getMonth();
	var sem 			= now.getDay();
	var dia 			= now.getDate();
	var ano 			= now.getYear();

	var current_month 	= new Array('Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
	var current_week	= new Array('Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sábado');

	y2k = ((ano < 2000) ? (1900 + ano) : (ano));
	var dia_sem_mes_ano = (current_week[sem] + ", " + dia + " de " + current_month[mes] + " de " + y2k);
	return dia_sem_mes_ano;

}

    
function fnc_open_window(
	path,
	window_name,
	status_bar,
	scroll_bar,
	resizable,
	width_px,
	height_px,
    position
) {

	set_window = window.open(path, window_name, "toolbar = no, location = no, directories = no, status = " + status_bar + ", menubar = no, scrollbars = " + scroll_bar + ", resizable = " + resizable + ", menubar = no, width = " + width_px + "px, outerWidth = " + width_px + "px, outerHeight = " + height_px  + "px, height = " + height_px + "px");

    switch (position) {

		case 'CENTER':
            			set_window.moveTo((screen.width / 2 - (width_px / 2)), ((screen.height / 2) - (height_px / 2)));
			break;

		case 'LEFT_TOP':
						set_window.moveTo(0, 0);
			break;

	}

}

    
function fnc_recarrega_pagina(
    action_path
) {

	opener.location.href = (action_path != '') ? (action_path) : (opener.location.href);/*
	window.close();*/

}

    
function fnc_encode_crypt(
    field_id,
    field_value
) {

    var END_OF_INPUT = -1;
    var crypt_chars = new Array(
        'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
    	'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
    	'0','1','2','3','4','5','6','7','8','9','+','/'
    );

    var reverse_crypt_chars = new Array();
    for (var i=0; i < crypt_chars.length; i++) {
        reverse_crypt_chars[crypt_chars[i]] = i;
    }

    var crypt_str;
    var crypt_count;


    function fnc_set_crypt_str(
    	str
    ) {
        crypt_str = str;
        crypt_count = 0;
    }

    function fnc_read_crypt() {

        if (!crypt_str) return END_OF_INPUT;
        if (crypt_count >= crypt_str.length) return END_OF_INPUT;
        var c = crypt_str.charCodeAt(crypt_count) & 0xff;
        crypt_count++;
        return c;

    }

    function fnc_encode(
    	field_id,
    	field_value
    ) {

    	    	fnc_set_crypt_str(fnc_trim(field_value));

        var return_field_encrypted  = '';
        var inBuffer                = new Array(3);
        var line_count              = 0;
    	var done 					= false;

    	while (!done && (inBuffer[0] = fnc_read_crypt()) != END_OF_INPUT) {

    		inBuffer[1] = fnc_read_crypt();
    		inBuffer[2] = fnc_read_crypt();
    		return_field_encrypted += (crypt_chars[ inBuffer[0] >> 2 ]);

    		if (inBuffer[1] != END_OF_INPUT) {

    			return_field_encrypted += (crypt_chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);

    			if (inBuffer[2] != END_OF_INPUT) {
    				return_field_encrypted += (crypt_chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
    				return_field_encrypted += (crypt_chars [inBuffer[2] & 0x3F]);
    			} else {
    				return_field_encrypted += (crypt_chars [((inBuffer[1] << 2) & 0x3c)]);
    				return_field_encrypted += ('=');
    				done = true;
    			}

    		} else {

    			return_field_encrypted += (crypt_chars [(( inBuffer[0] << 4 ) & 0x30)]);
    			return_field_encrypted += ('=');
    			return_field_encrypted += ('=');
    			done = true;

    		}

    		line_count += 4;

    		if (line_count >= 76) {
    			return_field_encrypted += ('\n');
    			line_count = 0;
    		}

    	}

		fnc_getElementById('', field_id).value = '';

    	return return_field_encrypted;

    }

    return fnc_encode(field_id, field_value);

}

    
function fnc_MD5(
	field_value
) {

	function RotateLeft(lValue, iShiftBits) {
		return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
	}

	function AddUnsigned(lX,lY) {
		var lX4,lY4,lX8,lY8,lResult;
		lX8 = (lX & 0x80000000);
		lY8 = (lY & 0x80000000);
		lX4 = (lX & 0x40000000);
		lY4 = (lY & 0x40000000);
		lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
		if (lX4 & lY4) {
			return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
		}
		if (lX4 | lY4) {
			if (lResult & 0x40000000) {
				return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
			} else {
				return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
			}
		} else {
			return (lResult ^ lX8 ^ lY8);
		}
 	}

 	function F(x,y,z) { return (x & y) | ((~x) & z); }
 	function G(x,y,z) { return (x & z) | (y & (~z)); }
 	function H(x,y,z) { return (x ^ y ^ z); }
	function I(x,y,z) { return (y ^ (x | (~z))); }

	function FF(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};

	function GG(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};

	function HH(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};

	function II(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
	};

	function ConvertToWordArray(
		field_value
	) {

		var lWordCount;
		var lMessageLength = field_value.length;
		var lNumberOfWords_temp1=lMessageLength + 8;
		var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
		var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
		var lWordArray=Array(lNumberOfWords-1);
		var lBytePosition = 0;
		var lByteCount = 0;
		while ( lByteCount < lMessageLength ) {
			lWordCount = (lByteCount-(lByteCount % 4))/4;
			lBytePosition = (lByteCount % 4)*8;
			lWordArray[lWordCount] = (lWordArray[lWordCount] | (field_value.charCodeAt(lByteCount)<<lBytePosition));
			lByteCount++;
		}
		lWordCount = (lByteCount-(lByteCount % 4))/4;
		lBytePosition = (lByteCount % 4)*8;
		lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
		lWordArray[lNumberOfWords-2] = lMessageLength<<3;
		lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
		return lWordArray;
	};

	function WordToHex(lValue) {
		var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
		for (lCount = 0;lCount<=3;lCount++) {
			lByte = (lValue>>>(lCount*8)) & 255;
			WordToHexValue_temp = "0" + lByte.toString(16);
			WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
		}
		return WordToHexValue;
	};

	function Utf8Encode(
		field_value
	) {
		field_value = field_value.replace(/\r\n/g,"\n");
		var utftext = "";

		for (var n = 0; n < field_value.length; n++) {

			var c = field_value.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	};

	var x=Array();
	var k,AA,BB,CC,DD,a,b,c,d;
	var S11=7, S12=12, S13=17, S14=22;
	var S21=5, S22=9 , S23=14, S24=20;
	var S31=4, S32=11, S33=16, S34=23;
	var S41=6, S42=10, S43=15, S44=21;

	field_value = Utf8Encode(field_value);

	x = ConvertToWordArray(field_value);

	a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;

	for (k=0;k<x.length;k+=16) {
		AA=a; BB=b; CC=c; DD=d;
		a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
		d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
		c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
		b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
		a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
		d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
		c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
		b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
		a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
		d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
		c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
		b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
		a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
		d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
		c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
		b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
		a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
		d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
		c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
		b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
		a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
		d=GG(d,a,b,c,x[k+10],S22,0x2441453);
		c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
		b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
		a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
		d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
		c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
		b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
		a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
		d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
		c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
		b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
		a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
		d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
		c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
		b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
		a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
		d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
		c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
		b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
		a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
		d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
		c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
		b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
		a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
		d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
		c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
		b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
		a=II(a,b,c,d,x[k+0], S41,0xF4292244);
		d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
		c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
		b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
		a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
		d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
		c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
		b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
		a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
		d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
		c=II(c,d,a,b,x[k+6], S43,0xA3014314);
		b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
		a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
		d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
		c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
		b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
		a=AddUnsigned(a,AA);
		b=AddUnsigned(b,BB);
		c=AddUnsigned(c,CC);
		d=AddUnsigned(d,DD);
	}

	var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);

	return temp.toLowerCase();

}

    
var w3c	= (document.getElementById) ? true : false;
var ie	= (document.all) ? true : false;
var N	= -1;

function fnc_create_bar(
	w,         	h,         	bgt,       	bgc,       	brdW,      	brdC,      	blkC,      	speed,     	blocks,    	count,     	action     ) {

	if (ie || w3c) {

		var t = '<div class="config_xp_progressBar" id="_xpbar' + (++N) + '" style="visibility:visible; position:relative; overflow:hidden; width:' + w + 'px; height:' + h + 'px; background-color:' + bgc + '; border-color:' + brdC + '; border-width:' + brdW + 'px; border-style:solid; font-size:1px;">';
		t	 += '<span id="blocks' + N + '" style="left:-' + (h * 2 + 1) + 'px; position:absolute; font-size:1px">';

		for (i = 0; i < blocks; i++) {

			t += '<span style="background-color:' + blkC + '; left:-' + ((h * i) + i) + 'px; font-size:1px; position:absolute; width:' + h + 'px; height:' + h + 'px; ';
			t += (ie) ? 'filter: alpha(opacity=' + (100-i * (100/blocks)) + ')':'-Moz-opacity:' + ((100-i * (100/blocks))/100);
			t += '"></span>';

		}

		t += '</span><div class="config_xp_progressBar">' + bgt + '</div></div>';
		document.write(t);
		var bA			= (ie) ? (document.all['blocks' + N]) : (document.getElementById('blocks' + N));
		bA.bar			= (ie) ? (document.all['_xpbar' + N]) : (document.getElementById('_xpbar' + N));
		bA.blocks		= blocks;
		bA.N			= N;
		bA.w			= w;
		bA.h			= h;
		bA.speed		= speed;
		bA.ctr			= 0;
		bA.count		= count;
		bA.action		= action;
		bA.togglePause	= togglePause;
		bA.showBar		= function(){ this.bar.style.visibility = "visible"; }
		bA.hideBar		= function(){ this.bar.style.visibility = "hidden"; }
		bA.tid			= setInterval('startBar(' + N + ')', speed);
		return bA;

	}

}

    
function startBar(
	bn
) {

	var t = (ie) ? (document.all['blocks'+bn]) : (document.getElementById('blocks'+bn));

	if (parseInt(t.style.left) + t.h + 1 - (t.blocks * t.h + t.blocks) > t.w) {
		t.style.left =-(t.h * 2 + 1) + 'px';
		t.ctr++;

		if (t.ctr >= t.count) {
			eval(t.action);
			t.ctr = 0;
		}
	} else {
		t.style.left = (parseInt(t.style.left) + t.h + 1) + 'px';
	}

}

    
function togglePause() {

	if (this.tid == 0) {
		this.tid = setInterval('startBar(' + this.N + ')', this.speed);
	} else {
		clearInterval(this.tid);
		this.tid = 0;
	}

}

    
function fnc_set_painel_imagem(
	path,
	imagem_field_id,
	imagem_md,
	imagem_src
) {

        var split_imagem_src    = imagem_src.split('.');
    var img_src             = path + split_imagem_src[0] + imagem_md + '.' + split_imagem_src[1];

        if (fnc_browser_appName() == 'IE') {
        fnc_getElementById('', '' + imagem_field_id + '').filters.blendTrans.apply();
        fnc_getElementById('', '' + imagem_field_id + '').filters.blendTrans.play();
    }

        fnc_getElementById('', '' + imagem_field_id + '').title = path + split_imagem_src[0];
    fnc_getElementById('', '' + imagem_field_id + '').name 	= path + split_imagem_src[0];
    fnc_getElementById('', '' + imagem_field_id + '').src   = img_src;

}

    
function fnc_load_imagens(
	path,
	imagem_field_id,
	imagem_mn,
	imagem_md,
	imagem_gd,
	i_class
) {

    var split_img_gd_src    = imagem_gd.split(';');
    var img_gd_src          = '';
    var img_src             = '';

	for (i = 0; i < split_img_gd_src.length; i++) {

                img_gd_src  = split_img_gd_src[i].split('.');
        img_src     = path + img_gd_src[0] + imagem_mn + '.' + img_gd_src[1];

        		document.write ('<img src="' + img_src + '" onClick="javascript: fnc_set_painel_imagem(\'' + path + '\', \'' + imagem_field_id + '\', \'' + imagem_md + '\', \'' + split_img_gd_src[i] + '\');" style="cursor:pointer; cursor:hand;" width="85" height="63" class="' + i_class + '">');
                if (i == 5 || i == 11) { document.write('<br>'); }

	}

}

    