function testavalor(foto,campo,flag)
{  
      if(foto.checked == 0 && campo.value != ''){alert("Foto não permitida pois o campo FOTO? não está selecionado!");return false;}
	  if(foto.checked == 1 && campo.value == ''){alert("Procure a imagem para ser vinculada ao anúncio");return false;}
	 
      return true;	  
}


function preco(texto, fot, foto, countfield, semana) {

if(semana.value == '0'){semana.value=1;}
if (fot.checked == 0) 
		countfield.value = parseFloat(texto.value) * parseFloat(semana.value);
else 
		countfield.value = (parseFloat(foto.value) + parseFloat(texto.value)) * parseFloat(semana.value);
}



/*function ContarCampo(formu, Campo, limite) {
var Elemento, Len, Array
    Elemento = formu.elements;
	Len = Elemento.length;
	Array = Campos.split( '?' , Len*2 );
   
if (Elemento[1].value.length > limite)
		Elemento[1].value = Elemento[1].value.substring(0, limite);	
else 
		Elemento[2].value = limite - Elemento[2].value.length;

}*/



function ContarCampo(campo, contador, limite) {
if (campo.value.length > limite)
		campo.value = campo.value.substring(0, limite);	
else 
		contador.value = limite - contador.value.length;
}

<!--

// Valida o formulario antes de envia-lo 
// Verifica Campos Nulos e suas Formatacoes(Tipo)
// Tipo E-Mail - Tipo texto - Tipo Numerico - Tipo AlfaNumerico
// VFrom = formulario a ser verificado
// Objs = nomes de objetos do form que nao sao necessarios
function ValidForm( VForm , Objs )
	{
	var Array, Msg, Len, Element, i, ix
	Msg = '';
	Element = VForm.elements;
	
	Len = Element.length;
	Array = Objs.split( '?' , Len*2 );
	for(ix=0; ix < Array.length ;ix++)
		for(i=0; i < Len ;i++)
			if( Array[ix] == Element[i].name )
				switch( Element[i].id )
					{
					case 'text' :
						if( Element[i].value == '' || IsLetter(Element[i].value) != -1 )
							{
							Element[i].select();
							Element[i].focus();

							Msg = 'Preencha o campo ' + Element[i].param;
							i	= Len;
							ix	= Array.length;
							}
						break;
              
              case 'cpf'	:
                 if (! checaCPF(Element[i].value)){
                     Msg = 'Preencha o campo ' + Element[i].param;
							Element[i].select();
							Element[i].focus();
                 }
                 break;
               
   			   case 'alfa' :
						if( Element[i].value == '' || IsAlfaNum(Element[i].value) != -1 )
							{
								Element[i].select();
								Element[i].focus();
								Msg = 'Preencha o campo ' + Element[i].param;
								i	= Len;
								ix	= Array.length;
							}
						break;
					case 'user' :
						if( Element[i].value == '' || IsUser(Element[i].value) != -1 )
							{
								Element[i].select();
								Element[i].focus();
								Msg = 'Preencha o campo ' + Element[i].param;
								i	= Len;
								ix	= Array.length;
							}
						break;
					case 'num' :
						if( Element[i].value == '' || IsNumber(Element[i].value) != -1 )
								{
							Element[i].select();
							Element[i].focus();
							Msg = 'Preencha o campo '+ Element[i].param;
							i	= Len;
							ix	= Array.length;
							}
						break;
	 				   
					case 'dinh' :
						if( Element[i].value == '' || IsGrana(Element[i].value) != -1 )
								{
							Element[i].select();
							Element[i].focus();
							Msg = 'Preencha o campo '+ Element[i].param;
							i	= Len;
							ix	= Array.length;
							}
						break;
	
					case 'data' :
						if( Element[i].value == '' || IsData(Element[i].value) != -1 || Verificadata(Element[i].value) != -1)
							{
							Element[i].select();
							Element[i].focus();
							Msg = 'Preencha o campo '+ Element[i].param +' corretamente!';
							i	= Len;
							ix	= Array.length;
							}
						break;
						
					case 'mail' :
						if(! IsValidEmail(Element[i].value))
							{
							Element[i].select();
							Element[i].focus();
							Msg = 'E-Mail inválido.';
							i	= Len;
							ix	= Array.length;
							}
						break;
					case 'pswd2' :
						if( Element[i].value == '' )
							{
							Element[i].select();
							Element[i].focus();
							Msg = 'Preencha o campo senha.';
							i	= Len;
							ix	= Array.length;
							}
						break;
					case 'pswd' :
						if( Element[i].value == '' || (Element[i].value != Element[i+1].value && Element[i+1].type == 'password') )
							{
							Element[i+1].value = '';
							Element[i].select();
							Element[i].focus();
							Msg = 'Senha e Confirmação de Senha não conferem.';
							i	= Len;
							ix	= Array.length;
							}
						break;
					case 'null' :
						if( Element[i].value == '' )
							{
							Element[i].select();
							Element[i].focus();
							Msg = 'Preencha o campo '+ Element[i].param;
							i	= Len;
							ix	= Array.length;
							}
						break;
					case 'sel' :
						if( Element[i].value == '' || Element[i].value == 'XX' )
							{
							Element[i].focus();
							Msg = 'Selecione uma opção.';
							i	= Len;
							ix	= Array.length;
							}
						break;

					default :
							i	= Len;
					}

	if( Msg != '' )
		{
		alert(Msg);
		return false;
		}
	return true;
	}

