﻿User = function()
{
    this.Name = null;
    this.Password = null;
    this.UserName = null;
}

function randomString() {
	var chars = "0123456789abcdefghiklmnopqrstuvwxyz";
	var string_length = 6;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}

function ActiveUser(UserName,fileId,ip)
{
   if (fileId == "Hoạt động")
   {
        if(UserName != "vibeyeu")
        {
            if(confirm("Bạn có đồng ý khoá User này không ?"))
            {
                 userController.ActiveUser(fileId,ip);
            }
        }
        else
        {
          alert("Bạn không có quyền khoá Admin");
        }
   }
  if (fileId == "Bị khoá")
   {
      if(confirm("Bạn có đồng ý mở khoá User này không ?"))
        {
             userController.ActiveUser(fileId,ip);
        }
   }
   
}
function addfriendofuser(friend)
{
  userController.addfriendofuser(friend);
}
function editfriendofuser(friendid,friendname)
{
  userController.editfriendofuser(friendid,friendname);
}

function showAllFriendsCenterForm()
{
    var obj = new Object();     
    obj.UserName = getUserName();
    var html = '<div id="box_house"></div><div style="clear:both;height:10px;"><div id="divshowfriendcenterPaging"></div></div>';
    getDOM('divrender').innerHTML = html;    
    System.Environment.ObjectManager.clear();
    var pagingController = new PagingController({
       id: "list_all_friend_show",
       pageId: 'divshowfriendcenterPaging',
       contentId: 'box_house',
       pageSize: '9',//Number of items par page
       numberPage: '3',//Number of Page display
       urlGetCountRequest: ajaxRequestURL("user", "GetCountFriends"),//Url to get count
       urlGetData: ajaxRequestURL("user", "GetFriendsOfUser"),//Url get data for paging
       params: obj,
       tpl: templateBabyHome.ShowFriendCenterForm,
       beforeUpdate: function(list){
            if(list!=null && list.length >0)  
            {
                for(var i=0; i<list.length; i++){
                   list[i].FriendnamereplaceDisplay = list[i].Friendnamereplace;
                   list[i].Friendnamereplace = list[i].Friendnamereplace.ellipsis(30);
                }
            }
      }
   });       
}

function showPopupFriend()
{
    if(Globals.IsAuthenticated)
        userController.checkExistFriend();
}
function showPopupFriendcheck()
    {
        if (Globals.UserName == getUserName())
        {
          alert('Bạn phải vào nhà khác để kết bạn');
          return false;
        }      
        var html = templates[templatePhoto.PopupFriend];
        
        document.body.windowPopUp = new windowEx({
                title: 'Kết bạn',   
                width: 300,
                height: 150,
                content: html,
                resize: false,
                maximize: false,
                minimize: false,
                modal: true            
            });
        
        document.body.windowPopUp.show();
        getDOM('txtfrienduser').value = getUserName();
        getDOM('txtfriendname').value = getUserName();
        setFocus('txtfriendname');
        getDOM('btnPopupAddFriend').onclick = function(){addfriendofuser(getUserName())}
        //document.body.windowPopUp.setPosition(getAbsolutePosition(document.body));         
    }
function showPopupFriendEdit(namereplace,friendid,friendname)
    {
        var html = templates[templateBabyHome.PopupFriendEdit];
        
        document.body.windowPopUp = new windowEx({
                title: 'Kết bạn',   
                width: 300,
                height: 150,
                content: html,
                resize: false,
                maximize: false,
                minimize: false,
                position: 12,
                modal: true            
            });
        
        document.body.windowPopUp.show();
        getDOM('txtfrienduser').value = namereplace;
        setFocus('txtfrienduser');
        getDOM('btnPopupAddFriend').onclick = function(){editfriendofuser(friendid,friendname)}
    }

//Upload and Delete Avatar
function UploadAvatar(formId)
{
    if(getDOM("myhome_information_public_user_file").value == "")
    {
        alert("Bạn chưa chọn file !");
        return false;
    }
    getDOM("myhome_information_public_user_preview").style.display = "none";
    getDOM("myhome_information_public_user_delete").style.display = "";
    getDOM("myhome_information_public_avatar_old").style.display = "none";
    getDOM("myhome_information_public_avatar_new").style.display = "block";
    var form = getDOM(formId);
    form.action = ajaxRequestURL("user","UploadAvatar");    
    //ShowAjaxLoading('frmUploadGroup','POST');    
    try{
         System.Environment.RequestManager.submitForm(formId, onUploadSuccess, onUploadFailure);
       }
    catch(ex){}
 }
 
function DeleteAvatar(formId)
{
    var str = getDOM("myhome_information_public_avatar_new").src;
    
    userController.DisableAvatar(str);
}
 
