var validatedInfo= "OK";
var msgInfo	= new Array();
msgInfo[0] = new Array('Digite o seu nome completo','Erro. Digite o seu nome completo');

msgInfo[1] = new Array('Deve ter extensao de 4 a 20 caracteres.','Usuario deve ser de 4 a 20 caracteres. Digite o usuario novamente.');
msgInfo[2]	= new Array('Digite o nome de sua marca','Por favor, digite o nome da sua marca');
msgInfo[3] = new Array('Digite a senha para se logar ao site.','Digite uma senha com extensao de 4 a 20 caracteres, incluindo letras maiusculas, minusculas e caracteres especiais');
msgInfo[4] = new Array('Repita a senha que esta no campo Senha','Erro! Senha nao confere.');
msgInfo[5] = new Array('Digite o seu email corretamente','Endere&ccedil;o de email invalido','Tem menos que 60 caracteres.');
msgInfo[6] = new Array('Extensao de 6 a 40 caracteres ','A pergunta deve ter de 6 a 40 caracteres');
msgInfo[7] = new Array('Your Blog','Blog name may be combined by letters, numbers, "_", "-" and "."');
msgInfo[8] = new Array('','O codigo de verifica&ccedil;o deve ter 4 carcteres.');
msgInfo[9] = new Array('','Para registrar voce deve, aceitar os termos para o registro ');
msgInfo[10] = new Array('Extens&atilde;o de 6 a 40 caracteres','A resposta deve ter de 6 a 40 caracteres.');
msgInfo[11] = new Array('Selecione o seu pais','Por favor, selecione o seu pais.');


function Info_Check(objname)
{
	var b_flag
	switch(objname)
	{
	    case "ryNome":b_flag = nome_check(objname);break;
		case "ryMarca":b_flag = marca_check(objname);break;
		case "ryUsuario":b_flag = nickname_check(objname);break;
		case "rpSenha":b_flag = password_check(objname);break;
		case "rvConfirma":b_flag = passwordaffirm_check("rpSenha",objname);break;
	}
	if(b_flag)
	{
		formSucc(objname);
	}
}


function formEle(objname,errormsg)
{
	$(objname + "ID").innerHTML= errormsg;
	$(objname + "ID").className = "ss1"
}

function formSucc(objname)
{
	$(objname + "ID").innerHTML="<img src='images/pic_right.gif'>&nbsp;&nbsp;" + validatedInfo;
	$(objname + "ID").className = "ss3"
}

function formErr(objname,errormsg)
{
	$(objname + "ID").innerHTML="<img src='images/pic_error.gif' width='12' height='12'>&nbsp;&nbsp;" + errormsg;
	$(objname + "ID").className = "ss2";
}

function marca_check(objname)
{
		var nome=Trim($(objname).value);
		var nomelen=nome.length;
		if (nomelen < 5) 
		{
			formErr(objname,msgInfo[2][1]);
			return false;
		}
	return true;
}


function nome_check(objname)
{
		var nome=Trim($(objname).value);
		var nomelen=nome.length;
		if (nomelen < 5) 
		{
			formErr(objname,msgInfo[0][1]);
			return false;
		}
	return true;
}

function nickname_check(objname)
{
		var nickname=Trim($(objname).value);
		var nicknamelen=nickname.replace(/[^\x00-\xff]/g,"**").length
		if (nicknamelen<4 || nicknamelen > 20) 
		{
			formErr(objname,msgInfo[1][1]);
			return false;
		}
	return true;
}
// aqui é so pra checar e confirmar o cadastro pelo CHECKBOX:
function protocol_check(objname)
{
	if(!$(objname).checked)
	{
	   formErr(objname,msgInfo[8][1]);
	   return false;
	}
	return true;
}

function Trim(info)
{
	return info.replace(/(^\s*)|(\s*$)/g, "");
}

//check password
function password_check(objname)
{
		if (Trim($(objname).value).length<6 || Trim($(objname).value).length > 20 || !isEnKongPWD($(objname).value)) 
		{
			formErr(objname,msgInfo[3][1]);
			return false;
		}
	return true;
}

function isEnKongPWD(argValue) 
{
	var reg=/[a-zA-Z0-9\x21-\x7E]{6,20}$/;
	var r = argValue.match(reg);
	if(r!=argValue)
	{
		return false;
	}
	return true;
}
//CHECA SENHA --> final //