// A cada tecla solta verifica o campo ativo
function SeeKeys()
	{
	var Obj, KeyCode, Point, Indx, Str
	KeyCode = window.event.keyCode;
	Obj = event.srcElement;

	if( KeyCode == 13 )
		{
		blnGerarTab = true;
		window.event.returnValue = false;
		return false
		}
	else if( KeyCode > 47 )
		switch( Obj.id )
			{
			case 'text' :
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsLetter(Obj.value);
					if( Point != -1 )
						Obj.value = CutCharPoint( Obj.value , Point );
					}
				break;

			case 'num'	:
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsNumber(Obj.value);
					if( Point != -1 )
						Obj.value = CutCharPoint( Obj.value , Point );
					}
				break;

			case 'dinh'	:
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsGrana(Obj.value);
					if( Point != -1 )
						Obj.value = CutCharPoint( Obj.value , Point );
					}
  			    break;

			case 'user'	:
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsUser(Obj.value);
					if( Point != -1 )
						Obj.value = CutCharPoint( Obj.value , Point );
					}
				break;
			case 'data'	:
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsData(Obj.value);
					
					if( Point != -1 ){
						Obj.value = CutCharPoint( Obj.value , Point );}
					else
					{
					   if (Str.length == 2) 
					   { 
     						 Str = Str + '/'; 
						     Obj.value = Str; 
   						} 
						if (Str.length == 5) 
						{ 
						      Str = Str + '/'; 
						      Obj.value = Str; 
	 				    } 
					}
				}	
				break;

			case 'alfa'	:
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsAlfaNum(Obj.value);
					if( Point != -1 )
						Obj.value = CutCharPoint( Obj.value , Point );
					}
				break;
            
         case 'cpf' :
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsNumber(Obj.value);
					if( Point != -1 )
						Obj.value = CutCharPoint( Obj.value , Point );
					}

			case 'mail' :
				Str		= Obj.value;
				for(Indx=0; Indx < Str.length ;Indx++)
					{
					Point	= IsEmail(Obj.value);
					if( Point != -1 )
						Obj.value = CutCharPoint( Obj.value , Point );
					}
				break;
			}
	}

// Verifica formatação a@b.c
// Não permite caracteres especiais
// Retorna true se o Obj for um E-Mail
// Retorna false se o Obj nao for um E-Mail
function IsValidEmail( Value )
	{
	var i, Current, Tmp
	var Array = Value.split( '@' , 3 );
   
	
	// Se tiver mais ou menos que 1 Arroba ou nao tiver nada antes ou apos o Arroba
	if( Array.length != 2 || Array[0] == '' || Array[1] == '' )
		return false;

	Tmp = Array[0];
	// Se contiver caracteres especiais antes do Arroba
	for(i=0; i < Tmp.length ;i++)
		{
		Current =  Tmp.charAt(i);
		if( (Current == ' ') && (Current < '0' || Current > '9') && (Current < 'A' || Current > 'Z') && (Current < 'a' || Current > 'z') && Current != '_' && Current != '-' && Current != '.' )
			return false;
		}

	Tmp = Array[1];
	// Se contiver caracteres especiais depois do Arroba
	for(i=0; i < Tmp.length ;i++)
		{
		Current =  Tmp.charAt(i);
		if( (Current < '0' || Current > '9') && (Current < 'A' || Current > 'Z') && (Current < 'a' || Current > 'z') && Current != '.' )
			return false;
		}
	
	Tmp = Tmp.split( '.' , 4 );
	// Se depois do arroba existir menos de 2 ou mais de 3 pontos
	if( Tmp.length != 2 && Tmp.length != 3 )
		return false;

	// Se depois do arroba existir menos de 2 ou mais de 3 pontos
	if( Tmp.length == 2 && (Tmp[0] == '' || Tmp[1] == '') )
		return false;

	// Se depois do arroba existir menos de 2 ou mais de 3 pontos
	if( Tmp.length == 3 && (Tmp[0] == '' || Tmp[1] == '' || Tmp[2] == '') )
		return false;

	return true
	}

