// JavaScript Document

/*
varaveis globais saparadores
*/
var c_sepcam = "|";
var c_sepreg = "^";
var c_host_email = "http://www.interclipnet.com.br/";
//var c_link_clip = "http://localhost/interclipping/";
var c_link_clip = "http://clipping.interclipnet.com.br/interclipping/";
var v_Pref = false;

/*
como chamar
alerta de erro javascript
*/


onerror=handleErr;
var txt="";

function handleErr(msg,url,l){
	txt="There was an error on this page.\n\n";
	txt+="Error: " + msg + "\n";
	txt+="URL: " + url + "\n";
	txt+="Line: " + l + "\n\n";
	txt+="Click OK to continue.\n\n";
	alert(txt);
	return true;
}



/*
como chamar
na tag tr d tabela onMouseOver='javascript:MarcaLinha(this)' onMouseOut='javascript:DesmarcaLinha(this)' onde this = objeto
*/

	function MarcaLinha(p_tr){
		p_tr.style.backgroundColor = "#99CCCC"
	}
	function DesmarcaLinha(p_tr){
		p_tr.style.backgroundColor = ""
	}
/*
como chamar
 no campo text onkeypress="FormatarMascara(this, '##:##')" onde this = objeto e ##:## formato hora #####-### formato CEP definido pelo usuario
*/
	
	function FormatarMascara(p_src, p_mas) {
		var v_cam = p_src.value.length;
		var v_sai = p_mas.substring(0,1);
		var v_tex = p_mas.substring(v_cam);
		if(v_tex.substring(0,1) != v_sai) {
			p_src.value += v_tex.substring(0,1);
		}
	}
	
/*
como chamar
 atribuir retorno a valor de uma variável
*/
	function PegaDataAtual(){
		var v_Data=new Date();
		var v_Dia = v_Data.getDate();
		var v_Mes = v_Data.getMonth();
		var v_DataFormatada = ((v_Dia <10) ? "0" : "") + v_Dia;
		v_DataFormatada += ((v_Mes+1 <10) ? "/0" : "/") + (v_Mes+1);
		v_DataFormatada += "/"+v_Data.getFullYear();
		var v_Hora= v_Data.getHours();
		var v_Minutos= v_Data.getMinutes();
		var v_Segundos= v_Data.getSeconds();
		var v_HoraFormatada = ((v_Hora<10) ? "0" : "")+ v_Hora;
		v_HoraFormatada += ((v_Minutos<10) ? ":0" : ":") + v_Minutos;
		v_HoraFormatada += ((v_Segundos<10) ? ":0" : ":") + v_Segundos;
		var v_DataHoraFinal = "" + v_DataFormatada + " " + v_HoraFormatada;
		return v_DataHoraFinal;
	}
	
/*
como chamar
passar data como parametro e atribuir retorno a valor de uma variável
*/
	function FormataDataGravacao(p_data){
		var v_Dia = p_data.substring(0, 2);
		var v_Mes = p_data.substring(3, 5);
		var v_DataFormatada = p_data.substring(6, 10);
		v_DataFormatada += "-"+v_Mes;
		v_DataFormatada += "-"+v_Dia;
		return v_DataFormatada;
	}

	function FormataHoraGravacao(p_hora){
		var v_HoraFormatada = p_hora+":00";
		return v_HoraFormatada;
	}

	function FormataDataExibicao(p_data){
		var v_Ano = p_data.substring(0, 4);
		var v_Mes = p_data.substring(5, 7);
		var v_Dia = p_data.substring(8, 10);
		var v_DataFormatada = v_Dia+"/";
		v_DataFormatada += v_Mes+"/";
		v_DataFormatada += v_Ano;

		return v_DataFormatada;
	}

	function FormataHoraExibicao(p_hora){
		var v_HoraFormatada = p_hora.substring(0, 5);
		return v_HoraFormatada;
	}


