function String2Url(os)
{
    var ns='';
    var t;
    var chr='';
    var cc='';
    var tn='';

    for(i=0;i<256;i++)
    {
        tn=i.toString(16);
        if(tn.length<2)
            tn="0"+tn;
        cc+=tn;
        chr+=unescape('%'+tn);
    }
    cc=cc.toUpperCase();
    os.replace(String.fromCharCode(13)+'',"%13");
    for(q=0;q<os.length;q++){
        t=os.substr(q,1);
        for(i=0;i<chr.length;i++){
            if(t==chr.substr(i,1)){
                t=t.replace(chr.substr(i,1),"%"+cc.substr(i*2,2));
                i=chr.length;
            }
        }
        ns+=t;
    }
    return ns;
}

/**
* Função para trocar a imagem quando o cliente estiver na página externa da loja
*/
function setImage(thumbName, src) 
{
	var tmpImg;
		
	//inibir a troca se estiver exibindo a imagem de desabilitado
	if(document.img1.src.substr(document.img1.src.length - 18, 18) != 'img_1_disabled.gif')
		document.img1.src = 'imagens/img_1.gif';
	if(document.img2.src.substr(document.img2.src.length - 18, 18) != 'img_2_disabled.gif')
		document.img2.src = 'imagens/img_2.gif';
	if(document.img3.src.substr(document.img3.src.length - 18, 18) != 'img_3_disabled.gif')
		document.img3.src = 'imagens/img_3.gif';
		
	tmpImg = thumbName.src;
	tmpImg = tmpImg.substr(0, tmpImg.length - 4) + '_selected.gif';
	thumbName.src = tmpImg;
	document.mainImg.src = 'painel/imagens/produtos/' + src;
}

/**
*  Ao dar enter chama a função do filtro da página
*/
function EnterFiltro(e, nomeFuncao)
{
	var digitado = (window.Event) ? e.which : e.keyCode;
    if (digitado == 13) //enter
		eval(nomeFuncao + "();");
}

/**
*  Vai para uma página específica
*/
function IrPagina(pagina)
{
	document.location.href = pagina;
}
/**
*  Altera o texto para maiuscula chamada: onkeypress="return(Maiuscula(this,event));"
*/
function Maiuscula(Campo,e, tamanho)
{
	var digitado = (window.Event) ? e.which : e.keyCode;
	var carateres = 'abcdefghijklmnopqrstuvywzx';
	var tecla;
	var caps;
	
	tecla = '';
	caps = ''
	
    if (digitado == 13 || digitado == 8 || digitado == 0)
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
	tecla = String.fromCharCode(digitado);
	len = Campo.value.length;
	if(tamanho >0)
	{
		if(len>=tamanho)
			return false;    //impede de digitar um telefone maior que 10
		else
		{
			if (carateres.indexOf(tecla) > -1)
			{
				Campo.value += tecla.toUpperCase();
				return false;
			} 
			return true;
		}
	}
}
/**
*  Altera o texto para minuscula chamada: onkeypress="return(Minuscula(this,event));"
*/
function Minuscula(Campo,e)
{
	var digitado = (window.Event) ? e.which : e.keyCode;
	var carateres = 'ABCDEFGHIJKLMNOPQRSTUVYWZX';
	var tecla;
	var caps;
	
	tecla = '';
	caps = ''
	
	tecla = String.fromCharCode(digitado);
	if (carateres.indexOf(tecla) > -1)
	{
	Campo.value += tecla.toLowerCase();
	return false;
	} 
	return true;
}
/**
* para chamar a janela de imprimir algum relatorio 
* página, tamanho x, tamanho y
*/
function Imprimir()
{
	window.print();
}

