// JavaScript Document
function enhancetextarea(classname){
var alltextareas=document.getElementsByTagName("textarea")
var docurl=window.location.href
var codecontainercount=0
for (var i=0; i<alltextareas.length; i++){
if (docurl.indexOf("csslibrary")!=-1 && alltextareas[i].className=="codecontainer"){
var curtextarea=alltextareas[i]
codecontainercount++
//Top credit comment
if (codecontainercount==1 && curtextarea.value.indexOf("Credits:")==-1 && curtextarea.value.indexOf("<link")==-1 && window.XMLHttpRequest){ //Credit Notice
curtextarea.value='<style type="text/css">\n\n'+'/*Credits: Dynamic Drive CSS Library */\n/*URL: http://www.dynamicdrive.com/style/ */'+curtextarea.value.replace('<style type="text/css">', '')
}

var helperbar=document.createElement("div")
helperbar.innerHTML='<div class="selectcode"><a href="#selectcode" class="tabs">Select Code</a> <a href="#expandcode" class="tabs">Expand</a></div>'
var helperbarlinks=helperbar.getElementsByTagName("a")
if (curtextarea.offsetHeight>=curtextarea.scrollHeight){
helperbarlinks[1].style.display="none"
curtextarea.style.overflowY="hidden"
}

helperbarlinks[0].setAttribute("rel", i)

helperbarlinks[0].onclick=function(){
var targettextarea=document.getElementsByTagName("textarea")[parseInt(this.rel)]
targettextarea.select()
return false
}

helperbarlinks[1].setAttribute("rel", i)
helperbarlinks[1].setAttribute("rev", curtextarea.offsetHeight+" defaultHeight")

helperbarlinks[1].onclick=function(){
var targettextarea=document.getElementsByTagName("textarea")[parseInt(this.rel)]
if (this.getAttribute("rev").indexOf("defaultHeight")!=-1){// if textarea is default height
targettextarea.style.height=targettextarea.scrollHeight+"px"
this.innerHTML="Contract"
targettextarea.style.overflowY="hidden"
targettextarea.style.borderStyle="solid"
this.setAttribute("rev", this.getAttribute("rev").replace("defaultHeight", "scrollHeight"))
if (this.scrollIntoView)
this.scrollIntoView()
return false
}
else{
targettextarea.style.height=parseInt(this.getAttribute("rev"))+"px"
this.innerHTML="Expand"
targettextarea.style.overflowY="scroll"
targettextarea.style.borderStyle="dashed"
this.setAttribute("rev", this.getAttribute("rev").replace("scrollHeight", "defaultHeight"))
}
return false
}
curtextarea.style.marginTop=0
curtextarea.parentNode.insertBefore(helperbar, alltextareas[i])
}
}
}

window.onload=function(){
enhancetextarea()
}