function onUploadFailure(response, opts)
{
    //HideAjaxLoading();  
    alert("Upload Fail !");    
}
function onUploadSuccess(response, opts)
{
    //HideAjaxLoading();      
    if(response.responseText)
    {
        var result = response.responseText;
        if(result!="failure" && result !="false")
        {
            getDOM("myhome_information_public_avatar_new").src = response.responseText;
            getDOM("myhome_information_public_user_avatar").value = response.responseText;
        }
        else
        {
            getDOM("myhome_information_public_user_preview").style.display = "";
            getDOM("myhome_information_public_user_delete").style.display = "none";
            alert("Avatar bạn nhập không phải định dạng ảnh !");
        }
    }
}

function InitLogin(fns)
{
    userController.GetLoginUser("true",fns);
}

function LoadAddNewForm()
{
    userController.onStateChange(UserState.NewForm, true);
}
function ListAll()
{
    userController.onStateChange(UserState.ListAll, true);
}

function UpdateUser()
{
    
    //var wherelive = getDOM('user_wherelive_one').value;
     var wherelive;
     if(GetTextOfDropdownlist("register_wherelive").trim() != "")
     {
         if(GetTextOfDropdownlist("register_wherelive") == "Nơi Khác")
            {
              if(getDOM("register_wherelive_textbox").value != "")
              {
                wherelive = getDOM("register_wherelive_textbox").value; 
              }
              else
              {
                wherelive = getDOM('user_wherelive_one').value;   
              }
              
            }
         else
             {
              wherelive = GetTextOfDropdownlist("register_wherelive");
             } 
    }
    else
    {
         wherelive = getDOM('user_wherelive_one').value;   
    }
    
    var avatar = "";
    var avatarTemp = "";
    var obj ={};
    obj.Wherelive = wherelive;
    if(getDOM("myhome_information_public_user_preview").style.display == "block")
    {
      obj.Avatar = "cancel";
    }
    else
    {
      obj.Avatar = getDOM("myhome_information_public_user_avatar").value;//avatar;
    }
    
    obj.Id = getDOM("list_babies_represent").value;
    obj.PresentBabyName = GetTextOfDropdownlist("list_babies_represent");
    
    userController.updateUser(obj);
}
function ReRegisterUser()
{
    getDOM("register_username").value = "";
    getDOM("register_email").value = "";
    getDOM("register_password").value = "";
    getDOM("register_repassword").value = "";
    SetSelectedOfDropDownList("register_wherelive","");
    getDOM("register_name").value = "";
    getDOM("register_birthday").value = "";
    SetSelectedOfDropDownList("register_gender","Nam");
    getDOM("register_wherelive_other").style.display = "none";
    getDOM("register_iagree").checked = false;
}
function RegisterUser()
{
    if (!getDOM("register_iagree").checked)
        {
          getDOM('errorsummary').innerHTML = "";
          getDOM('errorsummary').innerHTML = 'Bạn phải đồng ý với các điều khoản.'
          return false;
        }
    
    var v = new Validation();   
    v.add("register_username", ValidationType.required, null, '{name} chưa được nhập !', 'Tên tài khoản');
    v.add("register_email", ValidationType.required, null, '{name} chưa được nhập !', 'Địa chỉ mail');
    v.add("register_password", ValidationType.required, null, '{name} chưa được nhập !', 'Mật khẩu');
    v.add("register_repassword", ValidationType.required, null, '{name} chưa được nhập !', 'Mật khẩu nhập lại');
    v.add("register_wherelive", ValidationType.required, null, '{name} chưa được nhập !', 'Nơi ở');
    v.add("register_username", ValidationType.alphanumeric, null, '{name} phải viết liền và không có kí tự đặc biệt !', 'Tên đăng nhập');
    v.add("register_name", ValidationType.maxlength, 40, '{name} không được quá 40 ký tự !', 'Họ tên của bé');
    if(getDOM("register_wherelive_other").style.display == "block")
      {
        v.add("register_wherelive_textbox", ValidationType.required, null, '{name} chưa được nhập !', 'Nơi sống');
      }
    var v1 = new Validation();
    v1.add("register_email", ValidationType.email, null,'{name} chưa đúng cú pháp !', 'Địa chỉ hòm mail');
    
        
    var username = getDOM("register_username").value;
    var email = getDOM("register_email").value;
    var passWord = hex_md5(getDOM("register_password").value);
    if(GetTextOfDropdownlist("register_wherelive") == "Nơi Khác")
        {
          var whereLive = getDOM("register_wherelive_textbox").value;
        }
    else
         {
          var whereLive = GetTextOfDropdownlist("register_wherelive");
         } 
    
    var name = getDOM("register_name").value;
    name = name.trimAll();
    var birthday = getDOM("register_birthday").value;
    var gender = getDOM("register_gender").value;
    var user = new User();
    
    user.UserName = username;
    user.Email = email;
    user.PassWord = passWord;
    user.Wherelive = whereLive;
    user.Name = name;
    user.BirthDay = birthday;
    user.Gender = gender;
    
    
    if(v.checkValid())
        {
          
          if (v1.checkValid())
            { 
              
              if (getDOM("register_password").value != getDOM("register_repassword").value)
                  {
                     getDOM('errorsummary').innerHTML = "";
                     getDOM('errorsummary').innerHTML = 'Mật khẩu xác nhận không đúng.';
                     getDOM('register_repassword').focus();
                     return false;
                  }
              
              if(getDOM("register_birthday").value != "")
               {
                 if (!CheckDateTime("register_birthday"))
                      {
                        getDOM("register_birthday").focus();
                        return false;  
                      }  
                        
               }
              
              userController.RegisterUser(user,"100");
            }
          
        }
}