/**
*  função que permite o usuário clicar em submit apenas uma vez, desabilita todos os botões da tela
*/
function submitonce(theform)
{
	//if IE 4+ or NS 6+
	if (document.all||document.getElementById)
	{
		//screen thru every element in the form, and hunt down "submit" and "reset"
		for (i=0;i<theform.length;i++)
		{
			var tempobj=theform.elements[i];

			if(tempobj.type.toLowerCase() == "gravar" || tempobj.type.toLowerCase() == "novo")
			//disable em
			tempobj.disabled=true
		}
	}
}



//funçõs dos layers
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

//onKeyPress="return(validaCaracterNumero(this,event))" 
function validaCaracterNumero(Campo, e) {
    var key = '';
    var len = 0;
    var strCheck = '0123456789';
    var aux = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13 || whichCode == 8 || whichCode == 0)
    {
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
    }
    key = String.fromCharCode(whichCode);
    if (strCheck.indexOf(key) == -1){
        return false;  //NÃO E VALIDO
    }

    aux =  Telefone_Remove_Format(Campo.value);

    len = aux.length;
    if(len>=8)
    {
        return false;    //impede de digitar um telefone maior que 10
    }
    aux += key;

    return aux;

}
/**
* permite a digitação de qualquer numero e virgula bloqueando os demais caracteres
*/
function validaCaracterNumeroVirgula(Campo, e) {
    var key = '';
    var len = 0;
    var strCheck = '0123456789,';
    var aux = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
	var qtdVirgula=0;
	
    if (whichCode == 13 || whichCode == 8 || whichCode == 0)
    {
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
    }
	key = String.fromCharCode(whichCode);
    if (strCheck.indexOf(key) == -1)
	{
        return false;  //NÃO E VALIDO
    }
    aux =  NumeroVirgula(Campo.value);
    aux += key;
    return aux;

}
/**
* função utilizada pela função ValidaCaractereVirgula
*/
function  NumeroVirgula(numero)
{
    var strCheck = '0123456789,';
    var len = i = aux = '';

    len = numero.length;
    for(i = 0; i < len; i++)
    {	
        if (strCheck.indexOf(numero.charAt(i))!=-1)
        {
            aux += numero.charAt(i);
        }
	}
    return aux;
}

function limpa_string(S) // Deixa so os digitos no numero
{
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";
	for (var i=0; i<S.length; i++)
	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)
		{
			temp=temp+digito
		}
	}
//	if(temp.length == 0)
//		return ' ';
//	else
		return temp
}
function validar_num(campo)
{
nome=campo.name
num = limpa_string(campo.value);
if(num.length == 0)
	campo.value = " ";
else
	campo.value = num;
}
function TelefoneFormat(Campo, e) {
    var key = '';
    var len = 0;
    var strCheck = '0123456789';
    var aux = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13 || whichCode == 8 || whichCode == 0)
    {
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
    }
    key = String.fromCharCode(whichCode);
    if (strCheck.indexOf(key) == -1){
        return false;  //NÃO E VALIDO
    }

    aux =  Telefone_Remove_Format(Campo.value);

    len = aux.length;
    if(len>=10)
    {
        return false;    //impede de digitar um telefone maior que 10
    }
    aux += key;

    Campo.value = Telefone_Mont_Format(aux);
    return false;
}

function  Telefone_Mont_Format(Telefone)
{
    var aux = len = '';

    len = Telefone.length;
    if(len<=9)
    {
        tmp = 5;
    }
    else
    {
        tmp = 6;
    }

    aux = '';
    for(i = 0; i < len; i++)
    {
        if(i==0)
        {
            aux = '(';
        }
        aux += Telefone.charAt(i);
        if(i+1==2)
        {
            aux += ') ';
        }

        if(i+1==tmp)
        {
            aux += '-';
        }
    }
    return aux ;
}

function  Telefone_Remove_Format(Telefone)
{
    var strCheck = '0123456789';
    var len = i = aux = '';
    len = Telefone.length;
    for(i = 0; i < len; i++)
    {
        if (strCheck.indexOf(Telefone.charAt(i))!=-1)
        {
            aux += Telefone.charAt(i);
        }
    }
    return aux;
}

