﻿//=================== Local variable =============================//
var req;
var oScript;
//================ Requried: must set by user ====================//
var psnid = "000001-000000-000000-000000";		// Psn Id
//=================== Optional: set by user ======================//
var surl = "";																	        // Success url
var rurl = "http://member.sanook.com/member_detail/login_personal.aspx";	// Registration url
var hurl = "http://help.sanook.com";										// User can set Help url
var furl = "http://member.sanook.com/forgetpassword.aspx";					// Forget password url
var lg = "t";																	        // Language
var avatartype = "small";                                                                // Display Small OR Full
var loginbox_width = "100%";
var rootUrl = "http://login.sanook.com/loginboxdiv/";
var loadingImage = new Image();
var isSetFocus = false;

// Include Core javascript
// Include Core javascript
include_javascript_file("http://login.sanook.com/loginboxdiv/js/core.js");
function include_javascript_file(FileUrl){
	document.write("<script language='javascript' type='text/javascript' src='" + FileUrl + "'></" + "script>");	
}
function GetFullAvatarUrl(smiid, avatartype, bindingqq, qquin, gender){
    var full_avatar_url = document.getElementById("imgFullAvartar");
    return full_avatar_url = "http://login.sanook.com/getimage/getimagefullavatar.aspx?gender=" + gender + "&avatartype=" + avatartype + "&smiid=" + smiid + "&qqno=" + qquin;
    
    if (avatartype == "1") // Minihome
    {
        full_avatar_url = "http://login.sanook.com/getimage/getimagefullavatar.aspx?gender=" + gender + "&avatartype=1&smiid=" + smiid + "&qqno=" + qquin;
    }
    else if (avatartype == "6") // QQ Show
    {
        if (bindingqq == "1")
            full_avatar_url = "http://login.sanook.com/getimage/getimagefullavatar.aspx?gender=" + gender + "&avatartype=6&smiid=" + smiid + "&qqno=" + qquin;
        else
            full_avatar_url = "http://login.sanook.com/getimage/getimagefullavatar.aspx?gender=" + gender + "&avatartype=6&smiid=" + smiid;
    }
    else if (avatartype == "2" || avatartype == "3") // Photo
    {
        full_avatar_url = "http://login.sanook.com/getimage/getimagefullavatar.aspx?gender=" + gender + "&avatartype=" + newavatarType + "&smiid=" + smiid + "&qqno=" + qquin;
    }
    
    return full_avatar_url;
}
function LoadXmlForFireFox(xml_string){
    xml = xml_string;
    LoadAvatar();
}
function LoadAvatar(){
    var html="";
    var myxml;
    var loadSuccess = false;
    
    try
    {
        myxml = xml;
    }
    catch (e)
    {
    }
    
    if (myxml != null && myxml != "undefined")
    {
        var member = ConvertToObject(myxml);
        
        if (member == null)
        {
            alert("ขออภัย ไม่พบข้อมูลของท่านในระบบค่ะ");
            return;
        }
        
        // Check avatar type
        if (avatartype == "small")
        {
            html = '<div id="divSmallAvatar" class="main_login_box" style="width:' + loginbox_width + ';">\
                    <h3><a href="http://member.sanook.com/member.aspx" target="_blank">' +
                    member.nickname + '</a><span>\
                    <a href="javascript:Logout_Click();"><img src="' + rootUrl + 'images/loginbox/logoff.gif" alt="ออกจากระบบ" title="ออกจากระบบ" /></a></span></h3>\
                    <blockquote class="mini_profile"><div style="position: absolute; left: 3px; margin: 5px 3px 0px 0;">' +
                    member.member_avatar_html +
                    '</div>\
                    <div style="height:60px">\
                    <p>\
                    <strong><a href="http://qq.sanook.com" target="_blank">QQ No.</a>: <a href="http://member.sanook.com/member_detail/change_qq.aspx" target="_blank">' + (member.qquin == "0" ? "-" : member.qquin) + '</a></strong>\
                    </p>\
                    <p>\
                    <span style="display:none;"><a href="http://minihome.sanook.com/giftshop/shop/index.shtml" target="_blank"><img src="' + rootUrl + 'images/loginbox/shop.gif" alt="มินิชอป" title="มินิชอป" /></a></span>\
                    <a href="https://wallet.sanook.com/index.aspx" target="_blank"><img src="' + rootUrl + 'images/loginbox/bag.gif" alt="กระเป๋าตังสนุก!" title="กระเป๋าตังสนุก!" /></a>\
                    <a href="http://mail.sanook.com" target="_blank"><img src="' + rootUrl + 'images/loginbox/mail_off.gif" alt="สนุก! เมล์" title="สนุก! เมล์" /></a>' +
                    (member.qqvip == "1" ?
                        '<a href="http://qqshow.sanook.com/vip" target="_blank"><img src="' + rootUrl + 'images/loginbox/vip.gif" alt="QQ VIP" title="QQ VIP" /></a>'
                       :'<a href="http://qqshow.sanook.com/vip" target="_blank"><img src="' + rootUrl + 'images/loginbox/vip_non.gif" alt="QQ VIP" title="QQ VIP" /></a>')
                    + '</p>\
                    </p>\
                    <p>\
                    <a href="http://member.sanook.com/member_detail/change_mobile.aspx" target="_blank">' +
                    (member.verified_mobile == "1" ?
                        '<img src="' + rootUrl + 'images/loginbox/mobile_v.gif" alt="ยืนยันเบอร์มือถือเรียบร้อยแล้ว" title="ยืนยันเบอร์มือถือเรียบร้อยแล้ว" />'
                       :'<img src="' + rootUrl + 'images/loginbox/mobile_n.gif" alt="ยังไม่ได้ยืนยันเบอร์มือถือ" title="ยังไม่ได้ยืนยันเบอร์มือถือ" />')
                    + '</a><a href="http://member.sanook.com/member_detail/change_idcard.aspx" target="_blank">' +
                    
                    (member.verified_idcard == "1" ?
                        '<img src="' + rootUrl + 'images/loginbox/id_v.gif" alt="ยืนยันบัตรชาชนเรียบร้อยแล้ว" title="ยืนยันบัตรชาชนเรียบร้อยแล้ว" /></a>'
                       :'<img src="' + rootUrl + 'images/loginbox/id_n.gif" alt="ยังไม่ได้ยืนยันบัตรชาชน" title="ยังไม่ได้ยืนยันบัตรชาชน" /></a>')
                       
                    + '<a href="http://help.sanook.com/home/index.html" target="_blank"><img src="' + rootUrl + 'images/loginbox/help.gif" alt="ช่วยเหลือ" title="ช่วยเหลือ" /></a>\
                    </p>\
                    <div>\
                    </blockquote>\
                    <span style="display:none;"><p class="mini_pro_buttom"><img src="' + rootUrl + 'images/loginbox/mini.gif" alt="มินิโฮมของฉัน" title="มินิโฮมของฉัน"/>' +
                    (member.minihomeuser == "1" ?
                        '<a href="javascript:;" onclick="window.open(' + "'" + 'http://minihome.sanook.com/minihompy/myhompy/showhompy.shtml?guid=' + member.guid + '&type=manage' + "'" + ', ' + "'" + '_blank' + "'" + ', ' + "'" + 'left=40, top=50, width=950, height=630' + "'" + ');' + ' return false;">มินิโฮมของฉัน</a>'
                       :'<a href="javascript:;" onclick="window.open(' + "'" + 'http://member.sanook.com/member.aspx' + "'" + ', ' + "'" + '_blank' + "'" + ');' + ' return false;">สร้่างมินิโฮมได้ที่นี่</a>')

                    + '</span></p>\
                    </div>';
        }
        else if (avatartype == "full")
        {
            member.qquin = (member.qquin == "0" ? "-" : member.qquin)

            // DISPLAY FULL AVATAR
            html = '<div id="divFullAvatar" class="main_login_box" style="text-align:center; width:' + loginbox_width + ';">\
                    <h3><a href="http://member.sanook.com/member.aspx">'
                    + member.nickname + '</a><span><a href="javascript:Logout_Click();"><img src="' + rootUrl + 'images/loginbox/logoff.gif" alt="ออกจากระบบ" title="ออกจากระบบ" /></a></span></h3>\
                    <p>&nbsp;</p>\
                    <img src="' + GetFullAvatarUrl(member.guid, member.avatartype, member.qquin, member.qquin, member.gender) + '" alt="me" title="Me" class="big_pro"/>\
                    <p class="show_pro">\
                    <span style="display:none;"><strong><img src="' + rootUrl + 'images/loginbox/mini.gif" alt="มินิโฮมของฉัน" title="มินิโฮมของฉัน"/>'
                    + (member.minihomeuser == "1" ?
                        '<a href="javascript:;" onclick="window.open(' + "'" + 'http://minihome.sanook.com/minihompy/myhompy/showhompy.shtml?guid=' + member.guid + '&type=manage' + "'" + ', ' + "'" + '_blank' + "'" + ', ' + "'" + 'left=40, top=50, width=950, height=630' + "'" + ');' + ' return false;">มินิโฮมของฉัน</a>'
                       :'<a href="javascript:;" onclick="window.open(' + "'" + 'http://member.sanook.com/member.aspx' + "'" + ', ' + "'" + '_blank' + "'" + ');' + ' return false;">สร้่างมินิโฮมได้ที่นี่</a>')
                    +
                    '</strong></span>\
                    </p>\
                    <p class="show_pro_data">\
                    <strong>\
                    <div style="text-align:center; padding-top:3px;">\
                    <a href="https://wallet.sanook.com/index.aspx" target="_blank"><img src="' + rootUrl + 'images/loginbox/bag.gif" alt="กระเป๋าตังสนุก!" title="กระเป๋าตังสนุก!" /></a>\
                    <a href="http://mail.sanook.com" target="_blank"><img src="' + rootUrl + 'images/loginbox/newmail.gif" alt="สนุก! เมล์" title="สนุก! เมล์" /></a>'
                    + (member.qqvip == "1" ?
                        '<a href="http://qqshow.sanook.com/vip" target="_blank"><img src="' + rootUrl + 'images/loginbox/vip.gif" alt="QQ VIP" title="QQ VIP" /></a>'
                       :'<a href="http://qqshow.sanook.com/vip" target="_blank"><img src="' + rootUrl + 'images/loginbox/vip_non.gif" alt="QQ VIP" title="QQ VIP" /></a>')
                    + (member.verified_mobile == "1" ?
                        '<img src="' + rootUrl + 'images/loginbox/mobile_v.gif" alt="ยืนยันเบอร์มือถือเรียบร้อยแล้ว" title="ยืนยันเบอร์มือถือเรียบร้อยแล้ว" />'
                       :'<img src="' + rootUrl + 'images/loginbox/mobile_n.gif" alt="ยังไม่ได้ยืนยันเบอร์มือถือ" title="ยังไม่ได้ยืนยันเบอร์มือถือ" />')
                    + (member.verified_idcard == "1" ?
                        '<img src="' + rootUrl + 'images/loginbox/id_v.gif" alt="ยืนยันบัตรชาชนเรียบร้อยแล้ว" title="ยืนยันบัตรชาชนเรียบร้อยแล้ว" /></a>'
                       :'<img src="' + rootUrl + 'images/loginbox/id_n.gif" alt="ยังไม่ได้ยืนยันบัตรชาชน" title="ยังไม่ได้ยืนยันบัตรชาชน" /></a>') 
                    + '<a href="http://help.sanook.com/home/index.html" target="_blank"><img src="' + rootUrl + 'images/loginbox/help.gif" alt="ช่วยเหลือ" title="ช่วยเหลือ"/></a>\
                    </strong>\
                    </div>\
                    <strong><a href="http://qq.sanook.com" target="_blank">QQ No.</a>: <a href="http://member.sanook.com/member_detail/change_qq.aspx" target="_blank">' + member.qquin + '</a></strong>\
                    <br/><div style="padding-top:4px;"></div><a target="_blank" href="http://wpa.qq.sanook.com/msgrd?V=1&Uin=' + member.qquin + '&Site=qq.sanook.com&Menu=yes"><img border="0" src="http://qq.sanook.com/images/qqicon/index_member.php?p=1:' + member.qquin + ':27" alt="' + member.qquin + '" title="QQ"></a>\
                    </p>\
                    </div>';
        }
        GetDom("divSmiLoginBox").innerHTML = html;
    }
    else
    {
        // Display avatar
        var agt = navigator.userAgent.toLowerCase();
        if (agt.indexOf("msie") == -1){
            html += '<input id="smirenderloginboxforfirefox" type="button" value="" style="display:none;" onclick="LoadXmlForFireFox(xml);" />';
            GetDom("divSmiLoginBox").innerHTML = html;
            addLoadEvent(LoadAvatarForFirefox);
        }
    }
}
function LoadAvatarForFirefox(){
    GetDom('smirenderloginboxforfirefox').click();
}
function SetHiddenField(HiddenName, HiddenValue){
    var objHidden = document.getElementById(HiddenName);
    
    if (HiddenValue == true)
        objHidden.value = "1";
    else
        objHidden.value = "0";
}
function LoadLoginBox(){
    var html="";
    var smiid = GetSubCookie("smiservice", "SMI_ID");
	var email = GetSubCookie("smiservice", "EMAIL");
	var saveemail = GetSubCookie("smilifesave", "SAVEEMAIL");
	var islogin = IsLogin(smiid, email);
    
    // Add style sheet
    document.write('<link href="' + rootUrl + 'css/member_login.css" rel="stylesheet" type="text/css" />');
    
    // Clear html content
    html = "";
    
    if (islogin == false)
    {
        // DISPLAY LOGINBOX
        var errorCode = GetQueryStringValue("smistatuscode", utf8_decode(unescape(document.location.search)));
        email = GetQueryStringValue("email", utf8_decode(unescape(document.location.search)));
        
        var errorText = "";
        if (errorCode == "-11") errorText = "อีเมล์นี้ถูกระงับการใช้งาน กรุณาติดต่อทีมงานสนุก!";
        else if (errorCode == "-10") errorText = "อีเมล์นี้ถูกระงับชั่วคราว!";
        else if (errorCode == "-9") errorText = "รหัสผ่านไม่ถูกต้อง";
        else if (errorCode == "-4") errorText = "อีเมล์นี้ถูกระงับชั่วคราว! อีก 15 นาที กรุณาลองใหม่";
        else if (errorCode == "-3") errorText = "กรุณายืนยันอีเมล์ หากไม่ได้รับอีเมล์ยืนยัน โปรดตรวจสอบโฟล์เดอร์ขยะ (junk mail)";
        else if (errorCode == "-2" || errorCode == "-5" || errorCode == "-6" || errorCode == "-8") errorText = "เกิดข้อผิดพลาดจากระบบ";
        else if (errorCode == "-1") errorText = "กรุณาระบุอีเมล์และรหัสผ่าน";
        else if (errorCode == "0") errorText = "ไม่พบอีเมล์นี้ในระบบ";

        loginbox_width = parseInt(loginbox_width);
        
        html += '<div id="divLogin" style="width:' + loginbox_width + 'px; margin:0px; padding:0px">\
                <div class="main_login_box">\
                <h3>S! เข้าสู่ระบบ<span><a href="' + hurl + '">วิธีการใช้งาน</a></span></h3>\
                <div style="float:left; width:' + (loginbox_width-57) + 'px;">\
                    <p>\
                        <label for="name_form" class="username">อีเมล์ :</label>\
                        <input type="text" id="email" name="email" style="width:100%" class="fontdefault" value="' + (email != "" ? email : (saveemail == "" ? "" : saveemail)) + '" onkeydown="if (event.keyCode == 13) return Login_Click();" />\
                    </p>\
                    <p>\
                        <label for="password_form">รหัสผ่าน :</label>\
                        <input type="password" id="password" name="password" style="width:100%" class="fontdefault" value="" onkeydown="if (event.keyCode == 13) return Login_Click();" />\
                    </p>\
                </div>\
                <div style="float:left; margin-top:25px; margin-left: 7px; width:38px; text-align:center;">\
                    <a href="javascript:;" onclick="Login_Click();"><input type="image" src="' + rootUrl + 'images/loginbox/sm_login.gif" name="go_button" class="go_button" /></a>\
                </div>\
                <input type="hidden" name="lg" id="lg" value="t" />\
                <input type="hidden" name="saveemail" id="saveemail" value="' + (saveemail == "" ? "0" : "1") + '" />\
                <input type="hidden" name="rememberme" id="rememberme" value="0" />\
                <div style="clear:both;">\
                    <label for="check_email"><input type="checkbox" class="check_email ch_box" name="chksaveemail" ' + (saveemail == "" ? "" : "checked=checked") + ' onclick="SetHiddenField(\'saveemail\', this.checked);" /> จําอีเมล์</label>\
                    <label for="check_pass"><input type="checkbox" class="check_pass ch_box" name="chkrememberme" onclick="SetHiddenField(\'rememberme\', this.checked);" /> จํารหัสผ่าน</label>\
                    <div id="divSmiErrorMessage" style="text-align:center; width:100%;" class="error">' + errorText + '</div>\
                    <p class="border_button_and_links"><a href="' + rurl + '">สมัครสมาชิก </a>|  <a href="' + furl + '">ลืมรหัสผ่าน</a></p>\
                </div>\
            </div>\
        </div>';

        GetDom("divSmiLoginBox").innerHTML = html;
		if (isSetFocus)
			addLoadEvent(InitLoadEvent);
    }
    else // Login
    {
        GetDom("divSmiLoginBox").innerHTML = "<div style='width:" + loginbox_width + "; padding-top:30px; height:75px; text-align:center;'><img align='absmiddle' src='" + rootUrl + "images/loginbox/loading.gif' border='0' /></div>";
        GetMemberProfile("SmiScriptGetMemberProfile", rootUrl + "memberprofile.aspx?smiid=" + smiid + "&type=getprofile");
    }
}
function GetMemberProfile(id, url){
    // Fetch the element pointed to by the id. If it exists, we destroy it so we can create a new one.
    oScript = document.getElementById(id);

    // Point at the script tag, if it exists
    var head = document.getElementsByTagName("head").item(0);
    
    // Destroy the tag, if it exists
    if (oScript)
    {
        // Destory object
        head.removeChild(oScript);
    }
    
    // Create the new script tag
    oScript = document.createElement("script");

    // Setup the src attribute of the script tag
    oScript.setAttribute("src", url);

    // Set the id attribute of the script tag
    oScript.setAttribute("id",id);

    // Create the new script tag which causes the proxy to be called
    head.appendChild(oScript);

    // Load XML
    var agt = navigator.userAgent.toLowerCase();
    if (agt.indexOf("msie") != -1) // IE
    {
        oScript.onreadystatechange = LoadAvatar;
    }
    else // Firefox, etc...
    {
        eval("LoadAvatar();");
    }
}
function ConvertToObject(xmlstring){
    var member = new MemberProfile();
    
    // Load XML
    var agt = navigator.userAgent.toLowerCase();
    var xmlObject;
    var canParseXml = false;
    
    if (agt.indexOf("msie") != -1) // IE
    {
        xmlObject = new ActiveXObject("Microsoft.XMLDOM");
        xmlObject.async = false;
        xmlObject.loadXML(xmlstring);
        canParseXml = true;
    }
    else
    {
        if (typeof(DOMParser) != "undefined")
        {
            xmlObject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
            canParseXml = true;
        }
        else
        {
            if (agt.indexOf("opera") == -1)
                alert("Please upgrade to Opera 7.6.");
            else
                alert("Your browser does not implement the DOMParser Object.");

            return null;
        }
    }
    
    // convert string to XML object
    if (canParseXml == true)
    {
        var root = xmlObject.documentElement;
        
        try
        {
            var child = root.childNodes[0];
            
            member = ResetMemberProfile(member);

            if (child.childNodes[0].childNodes[0] != null)
                member.guid = child.childNodes[0].childNodes[0].nodeValue;
            if (child.childNodes[1].childNodes[0] != null)
                member.nickname = child.childNodes[1].childNodes[0].nodeValue;
            if (child.childNodes[2].childNodes[0] != null)
                member.displayname = child.childNodes[2].childNodes[0].nodeValue;
            if (child.childNodes[3].childNodes[0] != null)
                member.qquin = child.childNodes[3].childNodes[0].nodeValue;
            if (child.childNodes[4].childNodes[0] != null)
                member.verified_mobile = child.childNodes[4].childNodes[0].nodeValue;
            if (child.childNodes[5].childNodes[0] != null)
                member.verified_idcard = child.childNodes[5].childNodes[0].nodeValue;
            if (child.childNodes[6].childNodes[0] != null)
                member.member_avatar_html = child.childNodes[6].childNodes[0].nodeValue;
            if (child.childNodes[7].childNodes[0] != null)
                member.qqvip = child.childNodes[7].childNodes[0].nodeValue;
            if (child.childNodes[8].childNodes[0] != null)
                member.minihomeuser = child.childNodes[8].childNodes[0].nodeValue;
            if (child.childNodes[9].childNodes[0] != null)
                member.avatartype = child.childNodes[9].childNodes[0].nodeValue;
            if (child.childNodes[10].childNodes[0] != null)
                member.qqstatus = child.childNodes[10].childNodes[0].nodeValue;
            if (child.childNodes[11].childNodes[0] != null)
                member.gender = child.childNodes[11].childNodes[0].nodeValue;
        }
        catch (e)
        {
        }
    }
    else
    {
        ResetMemberProfile(member);
    }
    return member;
}
function ResetMemberProfile(member){
    member.guid = "";
    member.nickname = "";
    member.displayname = "";
    member.qquin = "-";
    member.verified_mobile = "0";
    member.verified_idcard = "0";
    member.member_avatar_html = "";
    member.qqvip = "0";
    member.minihomeuser = "0";
    member.avatartype = "";
    member.qqstatus = "0";
    member.gender = "1";
    
    return member;
}
function InitLoadEvent(){
    var email = GetDom("email");
    if (email)  GetDom("email").focus();
}
function Logout_Click(){
    // Set surl
    if (surl == "")
        surl = document.location.href;
    
    surl = surl.replace("?smirefresh=1", "");
    surl = surl.replace("&smirefresh=1", "");
    //surl = escape(surl);

    // Create post form
    var logoutform = document.createElement("form");
    with (logoutform)
    {
		setAttribute("name", "frmSmiDeauthentication");
		setAttribute("action", "http://login.sanook.com/centerlogin/post_logout.aspx");
		setAttribute("method", "post");
	}
    
    var paramName = new Array("psnid", "surl");
	var paramValue = new Array(psnid, surl);
	
	for (i=0; i<paramName.length; i++)
	{
	    var input = document.createElement("input"); // create an input element
	    with (input)
	    {
		    setAttribute("name", paramName[i]);
		    setAttribute("type", "hidden");
		    setAttribute("value", paramValue[i]);
    		
		    logoutform.appendChild(input);
	    }
	}
	
	document.getElementsByTagName("body")[0].appendChild(logoutform);
	logoutform.submit();
}
function Login_Click(){
    var email = GetDom("email");
    var password = GetDom("password");
    var divError = GetDom("divSmiErrorMessage");
    
    if (email.value == "")
    {
        email.focus();
        divError.innerHTML = "กรุณากรอกอีเมล์";
        return false;
    }
    if (password.value == "")
    {
        password.focus();
        divError.innerHTML = "กรุณากรอกรหัสผ่าน";
        return false;
    }
    
    // Valid surl
    if (surl == "")
        surl = document.location.href;

    surl = surl.replace("?smirefresh=1", "");
    surl = surl.replace("&smirefresh=1", "");
    //surl = escape(surl);
    
    //*** Create login form ***//
    var loginform = document.createElement("form");
    with (loginform)
    {
		setAttribute("name", "frmSmiAuthentication");
		setAttribute("action", "http://login.sanook.com/centerlogin/login.aspx");
		setAttribute("method", "post");
	}
	
	var paramName = new Array("email", "password", "rememberme", "saveemail", "psnid", "surl");
	var paramValue = new Array(email.value, password.value, document.getElementById("rememberme").value, document.getElementById("saveemail").value, psnid, surl);
	
	for (i=0; i<paramName.length; i++)
	{
	    var input = document.createElement("input"); // create an input element
	    with (input)
	    {
		    setAttribute("name", paramName[i]);
		    setAttribute("type", "hidden");
		    setAttribute("value", paramValue[i]);
    		
		    loginform.appendChild(input);
	    }
	}
	document.getElementsByTagName("body")[0].appendChild(loginform);
	loginform.submit();
	//******* END ******//
}
function GetFieldIndex(fieldname, key){
    for (var i=0; i<fieldname.length; i++)
    {
        if (fieldname[i] == key)
            return i;
    }
}