﻿var myDate;
var TimezoneValue;
var NameExistsFlag = false;
var signinStep = 1;
var TermsScrollFlag = 1;
myDate = new Date()
TimezoneValue = (myDate.getTimezoneOffset()/60)           
      function CheckUserName()
      {     RemoveDivErr("");
            var f=document.SignIn;            
            myUserName = new String(removeAllSpaces(f.TheUserName.value));
            if (myUserName == '')
            {   SetDivErr("Please enter a username!", "TheUserName", "", "");            
                f.TheUserName.focus();                 
                return;
             }            
             if(myUserName.length < 3)
             {  SetDivErr("Your username must have at least 3 characters.", "TheUserName", "", "");
                f.TheUserName.focus();
                return;
             }
             if((myUserName.charAt(0)=="_" || myUserName.charAt(0)=="-")){  
                 SetDivErr("UserName can not start with _ or - ", "TheUserName", "", ""); 
                 f.TheUserName.focus();                 
                 return;                                    
             }
             if ((myUserName.indexOf("-")!= myUserName.lastIndexOf("-")) || (myUserName.indexOf("_")!= myUserName.lastIndexOf("_")))
              {  SetDivErr("UserName can not have more then one char of _ or - ", "TheUserName", "", "");
                    f.TheUserName.focus();                  
                    return; 
             }
             for(i=0;i<myUserName.length;i++){
                if(!(isLetter(myUserName.charAt(i)) || isDigit(myUserName.charAt(i)) || myUserName.charAt(i)=="_" || myUserName.charAt(i)=="-" )){
                    SetDivErr("Please enter a valid username (A-Z, a-z, 0-9, -, _, )", "TheUserName", "", "");
                    f.TheUserName.focus();                  
                    return; 
                }
             }
             
            TempUserName = new String(removeSpaces(document.getElementById("TheUserName").value));
            Date_day = document.getElementById("Date_Day").value;
            Date_month = document.getElementById("Date_Month").value;
            Date_year = document.getElementById("Date_Year").value;
            if(Date_day==0 && Date_month==0 && Date_year==0)
            {     Date_day = myDate.getDate();
                  Date_month = myDate.getMonth()+1;
                  Date_year = myDate.getFullYear();    
            }
            TempBirthDate = Date_day + "/" + Date_month + "/" + Date_year;    
            xmlPage = "/Ajax/SignIn_AlternativeUserName.asp"
            parm = "UserName="+TempUserName+"&BirthDate="+TempBirthDate;
            objSignXml = CreateObjXML();
            objSignXml.open("POST", xmlPage ,true); 
            objSignXml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
            objSignXml.onreadystatechange = batchSignChange;
            objSignXml.send(parm); 
      }

      function batchSignChange()
      {     if (objSignXml && objSignXml.readyState==4)
            {     if (objSignXml.responseXML)
                  {     var AlterNameStr = "";
                        var users = objSignXml.responseXML.getElementsByTagName("UserName");
                        for (var i=0; i<users.length; i++)
                        {     var NameExists = users[i].getAttribute("NameExists");
                              var AlterName = users[i].getAttribute("AlterName");
                              AlterNameStr += "<a onclick=AlterName('"+AlterName+"') style='cursor:pointer;' title='"+AlterName+"'>"+AlterName+"</a> ";
                              if(i!=users.length-1)
                              {
                                AlterNameStr += ", ";
                              }
                        }
                        AlterObj = $g("AlterTitleTD");
                        if (NameExists!=0)
                        {     
                              SetDivErr("Username already in use", "TheUserName", "", "");
                              if(NameExists==1)
                              {     document.SignIn.TheUserName.focus()
                                    
                                    if(AlterObj){                                    
                                    document.getElementById("AlterTitleTD").innerHTML = "<font class='MustFields'>Optional names</font>:";
                                    document.getElementById("AlterNameTD").innerHTML = AlterNameStr;
                                    }
                              }
                              else if(NameExists==2)
                              { document.SignIn.TheUserName.focus()
                                if(AlterObj){ 
                                document.getElementById("AlterTitleTD").innerHTML = "";
                                document.getElementById("AlterNameTD").innerHTML = "";  
                                }                              
                              } 
                        }
                        else{
                            if(AlterObj){ 
                            document.getElementById("AlterTitleTD").innerHTML = "";
                            document.getElementById("AlterNameTD").innerHTML = "";   
                            }   
                            document.getElementById("TheUserName_Err").innerHTML = "<font color='#489709'>Congratulations! User name is available</font>"; 
                            
                        }
                  }
            }
      }

