﻿///<reference path="Extjs_Intellisense.js" />
Ext.namespace('LUL.Data');

LUL.DataManager = function() {
    // admin
    this.changeInheritRightsURL = 'Data/Admin/ChangeInheritRights.ashx';
    this.editPageRightsURL = 'Data/Admin/EditPageRights.ashx';
    this.fetchPageRightsURL = 'Data/Admin/FetchPageRights.ashx';
    this.removePageRightsURL = 'Data/Admin/RemovePageRights.ashx';

    this.fetchUsersURL = 'Data/Admin/FetchUsers.ashx';
    this.editUserURL = 'Data/Admin/EditUser.ashx';
    this.removeUserURL = 'Data/Admin/RemoveUser.ashx';

    // login
    this.loginURL = 'Data/Login/Login.ashx';
    this.logoutURL = 'Data/Login/Logout.ashx';
    this.checkLoginStatusURL = 'Data/Login/CheckStatus.ashx';
    this.verifyPasswordURL = 'Data/Login/VerifyPassword.ashx';

    // filebrowser
    this.fileBrowserFiles = 'Lib/FileBrowser/FetchFiles.ashx';
    this.fileBrowserFolders = 'Lib/FileBrowser/FetchFolders.aspx';
    this.deleteFileURL = 'Lib/FileBrowser/DeleteFile.ashx';
    this.uploadFileURL = '/Lib/FileBrowser/Upload.ashx';
    this.swfUploadURL = 'Lib/SwfUpload/swfupload.swf';

    // edit - page & common panel
    var fetchTemplateURL = 'Data/Edit/FetchTemplates.ashx';
    this.fetchHeadersURL = 'Data/Edit/FetchHeaders.ashx';
    this.createPageURL = 'Data/Edit/CreatePage.ashx';
    this.editPageURL = 'Data/Edit/EditPage.ashx';
    this.removePageURL = 'Data/Edit/RemovePage.ashx';

    this.fetchExistingPanelsURL = 'Data/Edit/FetchExistingPanels.ashx';
    this.addExistingPanelURL = 'Data/Edit/AddExistingPanel.ashx';
    this.fetchHiddenPanelsURL = 'Data/Edit/FetchHiddenPanels.ashx'
    this.reorderPanelURL = 'Data/Edit/ReorderPanel.ashx';
    var hidePanelURL = 'Data/Edit/HidePanel.ashx';
    this.showPanelURL = 'Data/Edit/ShowPanel.ashx';
    this.deletePanelURL = 'Data/Edit/DeletePanel.ashx';

    this.fetchPanelTypesURL = 'Data/Edit/FetchPanelTypes.ashx';
    this.fetchPanelDataURL = 'Data/Edit/FetchPanelData.ashx';

    // edit - panel
    this.createTextPanelURL = 'Panels/TextPanel/Data/CreateTextPanel.ashx';
    this.editTextPanelSettingsURL = 'Panels/TextPanel/Data/EditTextPanelSettings.ashx';
    this.editTextPanelURL = 'Panels/TextPanel/Data/EditTextPanel.ashx';

    this.createImagePanelURL = 'Panels/ImagePanel/Data/Create.ashx';
    this.editImagePanelSettingsURL = 'Panels/ImagePanel/Data/EditSettings.ashx';
    this.editImageURL = 'Panels/ImagePanel/Data/EditImage.ashx';

    this.createLinkPanelURL = 'Panels/LinkPanel/Data/Create.ashx';
    this.linkPanelEditSettingsURL = 'Panels/LinkPanel/Data/EditSettings.ashx';
    this.editLinksURL = 'Panels/LinkPanel/Data/EditLinks.ashx';

    this.createNewsPanelURL = 'Panels/NewsPanel/Data/Create.ashx';
    this.newsPanelEditSettingsURL = 'Panels/NewsPanel/Data/EditSettings.ashx';
    this.editNewsURL = 'Panels/NewsPanel/Data/EditNews.ashx';

    this.createFlashPanelURL = 'Panels/FlashPanel/Data/Create.ashx';
    this.flashPanelEditSettingsURL = 'Panels/FlashPanel/Data/EditSettings.ashx';
    this.editFlashURL = 'Panels/FlashPanel/Data/Edit.ashx';

    this.createIframePanelURL = 'Panels/IframePanel/Data/Create.ashx';
    this.editIframePanelSettingsURL = 'Panels/IframePanel/Data/EditSettings.ashx';
    //this.editIframePanelURL = 'Panels/FlashPanel/Data/Edit.ashx';

    this.createMoviePanelURL = 'Panels/MoviePanel/Data/Create.ashx';
    this.editMoviePanelSettingsURL = 'Panels/MoviePanel/Data/EditSettings.ashx';
    this.editMoviePanelURL = 'Panels/MoviePanel/Data/Edit.ashx';

    this.createThumbnailPanelURL = 'Panels/ThumbnailPanel/Data/Create.ashx';
    this.thumbnailPanelEditSettingsURL = 'Panels/ThumbnailPanel/Data/EditSettings.ashx';
    this.editThumbnailsURL = 'Panels/ThumbnailPanel/Data/EditThumbnails.ashx';

    this.createFilePanelURL = 'Panels/FilePanel/Data/Create.ashx';
    this.filePanelEditSettingsURL = 'Panels/FilePanel/Data/EditSettings.ashx';
    this.editFilesURL = 'Panels/FilePanel/Data/EditFiles.ashx';

    // markerar panel som dold
    this.hidePanel = function(element, callWhenDone) {
        function success(response, options) {
            var res = Ext.util.JSON.decode(response.responseText);
            if (res.success) callWhenDone.call();
        }

        function failure() {
            alert('Kunde inte spara!');
        }

        var data = editorManager.getPanelDataFromId(element.id);

        Ext.Ajax.request({
            url: hidePanelURL,
            success: success,
            failure: failure,
            params: { id: data.id, hide: true }
        });
    }

    // jsonstore som hämtar templates
    this.getFetchTemplateStore = function() {
        var store = new Ext.data.JsonStore({
            url: fetchTemplateURL,
            root: 'rows',
            fields: ['id', 'locations', 'description']
        });
        return store;
    }
}