function passwordaffirm_check(objname,objnamec)
{
		if (Trim($(objname).value) != Trim($(objnamec).value) || $(objnamec).value=="") 
		{
			formErr(objnamec,msgInfo[4][1]);
			return false;
		}
	return true;
}


// AJAX enabled !!!! ---> AJAX Core:
var xmlHttp;

function GetXmlHttpObject(handler)
{ 
	var objXmlHttp=null
	if (navigator.userAgent.indexOf("Opera")>=0)
	{
		return; 
	}
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP"
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP"
		} 
		try
		{ 
			objXmlHttp=new ActiveXObject(strName)
			objXmlHttp.onreadystatechange=handler 
			return objXmlHttp
		} 
		catch(e)
		{ 
			return 
		} 
	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp=new XMLHttpRequest()
		objXmlHttp.onload=handler
		objXmlHttp.onerror=handler 
		return objXmlHttp
	}
}


 function GetObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

function sendEmail()
   {

 // alert('teste?');

   var bt = document.getElementById('btChange');
   var nome = document.getElementById('ryNome');
   var email= document.getElementById('reEmail');
   var assunto = document.getElementById('ryAssunto');
   var mensagem = document.getElementById('ryMensagem');

    var ass= assunto.value;
    var nm = nome.value;
    var msg= mensagem.value;
    var em = email.value;

   var upto= GetObject();

   var but = document.getElementById("bt_ok");

  if(upto == null)
  {
   alert("Seu navegador nao suporta AJAX!");
  }

    var url = "includes/send_email.php?action=check&ryAssunto="+ass+"&ryNome="+nm+"&reEmail="+em+"&ryMensagem="+msg;
    url = url+"&sid="+Math.random();

    //debug
   // alert(url);




   upto.onreadystatechange = function()
   {
    if(upto.readyState == 2)
    {
       but.value = "Processando envio...";
       but.disabled= true;
       nome.disabled = true;
       email.disabled= true;
       assunto.disabled = true;
       mensagem.disabled = true;

    }


      if(upto.readyState == 4)
      {


            if(upto.responseText == 0)
            {
              but.value=" Enviar mensagem";
               alert("Falha no envio de sua mensagem");

              but.disabled = false;
             nome.disabled = false;
             email.disabled= false;
             assunto.disabled = false;
             mensagem.disabled = false;



            }else if(upto.responseText == 1)
            {  but.value=" Enviar mensagem ";
              
              alert("Mensagem enviada com sucesso!");


                 nome.disabled = false;
                 email.disabled= false;
                 assunto.disabled = false;
                 mensagem.disabled = false;
                 but.disabled = false;
                 assunto.value="";
                 mensagem.value = "";



            }else{
                  but.value=" Enviar mensagem";
             alert(upto.responseText);

               nome.disabled = false;
               email.disabled= false;
               assunto.disabled = false;
               mensagem.disabled = false;
               but.disabled = false;


            }


      }
   }

   upto.open("GET",url,true);
   upto.send(null);

 }



























// Aqui é so pra checar se o usuario existe -> funcoes afins disso:
//existe um campo hidden so pra isso cara! 
function changeuserstate()
{
	if($("username").value.length>0)
	{
		$("usernamestate").value="NO";
	}
	
	
}

function username_check(objname)
{
	if(!ValidateUserName($(objname).value,objname))
	{
		return false;
	}
	
	if($("usernamestate").value == "NO")
	{
		showHusername(objname)
	}
	
	if($("ryUsuario").value =="")
	{
		$("ryUsuario").value =$(objname).value;
	}
	

	return true;
}

