﻿
window.onload = function(){

    loadGenders();

    setYearCombo();
    setMonthCombo();
    setDayCombo(0);
    
    $("AceptoTerms").onclick = showRegister;

}

function loadGenders(){
    $("cmbGender").value = '';
    $("cmbGender").disabled = true;
       
    $Ajax(basepath + "Controllers/Accounts/EditHealerAccount.aspx?method=getGenders", {
            cache: false,
            onfinish:function(result){ 
                loadDropDownCombo("cmbGender",result);
                $("cmbGender").disabled = false; 
            }, 
            tipoRespuesta:$tipo.JSON});
}

function showRegister()
{   
    if($("AceptoTerms").checked)
    {        
        $("imgSave").className = "input_botons"
        $("imgSave").disabled = "";
    }
    else{
        $("imgSave").className = "input_botons_off"
        $("imgSave").disabled = "disabled";
    }
    
}

    
//function set_watermarks(){
//        watermark('txtName', 'Enter Your Name', 'input_marcagua');
//        watermark('txtSurname', 'Enter Your Last name', 'input_marcagua');
//        watermark('txtEmail', 'Enter Your Email', 'input_marcagua');
//}

//document.observe('dom:loaded', set_watermarks);

function ValidateFields(){
    var valid = true;

    //Valido Nombre de Usuario
    valid &= checkearUserName();
    //chequeo passwords
    valid &= checkearPassword();

    //Chequeo la Edad
    valid &= checkearEdad();
    
    //Valido E-Mail del Usuario
    valid &= checkearEmail(); 
       
    if($F("txtName").replace(/\s/g,'') == '' || $F("txtName") == 'Enter Your Name'){
        $('lblName').innerHTML = 'Field required !';
        $('lblName').className="errores"; 
        
        valid &= false;
    }
    else{
        $('lblName').innerHTML = '*';
        $('lblName').className="txt_form_resultado";
    }
    
    if($F("txtLastName").replace(/\s/g,'') == '' || $F("txtName") == 'Enter Your LastName'){
        $('lblLastName').innerHTML = 'Field required !';
        $('lblLastName').className="errores"; 
        
        valid &= false;
    }
    else{
        $('lblLastName').innerHTML = '*';
        $('lblLastName').className="txt_form_resultado";
    }
            
    if($F("cmbGender") == ''){
        $('lblGender').innerHTML = 'Field required !';
        $('lblGender').className="errores"; 
        
        valid &= false;
    }
    else{
        $('lblGender').innerHTML = '*';
        $('lblGender').className="txt_form_resultado";
    }      
        
    if(valid == 0)
        return false;
    return true;
}

function checkearUserName(){
    var retval = true;
    
    if($F('txtUserName') == '' || $F('txtUserName') == 'Enter Your UserName')
    {
        $('lblUserName').innerHTML = 'Field required !';
        $('lblUserName').className="errores"; 
        retval = false;
    }
    else if(!checkUserName())
    {
        $('lblUserName').innerHTML = 'Just [a-z] & [0-9] are Allowed ';
        $('lblUserName').className = "errores";
        retval = false;
        
    }
    else
    {    
        $Ajax(basepath + "Controllers/Accounts/CreateUserAccount.aspx?method=checkearUserName", {
        cache: false, 
        metodo: $metodo.POST,            
        parametros: {"UserName":$F('txtUserName')},
        onfinish: function(html) {
                             
            if(html == '1'){
                $('lblUserName').innerHTML = 'User available';
                $('lblUserName').style.color = '#999945';
                //alert('llego a 1');
                retval = true;
            }
            else{
                $('lblUserName').innerHTML = 'User Unavailable';
                $('lblUserName').className="errores"; 
                retval = false;
            }
                
        }, 
        tipoRespuesta:$tipo.TEXTO});
    }
    
    
        
    return retval;
}

function checkearEmail(){
    var retval = true;
    
    //Verifico que el campo no esté vacío
       
    if($F("txtEmail").replace(/\s/g,'') == '' || $F("txtEmail") == 'Enter Your Mail')
    {
        $('lblEmail').innerHTML = 'Field required !';
        $('lblEmail').className="errores"; 
        
        retval = false;
    }
    else if($F("txtEmail") != $F("txtEmail2"))
    {
        $('lblEmail').innerHTML = 'Emails don´t match !';
        $('lblEmail').className="errores"; 
        
        retval = false;
    }
    else if(!checkEmail($F('txtEmail'))){
        $('lblEmail').innerHTML = 'Not Valid!';
        $('lblEmail').className="errores";
        retval = false;
    }
    else
	{
        $Ajax(basepath + "Controllers/Accounts/CreateUserAccount.aspx?method=checkearUserMail", {
            cache: false, 
            metodo: $metodo.POST,            
            parametros: {"Email":$F('txtEmail')},
            onfinish: function(html) {
                
                if(html == '1'){
                    $('lblEmail').innerHTML = 'Email available';
                    $('lblEmail').style.color = '#999945';
                    retval = true;
                }
                else{
                    $('lblEmail').innerHTML = 'Email Unavailable';
                    $('lblEmail').className="errores"; 
                    retval = false;
                }
            }, 
            tipoRespuesta:$tipo.TEXTO});
    }

    

    return retval;
}