function checkData(f,isDF)     
{   
 //isDF = 0-[div signin] 1-[signin page] 2-[landing Page]
 RemoveDivErr("");    
    
    myUserName = new String(removeSpaces(f.TheUserName.value))
    if (myUserName == '')
    {   SetDivErr("Please enter a username!", "TheUserName", "", "");            
        f.TheUserName.focus();                 
        return false;
     }                 
     if((myUserName.length - 1)< 3)
     {  SetDivErr("Your username must have at least 3 characters.", "TheUserName", "", "");
        f.TheUserName.focus();
        return false;
     }
         
     if((myUserName.charAt(0)=="_" || myUserName.charAt(0)=="-")){  
         SetDivErr("UserName can not start with _ or - ", "TheUserName", "", ""); 
         f.TheUserName.focus();                 
         return false;                                    
     }
      
     if ((myUserName.indexOf("-")!= myUserName.lastIndexOf("-")) || (myUserName.indexOf("_")!= myUserName.lastIndexOf("_")))
      {  SetDivErr("UserName can not have more then one char of _ or - ", "TheUserName", "", "");
            f.TheUserName.focus();                  
            return false; 
     }
     
    //CheckUserName();
    
    f.UserEmail.value = removeAllSpaces(f.UserEmail.value);                
    if (removeAllSpaces(f.UserEmail.value) == '')
    {   SetDivErr("Please enter your e-mail!", "UserEmail", "", "");
        f.UserEmail.focus()
        return false;
    }
    if (!isEmail(f.UserEmail.value))
    {   SetDivErr("Invalid E-mail ", "UserEmail", "", "");
        f.UserEmail.focus();
        return false;
    }
    if(isDF==1){
        if (f.UserEmail.value != f.CUserEmail.value)
        {  
            SetDivErr("Email doesn&#39;t match", "CUserEmail", "", "");
            f.CUserEmail.focus();
            return false;
        }
    }
    myPass = new String(f.SUserPsw.value)   
    if (myPass == '')
    {   SetDivErr("Please enter a password!", "SUserPsw", "", "");
        f.SUserPsw.focus();
        return false;
    }
    for(pl=0;pl<myPass.length;pl++){
           key=myPass.charCodeAt(pl);
           if(!(key > 32 && key <= 126)){
                SetDivErr("Invalid characters. Please use A-Z, 0-9 and standard characters. Spaces are not allowed.", "SUserPsw", "", "");
                return false;
           }
    }
    if(myPass.length < 6)
    {   SetDivErr("Your password must have at least 6 characters.", "SUserPsw", "", "");
        f.SUserPsw.focus();
        return false;
    }
    if(isDF!=2){
        if (f.CUserPsw.value != f.SUserPsw.value)
        {   SetDivErr("Passwords don&#39;t match ", "CUserPsw", "", "");
            f.CUserPsw.focus();
            return false;
        }
    }
    if ((removeSpaces(f.Country.value) == 0))
        {   
            SetDivErr("Please choose a country", "Country_Div", "", "");
            f.Country.focus();
            return false;
       }
    if ((f.HadRegion.value == 1) && (removeSpaces(f.Region.value) == 0))
        {                   
            SetDivErr("Please pick a state!", "Region_Div", "", "");
            f.Region.focus();
            return false;
        }
    if (f.Date_Day.value == 0 || f.Date_Month.value == 0 || f.Date_Year.value == 0)
    {   
        SetDivErr("Please enter your date of birth", "BirthDate", "", "");
       
        f.Date_Day.focus();
        return false;
    }
    if (!CheckMinAge(f.Date_Year.value, f.Date_Month.value, f.Date_Day.value, MIN_YEAR_REGISTER))
    {   SetDivErr("You are not authorized to register to blogTV.com as we are not permitted to collect your data. If your legal guardian accepts the Terms of Use for you then you can browse the site.", "BirthDate", "", ""); 
        f.Date_Day.focus();         
        return false;
    }     
     
    if ((f.Gender[0].checked == false) && (f.Gender[1].checked == false) )
    {   SetDivErr("Please choose a gender", "Gender", "", "");
        f.Gender[0].focus();
        return false;
    }           
    sGender=(f.Gender[0].checked)?1:2; 
                               
    if (removeSpaces(f.SecCode.value) == '')
    {   SetDivErr("Must enter security code", "SecCode", "", "");
        f.SecCode.focus();
        return false;
    }
             
    if (TermsScrollFlag==0)
    {   SetDivErr("Please review the Terms of Use", "licenseAgreement", "", "");                
        return false;
    }
    if(!f.Terms.checked)
    {   SetDivErr("Please agree the terms of use before continuing", "Terms", "", "");                 
        f.Terms.focus();
        return false;
    } 
    document.SignIn.SFlag.value = 1;
    f.TimezoneOffset.value = TimezoneValue; 
    NewsLetter =(f.NewsLetter.checked)?1:0;
   if(isDF){
        document.SignIn.submit(); 
   }else{
         xmlPage = "/Ajax/SignIn_Div.asp";
         
        parm = "SFlag=1&TheUserName="+myUserName+"&SUserPsw="+ encodeURIComponent(myPass)+"&UserEmail="+f.UserEmail.value+"&SecCode="+f.SecCode.value+"&country="+f.Country.value+"&Region="+f.Region.value+"&HadRegion="+f.HadRegion.value+"&TimezoneOffset="+f.TimezoneOffset.value+"&Gender="+sGender+"&Date_Day="+f.Date_Day.value+"&Date_Month="+f.Date_Month.value+"&Date_Year="+f.Date_Year.value+"&NewsLetter="+NewsLetter;        
        signUpObjXml = CreateObjXML();
        signUpObjXml.open("POST", xmlPage ,true); 
        signUpObjXml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
        signUpObjXml.onreadystatechange=signUpAjax;
        signUpObjXml.send(parm);
   
   }          
        
 }
      
  function AlterName(TheName)
  {     document.SignIn.TheUserName.value = TheName;
        AlterObj = $g("AlterTitleTD");
        if(AlterObj){ 
        document.getElementById("AlterTitleTD").style.display = "none";
        document.getElementById("AlterNameTD").style.display = "none";
        }
  }      
      
