var DesignModule = Class.create({

	openDesigner: function(url,windowName,formId){
		window.open(url,windowName,'toolbar=0');
		//var a = window.setTimeout(function () { $(formId).submit(); },10);
	}
});

var designModule = new DesignModule();

var WebsiteBasicCSS = Class.create({
	loadWebsite: function(id) {
		var containerId = 'websitePropertiesContainer';
		var container =$(containerId);
		if( container!=0 ) {
			new Ajax.Request(system.getLibraryPath() + 'design/_basicCSSActions.php',{
				method:'post',
				parameters:{command:'loadWebsite',style:system.getCurrentStyle(),siteId:id},
				onSuccess:function(transport) {
					container.innerHTML = transport.responseText;
					system.evalAllScripts(containerId);
				}
			});
		}
		else {
			container.innerHTML = "";
		}
	}
});

var websiteBasicCSS = new WebsiteBasicCSS();

var TemplateChooser = Class.create({
	loadWebsite: function(id) {
		var actionURL = system.getLibraryPath() + 'design/_templateChooser.php';
		var parameters = {command:'loadWebsite',style:system.getCurrentStyle(),siteId:id};
		system.getActionManager().executeAndPutResultIntoContainer(actionURL,parameters,'websiteTemplateContainer',true);
	},
	
	setPublicationPointSite: function(file,id,unlink) {
		var command = 'unlinkPublicationPointSite';
		if( unlink ) {
			command = 'linkPublicationPointSite';
		}
		new Ajax.Request(system.getLibraryPath() + 'design/_templateChooser.php',{
			method:'post',
			parameters:{command:command,style:system.getCurrentStyle(),file:file,siteId:id},
			onSuccess: function(transport) {
				if( transport.responseText ) {
					templateChooser.loadWebsite(id);
				}
			}
		});
	},

	saveTemplate: function(siteId,filePath,styleName) {
		new Ajax.Request(system.getLibraryPath() + 'design/_templateChooser.php',{
			method:'post',
			parameters:{command:'saveTemplate',style:system.getCurrentStyle(),filePath:filePath,templateName:styleName},
			onSuccess:function(transport) {
				if( transport.responseText=='OK' ) {
					templateChooser.loadWebsite(siteId);
				}
			}
		});
	}
});

var templateChooser = new TemplateChooser();

var BasicCSSEditor = Class.create({
	init: function(hudTitle) {
		if (!hudWindowManager.getHUDWindow('cssEditorHud')) {
			hudWindowManager.addHUDWindow('cssEditorHud',hudTitle,'350px','310px');

		//	hudWindowManager.getHUDWindow('cssEditorHud').setOnEnd(function(){ pageDesigner.saveWindowPosition('blocks'); });
		//	hudWindowManager.getHUDWindow('cssEditorHud').setContentPadding('10px','10px');
		//	hudWindowManager.getHUDWindow('cssEditorHud').setContent(this.noElementsInPageMessage);
			viewportPlacer.place('cssEditorHud','right','bottom');
			hudWindowManager.getHUDWindow('cssEditorHud').hide();
		}
	},
	
	showEditor: function(siteId,content) {
		var hudWindow = hudWindowManager.getHUDWindow('cssEditorHud');
		hudWindow.show();
		hudWindow.setContentWithURL(system.getLibraryPath() + 'design/_basicCSSActions.php',{command:'showEditor',style:system.getCurrentStyle(),siteId:siteId,content:content});
	},
	
	setManageStyle: function(siteId,manage) {
		var manageStyle = false;
		if( manage==1 ) {
			manageStyle = true;
		}
		new Ajax.Request(system.getLibraryPath() + 'design/_basicCSSActions.php',{
			method:'post',
			parameters:{command:'setManageStyle',style:system.getCurrentStyle(),siteId:siteId,manage:manageStyle},
			onSuccess:function(transport) {
				if( transport.responseText=='OK' ) {
					websiteBasicCSS.loadWebsite(siteId);
				}
				else {
					alert(transport.responseText);
				}
			}
		});
	}
});

var basicCSSEditor = new BasicCSSEditor();

var PageContainer = Class.create({
	topResizer:null,
	middleResizer:null,
	bottomResizer:null,

	loadWebSite: function(containerId,siteId) {
		new Ajax.Request(system.getLibraryPath() + 'design/_pageContainer.php',{
			method: 'post',
			parameters:{command:'loadWebSite',style:system.getCurrentStyle(),siteId:siteId},
			onSuccess:function(transport) {
				$(containerId).innerHTML = transport.responseText;
				system.evalAllScripts(containerId);
			}
		});
	},

	setManageStyle: function(siteId,manage) {
		var manageStyle = false;
		if( manage==1 ) {
			manageStyle = true;
		}
		new Ajax.Request(system.getLibraryPath() + 'design/_pageContainer.php',{
			method:'post',
			parameters:{command:'setManageStyle',style:system.getCurrentStyle(),siteId:siteId,manage:manageStyle},
			onSuccess:function(transport) {
				$('pageContainerEditor').innerHTML = transport.responseText;
				system.evalAllScripts('pageContainerEditor');
			}
		});
	}
});

var pageContainer = new PageContainer();

var PageDesignerModule = Class.create({
	loadSectionList: function(siteId) {
		new Ajax.Request(system.getLibraryPath() + 'design/_pageDesigner.php',{
			method:'post',
			parameters:{command:'loadSectionList',style:system.getCurrentStyle(),siteId:siteId},
			onSuccess:function(transport) {
				$('sectionContainer').innerHTML = transport.responseText;
				system.evalAllScripts('sectionContainer');
			}
		});
	},
	
	loadPageList: function(sectionId) {
		new Ajax.Request(system.getLibraryPath() + 'design/_pageDesigner.php',{
			method:'post',
			parameters:{command:'loadPageList',style:system.getCurrentStyle(),sectionId:sectionId},
			onSuccess:function(transport) {
				$('pageListContainer').innerHTML = transport.responseText;
				pageDesigner.loadPage(0);
				system.evalAllScripts('pageListContainer');
			}
		});
	},
	
	loadPage: function(pageId) {
		new Ajax.Request(system.getLibraryPath() + 'design/_pageDesigner.php',{
			method:'post',
			parameters:{command:'loadPage',style:system.getCurrentStyle(),pageId:pageId},
			onSuccess:function(transport) {
				$('pageDesignerContainer').innerHTML = transport.responseText;
				system.evalAllScripts('pageDesignerContainer');
			}
		});
	},
	
	openDesigner: function(url,windowName,formId){
		
	}
});

var pageDesignerModule = new PageDesignerModule();

var WebsiteDesigner = Class.create({
	loadWebsite: function(siteId) {
		new Ajax.Request(system.getLibraryPath() + 'design/_websiteDesigner.php',{
			method: 'post',
			parameters:{command:'loadWebsite',style:system.getCurrentStyle(),siteId:siteId},
			onSuccess:function(transport) {
				$('websiteContainer').innerHTML = transport.responseText;
				system.evalAllScripts('websiteContainer');
			}
		});
	},
	
	saveContainerProperties: function(siteId,formId) {
		var parameters = $(formId).serialize(true);
		parameters.command = 'saveContainerProperties';
		parameters.style = system.getCurrentStyle();
		parameters.siteId = siteId;
		new Ajax.Request(system.getLibraryPath() + 'design/_websiteDesigner.php',{
			method:'post',
			parameters:parameters,
			onSuccess:function(transport) {
				if (transport.responseText!='OK') {
					alert(transport.responseText);
				}
			}
		});
	}
});

var websiteDesigner = new WebsiteDesigner();