function checkearPassword(){
    var retval = true;
    
    if($F("txtPassword").replace(/\s/g,'') == ''){
        $('lblPassword').innerHTML = 'Field required !';
        $('lblPassword').className="errores"; 
        
        retval = false;
    }
    else if($F('txtPassword').length < 5){
       $('lblPassword').innerHTML = 'Min 5 - Max 20';
       $('lblPassword').className="errores"; 
       
       retval = false;
    }
    else if($F("txtPassword") != $F("txtPassword2") ){
        $('lblPassword').innerHTML = "Passwords don't match !";
        $('lblPassword').className="errores"; 
        
        retval = false;
    }
    else{
        $('lblPassword').innerHTML = '*';
        $('lblPassword').className="txt_form_resultado";
        
    }  

    return retval;
}

function checkearEdad(){
    var retval = true;
    
    var anionac = $('cmbBirthYear').value;
    var dianac = $('cmbBirthDay').value;
    var mnac = $('cmbBirthMonth').value;
    var ahora = new Date();
    var diferencia = parseInt(ahora.getFullYear()) - parseInt(anionac);
        

    if(anionac=='00' || anionac=='' || dianac=='00' || dianac=='' || mnac=='' || mnac=='00')
    {
        $('lblBirthday').innerHTML = 'Field required !';
        $('lblBirthday').className="errores"; 
        retval = false;
    }
    else if(diferencia < 18) 
    {
        $('lblBirthday').innerHTML = '18+ Only';
        $('lblBirthday').className="errores"; 
        retval = false;
    }
    else if(dianac == '29' && mnac == '02')
    {
        var birthday = "02/29/" +  anionac;
        if(checkValidDate(birthday))
        {
            $('lblBirthday').innerHTML = '*';
            $('lblBirthday').className="txt_form_resultado";
            retval = true;
        }
        else
        {
            $('lblBirthday').innerHTML = 'Invalid Date';
            $('lblBirthday').className = "errores";
            retval = false;
        }
    }
    else
    {
        $('lblBirthday').innerHTML = '*';
        $('lblBirthday').className="txt_form_resultado";
    }
    
    return retval;
}    


function checkUserName()
{
    var regular = new RegExp("[a-z]|[0-9]", "i");
    var letters;    
    
    letters = $('txtUserName');
    
    letter = letters.value.split('');
    for(var i=0; i<=letter.length; i++)
    {
        if(!regular.test(letter[i]))
        {   
            return false;
        }
    }
    return true;
}

//guardado
function SaveAccount(){
    if(ValidateFields() == true){
        //Borro contenido de error
        $('lblResult').innerHTML = '';
        
        $Ajax(basepath + "Controllers/Accounts/CreateUserAccount.aspx?method=saveUserAccount", {
                cache: false,
                avisoCargando:"divCargando", 
                metodo: $metodo.POST,            
                parametros: {
                            "UserName":escape($F("txtUserName")),
                            "Password":$F("txtPassword"),
                            "Name":escape(deleteInvalidTags($F("txtName"))),
                            "LastName":escape(deleteInvalidTags($F("txtLastName"))),
                            "Email":escape($F("txtEmail")),
                            "BirthDay":$F('cmbBirthDay'),
                            "BirthMonth":$F('cmbBirthMonth'),
                            "BirthYear":$F('cmbBirthYear'),
                            "Gender":$F("cmbGender")},
                onfinish: function(result) {
                    if(result > 0){
                        window.location = "CreateAccount_target.aspx";
                    }
                    else{
                        $('lblResult').innerHTML = 'We are sorry, your request could not be completed.';                            
                    }   
                }, 
                tipoRespuesta:$tipo.TEXTO});
    }

}


//fechas
var arrMonth = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var date = new Date();
var anio = date.getFullYear();
var initAnio = 1899;
var dif = anio - initAnio;

function setYearCombo(){
    $('cmbBirthYear').options[0] = new Option('Year / Año', '00');
    
    for(var un=1; un<=dif; un++)
    {
        $('cmbBirthYear').options[un] = new Option(initAnio + un, initAnio + un);
    }

}    

function setMonthCombo(){

    $("cmbBirthMonth").onchange = function(){setDayCombo(this.value);}  
    $('cmbBirthMonth').options[0] = new Option('Month / Mes', '00');
    
    for(var un=1; un<=arrMonth.length; un++)
    {
        $('cmbBirthMonth').options[un] = new Option(arrMonth[un-1], (un<10?'0'+un:un));
    }
    
}

function setDayCombo(vmonth){   
    //alert(vmonth);
    //limpio el combo
    $('cmbBirthDay').options.length = 0;
    $('cmbBirthDay').options[0] = new Option('Day /Día', '00');
    
    if(vmonth == '01' || vmonth == '03' || vmonth == '05' || vmonth == '07' || vmonth == '08' || vmonth == '10' || vmonth == '12')
    {
        for(var un=1; un<=31; un++)
        {
            $('cmbBirthDay').options[un] = new Option((un<10?'0'+un:un), (un<10?'0'+un:un));
        }
    }
    else if(vmonth == '02')
    {
         for(var un=1; un<=29; un++)
        {
            $('cmbBirthDay').options[un] = new Option((un<10?'0'+un:un), (un<10?'0'+un:un));
        }
    }
    else if(vmonth > 0)
    {
         for(var un=1; un<=30; un++)
        {
            $('cmbBirthDay').options[un] = new Option((un<10?'0'+un:un), (un<10?'0'+un:un));
        }
    }
        
}