﻿//////////////////////////////////////////////////////////////////
// login.js
//
// David Yang (yang@levensoft.com)
// Copyright (C) Levensoft Co., Ltd. (www.levensoft.com)
//
// 2006.11.22
//////////////////////////////////////////////////////////////////

var login = new Object();
login.serviceObject = new Object();
login.register = function(panel, url)
{
    login.serviceObject.name = "login";
    
    login.panel = panel;
    login.signupurl = url;
};
login.checkkey = function()
{
	var e = EventUtil.getEvent();
	var o = login.panel;
	
	if (o.account.value.length > 0 && o.password.value.length > 0 && e.keyCode == 13) {
		login.signin();
	}
};
login.signin = function()
{
    if (! login.panel) return;
    
	var form = new Levensoft.JS.Form(login.panel);
	var xml = form.toXML(login.serviceObject.name);

	util.openMessaging(gMessage.SIGNIN_MESSAGE);
	webServiceFramework.initialize("LevenSiteService");
	webServiceFramework.registerHandler(login.signinCallback);
	webServiceFramework.callService("LevenSiteService", "Signin", 1, util.htmlEncode(xml.toString()));
};
login.signinCallback = function(o)
{
	webServiceFramework.unregisterHandler();

	var xmlString = o.firstChild.nodeValue;
	var doc = util.getXmlDocument();
	doc.async = false;
	doc.loadXML(xmlString);
	if (doc.parseError.errorCode != 0)
	{
	    util.errorMessaging(doc.parseError.reason);
	    return;
    }

    o = doc.firstChild;
    if (o.nodeName == "url")
    {
        location.href = o.text;
    }
    else if (o.nodeName == "panel")
    {
        login.panel.parentElement.outerHTML = o.firstChild.text;
    }
};
login.signup = function()
{
	location.href = login.signupurl;
};
login.verifycodeReload = function()
{
    var a = login.panel.id.split("_");
    
	var vCodeContainer = document.getElementById("vcImage" + a[a.length - 1]);
	if (vCodeContainer) vCodeContainer.src = vCodeContainer.src + "&x";
};

if (util) util.attachUnloadEventHandler(login.__unloadHandler);

login.__unloadHandler = function()
{
    login.serviceObject = null;
	login = null;
};
