﻿/// <reference path="authentication.js"/>
/// <reference path="jquery-1.4.4.vsdoc.js"/>
/// <reference path="parseXml.js"/>

var gadgetPreference = function () {
    //                     var toXml=parseXml.CreateParser();
    //                     var toJson=
    var greeningConnection = auth.connectTo("http://web.ischool.com.tw/service/shared/user");
    auth.onLogin(function () { greeningConnection = auth.connectTo("http://web.ischool.com.tw/service/shared/user"); });
    var result = {
        getPreference: function (gadgetURL, callBackFn) {
            greeningConnection.send({
                service: "GetSpace",
                autoRetry: true,
                body: {
                    Request: {
                        Condition: { Name: 'preference.' + gadgetURL }
                    }
                },
                result: function (resp, err, XHR) {
                    if (resp && resp.SpaceList && resp.SpaceList.Space) {
                        callBackFn(xml2json.parser(resp.SpaceList.Space.Content).Preference || {});
                    }
                    else {
                        greeningConnection.send({
                            service: "CreateSpace",
                            body: {
                                Request: {
                                    Space: {
                                        Name: 'preference.' + gadgetURL,
                                        Content: '<Preference />  '
                                    }
                                }
                            },
                            result: function () {
                                callBackFn({});
                            }
                        });
                    }
                }
            });
        },
        setPreference: function (gadgetURL, obj) {
            greeningConnection.send({
                service: "UpdateSpace",
                body: {
                    Request: {
                        Space: {
                            Name: 'preference.' + gadgetURL,
                            Content: parseXml.CreateParser().parse(obj, 'Preference')+"   "
                        }
                    }
                },
                result: function (resp, err, xhr) {
                    resp = {};
                }
            });
        }
    };
    return result;
} ();