// Procura por "Chars" em "Str"
// Retorna -1 se nao encontar os "Chars"
// Retorna a posicao do Chars em Str se o encontar
function LookChars( Str, Chars )
	{
	var Count, Indx
	for(Count=0; Count < Str.length ;Count++)
		for(Indx=0; Indx < Chars.length ;Indx++)
			if( Str.charAt(Count) == Chars.charAt(Indx) )
				return Count;

	return -1
	}

// Remove de Str o caracter localizado na posicao Pnt
// Retorna o Str sem o caracter apontado por Pnt
function CutCharPoint( Str, Pnt )
	{
	var Count, Result
	Result = '';
	for(Count=0; Count < Str.length ;Count++)
		if( Count != Pnt )
			Result = Result + Str.charAt(Count);

	return Result
	}

// Verifica se Str contem caracteres invalidos em E-Mails
// Retorna -1 se nao contiver
// Retorna Posicao do Caracter Invalido em Str
function IsEmail( Str )
	{
	var Count, Current
	for(Count=0; Count < Str.length ;Count++)
		{
		Current =  Str.charAt(Count);
		if( (Current < '0' || Current > '9') && (Current < 'A' || Current > 'Z') && (Current < 'a' || Current > 'z') && Current != '_' && Current != '-' && Current != '.' && Current != '@' )
			return Count
		}

	return -1
	}

// Verifica se Str contem caracteres invalidos para User name
// Retorna -1 se nao contiver
// Retorna Posicao do Caracter Invalido em Str
function IsUser( Str )
	{
	var Count, Current
	for(Count=0; Count < Str.length ;Count++)
		{
		Current =  Str.charAt(Count);
		if((Current < '0' || Current > '9') && (Current < 'A' || Current > 'Z') && (Current < 'a' || Current > 'z') && Current != '_' && Current != '-' && Current != '.' && Current != '@' )
			return Count
		}

	return -1
	}

	
	
// Verifica se Str contem apenas Letras entre A e Z
// Retorna -1 se Str contiver apenas Letras entre A-Z
// Retorna Posicao do Caracter que for uma Letra entre A-Z
function IsLetter( Str )
	{
	var Count, Current
	for(Count=0; Count < Str.length ;Count++)
		{
		Current =  Str.charAt(Count);
		if( (Current < 'A' || Current > 'Z') && (Current < 'a' || Current > 'z') && IsNotAcent(Current) )
			return Count
		}

	return -1
	}

// Verifica se o Chr é acentuado
// Retorna true se o Chr nao for acentuado
// Retorna false se o Chr for acentuado
function IsNotAcent( Chr )
	{
	if( Chr=='á' || Chr=='é' || Chr=='í' || Chr=='ó' || Chr=='ú' || Chr=='Á' || Chr=='É' || Chr=='Í' || Chr=='Ó' || Chr=='Ú' )
		return false;
	if( Chr=='à' || Chr=='è' || Chr=='ì' || Chr=='ò' || Chr=='ù' || Chr=='À' || Chr=='È' || Chr=='Ì' || Chr=='Ò' || Chr=='Ù' )
		return false;
	if( Chr=='â' || Chr=='ê' || Chr=='î' || Chr=='ô' || Chr=='û' || Chr=='Â' || Chr=='Ê' || Chr=='Î' || Chr=='Ô' || Chr=='Û' )
		return false;
	if( Chr=='ä' || Chr=='ë' || Chr=='ï' || Chr=='ö' || Chr=='ü' || Chr=='Ä' || Chr=='Ë' || Chr=='Ï' || Chr=='Ö' || Chr=='Ü' )
		return false;
	if( Chr=='ã' || Chr=='õ' || Chr=='Ã' || Chr=='Õ' || Chr=='ñ' || Chr=='Ñ' || Chr=='ç' || Chr=='Ç' || Chr==' ')
		return false;

	return true;	
	}