function CpfFormat(Campo, e) {
    var key = '';
    var len = 0;
    var strCheck = '0123456789';
    var aux = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13 || whichCode == 8 || whichCode == 0)
    {
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
    }
    key = String.fromCharCode(whichCode);
    if (strCheck.indexOf(key) == -1){
        return false;  //NÃO E VALIDO
    }

    aux =  Telefone_Remove_Format(Campo.value);

    len = aux.length;
    if(len>=11)
    {
        return false;    //impede de digitar um telefone maior que 10
    }
    aux += key;

    Campo.value = Cpf_Mont_Format(aux);
    return false;
}

function  Cpf_Mont_Format(CPF)
{
    var aux = len = '';

    len = CPF.length;
    if(len<=14)
    {
        tmp = 5;
    }
    else
    {
        tmp = 6;
    }

    aux = '';

    for(i = 0; i < len; i++)
    {
        aux += CPF.charAt(i);

        if(i==2)
            aux += '.';
        else if(i==5)
            aux += '.';
        else if(i==8)
            aux += '-';
    }
    return aux ;
}

function RgFormat(Campo, e) {
    var key = '';
    var len = 0;
    var strCheck = '0123456789';
    var aux = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13 || whichCode == 8 || whichCode == 0)
    {
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
    }
    key = String.fromCharCode(whichCode);
    if (strCheck.indexOf(key) == -1){
        return false;  //NÃO E VALIDO
    }

    aux =  Telefone_Remove_Format(Campo.value);

    len = aux.length;
    if(len>=8)
    {
        return false;    //impede de digitar um telefone maior que 10
    }
    aux += key;

    Campo.value = Rg_Mont_Format(aux);
    return false;
}

function  Rg_Mont_Format(CPF)
{
    var aux = len = '';

    len = CPF.length;
    if(len<=14)
    {
        tmp = 5;
    }
    else
    {
        tmp = 6;
    }

    aux = '';

    for(i = 0; i < len; i++)
    {
        aux += CPF.charAt(i);

        if(i==0)
            aux += '.';
        else if(i==3)
            aux += '.';
        else if(i==6)
            aux += '-';
    }
    return aux ;
}

function CnpjFormat(Campo, e) {
    var key = '';
    var len = 0;
    var strCheck = '0123456789';
    var aux = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13 || whichCode == 8 || whichCode == 0)
    {
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
    }
    key = String.fromCharCode(whichCode);
    if (strCheck.indexOf(key) == -1){
        return false;  //NÃO E VALIDO
    }

    aux =  Telefone_Remove_Format(Campo.value);

    len = aux.length;
    if(len>=14)
    {
        return false;    //impede de digitar um telefone maior que 10
    }
    aux += key;

    Campo.value = Cnpj_Mont_Format(aux);
    return false;
}

function  Cnpj_Mont_Format(CPF)
{
    var aux = len = '';

    len = CPF.length;

    if(len<=17)
    {
        tmp = 5;
    }
    else
    {
        tmp = 6;
    }

    aux = '';

    for(i = 0; i < len; i++)
    {
        aux += CPF.charAt(i);

        if(i==1)
            aux += '.';
        else if(i==4)
            aux += '.';
        else if(i==7)
            aux += '/';
        else if(i==11)
            aux += '-';
    }
    return aux ;
}

function DataFormata(Campo, e) {
    var key = '';
    var len = 0;
    var strCheck = '0123456789';
    var aux = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13 || whichCode == 8 || whichCode == 0)
    {
        return true;  // Enter backspace ou FN qualquer um que não seja alfa numerico
    }
    key = String.fromCharCode(whichCode);
    if (strCheck.indexOf(key) == -1){
        return false;  //NÃO E VALIDO
    }

    aux =  Data_Remove_Format(Campo.value);

    len = aux.length;
    if(len>=8)
    {
        return false;    //impede de digitar um telefone maior que 10
    }
    aux += key;

    Campo.value = Data_Mont_Format(aux);
    return false;
}

