
///////////////////////////////////////
// Repositórios de funções JS do CMS //
///////////////////////////////////////

//modal---------------------------------------
function abreModal(url,largura,altura){
    telaModal = dhtmlmodal.open('Modal', 'iframe', url, 'CMS', 'width='+largura+'px,height='+altura+'px,center=1,resize=0,scrolling=0')
    telaModal.onclose = function() {
        return true;
}
};

//ordem----------------------------------------
function Ordenar(url) {
    var list = document.form.list;

    //já tem valores... var theList = "?ids=";
    var theList;
    if (url.indexOf("?", 0)) {
        theList = "&ids=";
    } else {
        theList = "?ids=";
    }

    for (i = 0; i <= list.options.length-1; i++) {
        theList += list.options[i].value;
        if (i != list.options.length-1) theList += ",";
    }
    //parent.cms_hidden.location.href = url +  theList;
    if (parent.parent.cms_hidden) {
        parent.parent.cms_hidden.location.href = url + theList;
    } else {
        parent.location.href = url + theList;
    }

}

function move(index, to) {
    var list = document.form.list;
    var total = list.options.length-1;

    if (index == -1) return false;
    if (to == +1 && index == total) return false;
    if (to == -1 && index == 0) return false;

    var items = new Array;
    var values = new Array;
    for (i = total; i >= 0; i--) {
        items[i] = list.options[i].text;
        values[i] = list.options[i].value;
    }
    for (i = total; i >= 0; i--) {
        if (index == i) {
            list.options[i + to] = new Option(items[i],values[i + to], 0, 1);
            list.options[i + to].value = values[i];
            list.options[i] = new Option(items[i + to], values[i]);
            list.options[i].value = values[i + to];
            i--;
        }
        else {
            list.options[i] = new Option(items[i], values[i]);
            list.options[i].value = values[i];
        }
    }
    list.focus();
    return true;
}

//validações------------------------------------
function Excluir(url, classe, frm){
    if($('.'+classe+':input:checkbox:checked').size() == 0 ){
        alert('Nenhum item da lista foi selecionado.');
        return false;
    }else{
        exclui = confirm('Tem certeza que deseja excluir o(s) item(ns) selecionado(s)?');
        if(exclui){
            var selecionados = 0;
            $('.'+classe+':input:checkbox:checked').each(function(){
                selecionados = selecionados + ',' + $(this).attr('value');
            });
            frm.action = url + selecionados;
            frm.target = "cms_hidden";
            frm.submit();
        }else{
            return false;
        }
    }
}

function Editar(url, classe, frm){
    if($('.'+classe+':input:checkbox:checked').size() == 0 ){
       alert('Nenhum item da lista foi selecionado.');
       return false;
    }else{
        if($('.'+classe+':input:checkbox:checked').size() > 1 ){
            alert('Somente um item da lista deve ser selecionado.');
            return false;
        }else{
            frm.action = url + $('.'+classe+':input:checkbox:checked').attr('value');
            frm.submit();
        }
    }   
}

/*
function ValidaData(campo) {
    var data = campo.value;
    if (data.replace(/^\s+/g, "").replace(/\s+$/g, "") == "") {
        return true;
    }else
        if (data.length == 10)
            if (!(isNaN(data.substr(0, 2))) && !(isNaN(data.substr(3, 2))) && !(isNaN(data.substr(6, 4))))
                if (data.substr(2, 1) == '/' && data.substr(5, 1) == '/') {
                    var dia = data.substr(0, 2);
                    var mes = data.substr(3, 2);
                    var ano = data.substr(6, 4);
                    mes = mes - 1;  // javascript intervalo mês: 0-11
                    var tempData = new Date(ano, mes, dia);
                    if ((tempData.getFullYear() == ano) && (ano > 1900) && (mes == tempData.getMonth()) && (dia == tempData.getDate()))
                        return true;
            }
            if(ano < 1901)
                alert('Data inválida! Ano tem que ser maior que 1900');
            else
                alert('Data inválida! O formato deve ser dd/mm/aaaa');
            campo.value = '';
            campo.focus();
            return false;
}
*/

