Type.registerNamespace('MySpace.Web.Services.Apps');
MySpace.Web.Services.Apps.Apps=function() {
MySpace.Web.Services.Apps.Apps.initializeBase(this);
this._timeout = 0;
this._userContext = null;
this._succeeded = null;
this._failed = null;
}
MySpace.Web.Services.Apps.Apps.prototype={
MoveAppUp:function(token,surfaceId,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'MoveAppUp',false,{token:token,surfaceId:surfaceId},succeededCallback,failedCallback,userContext); },
MoveAppDown:function(token,surfaceId,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'MoveAppDown',false,{token:token,surfaceId:surfaceId},succeededCallback,failedCallback,userContext); },
UninstallApplication:function(token,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'UninstallApplication',false,{token:token},succeededCallback,failedCallback,userContext); },
RevokeApplicationToken:function(applID,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'RevokeApplicationToken',false,{applID:applID},succeededCallback,failedCallback,userContext); },
InstallApplication:function(token,permissions,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'InstallApplication',false,{token:token,permissions:permissions},succeededCallback,failedCallback,userContext); },
UpdateApplicationSettings:function(appid,setpermissions,unsetpermissions,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'UpdateApplicationSettings',false,{appid:appid,setpermissions:setpermissions,unsetpermissions:unsetpermissions},succeededCallback,failedCallback,userContext); },
GetApplicationPermissionsString:function(appid,unsetpermissions,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'GetApplicationPermissionsString',false,{appid:appid,unsetpermissions:unsetpermissions},succeededCallback,failedCallback,userContext); },
BlockApplication:function(token,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'BlockApplication',false,{token:token},succeededCallback,failedCallback,userContext); },
UnblockApplication:function(token,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'UnblockApplication',false,{token:token},succeededCallback,failedCallback,userContext); }}
MySpace.Web.Services.Apps.Apps.registerClass('MySpace.Web.Services.Apps.Apps',Sys.Net.WebServiceProxy);
MySpace.Web.Services.Apps.Apps._staticInstance = new MySpace.Web.Services.Apps.Apps();
MySpace.Web.Services.Apps.Apps.set_path = function(value) { MySpace.Web.Services.Apps.Apps._staticInstance._path = value; }
MySpace.Web.Services.Apps.Apps.get_path = function() { return MySpace.Web.Services.Apps.Apps._staticInstance._path; }
MySpace.Web.Services.Apps.Apps.set_timeout = function(value) { MySpace.Web.Services.Apps.Apps._staticInstance._timeout = value; }
MySpace.Web.Services.Apps.Apps.get_timeout = function() { return MySpace.Web.Services.Apps.Apps._staticInstance._timeout; }
MySpace.Web.Services.Apps.Apps.set_defaultUserContext = function(value) { MySpace.Web.Services.Apps.Apps._staticInstance._userContext = value; }
MySpace.Web.Services.Apps.Apps.get_defaultUserContext = function() { return MySpace.Web.Services.Apps.Apps._staticInstance._userContext; }
MySpace.Web.Services.Apps.Apps.set_defaultSucceededCallback = function(value) { MySpace.Web.Services.Apps.Apps._staticInstance._succeeded = value; }
MySpace.Web.Services.Apps.Apps.get_defaultSucceededCallback = function() { return MySpace.Web.Services.Apps.Apps._staticInstance._succeeded; }
MySpace.Web.Services.Apps.Apps.set_defaultFailedCallback = function(value) { MySpace.Web.Services.Apps.Apps._staticInstance._failed = value; }
MySpace.Web.Services.Apps.Apps.get_defaultFailedCallback = function() { return MySpace.Web.Services.Apps.Apps._staticInstance._failed; }
MySpace.Web.Services.Apps.Apps.set_path("/Services/Apps/Apps.asmx");
MySpace.Web.Services.Apps.Apps.MoveAppUp= function(token,surfaceId,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.MoveAppUp(token,surfaceId,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.MoveAppDown= function(token,surfaceId,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.MoveAppDown(token,surfaceId,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.UninstallApplication= function(token,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.UninstallApplication(token,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.RevokeApplicationToken= function(applID,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.RevokeApplicationToken(applID,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.InstallApplication= function(token,permissions,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.InstallApplication(token,permissions,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.UpdateApplicationSettings= function(appid,setpermissions,unsetpermissions,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.UpdateApplicationSettings(appid,setpermissions,unsetpermissions,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.GetApplicationPermissionsString= function(appid,unsetpermissions,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.GetApplicationPermissionsString(appid,unsetpermissions,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.BlockApplication= function(token,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.BlockApplication(token,onSuccess,onFailed,userContext); }
MySpace.Web.Services.Apps.Apps.UnblockApplication= function(token,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.UnblockApplication(token,onSuccess,onFailed,userContext); }
var gtc = Sys.Net.WebServiceProxy._generateTypedConstructor;
if (typeof(MySpace.Web.Services.Apps.AppsReturn) === 'undefined') {
MySpace.Web.Services.Apps.AppsReturn=gtc("MySpace.Web.Services.Apps.AppsReturn");
MySpace.Web.Services.Apps.AppsReturn.registerClass('MySpace.Web.Services.Apps.AppsReturn');
}


Type.registerNamespace("MySpace");
Type.registerNamespace("MySpace.Apps");

MySpace.Apps.executeUrl = function(url) {
    if(url == null || url.length == 0) {
        return;
    }
    //alert("executing url: " + url);
    var img = new Image();
    img.src = url;
    //alert("finished executing url: " + url);
}

MySpace.Apps.executeInstallCallback = function(installCallbackUrl) {
    MySpace.Apps.executeUrl(installCallbackUrl);
}

MySpace.Apps.executeUninstallCallback = function(uninstallCallbackUrl) {
    // alert("executing uninstall callback: " + uninstallCallbackUrl);
    MySpace.Apps.executeUrl(uninstallCallbackUrl);
}

MySpace.Apps.executeAdvCallback = function(advCallbackUrl) {
    var re = "[\\?&]adv=([^&#]*)";
    var regexp = new RegExp(re);
    var matches = regexp.exec( window.location.href );
    if(matches == null) {
        return false;
    }
    else {
        advCallbackUrl += matches[1] + "/?rnd=" + Math.floor(Math.random()*9999999+1);
        MySpace.Apps.executeUrl(advCallbackUrl);        
        return true;    
    }
}

MySpace.Apps.uninstallApplication = function(token, uninstallSuccessHandler, uninstallFailureHandler) {
    MySpace.Web.Services.Apps.Apps.UninstallApplication(token,
    function(args) {
        // alert("args type: " + typeof(args));
        if(typeof(args) == "object") {
            // alert("args.status: " + args.status);
            if(args.status == 0) {
                MySpace.Apps.executeUninstallCallback(args.callbackUrl);
                uninstallSuccessHandler();
            }
            // install failed
            else {
                uninstallFailureHandler();
            }
        }
        // old way - web service returns returns int
        else {
            uninstallSuccessHandler();
        }
    },
    function(args) {
        uninstallFailureHandler(); 
    });
}