/*
como chamar
 envia o campo como parametro
*/
	
	function TiraAcento(vCampo){
		var vTroca_A = "ÁÀÃÂ"
		var vTroca_a = "áàãââ"
		var vTroca_E = "ÉÊËÈ"
		var vTroca_e = "éêëè"
		var vTroca_I = "ÍÌÏÎ"
		var vTroca_i = "íìïî"
		var vTroca_O = "ÓÔÕÒÖ"
		var vTroca_o = "óôõòö"
		var vTroca_U = "ÚÛÙÜ"
		var vTroca_u = "úûùü"
		var vTroca_C = "Ç"
		var vTroca_c = "ç"
		var vTroca_esp = " &%$#@!*´'`^~.;,<>-_+=§ªº°¨(){}[]¹²³£¢¬"
		
		var vPalavraSemAcento
		var vLetra
		for (var i = 0; i < vCampo.value.length; i++) {
			vLetra = vCampo.value.substring(i, i + 1);
			if (vTroca_A.indexOf(vLetra) != "-1") vLetra = "A";
			if (vTroca_a.indexOf(vLetra) != "-1") vLetra = "a";
			if (vTroca_E.indexOf(vLetra) != "-1") vLetra = "E";
			if (vTroca_e.indexOf(vLetra) != "-1") vLetra = "e";
			if (vTroca_I.indexOf(vLetra) != "-1") vLetra = "I";
			if (vTroca_i.indexOf(vLetra) != "-1") vLetra = "i";
			if (vTroca_O.indexOf(vLetra) != "-1") vLetra = "O";
			if (vTroca_o.indexOf(vLetra) != "-1") vLetra = "o";
			if (vTroca_U.indexOf(vLetra) != "-1") vLetra = "U";
			if (vTroca_u.indexOf(vLetra) != "-1") vLetra = "u";
			if (vTroca_C.indexOf(vLetra) != "-1") vLetra = "C";
			if (vTroca_c.indexOf(vLetra) != "-1") vLetra = "c";
			if (vTroca_esp.indexOf(vLetra) != "-1") vLetra = "";
			if (i == 0){
				vPalavraSemAcento = vLetra;
			} else {
				vPalavraSemAcento = vPalavraSemAcento+vLetra;
			}
		}
		return vPalavraSemAcento;
	}

	function ValidaCampo(p_campo, p_tipcam) {
		if (p_tipcam == 'data'){
			var v_val = "0123456789/"
		}
		if (p_tipcam == 'tempo'){
			var v_val = "0123456789:"
		}
		if (p_tipcam == 'inte'){
			var v_val = "0123456789"
		}
		if (p_tipcam == 'dec'){
			var v_val = "0123456789."
		}
		var v_ok = "ok";
		var v_temp;
		for (var i=0; i<p_campo.value.length; i++) {
			v_temp = "" + p_campo.value.substring(i, i+1);
			if (v_val.indexOf(v_temp) == "-1"){
				v_ok = "no";
			}
		}
		if (v_ok == "no"){
			if (p_tipcam == 'data'){
				alert("Neste campo só são permitidos números!");
			}
			if (p_tipcam == 'tempo'){
				alert("Neste campo só são permitidos números!");
			}
			if (p_tipcam == 'inte'){
				alert("Neste campo só são permitidos números!");
			}
			if (p_tipcam == 'dec'){
				alert("Neste campo só são permitidos números ou . (ponto)!");
			}
			p_campo.value = 0;
			p_campo.focus();
			p_campo.select();
	   }
	}