function scrollTerms()
{	    
TermsObj = document.getElementById("licenseAgreement");	    
if((TermsObj.scrollTop + TermsObj.offsetHeight) >= TermsObj.scrollHeight)
    TermsScrollFlag = 1;	        
}
function signUpAjax(){
 if (signUpObjXml && signUpObjXml.readyState==4){
    if (signUpObjXml.responseXML)
    {   
        var suSuccess = signUpObjXml.responseXML.getElementsByTagName("Success");                
            suSuccess = parseInt(suSuccess[0].firstChild.data); 
        if (suSuccess == 0){
            var suErrDesc = signUpObjXml.responseXML.getElementsByTagName("ErrDesc");                
                suErrDesc = suErrDesc[0].firstChild.data;
            var suErrDiv = signUpObjXml.responseXML.getElementsByTagName("ErrDiv");                
                suErrDiv = suErrDiv[0].firstChild.data; 
            if(suErrDiv=="SecCode")
            {
                var today = new Date();
                $g("SecCodeDiv").innerHTML="<img src='/Functions/SecurityCode.asp?tc=28 28 28&bg=FF FF FF&clk="+today.getDay()+today.getMonth()+today.getFullYear()+today.getHours()+today.getMinutes()+today.getSeconds()+today.getMilliseconds()+"' alt='' style='width:86;height:21' />";
            }
            if(document.getElementById(suErrDiv+"_Err"))
                SetDivErr(suErrDesc, suErrDiv, "", ""); 
         }else{
           if(suSuccess == 2)
            checkAimReg();
           else{
            _ShowInnerDiv = false;
            _onDivCloseRefresh = false; 
            var aInnerHtml = GetDivInnerHTML(4);
            createCustomAlert("",aInnerHtml,"770","274","#D7D7D7","#FFFFFF");
             
            }
               
         }      
    
    }
 }

}

function Reactivate()
{   xmlPage = "/Ajax/Email_ReActivation.asp";
    parm = "null"; 
    ReActivateObjXML = CreateObjXML();
    ReActivateObjXML.open("POST", xmlPage ,true);    
    ReActivateObjXML.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    ReActivateObjXML.onreadystatechange = ReactivateRsChange;
    ReActivateObjXML.send(parm);   
}
function ReactivateRsChange()
{     if (ReActivateObjXML && ReActivateObjXML.readyState==4)
  {     if (ReActivateObjXML.responseXML)
      {   var Reactive = ReActivateObjXML.responseXML.getElementsByTagName("Reactive");
	      ReactiveFlag = parseInt(Reactive[0].firstChild.data);			      
                var Msg;
                switch(ReactiveFlag)
                {     case 0:
                            Msg = "In order to re-activate your account you need to register";//Must Login
                            break;
                      case 1:
                            Msg = "An e-mail has been sent";//Mail Was Send                                    
                            break;
                      case 2:
                            Msg = "You have already activated your account";//User Active
                            break;
                }
                document.getElementById("divActivate").innerHTML=Msg;
          }
    }
}
