var isNS = (navigator.appName == "Netscape") ? 1 : 0;
var EnableRightClick = 0;
if(isNS)
document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP);

if (navigator.appName.indexOf('Microsoft') != -1)
   browser = 'IE';
else if (navigator.appName.indexOf('Netscape') != -1)
browser = 'outro';

function makeArray(IntarrSize)
{
         for (var n = 0; n < IntarrSize; n++)
             this[n] = "";
         return this;
}

var basico =
{
     $doc : function ( id )
     {
          return document.getElementById(id);

     },
     mischandler : function() {
                  if(EnableRightClick==1){ return true; }
                  else {return false; }
     } ,

     mousehandler : function(e)
     {
                   if(EnableRightClick==1){ return true; }
                   var myevent = (isNS) ? e : event;
                   var eventbutton = (isNS) ? myevent.which : myevent.button;
                   if((eventbutton==2)||(eventbutton==3)) return false;
     } ,

     keyhandler : function (e)
     {
                var myevent = (isNS) ? e : window.event;
                if (myevent.keyCode==96)
                   EnableRightClick = 1;
                return;
     } ,

     /*albumEvento : function (codigo_categoria , codigo_evento )
     {
                 

                 if ( ( codigo_categoria ) && ( codigo_evento ) )
                 {
                    window.location='?secao=eventos&cod=' + codigo_categoria + '&evt=' + codigo_evento;

                 }
     } ,*/
     
     albumEventoHome : function (codigo_categoria , codigo_evento )
     {


                 if ( ( codigo_categoria ) && ( codigo_evento ) )
                 {
                    window.location='?secao=eventos&cod=' + codigo_categoria + '&evt=' + codigo_evento;

                 }
     } ,
     
     
     
     
     albumEvento : function ()
     {
                 getListEventos = this.$doc('lista_de_eventos');

                 getCodEventos = getListEventos.selectedIndex;
                 
                 if ( getCodEventos > 0 )
                 {
                    arrayValueByCod = getListEventos[getCodEventos].value;
                    
                    arrayValueByCod = arrayValueByCod.split('[|]');
                    
                    codigo_categoria = arrayValueByCod[0];
                    
                    codigo_evento = arrayValueByCod[1];

                    if ( ( codigo_categoria ) && ( codigo_evento ) )
                    {
                       window.location='?secao=eventos&cod=' + codigo_categoria + '&evt=' + codigo_evento;

                    }
                 }
     } ,
     

     
     ampliarFoto : function ( foto )
     {

                 var local = this.$doc('ampliar_imagem');
                 local.innerHTML = '';

                 /*
                 var ampliandoFoto = document.createElement('img');
                 ampliandoFoto.setAttribute('src', foto);
                 local.appendChild(ampliandoFoto);
                 */
                 
                 var loader = new ImageLoader(foto);

                 loader.loadEvent = function(url, image){

                                  /*document.body.appendChild(image);*/
                                  local.appendChild(image);
                 }
                 loader.load();
     } ,
     
     adquirirFoto : function ( foto )
     {


                  formulario = '<table width="100%">';
                  
                  formulario += '<tr><td align="center"><input type="button" value="Comprar" onclick="javascript:basico.$doc(\'conteudo_comprar\').style.display=\'block\'"></td></tr>';
                  
                  var conteudo = '<div style="display:none" id="conteudo_comprar">';

                  conteudo += '<form method="post" action=""><input type="hidden" value="' + foto + '" name="foto" id="foto"><input type="hidden" value="" name="tamanho_foto" id="tamanho_foto"><input type="hidden" value="" name="foto_escolhida_usuario" id="foto_escolhida_usuario"><table>';
                  conteudo += '<tr><td>* Nome completo: </td><td><input type="text" id="nome" name="nome"></td></tr>';
                  conteudo += '<tr><td>* Telefone: </td><td><input type="text" id="telefone" name="telefone"></td></tr>';
                  conteudo += '<tr><td>* E-mail:</td><td> <input type="text" id="email" name="email"></td></tr>';
                  conteudo += '<tr><td>* Endereço completo:</td><td> <input type="text" id="endereco" name="endereco"></td></tr>';
                  conteudo += '<tr><td>* Tamanho: </td><td>' +  ( listaTamanho ? listaTamanho : '') + '</td></tr>';
                  conteudo += '<tr><td>* Quantidade: </td><td><input type="text" id="qtdade" name="qtdade" value="1"  onKeyDown="return basico.fnTrapKD(event);" onkeypress="basico.calcular();" onkeyup="basico.calcular();"   ></td></tr>';
                  conteudo += '<tr><td>Valor Unidade: </td><td><input type="text" id="valor_unitario" name="valor_unitario" value="0,00" readonly></td></tr>';
                  conteudo += '<tr><td>Valor total: </td><td><input type="text" id="total" name="total" value="R$ 0,00" readonly></td></tr>';
                  conteudo += '<tr><td colspan="2" align="center"><br><input type="button" value="Confirmar" onclick="basico.confirmarCompra(this.form)"><br></td></tr></table>Contato: <b>(48)9149-1555 ou (48) 3644-0702</b><br></form></div>';


                  formulario += '<tr><td align="center">' + conteudo + '</td></tr>';
                  formulario += '</table>';
                  
                  this.$doc('comprar_foto').innerHTML = formulario;
     } ,
     
     retornaValorSelect : function ( id )
     {
                        campo = this.$doc( id );
                        
                        if ( campo )
                        {
                           pos = campo.selectedIndex;
                           
                           return campo[pos].value;
                        }
     } ,

     
     isEmail: function (argvalue)
    {

             if (argvalue.indexOf(" ") != -1)
                return false;
             else
                 if (argvalue.indexOf("@") == -1)
                    return false;
                 else
                     if (argvalue.indexOf("@") == 0)
                        return false;
                     else
                         if (argvalue.indexOf("@") == (argvalue.length-1))
                            return false;

             // arrayString = argvalue.split("@"); (works only in netscape3 and above.)

             var retSize = this.customSplit(argvalue , '@' , 'arrayString');

             if (arrayString[1].indexOf('.') == -1)
                return false;
             else
                 if (arrayString[1].indexOf(".") == 0)
                    return false;
                 else
                     if (arrayString[1].charAt(arrayString[1].length-1) == '.')
                     {
                        return false;
                     }

             return true;

    } ,

    customSplit : function (strvalue, separator, arrayName)
    {
                var n = 0;

                if (separator.length != 0)
                {
                   while (strvalue.indexOf(separator) != -1)
                   {
                         eval("arr"+n+" = strvalue.substring(0, strvalue.indexOf(separator));");
                         strvalue = strvalue.substring(strvalue.indexOf(separator)+separator.length,
                         strvalue.length+1);
                         n++;
                   }
                   eval('arr' + n + ' = strvalue;');
                   arraySize = n+1;
                }

                else
                {
                    for (var x = 0; x < strvalue.length; x++)
                    {
                        eval('arr' + n + ' = "' + strvalue.substring( x , x + 1 ) + '";');
                        n++;
                    }
                    arraySize = n;
                }

                eval(arrayName + ' = new makeArray(arraySize);');

                for (var i = 0; i < arraySize; i++)
                {
                    eval(arrayName + '[' + i + '] = arr' + i + ';');
                }

                return arraySize;
     } ,

     verificarCampos : function ( id )
     {
                     if ( id == 'contato' )
                     {
                        nome     = this.$doc('nome').value;
                        telefone = this.$doc('telefone').value;
                        email    = this.$doc('email').value;
                        estado   = this.$doc('estado').selectedIndex;
                        cidade   = this.$doc('cidade').selectedIndex;
                        assunto  = this.$doc('assunto').value;
                        mensagem = this.$doc('mensagem').value;

                        msgErro = '';
                        qtdadesErros = 0;
                        
                        if (!nome)
                        {
                           msgErro += '\n * Informe seu nome ou empresa;';
                           qtdadesErros++;
                        }
                        
                        if ( !email )
                        {
                           msgErro += '\n * Informe seu e-mail;';
                           qtdadesErros++;
                        }
                        
                        if ( !telefone )
                        {
                           msgErro += '\n * Informe seu Telefone;';
                           qtdadesErros++;
                        }
                        else
                        {
                            if (!this.isEmail ( email ) )
                            {
                               msgErro += '\n * E-mail informado inválido;';
                               qtdadesErros++;
                            }
                        }

                        if ( estado == 0 )
                        {
                           msgErro += '\n * Informe seu estado;';
                           qtdadesErros++;
                        }

                        if ( cidade == 0 )
                        {
                           msgErro += '\n * Informe a cidade;';
                           qtdadesErros++;
                        }
                        
                        if ( !assunto )
                        {
                           msgErro += '\n * Informe o assunto;';
                           qtdadesErros++;
                        }
                        
                        if ( !mensagem )
                        {
                           msgErro += '\n * Descreva a mensagem;';
                           qtdadesErros++;
                        }
                        
                        if (msgErro)
                        {
                           if (qtdadesErros > 1 )
                              msgAlerta = 'Foram constadados seguintes erros:';
                           else
                               msgAlerta = 'Foi constadado seguinte erro:';

                           alert (msgAlerta + msgErro )
                           return false;
                        }
                     }
     } ,
     
     escolherTamanho : function ()
     {
                     tamanho = this.$doc('tamanho');
                     pos     = tamanho.selectedIndex;
                     valor   = tamanho[pos].value;
                     texto   = tamanho[pos].text;

                     if ( pos > 0 )
                     {
                        basico.$doc('valor_unitario').value = valor;
                        basico.$doc('tamanho_foto').value = texto;

                     }
                     else
                     {
                         basico.$doc('valor_unitario').value = '0,00';
                     }
                     
                     this.calcular();

     } ,

     calcular : function ()
     {
             vu = basico.$doc('valor_unitario').value;
             qtdade = basico.$doc('qtdade').value;

             vuFloat = vu.replace(/,/g,'.');

             vt = Math.floor ( vuFloat * qtdade );
             
             basico.$doc('total').value = this.moneyFormat(vt)
             

             
     } ,
     
     moneyFormat :  function(input)
     {
                 var dollars = Math.floor(input);
                 var tmp = new String(input);

                 for ( var decimalAt = 0; decimalAt < tmp.length; decimalAt++ ) {
                     if ( tmp.charAt(decimalAt)=="," )
                        break;
                 }

                 var cents  = "" + Math.round(input * 100);
                 cents = cents.substring(cents.length-2, cents.length)
                 dollars += ((tmp.charAt(decimalAt+2)=="9")&&(cents=="00"))? 1 : 0;

                 if ( cents == "0" )
                    cents = "00";
                 return("R$" + dollars + "," + cents);
     } ,

     fnTrapKD : function (e)
     {

             if (document.all) { // Internet Explorer
                whichCode = e.keyCode;
             }

             else
             {
                 if (document.layers)
                 { // Nestcape
                   whichCode = e.which;
                 }
                 else
                 {
                     whichCode = e.which;
                     if (whichCode == 8)
                     {
                        return true;
                     }
                 }
             }
             //var whichCode = (window.event)? e.which : e.keyCode;
             
             if(whichCode>=48 && whichCode<=57 || whichCode==8 || whichCode==0 || whichCode==32) return true;
             return false;
     } ,
     
     confirmarCompra : function ( form )
     {
                     count = 0;
                     
                     nome     = basico.$doc('nome').value;
                     telefone = basico.$doc('telefone').value;
                     endereco = basico.$doc('endereco').value;
                     qtdade   = basico.$doc('qtdade').value;
                     email    = basico.$doc('email').value;
                     tamanho  = basico.$doc('tamanho');
                     total    = basico.$doc('total').value;
                     
                     fotoAmpliada = basico.$doc('foto_ampliada');
                     
                     basico.$doc('foto_escolhida_usuario').value = fotoAmpliada.src;

                     
                     if (!nome)
                        count++;
                     if (!telefone)
                        count++;
                     if (!email)
                        count++;
                     else
                         if (!this.isEmail(email) )
                            count++;
                     if (!endereco)
                        count++;
                     if (!tamanho)
                        count++;
                     else
                     {
                         pos = tamanho.selectedIndex;
                         
                         if ( pos == 0 )
                         {
                            count++;
                         }
                     }

                     if (total == 'R$0,00')
                     {
                        count++;
                     }
                     
                     if ( count > 0 )
                     {
                        alert ( 'Desculpas, alguns campos obrigatório não foram preenchidos corretamente.\nObrigado');
                     }

                     else
                     {
                         ajax.confirmarCompra(form);
                     }
                     
     } ,
     
     limpandoImagem : function ()
     {
                   //setInterval('window.clipboardData.clearData()',20);

     }
}