function isDate( campo , alias) {
    var msg;
    var str = campo.value;
    erro = true;
    arrMonths = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
    var re = /^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/ig;
    if ( str.match(re) ) {
        aDate = str.split('/');
        day = aDate[0]*1;
        month = aDate[1]*1;
        year = aDate[2]*1;
        if (isLeap(year)) arrMonths[2] = 29;
            if ( (day > 0) && (day <= arrMonths[month]) && (month > 0) && ( month < 13) )
                erro = false;
    }else
        if ( !str )
            erro = false;
    if (erro) {
       alert('O campo '+ alias +' deve conter uma data no formato DD/MM/AAAA');
       campo.value = '';
       campo.focus();
    }
    return !erro;
}

function isTime(campo, alias){
    erro = true;
    var msg;
    var hour = campo.value;
    if ( campo.value ) {
        if(hour.indexOf(":")) {
            arrParts = hour.split(":")
            if(arrParts.length == 2){
                hora = (arrParts[0]*1);
                mins = ('0'+ arrParts[1]*1);
                if(!(isNaN(hora)) && !(isNaN(mins))){
                    if((hora<24)&&(hora>=0)) {
                        if( (mins<60) && (mins>=0) ){
                            erro = false;
                            campo.value = right('00'+ hora, 2) +':'+ right('00'+ mins, 2);
                        }
                    }
                }
            }
        }
    } else {
        erro = false;
    }
    if (erro) {
        alert("O campo Hora '"+ alias +"' deve conter um horário válido! (HH:MM)");
        campo.value = '';
        campo.focus();
    }
    return !erro;
}

//antiga forma de validar (ainda está sendo utilizada pelos forms)
/*
function validaExcluir(frm, url) {
    var exclui;
    if (contaCheck(frm)==0) {
        alert('Não há item selecionado.');
        return false;
    }

    exclui = confirm('Tem certeza que deseja excluir o(s) item(ns) selecionado(s)?');

    if (exclui)	{
        frm.target = "cms_hidden";
        frm.action = url;
        frm.submit();
        return true;
    }
    else {
        return false;
    }
}

function validaEditar(frm, url) {
    if (contaCheck(frm)!=1) {
        alert ('Selecione um item para editar!');
        return false;
    }
    frm.action = url;
    frm.submit();
    return true;
}

function contaCheck(frm) {
    var total = 0;
    for (i=0;i<frm.elements.length;i++){
        if(frm.elements[i].type == "checkbox" && (
            frm.elements[i].name == "item" ||
            frm.elements[i].name == "item1" ||
            frm.elements[i].name == "item2" ||
            frm.elements[i].name == "item3" ||
            frm.elements[i].name == "item4" ||
            frm.elements[i].name == "item5" ||
            frm.elements[i].name == "conteudo" ||
            frm.elements[i].name == "item[]")){

            if (frm.elements[i].checked == true){
                total += 1;
            }
        }
    }
    return total;
}

function contaCheck2(frm) {
    var total = 0;
    for (i=0;i<frm.elements.length;i++)
        if(frm.elements[i].type == "checkbox" && frm.elements[i].name != "item")// || frm.elements[i].name != "item1" || frm.elements[i].name != "item2" || frm.elements[i].name != "item3" || frm.elements[i].name != "item4" || frm.elements[i].name != "item5"))
            if (frm.elements[i].checked == true)
                total += 1;
    return total;
}

function relacionarConteudos(frm, url) {
    var exclui;
    var jachecados = document.getElementById("jachecados");
    if (contaCheck(frm)==0 && contaCheck2(frm)==0) {
        if (jachecados) {
            if (jachecados.value > 0) {
                exclui = confirm('Tem certeza que deseja excluir todos os relacionamentos?');
            } else {
                alert('Não há item selecionado!');
                return false;
            }
        } else {
            alert('Não há item selecionado!');
            return false;
        }
    } else {
        exclui = confirm('Tem certeza que deseja relacionar o(s) conteúdo(s)?');
    }


    if (exclui)	{
        frm.target = "cms_hidden";
        frm.action = url;
        frm.submit();
        return true;
    }
    else {
        return false;
    }
}
*/

