Type.registerNamespace("MySpace");
Type.registerNamespace("MySpace.UI");

MySpace.UI.AppsPopup = function() {throw "Cannot instantiate static class.";} 
MySpace.UI.AppsPopup._contentHolders = {};
MySpace.UI.AppsPopup.create=function(content, title, callback) {
    var temp=document.createElement("div");
     _proxy_jslib_assign('', temp, 'innerHTML', '=', ("<div class='appspopup_wrapper' style='z-index:1000001;left:0px;width:100%;display:none;visibility:hidden;'><div class='appspopup_box'><a></a><div class='appspopup_title'></div><div class='appspopup_content'></div><div class='appspopup_buttons'></div></div></div>"));
    var popup = $create(MySpace.UI._Popup,{title:title, content: _proxy_jslib_handle(null, 'content', content, 0, 0), callback:callback},null,null,temp.firstChild);
	return popup;
}
MySpace.UI.AppsPopup.inlinePermissions = function(appid, precontent, postcontent, title, callback) {
    var innerContent = "";
    var appidString =  _proxy_jslib_handle(appid, 'toString', '', 1, 0)();
    if(MySpace.UI.AppsPopup._contentHolders.hasOwnProperty(appidString)){
        innerContent =  _proxy_jslib_handle(MySpace.UI.AppsPopup._contentHolders, (appidString), 0, 0);
    }
    else {
        var inlineContentElement = $get('userapplication_permission_settings_' + appidString);
        innerContent =  _proxy_jslib_assign('', MySpace.UI.AppsPopup._contentHolders, (appidString), '=', (  _proxy_jslib_handle(inlineContentElement, 'innerHTML', '', 0, 0)));
        inlineContentElement.parentNode.removeChild(inlineContentElement);
    }    
    var content = precontent + innerContent + postcontent;
    return MySpace.UI.AppsPopup.create( _proxy_jslib_handle(null, 'content', content, 0, 0), title);       
}
MySpace.UI.AppsPopup.ajaxPermissions = function(appid, precontent, postcontent, title, handler) {
    return MySpace.UI.AppsPopup.ajaxPermissionsEx(appid, precontent, postcontent, title, handler, null, null);
}
MySpace.UI.AppsPopup.ajaxPermissionsEx = function(appid, precontent, postcontent, title, handler, category, permission) {
    if(typeof(category) == undefined) {
        category = null;
    }
    if(typeof(permission) == undefined) {
        permission = null;
    }
    
    var appidString =  _proxy_jslib_handle(appid, 'toString', '', 1, 0)();
    
    var requestParams = "appid="+appidString+"&checkuser=true";
    if(category != null) {
        requestParams +="&cat=" + escape(category);
    }
    if(permission != null) {
        requestParams +="&perm=" + escape(permission);
    }
    
    MySpace.WebRequest.invoke("/Modules/Applications/Pages/AppPermissions.aspx", false, requestParams, _onComplete, _onFail, null, 0);

    function _onComplete(response, eventArgs) {
	    var tempDiv = document.createElement('div');
	     _proxy_jslib_assign('', tempDiv, 'innerHTML', '=', ( response));
		var innerContent =  _proxy_jslib_assign('', MySpace.UI.AppsPopup._contentHolders, (appidString), '=', (  _proxy_jslib_handle($get('userapplication_permission_settings_' +  _proxy_jslib_handle(appid, 'toString', '', 1, 0)(), tempDiv), 'innerHTML', '', 0, 0)));
	    var content = precontent + innerContent + postcontent;
	    var p = MySpace.UI.AppsPopup.create( _proxy_jslib_handle(null, 'content', content, 0, 0), title);
	    handler(true, p);
	}
	function _onFail() {
	    handler(false, null);
	}
    return;
}

MySpace.UI.AppsPopup.getPermissions = function(sender, isset) {
    var installPermissions = new (Array)();
    var temps =  _proxy_jslib_handle(sender._box, 'getElementsByTagName', '', 1, 0)('input');
    for(i = 0; i < temps.length; i++) {
        if(Sys.UI.DomElement.containsCssClass( _proxy_jslib_handle(temps, (i), 0, 0), 'userAppPermission')

 &&  _proxy_jslib_handle(temps, (i), 0, 0).checked == isset) {
            installPermissions.push( _proxy_jslib_handle( _proxy_jslib_handle(temps, (i), 0, 0), 'value', '', 0, 0));
        }
    }
    return installPermissions;
}
MySpace.UI.AppsPopup.getSelectedPermissions = function(sender) {
    return MySpace.UI.AppsPopup.getPermissions(sender, true);
}
MySpace.UI.AppsPopup.getUnselectedPermissions = function(sender) {
    return MySpace.UI.AppsPopup.getPermissions(sender, false);
}

MySpace.UI.AppsPopup.ajaxBlockConfirmation = function(appid, title, handler) { 
    var appidString =  _proxy_jslib_handle(appid, 'toString', '', 1, 0)();   
    var requestParams = "appid=" + appidString;    
    
    MySpace.WebRequest.invoke("/Modules/Applications/Pages/BlockApplication.aspx", false, requestParams, _onComplete, _onFail, null, 0);

    function _onComplete(response, eventArgs) {
	    var content = response;
		var p = MySpace.UI.AppsPopup.create( _proxy_jslib_handle(null, 'content', content, 0, 0), title);
	    handler(true, p);
	}
	function _onFail() {
	    handler(false, null);
	}
    return;
}

MySpace.UI.AppsPopup.ajaxAddApp = function(appid, title, handler) { 
    var appidString =  _proxy_jslib_handle(appid, 'toString', '', 1, 0)();   
    var requestParams = "appid=" + appidString + "&cat=2";    
    
    MySpace.WebRequest.invoke("/Modules/Applications/Pages/AddApp.aspx", false, requestParams, _onComplete, _onFail, null, 0);

    function _onComplete(response, eventArgs) {
        var content = response;
	    var p = MySpace.UI.AppsPopup.create( _proxy_jslib_handle(null, 'content', content, 0, 0), title);
        handler(true, p);
    }
    function _onFail() {
        handler(false, null);
    }            
    return;
}

MySpace.UI.AppsPopup.registerClass('MySpace.UI.AppsPopup'); ;
_proxy_jslib_flush_write_buffers() ;