function LoginUser(funs)
{  
   if (!(getDOM("login_username").value != ""))
   {
     alert('Tên đăng nhập chưa được nhập.');
     getDOM("login_username").focus();
     return false;
   }
   else
   {
     if (!(getDOM("login_password").value != ""))
     {
       alert('Mật khẩu chưa được nhập.');
       getDOM("login_password").focus();
       return false;
     }
   }
   
    var username=getDOM("login_username").value;
    var password=hex_md5(getDOM("login_password").value);
    
    var obj ={};
    obj.UserName = username;
    obj.PassWord = password;
    
  if(getDOM("login_remember")!=null)
   if (getDOM("login_remember").checked)
    {
        setCookie("username_ichame_fpt20",obj.UserName,365);
        setCookie("password_ichame_fpt20",obj.PassWord,365);
        setCookie("rememberUser_ichame_fpt20",true,365);   
    }
    else
    {
      
      deleteCookie("username_ichame_fpt20");
	  deleteCookie("password_ichame_fpt20");
      setCookie("username_ichame_fpt20","",365);
      setCookie("password_ichame_fpt20","",365);
      setCookie("rememberUser_ichame_fpt20","",365); 
    }
    userController.LoginUser(obj,1,funs); 
}

function Logout(funs)
{  
    var obj ={};
    userController.LogoutUser(obj,funs);
}

function RecoverPassWordUser()
{
  
  var v = new Validation();   
  v.add('recove_username', ValidationType.required, null, '{name} chưa được nhập !', 'Tài khoản đăng nhập');
  v.add('recove_email', ValidationType.required, null, '{name} chưa được nhập !', 'Địa chỉ hòm mail');
  
  var v1 = new Validation();
  v1.add('recove_email', ValidationType.email, null,'{name} chưa đúng cú pháp !', 'Địa chỉ hòm mail');
  
  var username = getDOM('recove_username').value;
  var email = getDOM('recove_email').value;
    
  var obj ={};
  obj.UserName = username;
  obj.Email = email;
  obj.PassWord = randomString();
  obj.EncodePassWord = hex_md5(obj.PassWord);
  
  if(v.checkValid())
        {
          if(v1.checkValid())
            { 
              userController.RecoverPassWordUser(obj);
           }
        }   
 
}

//Change PassWord User Begin
function ChangePassWordUserInfor()
{
         
        
         var oldpassword = hex_md5(getDOM("myhome_change_pass_password").value);
         var newpassword = hex_md5(getDOM("myhome_change_pass_newpassword").value);
         var renewpassword = hex_md5(getDOM("myhome_change_pass_renewpassword").value);
         var obj = {};
         obj.PassWord = oldpassword;
         obj.NewPassWord = newpassword;
         if((getDOM("myhome_change_pass_password").value) == "") 
         {
           alert("Mật khẩu cũ chưa được nhập.");
           getDOM("myhome_change_pass_password").focus();
           return false;
         }
         if((getDOM("myhome_change_pass_newpassword").value) == "") 
         {
           alert("Mật khẩu mới chưa được nhập.");
           getDOM("myhome_change_pass_newpassword").focus();
           return false;
         }
         if((getDOM("myhome_change_pass_newpassword").value) == "") 
         {
           alert("Xác nhật mật khẩu mới chưa được nhập.");
           getDOM("myhome_change_pass_renewpassword").focus();
           return false;
         }
         
         if (getDOM('myhome_change_pass_newpassword').value != getDOM('myhome_change_pass_renewpassword').value)
           {
            alert("Mật khẩu xác nhận không đúng.");
            getDOM("myhome_change_pass_renewpassword").focus();
            return false;
           }
          else
           {
            userController.ChangePassWordUserJs(obj);
           }
           
         
}
//Change PassWord User End