// Verifica se Num contem apenas Numeros entre 0 e 9
// Retorna -1 se o Num contiver apenas Numeros entre 0 e 9
// Retorna Posicao do Caracter nao Numerico se o encontrar
function IsNumber( Num )
	{
	var Count, Current
	for(Count=0; Count < Num.length ;Count++)
		{
		Current = Num.charAt(Count);
		if(( Current < '0' || Current > '9' ))
			return Count
		}

	return -1
	}



// Verifica se Num contem apenas Numeros entre 0 e 9 e ','
// Retorna -1 se o Num contiver apenas Numeros entre 0 e 9  e ','
// Retorna Posicao do Caracter nao Numerico se o encontrar
function IsGrana( din )
	{
	var Count, Current, virg
	virg = 0
	for(Count=0; Count < din.length ;Count++)
		{
		Current = din.charAt(Count);

		if(( Current < '0' || Current > '9') && Current != ',' ){
			return Count
			}
		else{
			if(Current ==  ','){virg = virg+1;}
			if(virg > 1){return -1;}
	        }
		}
	return -1
	}
	
	
//  Verifica data aceitando barra
	function IsData( Num )
	{
	var Count, Current
	for(Count=0; Count < Num.length ;Count++)
		{
		Current = Num.charAt(Count);
		if((Current < '0' || Current > '9') && Current != '/')
			return Count

		}

	return -1
	}

	
// Verifica se Str contem contem caracteres AlfaNumericos
// Retorna -1 se Str contiver apenas caracteres AlfaNumericos
// Retorna Posicao do Caracter nao AlfaNumerico
function IsAlfaNum( Str )
	{
	var Count, Current
	for(Count=0; Count < Str.length ;Count++)
		{
		Current =  Str.charAt(Count);
		if( (Current < '0' || Current > '9') && (Current < 'A' || Current > 'Z') && (Current < 'a' || Current > 'z') && IsNotAcent(Current) && Current != '_' && Current != '-' && Current != '.' )
			return Count
		}

	return -1
	}
	
	
function Verificadata(data){
var Date = new String(data);
    Dia = "";
    Mes = "";
    Ano = "";
    i = 0;

    for (i=0;(i<Date.length) && (Date.charAt(i) != '/');i++)
           Dia = Dia + Date.charAt(i);
    i++;

   for (;(i<Date.length) && (Date.charAt(i) != '/');i++)
        Mes = Mes + Date.charAt(i);
   i++;

   for (;(i<Date.length);i++)
      Ano = Ano + Date.charAt(i);
	  
	  
   if (eval(Mes) > 12){
		 return 0}
		 
   if (eval(Dia) > 31){
        return 0}
		
    if(eval(Ano) < 1850) {
        return 0;}
		
	if((eval(Mes)==2) && (eval(Dia)>29)){
	    return 0}	
		
return -1
}

function checaCPF (CPF) {
   if (CPF.length != 11 ||
       CPF == "00000000000" ||
       CPF == "11111111111" ||
       CPF == "22222222222" ||
       CPF == "33333333333" ||
       CPF == "44444444444" ||
       CPF == "55555555555" ||
       CPF == "66666666666" ||
       CPF == "77777777777" ||
       CPF == "88888888888" ||
       CPF == "99999999999")
     return false;
   soma = 0;
   for (i=0; i < 9; i ++)
     soma += parseInt(CPF.charAt(i)) * (10 - i);

   resto = 11 - (soma % 11);
   if (resto == 10 || resto == 11)
      resto = 0;
  
  if (resto != parseInt(CPF.charAt(9)))
     return false;

  soma = 0;
  
  for (i = 0; i < 10; i ++)
     soma += parseInt(CPF.charAt(i)) * (11 - i);
  resto = 11 - (soma % 11);

  if (resto == 10 || resto == 11)
     resto = 0;
  
  if (resto != parseInt(CPF.charAt(10)))
    return false;
  
  return true;
} 

