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); },
UninstallApplicationEx:function(token,callbackParams,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'UninstallApplicationEx',false,{token:token,callbackParams:callbackParams},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); },
InstallApplicationEx:function(token,permissions,callbackParams,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'InstallApplicationEx',false,{token:token,permissions:permissions,callbackParams:callbackParams},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); },
IsAppInstallable:function(appId,viewerId,succeededCallback, failedCallback, userContext) {
return this._invoke(MySpace.Web.Services.Apps.Apps.get_path(), 'IsAppInstallable',false,{appId:appId,viewerId:viewerId},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 =  _proxy_jslib_handle(null, 'value', value, 0, 0); }
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 =  _proxy_jslib_handle(null, 'value', value, 0, 0); }
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 =  _proxy_jslib_handle(null, 'value', value, 0, 0); }
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 =  _proxy_jslib_handle(null, 'value', value, 0, 0); }
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 =  _proxy_jslib_handle(null, 'value', value, 0, 0); }
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.UninstallApplicationEx= function(token,callbackParams,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.UninstallApplicationEx(token,callbackParams,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.InstallApplicationEx= function(token,permissions,callbackParams,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.InstallApplicationEx(token,permissions,callbackParams,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); }
MySpace.Web.Services.Apps.Apps.IsAppInstallable= function(appId,viewerId,onSuccess,onFailed,userContext) {MySpace.Web.Services.Apps.Apps._staticInstance.IsAppInstallable(appId,viewerId,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)();
     _proxy_jslib_assign('', 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.getFIMAdvParameter = function() {
   var re = "[\\?&]adv=([^&#]*)";
    var regexp = new (RegExp)(re);
    var matches = regexp.exec(  _proxy_jslib_handle( _proxy_jslib_handle(window, 'location', '', 0, 0), 'href', '', 0, 0) );
    if(matches == null) {
        return null;
    }
    else {
        return matches[1];
    }    
}

MySpace.Apps.makeFIMAdvCallback = function(primaryAdvId, secondaryAdvId) {
    var advCallbackUrl = "http://conv.opt.fimserve.com/conv/" + primaryAdvId + "/?rnd=" + Math.floor(Math.random()*9999999+1);
    if(FIM_advAppId) {
        advCallbackUrl +="&offid=" + secondaryAdvId + "-" + FIM_advAppId;
    }
    MySpace.Apps.executeUrl(advCallbackUrl);
}

MySpace.Apps.tryFIMAdvCallback = function() {
	var queryAdvId = MySpace.Apps.getFIMAdvParameter();
	if(queryAdvId) {
        if(FIM_baseAdvId) {
            MySpace.Apps.makeFIMAdvCallback(FIM_baseAdvId, queryAdvId);
        }
        else {
            MySpace.Apps.makeFIMAdvCallback(queryAdvId, queryAdvId);        
        }
	}
    else if(FIM_baseAdvId) {
        MySpace.Apps.makeFIMAdvCallback(FIM_baseAdvId, 0);            
    }
	else {
        return false;
	}
    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(); 
    });
}

Type.registerNamespace('MySpace.Apps.JSONP');

MySpace.Apps.JSONP.timeoutIds = {};
MySpace.Apps.JSONP.request = function(paddingFunction, url, onTimeout, timeoutMilliseconds) {
    var timeout_id = paddingFunction;    
    var t =  _proxy_jslib_handle(null, 'setTimeout', setTimeout, 1, 0)(onTimeout, timeoutMilliseconds);
     _proxy_jslib_assign('', MySpace.Apps.JSONP.timeoutIds, (timeout_id), '=', ( t));
    
    var scriptElement = document.createElement("script");
     _proxy_jslib_handle(scriptElement, 'setAttribute', '', 1, 0)("type", "text/javascript");
    
    var jsonpParam = "?";
    if(url.indexOf("?") > 0) {
        jsonpParam = "&";
    }
    jsonpParam += "jsonp=clearTimeout(MySpace.Apps.JSONP.timeoutIds[\"" + timeout_id + "\"]);" + paddingFunction;
    
     _proxy_jslib_handle(scriptElement, 'setAttribute', '', 1, 0)("src", url + jsonpParam);    
     _proxy_jslib_handle(document, 'getElementsByTagName', '', 1, 0)("head")[0].appendChild(scriptElement);
}

MySpace.Apps.JSONP.context = {};
MySpace.Apps.JSONP.setContext = function(key, value) {
     _proxy_jslib_assign('', MySpace.Apps.JSONP.context, (key), '=', (  _proxy_jslib_handle(null, 'value', value, 0, 0)));
}

MySpace.Apps.JSONP.getContext = function(key) {
    if(MySpace.Apps.JSONP.context.hasOwnProperty(key)) {
        return  _proxy_jslib_handle(MySpace.Apps.JSONP.context, (key), 0, 0);
    }
    return null;
} ;
_proxy_jslib_flush_write_buffers() ;