function ValidateUserName(argValue,objname) 
{
  var flag1=true;
  errInfo="";
  var arglen=argValue.replace(/[^\x00-\xff]/g,"**").length
  if(arglen<4||arglen>20)
  {
	formErr(objname,msgInfo[0][1]);
	flag1=false;
  }
  else
  {
	var reg=/[a-zA-Z\u4E00-\u9FA5]{1}[a-zA-Z0-9_\u4E00-\u9FA5]{1,40}$/;
	var r = argValue.match(reg); 
	if(r!=argValue)
	{
		formErr(objname,msgInfo[0][1]);
		flag1=false;
	}
  
  }
  return flag1;
}
//aqui checa-se o usuario ja existe no BD usando o AJAX:
function showHusername(objname)
{ 
	str = $(objname).value;
	if (str.length > 0)
	{ 
		$(objname + "ID").innerHTML="Checando usu&aacuterio...";
		var url="includes/check.php?&user=" + encodeURIComponent(str) +"&i="+ Math.random();
		xmlHttp=GetXmlHttpObject(userStateChange)
		xmlHttp.open("GET", url , true)
		xmlHttp.send(null)
	} 
	else
	{ 
		$(objname + "ID").innerHTML=""
	} 
}
//aqui é o retorno da verificação do usuario:
function userStateChange() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		if (xmlHttp.responseText =="true")
		{
			$("usernameID").innerHTML= "<img src='images/pic_error.gif'>&nbsp;&nbsp;" +"Este usuario ja existe.Por favor tente outro.";
			$("usernameID").className = "ss2";
			return false;
		}
		else if(xmlHttp.responseText =="false")
		{
			$("usernameID").innerHTML="<img src='images/pic_right.gif'>&nbsp;&nbsp;" +"Usuario avaliavel.";
			$("usernameID").className = "ss2";
			$("usernamestate").value= "YES";
		}
		else
		{
			$("usernameID").innerHTML="<img src='images/pic_error.gif'>&nbsp;&nbsp;" +"Servidor ocupado, por favor tente mais tarde.";
			$("usernameID").className = "ss2";
			return false;
		}
	} 
	else
	{
		return false;
	}
	return true;
}


//checkemail
function email_check(objname)
{
	if (!emailCheck($(objname).value,objname))
	{
		return false;
	}
	if($("emailstate").value == "NO")
	{
		showHusername(objname)
	}
		showHemail(objname)
	return true;
	
}


function emailCheck(emailStr,objname)
{
	if(Trim(emailStr).length==0)
	{
		formErr(objname,msgInfo[5][2]);
		return false;
	}
	var emailreg=/^\w+[\.\w]*@\w+\.[\.\w]*\w+$/;
	var r = emailStr.match(emailreg);
	if(r!=emailStr)
	{
		formErr(objname,msgInfo[5][1]);
		return false;
	}
	if(Trim(emailStr).length>59)
	{
		formErr(objname,msgInfo[5][2]);
		return false;
	}
	return true;
}


function showHemail(objname)
{ 
	str = $(objname).value;
	if (str.length > 0)
	{ 
		$(objname + "ID").innerHTML="Checando email...";
		var url="includes/check.php?t=2&v=" + encodeURIComponent(str) +"&i="+ Math.random();
		xmlHttp=GetXmlHttpObject(emailStateChange)
		xmlHttp.open("GET", url , true)
		xmlHttp.send(null)
	} 
	else
	{ 
		$(objname + "ID").innerHTML=""
	} 
}

//change emailstate
function emailStateChange() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		if (xmlHttp.responseText =="true")
		{
			$("emailID").innerHTML= "<img src='images/pic_error.gif'>&nbsp;&nbsp;" +"Este e-mail ja existe. Tente outro endere&ccedil;o";
			$("emailID").className = "ss2"
			return false;
		}
		else if(xmlHttp.responseText =="false")
		{
			$("emailID").innerHTML="<img src='images/pic_right.gif'>&nbsp;&nbsp;" +"Este email esta dispon&iacute;vel";
			$("emailstate").value= "YES";
		}
		else
		{
			$("emailID").innerHTML="<img src='images/pic_error.gif'>&nbsp;&nbsp;" +"Servidor ocupado. Por favor, tente mais tarde.";
			$("emailID").className = "ss2"
			return false;
		}
	} 
	else
	{
		return false;
	}

	return true;
}



function checkregisterform()
{

	var v_flag;
	v_flag = true;

		
	if(!nome_check("ryNome"))
	{
		$("ryNomeID").focus();
		 v_flag = false;
	}
	

	if(!password_check("rpSenha") )
	{
		$("rpSenhaID").focus();
		v_flag = false;
	}
	
	if(!passwordaffirm_check("rpSenha","rvConfirma"))
	{
		$("rpSenhaID").focus();
		v_flag = false;
	}	

	if(!v_flag)
	{
		$("registerbtn").value="Preencha os campos acima";
		$("registerbtn").disabled=true;
	}
	else
	{
		$("registerbtn").value=" [Dados Ok] - Clique aqui para continuar ";
		$("registerbtn").disabled=false;
	}
	return v_flag;
}