//mover-----------------------------------------
function moverConteudos(frm, url) {
    var conteudoAtual = document.getElementById("conteudo_atual").value;
    var conteudoSelecionado;
    var i;
    var moveconteudo;
    //var varAux = 0;

    for(i=0;i<document.all.conteudo.length;i++){
        if(document.all.conteudo[i].checked)
            conteudoSelecionado = document.all.conteudo[i].value;
    
    }

    if (conteudoAtual == conteudoSelecionado){
        alert('O conteúdo selecionado deve ser diferente da origem!');
        return false;
    }else{
        moveconteudo = confirm('Tem certeza que deseja mover o conteúdo?');
        if (moveconteudo){
            frm.target = "cms_hidden";
            frm.action = url;
            frm.submit();
            return true;
        }else{
            return false;
        }
    }
}

//anexos----------------------------------------
function addItem(total) {
    if (document.frm.NumArq.value <= total) {
        //var html = "";
        var obj = document.getElementById("arq" + (parseInt(document.frm.NumArq.value) + 0));
        document.frm.NumArq.value = parseInt(document.frm.NumArq.value) + 1;
        if (document.frm.NumArq.value > 1) obj.style.display = "";
    }else
        alert ("É permitido o envio de 5 anexos por vez.");
    if (document.frm.NumArq.value == 1)
        document.getElementById("remAnexo").style.visibility = 'hidden';
    else
        document.getElementById("remAnexo").style.visibility = 'visible';
}

function removeItem() {
    if (document.frm.NumArq.value >= 1) {
        var obj1 = MM_findObj("anexo" + document.frm.NumArq.value);
        var clean = false;
        if (obj1) {
            clean = true;
        }
        if (clean) {
            var obj = MM_findObj("arq" + (parseInt(document.frm.NumArq.value) - 1));
            obj.style.display = "none";
            document.frm.NumArq.value = parseInt(document.frm.NumArq.value) - 1;
        }
        if (document.frm.NumArq.value == 1)
            document.getElementById("remAnexo").style.visibility = 'hidden';
    }
}

//function MM_findObj(n, d) { //v4.0
//    var p,i,x;
//    if(!d) {
//        d=document;
//    }
//    if ( document.getElementById ) {
//        x = document.getElementById(n);
//        return x;
//    }
//    if( ( p = n.indexOf("?")) > 0 && parent.frames.length) {
//        d = parent.frames[n.substring(p+1)].document;
//        n = n.substring(0,p);
//    }
//    if ( !(x=d[n])&&d.all ) {
//        x = d.all[n];
//    }
//    for (i=0; !x && i < d.forms.length; i++) {
//        x = d.forms[i][n];
//    }
//    for ( i=0; !x && d.layers && i < d.layers.length; i++ ) {
//        x = MM_findObj(n,d.layers[i].document);
//    }
//}

function gravaCookie(cookieName, value) {
  var today = new Date()
  var expires = new Date()
  expires.setTime(today.getTime() + 24*365*3600000) // valid for 1 year
  document.cookie=cookieName+"="+value+"; " + " expires=" + expires.toGMTString();
}

function pegaCookie(cookieName){
    var arg = cookieName+"=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i=0;
    while(i < clen){
        var j = i + alen;
        if (document.cookie.substring(i,j) == arg)
            return pegaCookieVal(j);
        i = document.cookie.indexOf(" ",i)+1;
        if (i==0) break;
    }
    return "";
}

function pegaCookieVal(offset){
    var endstr = document.cookie.indexOf(";",offset);
    if (endstr == -1)
        endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset,endstr));
}

/************************************************************************************************
*  aceita apenas valores numericos. deve ser usada em onkeypress								*
*  Autor: Carlos Eduardo Maciel																	*
*  Data/Hora: 29/08/2003 - 10:32																*
************************************************************************************************/
function stripNaN(object, event) {
    return stripNaN(event);
}

function stripNaN(event) {
	var isNS4 = (navigator.appName=="Netscape") ? 1 : 0;
	if ( !isNS4 ) {
		event = window.event;
		if ( event.keyCode <= 47 || event.keyCode > 57) {
			event.returnValue = false;
		}
	} else {
		if ( event.which < 45 || event.which > 57) {
			return false;
		}
	}
    return true;
}


function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