/*
como chamar
evento onclick='SelecionaCheckbox([true false], [document.formID])'
*/

	function SelecionaCheckbox(p_acao, p_form){ 
		var v_ele = p_form.elements; 
		for(i=0; i < v_ele.length; i++){ 
			if(v_ele[i].type == "checkbox"){
				v_ele[i].checked = p_acao;
			}
		} 
	} 
	function SelecionaRadio(p_acao, p_form){ 
		var v_ele = p_form.elements; 
		for(i=0; i < v_ele.length; i++){ 
			if(v_ele[i].type == "radio"){
				v_ele[i].checked = p_acao;
			}
		} 
	} 

	function FormataMoeda(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;
	
	}

	var v_fntini=16;		
	function AlteraFonte(p_varia, p_div) {
		var v_soma = 1;
		v_fntini = (p_varia == '+') ? v_fntini + v_soma : v_fntini - v_soma;
		var v_divinnerHTML = document.getElementById(p_div).innerHTML;
		v_divinnerHTML.replace(/<font([^>]+)>|<\/font>/gi,"");
		document.getElementById(p_div).innerHTML = v_divinnerHTML;
		var v_div = document.getElementById(p_div);
//		for (var i = 0; i < v_div.getElementsByTagName("font").length; i++) {
//			v_div.getElementsByTagName("font")[i].setAttribute('size', '');				
//		}
		for (var i = 0; i < v_div.getElementsByTagName("p").length; i++) {
			v_div.getElementsByTagName("p")[i].style.fontSize = v_fntini+'px';				
		}
//		alert(v_divinnerHTML);
//		var v_divouterHTML = "<div id='"+p_div+"' style='font-size:"+v_fntini+"px'>"+v_divinnerHTML+"</div>";
//		document.getElementById(p_div).outerHTML = v_divouterHTML;
//		v_div.style.fontSize = v_fntini+'em';			
		if (v_fntini > 20) {
			v_fntini = 20;
		} 
		else 
			if (v_fntini < 12) {
				v_fntini = 12;
			}
		return;
	}
	
	function PreparaInsTexArea(){
		Selection = function(input){
			this.isTA = (this.input = input).nodeName.toLowerCase() == "textarea";
		};
		with({o: Selection.prototype}){
			o.setCaret = function(start, end){
				var o = this.input;
				if(Selection.isStandard)
					o.setSelectionRange(start, end);
				else if(Selection.isSupported){
					var t = this.input.createTextRange();
					end -= start + o.value.slice(start + 1, end).split("\n").length - 1;
					start -= o.value.slice(0, start).split("\n").length - 1;
					t.move("character", start), t.moveEnd("character", end), t.select();
				}
			};
			o.getCaret = function(){
				var o = this.input, d = document;
				if(Selection.isStandard)
					return {start: o.selectionStart, end: o.selectionEnd};
				else if(Selection.isSupported){
					var s = (this.input.focus(), d.selection.createRange()), r, start, end, value;
					if(s.parentElement() != o)
						return {start: 0, end: 0};
					if(this.isTA ? (r = s.duplicate()).moveToElementText(o) : r = o.createTextRange(), !this.isTA)
						return r.setEndPoint("EndToStart", s), {start: r.text.length, end: r.text.length + s.text.length};
					for(var $ = "[###]"; (value = o.value).indexOf($) + 1; $ += $);
					r.setEndPoint("StartToEnd", s), r.text = $ + r.text, end = o.value.indexOf($);
					s.text = $, start = o.value.indexOf($);
					if(d.execCommand && d.queryCommandSupported("Undo"))
						for(r = 3; --r; d.execCommand("Undo"));
					return o.value = value, this.setCaret(start, end), {start: start, end: end};
				}
				return {start: 0, end: 0};
			};
			o.getText = function(){
				var o = this.getCaret();
				return this.input.value.slice(o.start, o.end);
			};
			o.setText = function(text){
				var o = this.getCaret(), i = this.input, s = i.value;
				i.value = s.slice(0, o.start) + text + s.slice(o.end);
				this.setCaret(o.start += text.length, o.start);
			};
			new function(){
				var d = document, o = d.createElement("input"), s = Selection;
				s.isStandard = "selectionStart" in o;
				s.isSupported = s.isStandard || (o = d.selection) && !!o.createRange();
			};
		}
		var f = document.forms.formdados;
		var selection = new Selection(f.ClipTex);
		f.setText.onclick = function()
			{
			var s = prompt("Link da imagem:", selection.getText());
			s !== null && selection.setText(' </P><P align=center><BR><IMG src="'+s+'"><BR></P><P align=justify> ');
			f.ClipTex.focus();
			};
	}
