// FUNCOES DOM
function addEvent(obj,type,fn){
	if(obj.addEventListener)obj.addEventListener(type,fn,true)
	if(obj.attachEvent)obj.attachEvent("on"+type,fn)
}
function getSource(e){
	if(typeof e=="undefined")e=window.event
	return e.target?e.target:e.srcElement
}
// FUNCOES DIVERSAS
function carrega_site(usuario) {
	document.frmcarrega_site.usuario.value = usuario;
	document.frmcarrega_site.submit();
}
function carrega_email(usuario) {
	document.frmcarrega_email.usuario.value = usuario;
	document.frmcarrega_email.submit();
}
function carrega_servico_email(login, cod_provisioning) {
	window.location = "/carrega_servico_email.asp?nServicoEmail=" + cod_provisioning;
}
function createSortableServices() {
	Sortable.create("servicos", {handle:"titulo_servico", format:/^[^#]*#(.*)$/, onChange:changeOrder, onUpdate:updateOrder});
	var obj = $('servicos');
	var moveTitulo = obj.getElementsByTagName("SPAN") ? obj.getElementsByTagName("SPAN") : obj.getElementsByTagName("span");
	if (moveTitulo.length > 1) {
		for (var x=0; x<moveTitulo.length; x++) {
			if (moveTitulo[x].className == "titulo_servico") {
				addEvent(moveTitulo[x], "mousedown", function(e){var o=getSource(e); o.style.cursor="move";});
				addEvent(moveTitulo[x], "mouseup", function(e){var o=getSource(e); o.style.cursor="auto";});		
			}
		}
	}
}
// Funcao Mover - Legenda de icones
function floatObj(obj,x,y,delay) {
	var resol = screen.width;
	if (resol > 800){
		var obj = "legenda_icones";
		var x = 745;
		if ($('barra')!= null){
			var y = $('barra').scrollHeight + 10;
		}else{
			var y = 5;
		}
		var delay = 10;
		var startX = x;
		startY = y ;
		function getObjXY(id) {
			var el = $(id);
			el.sP = function(x,y){this.style.left=x;this.style.top=y;};
			el.x = startX;
			el.y = startY;
			return el;
		}
		window.setObjXY = function() {
			var positionY = document.body.scrollTop;
			fltObj.y += (positionY + startY - fltObj.y)/8;
			fltObj.sP(fltObj.x, fltObj.y);
			setTimeout("setObjXY()",delay);
		}
		fltObj = getObjXY(obj);
		setObjXY();
		setTimeout(function(){$(obj).style.display='';},20);
	}else{
		var obj = "legenda_icones_800";
		$(obj).style.display='';		
	}
}
// Funcao para quebra de linha
function wordWrap(){
 var larg_total,larg_carac,quant_quebra,pos_quebra;
 var elementos,quem, caracs, texto, display_orig;     
 elementos = document.getElementsByTagName("p")     
 for(var i=0; i<elementos.length;i++){
	 if(elementos[i].className=="word-wrap"){
		 quem = elementos[i];
		 quem.innerHTML = String(quem.innerHTML).replace(/ /g,"Ø")
		 texto = String(quem.innerHTML)             
		 quem.innerHTML = " "             
		 display_orig = quem.style.display;
		 quem.style.display="block";
		 larg_oficial = quem.offsetWidth;
		 if(!document.all) quem.style.display="table";
		 quem.innerHTML = texto;
		 larg_total = quem.offsetWidth;          
		 pos_quebra = 0;
		 caracs = texto.length;
		 texto = texto.replace(/Ø/g," ")
		 larg_carac = larg_total / caracs
		 if(larg_total>larg_oficial){
			 quant_quebra = parseInt(larg_oficial/larg_carac)
			 quant_quebra = quant_quebra - (parseInt(quant_quebra/6))
			 quem.innerHTML = ""
			 while(pos_quebra<=caracs){
				 quem.innerHTML = quem.innerHTML + texto.substring(pos_quebra,pos_quebra + quant_quebra) + " "
				 pos_quebra = pos_quebra + quant_quebra;
			 }
		 }else{
			 quem.innerHTML = texto;
		 }
		 quem.style.display = display_orig;
	 }
 }
}
//Acrescenta o tamanho da barra de servicos
addEvent(window,"load",floatObj);
addEvent(window,"load",wordWrap);

function verifica_quantidade(campo,nmin,nmax){
	if(nmax == 99){
		nmax = 150;
	}
	if (campo.value.length < nmin | campo.value.length > nmax){
		alert('O campo '+ replaceSubstring(campo.name.substring(12), '_',  ' ')+' deve conter no mínimo '+nmin+' e no máximo '+nmax+' caracteres !!');
		campo.focus();
		return false;
	}
	return true;
}

function valida_alteracao_senha(campo) {

	if (campo.value.length != 0){
		//se a quantidade de caracteres estiver fora do estabelecido retornar false
		var nmin = 10;
		var nmax = 14;
		if (verifica_quantidade(campo,nmin,nmax) == false){
			return false;
		}
	}
	
	if (campo.value.length != 0){

		if (!/^[a-zA-Z]{1}[\w\@\%\*\-\.\/\:]{0,250}$/.test(campo.value)) {
			alert('A senha possui caracteres inválidos, ou não foi iniciada com uma letra !!');
			campo.focus();
			return false;
		}
		var i; 
		var num = 0, carac = 0;
		for (i = 0; i < campo.value.length; i++)
		 {
			var c = campo.value.charAt(i);
			// ha um numero
			if (((c >= "0") && (c <= "9")))
			{
				num++;
			}
			if (((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")))
			{
				carac++;
			}
		}
		if (num < 4 || carac == 0) {
			alert("A senha deve conter letras e números (mínimo 4 números) !!"); 
			campo.focus();	
			return false;		
		 }
		if (/(1234|4321)/.test(campo.value)){
			alert("A senha não pode conter os seqüenciais 1234 ou 4321!!");
			campo.focus();
			return false;
		}
		s = campo.value
		hoje = new Date()
		ano = hoje.getYear()
		ano = ano + 1900
		for (f=-2; f<=2; f++){
			n = s.indexOf(ano + f,0)
			if (n > -1){
				alert('Não é permitido colocar o ano como senha !');
				campo.focus();
				return false;
			}
		}
	}
    return true;
}