function displayStatus()
{
    userController.onStateChange(UserState.DisplayStatus, true);
}
function manageBabys()
{
    var obj ="";
    userController.manageBaby(obj);
}
function ShowManageFriends()
{
  var obj ="";
  //userController.manageFriends(obj);
  if(getDOM("id1") != null)
  {
    alert('id1');
  }
  if(getDOM("id11") == null)
  {
    alert('id11');
  }
}
function GetBabyEdit()
{
  
  var baById = getDOM("list_babies").value;
  userController.getDetaiBaby(baById);
}
function AddUpdateBaby(addupdate)
{
    
    var birthday = "";
    if(addupdate == "add")
    {
        var name = getDOM("baby_name").value;
        name = name.trimAll();
        if(getDOM("baby_birthday").value != "")
        {
          birthday = getDOM("baby_birthday").value;
        }
        var gender = getDOM("baby_gender").value;
        var id = 0;
        if (name == "")
        {
          alert("Bạn cần nhập họ tên của bé.");
          getDOM("baby_name").focus();
          return false;
        }
    }
    else
    {
        if(GetTextOfDropdownlist("list_babies") == "")
        {
          alert("Bạn hãy thêm bé trước khi sửa.");
          return false;
        }
        else
        {
               
            var name = getDOM("baby_name_one").value;
            name = name.trimAll();
            if(GetTextOfDropdownlist("list_babies") != name)
            {
              
                var obj = getDOM("list_babies");
                if (obj != null)
                {
                   var len  = obj.length;
                    if(len >0)
                    {
                        for(var i = 0 ; i< len ; i++)
                        {
                            if(obj.options[i].text == name)
                                {
                                    alert("Tên bé đã tồn tại, bạn hãy chọn tên khác.");
                                    getDOM("baby_name_one").focus();
                                    return false;
                                }
                        }
                    }
                 }   
            }
            
            
            if(getDOM("baby_birthday_one").value != "")
            {
              birthday = getDOM("baby_birthday_one").value;
            }
            
            var gender = getDOM("baby_Gender_one").value;
            var id = getDOM("list_babies").value;
            if (name == "")
            {
              alert("Bạn cần nhập họ tên của bé.");
              getDOM("baby_name_one").focus();
              return false;
            }
        }
    }
    
    
    var baby = {};
    
    baby.Name = name.trimAll();
    if(birthday != "")
    {
      baby.Birthday = birthday;
    }
    else
    {
      baby.Birthday = null;
    }
    
    baby.Gender = gender;
    baby.Id = id;
    
    if(addupdate == "add")
    {
      if(getDOM("baby_birthday").value != "")
       {
         if (!CheckDateTime("baby_birthday"))
         {
           getDOM("baby_birthday").focus();
           return false;  
         }
                
       }
    }
    else
    {
      if(getDOM("baby_birthday_one").value != "")
       {
         if (!CheckDateTime("baby_birthday_one"))
            {
             getDOM("baby_birthday_one").focus();
             return false;  
            }
                
       }
    }
    
    userController.AddUpdateBaby(addupdate,baby);
}

function getCookie(c_name)
{
    if (document.cookie.length>0)
          {
              c_start=document.cookie.indexOf(c_name + "=");
              if (c_start!=-1)
                { 
                    c_start=c_start + c_name.length+1; 
                    c_end=document.cookie.indexOf(";",c_start);
                    if (c_end==-1) 
                        c_end=document.cookie.length;
                    return unescape(document.cookie.substring(c_start,c_end));
                } 
          }
    return "";
}
function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function deleteCookie(name) 
{ 
    var exp = new Date(); 
    exp.setTime (exp.getTime() - 1); 
    var cval = getCookie(name); 
    document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();

    var expDays = 30;
    var exp = new Date(); 
    exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
}

function checkCookie()
{
    var username=getCookie("username_ichame_fpt20");
    var password=getCookie("password_ichame_fpt20");
    var checkfield=getCookie("rememberUser_ichame_fpt20");
    if(checkfield)
    {
        if (username!=null && username!="")
             {
                if(getDOM("login_username") != null)
                {
                  getDOM("login_username").value = username;
                }
             }
        if (password!=null && password!="")
              {
                if(getDOM("login_password") != null)
                {
                 getDOM("login_password").value = password;
                }
              }
        if(getDOM("login_remember") != null)
        {
          getDOM("login_remember").checked = checkfield;
        }
        
               
     }
}