function  Data_Mont_Format(Data)
{
    var aux = len = '';

    len = Data.length;

    aux = '';
    for(i = 0; i < len; i++)
    {
		if(i==2 || i==4)
        {
            aux += '/';
        }
        aux += Data.charAt(i);
    }
    return aux ;
}

function  Data_Remove_Format(Data)
{
    var strCheck = '0123456789';
    var len = i = aux = '';
    len = Data.length;
    for(i = 0; i < len; i++)
    {
        if (strCheck.indexOf(Data.charAt(i))!=-1)
        {
            aux += Data.charAt(i);
        }
    }
    return aux;
}
/**
* funão que valida uma determinada data
*/
function ValidaData(campo)
{
	s = campo.value;

	if(s != "")
	{
		dd=s.substr(0,2);
		mm=s.substr(3,2);
		yy=s.substr(5,2);
		if(!Valid_Date(dd,mm,yy))
		{
			alert("Please fill in a valid date (dd/mm/yyyy)!");
			campo.value = "";
			return false;
		}
		else
			return true;
	}
	else
		return true;
}
/**
*  se for uma data válida retorna true, senão false
*  esa função é utilizada pela função acima
*/
function Valid_Date(dd,mm,yy)
{
    z=false;
	xx=yy;
	if (dd >= 1 && dd <= 31)
	{
		if (mm == 2 || mm == 4 || mm == 6 || mm == 9 || mm == 11)
		{
			if (dd <= 30)
			{
				if (mm == 2)
				{
					if (dd <= 28)
					{
						z=true;
					}
					else
					{
						if (dd == 29)
						{
							bb=xx%4;    // 4 by 4
							if (bb == 0)
							{
								cc=xx%100;    // 100 by 100
								if (cc == 0)
								{
									qq=xx%400;    // 400 by 400
									if (qq == 0)
									{
										z=true;
									};
								}
								else
								{
									z=true;
								};
							};
						};
					};
				}
				else
				{
					z=true;
				};
			};
		}
		else
		{
			if (mm >= 1 && mm <= 12) { z=true; };
		};
	};
    ii=200;        // inner parameter
    if (xx < 1600 || xx > 2400 || xx < 2005 - ii || xx > 2005 + ii) { z=false; };
    return z;
};
/**
* função com 2 casas com ponto 999.999.999,99
*/
function FormataNumeroMoeda(cur,len)
{
   n='__0123456789';
   d=cur.value;
   l=d.length;
   r='';
   if (l > 0)
   {
    z=d.substr(0,l-1);
    s='';
    a=2;
    for (i=0; i < l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) > a)
        {
            a=1;
            s+=c;
        };
    };
    l=s.length;
    t=len-1;
    if (l > t)
    {
        l=t;
        s=s.substr(0,t);
    };
    if (l > 2)
    {
        r=s.substr(0,l-2)+','+s.substr(l-2,2);
    }
    else
    {
        if (l == 2)
        {
            r='0,'+s;
        }
        else
        {
            if (l == 1)
            {
                r='0,0'+s;
            };
        };
    };
    if (r == '')
    {
        r='0,00';
    }
    else
    {
        l=r.length;
        if (l > 6)
        {
            j=l%3;
            w=r.substr(0,j);
            wa=r.substr(j,l-j-6);
            wb=r.substr(l-6,6);
            if (j > 0)
            {
                w+='.';
            };
            k=(l-j)/3-2;
            for (i=0; i < k; i++)
            {
                w+=wa.substr(i*3,3)+'.';
            };
            r=w+wb;
        };
    };
   };
   if (r.length <= len)
   {
    cur.value=r;
   }
   else
   {
    cur.value=z;
   };
   return true;
}
/**
* função com 3 casas com ponto 1.999,999
*/
function FormataNumeroMoeda3Casas(cur,len)
{
   n='__0123456789';
   d=cur.value;
   l=d.length;
   r='';
   if(l <=len)
   {
   if (l > 0)
   {
    z=d.substr(0,l-1);
    s='';
    a=2;
    for (i=0; i < l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) > a)
        {
            a=1;
            s+=c;
        };
    };
    l=s.length;
    t=len-1;
    if (l > t)
    {
        l=t;
        s=s.substr(0,t);
    };
    if (l > 3)
    {
        r=s.substr(0,l-3)+','+s.substr(l-3,3);
    }
    else
    {
        if (l == 1)
        {
            r='0,00'+s;
        }
		else if (l == 3)
        {
            r='0,'+s;
        }
        else if (l == 2)
        {
			r='0,0'+s;
        }

    };
    if (r == '')
    {
        r='0,000';
    }
    else
    {
        l=r.length;
        if (l > 7)
        {
            j=l%3;
            w=r.substr(0,j-1);
            wa=r.substr(1,l-j+1);
            wb=r.substr(l-7,7);
            if (j > 0)
            {
                w+='.';
            };
            r=w+wb;
        };
    };
   };
   if (r.length <= len)
   {
    cur.value=r;
   }
   else
   {
    cur.value=z;
   };
   }
   return true;
}
/**
* função com 4 casas sem ponto 999,9999
*/
function FormataNumeroMoeda4Casas(cur,len)
{
   n='__0123456789';
   d=cur.value;
   l=d.length;
   r='';
   if(l <=len)
   {
   if (l > 0)
   {
    z=d.substr(0,l-1);
    s='';
    a=2;
    for (i=0; i < l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) > a)
        {
            a=1;
            s+=c;
        };
    };
    l=s.length;
    t=len-1;
    if (l > t)
    {
        l=t;
        s=s.substr(0,t);
    };
    if (l > 4)
    {
        r=s.substr(0,l-4)+','+s.substr(l-4,4);
    }
    else
    {
        if (l == 1)
        {
            r='0,000'+s;
        }
		else if (l == 3)
        {
            r='0,0'+s;
        }
        else if (l == 2)
        {
			r='0,00'+s;
        }
		else if(l == 4)
		{
			r='0,'+s;
		}
    };
    if (r == '')
    {
        r='0,0000';
    }
   }
   if (r.length <= len)
   {
    cur.value=r;
   }
   else
   {
    cur.value=z;
   };
   }
   return true;
}
/**
* função com 5 casas sem ponto 999,99999
*/
function FormataNumeroMoeda5Casas(cur,len)
{
   n='__0123456789';
   d=cur.value;
   l=d.length;
   r='';
   if(l <=len)
   {
   if (l > 0)
   {
    z=d.substr(0,l-1);
    s='';
    a=2;
    for (i=0; i < l; i++)
    {
        c=d.charAt(i);
        if (n.indexOf(c) > a)
        {
            a=1;
            s+=c;
        };
    };
    l=s.length;
    t=len-1;
    if (l > t)
    {
        l=t;
        s=s.substr(0,t);
    };
    if (l > 5)
    {
        r=s.substr(0,l-5)+','+s.substr(l-5,5);
    }
    else
    {
        if (l == 1)
        {
            r='0,0000'+s;
        }
		else if (l == 3)
        {
            r='0,00'+s;
        }
        else if (l == 2)
        {
			r='0,000'+s;
        }
		else if(l == 4)
		{
			r='0,0'+s;
		}
		else if(l == 5)
		{
			r='0,'+s;
		}		

    };
    if (r == '')
    {
        r='0,00000';
    }
   }
   if (r.length <= len)
   {
    cur.value=r;
   }
   else
   {
    cur.value=z;
   };
   }
   return true;
}