function ddbookmarkit(id){
var codetitle=document.getElementById("csscodetitle").innerHTML+" (CSS code)"
if (id=="deli")
window.open('http://del.icio.us/post?&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(codetitle))
else if (id=="furl")
window.open('http://www.furl.net/storeIt.jsp?u='+encodeURIComponent(location.href)+'&t='+encodeURIComponent(codetitle))
else if (id=="digg")
window.open('http://www.digg.com/submit?phase=2&url='+encodeURIComponent(location.href))
return false
}

function html2entities(){
var re=/[(<>"'&]/g
for (var i=0; i<arguments.length; i++)
arguments[i].value=arguments[i].value.replace(re, function(m){return replacechar(m)})
}

function replacechar(match){
if (match=="<")
return ""
else if (match==">")
return ""
}


function validarEmail(campo) {    
	function validarPontos(inicio,campoTratar){
		posicao = inicio;
		stringAtual = campoTratar.value.substr(posicao);
		primeiraVez = true;
		checado = false
		while (!checado){
			if(primeiraVez) {
				if(stringAtual.indexOf(".")<1){
					return false;
				} else {
					novaPosicao = stringAtual.indexOf(".")+1;
					if (stringAtual.substr(stringAtual.indexOf(".")+1,1)==""){
						return false;
					} else {
						novaString = stringAtual.substr(novaPosicao);
					}
				}
				primeiraVez=false;
			} else {
				if(stringAtual.indexOf(".")<1){
					checado=true;
				} else {
					novaPosicao = stringAtual.indexOf(".")+1;
					if (stringAtual.substr(stringAtual.indexOf(".")+1,1)==""){
						return false;
					} else {
						novaString = stringAtual.substr(novaPosicao);
					}
				}

			}
			posicao = novaPosicao;
			stringAtual = novaString
		}

		return true;
	}
	prim = campo.value.indexOf("@");
	retorno = true;

	if(prim < 1) {
		retorno = false;
	}
	if(campo.value.indexOf("@",prim + 1) != -1) {
		retorno = false;
	} else {
		if(campo.value.substr(campo.value.indexOf("@")+1).indexOf(".")<1){
			retorno = false;
		}
	 }
	if(campo.value.indexOf(".") < 1) {
		retorno = false;
	} else {
		if(!validarPontos(campo.value.indexOf("@")+1,campo)){
			retorno = false;
		}
	}
	if(campo.value.indexOf(" ") != -1) {
		retorno = false;
	}
	if(campo.value.indexOf(".@") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("@.") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("/") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("[") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("]") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("(") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf(")") > 0) {
		retorno = false;
	}
	if(campo.value.indexOf("..") > 0) {
		retorno = false;
	}
	if(retorno == false){
		alert('E-mail informado inválido! Por favor, especifique um E-mail válido.');
		campo.focus();
		return false;
	}else{
		return true;
	}
}

function formatarCpf(campo, evento){
	var codTecla;
	var tamanho;
	if( document.all ) { // Internet Explorer
	codTecla = evento.keyCode;
	} else if( document.layers ) { // Netscape
	codTecla = evento.which;
	}
	else if( evento ) { // Firefox
        codTecla = evento.which;
    }
	tamanho = campo.value.length;
	if( (codTecla > 47 && codTecla < 58)  || codTecla== 8 || codTecla == 0){
		if(tamanho < 14 ){
			if( tamanho == 3 && codTecla != 8 && codTecla != 0){
				campo.value = campo.value + ".";
			}else if( tamanho == 7 && codTecla != 8 && codTecla != 0){
				campo.value = campo.value + ".";
			}else if( tamanho == 11 && codTecla != 8 && codTecla != 0){
				campo.value = campo.value + "-";
			}
		}else{
			evento.returnValue = false;
		}
		return true;
	} else {
		return false;
	}
	return false;
}

function validarCpf(campo,nome){    
	cpf = campo.value;
	//cpf = replaceAll(cpf,".","");
	//cpf = replaceAll(cpf,"-","");
	retorno = true;
        msg = "";
	if(cpf.length > 0){
		cpfstr= '';
		temp = cpf + '';

		cpfstr = temp.substring(0,3);
		cpfstr = cpfstr + temp.substring(3,6);
		cpfstr = cpfstr + temp.substring(6,9);
		cpfstr = cpfstr + temp.substring(9,11);

		retorno = false;
		if(cpf != null){
                    soma = 0;
                    digito1 = 0;
                    digito2 = 0;
                    for(i = 0; i < 9; i = i + 1) {
                            soma = soma + ((parseInt(cpf.substring(i,i+1)))*(11-(i+1)));
                    }
                    soma = soma % 11;
                    if (soma == 0 || soma == 1) {
                            digito1 = 0;
                    } else {
                            digito1 = 11 - soma;
                    }
                    soma = 0;

                    for(i = 0; i < 9; i = i + 1) {
                            soma = soma + ((parseInt(cpf.substring(i,i+1)))*(12-(i+1)));
                    }
                    soma = soma + (digito1*2);
                    soma = soma % 11;
                    if (soma == 0 || soma == 1) {
                            digito2 = 0;
                    }
                    else{
                            digito2 = 11 - soma;
                    }
                    digito = digito1 +''+ digito2;

                    if(digito == (cpfstr.substring(9,11))){
                            retorno = true;
                    } else{
                            retorno = false;
                            msg = 'O Número de CPF informado no campo "' + nome + '" é inválido! Por favor, informe um número de CPF válido!';

                    }
		} else {
			retorno = false;
                        msg = "Por favor, informe um número de CPF válido!";
		}
	}else{
		retorno = false;
                msg = "Por favor, informe um número de CPF válido!";
	}
	if(!retorno) {                
		alert(msg);
		campo.value = '';
		campo.focus();
	}
	return retorno;
}

function validarCampoObrigatorio(campo,nome){
    if (campo.value.length == 0){
        alert('Por favor, especifique o campo \"' + nome + '\".');
        campo.focus();
        return false;
    }
    return true;
//
//    retorno = false;
//    if(!campo.value.length > 0){
//        alert('O campo"' + nome + '" é obrigatório!');
//        campo.value = '';
//        campo.focus();
//    }else{
//        retorno = true;
//    }
//
//    return retorno;
}

function validarSenha(campoSenha, nomeSenha, campoConfirmarSenha, nomeConfirmarSenha, tamanhoMinimo)
{
	if((campoSenha.value.length < tamanhoMinimo)){
		alert('Por favor, especifique o campo \"' + nomeSenha);
		campoSenha.value = "";
		campoConfirmarSenha.value = "";
		campoSenha.focus();
		return false;
	}

	if(!validarCampoObrigatorio(campoConfirmarSenha,nomeConfirmarSenha)){return false;}

	if(campoSenha.value != campoConfirmarSenha.value){
		alert('O valor do campo \"' + nomeConfirmarSenha + '\" não coincide com o valor do campo \"' + nomeSenha + '\". Por favor, especifique os campos com o mesmo valor.');
		campoSenha.value = "";
		campoConfirmarSenha.value = "";
		campoSenha.focus();
		return false;
	}
	return true;
}
