
	$.fx.speeds._default = 1000;

	var loginLogo = '<a href="http://www.design-monkey.co.uk/" target="_blank"><img src="images/dmlogo.png" alt="Powered By Design Monkey" title="Powered By Design Monkey" border="0" /></a>';
	var scrolltop = $(document).scrollTop()+300;
	var loader = $('<div style="display: none; position: absolute; top: ' + scrolltop + 'px; left: 50%; margin-left: -30px!important; width: 60px; height: 60px; opacity: 0.8; text-align: center; padding-top: 0; padding-right: 5px; margin: auto; box-shadow: 2px 2px 2px #000; -moz-border-radius: 4px; border-radius: 4px; -webkit-border-radius: 4px; background: #FFF; z-index: 100000;"><img src="plugins/imagedialog/ajax-loader.gif" alt="Loading..." /></div>').appendTo('body');
			

	var dmCMS = {
		
		sitepath: '/',
		
		init: function(parentElement){
			this.setupLogin();
			//this.loadTabs(parentElement);
			//this.loadTable(parentElement);
			//this.loadForm(parentElement);
			//this.loadPortlets(parentElement);
			// If were logged in
			if($('#dmcms-admin-toolbar').length > 0){
				this.loadCMSmenus();
			}
			this.findOverlayLinks(parentElement);
			this.findTabLinks(parentElement);
			this.findScrollLinks(parentElement);
		},
		
		reload: function(parentElement){
			this.loadTabs(parentElement);
			this.loadTable(parentElement);
			this.loadForm(parentElement);
			this.loadPortlets(parentElement);
			this.findOverlayLinks(parentElement);
			this.findTabLinks(parentElement);
			$.ui.dialog.overlay.resize(); // Fix ajax load overlay size
			if($.isFunction('loadTinyMCE')) loadTinyMCE(this.sitepath);

		}, 
		
		destroy: function(){
			
			
			
		},
		
		setupLogin: function(){
			
			$(document).keypress(function(event) {
				if((event.keyCode==120)||(event.keyCode==76)){ /* If F9 (120) in FF or Shift L in IE (76)*/
					dmCMS.loadLogin('');
				}
			});
			
		},
		
		loadLogin: function(typeID){
			
			loader.fadeIn();
			
			$.ajax({
				url: 'admin/getlogin.php', 
				data: {
					typeID: typeID, 
					action: 'getlogin'
				},
				type: 'post',
				dataType: 'json',
				success: function(data) {
					
					if(data.error){
						
						var loginForm = "<div id=\"dmCMS-login\" title=\"Login\">";
						loginForm += "<p id=\"login-alert\" class=\"ui-state-error ui-corner-all\"><span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-alert\"></span> " + data.error + "</p>";
						loginForm += "</div>";
						
						var showbuttons = {
										Cancel: function() {
											$( this ).dialog("close");
										}
									};
						
					}else{
					
						var loginForm = "<div id=\"dmCMS-login\" title=\"Login\">";
						loginForm += "<p id=\"login-alert\" class=\"ui-state-highlight ui-corner-all\"><span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> All form fields are required.</p>";
						loginForm += "<form id=\"loginForm\" action=\"javascript:dmCMS.doLogin();\">";
						loginForm += "<input type=\"hidden\" name=\"login\" value=\"admin\" />";
						loginForm += "<input type=\"hidden\" name=\"dmcms-typeID\" value=\"" + data.id + "\" />";
						loginForm += "<input type=\"hidden\" name=\"dmcms-typeRedirect\" value=\"" + data.redirect_on_login + "\" />";
						loginForm += "<fieldset style=\"padding: 10px;\">";
						loginForm += "	<dl><dt><label for=\"username\">Username:</label></dt>";
						loginForm += "	<dd><input type=\"text\" name=\"username\" id=\"username\" class=\"{required: true}\" /></dd>";
						loginForm += "	<dt><label for=\"password\">Password:</label></dt>";
						loginForm += "	<dd><input type=\"password\" name=\"password\" id=\"password\" value=\"\" class=\"{required: true}\" /></dd></dl>";
						loginForm += "</fieldset>";
						loginForm += "</form>";
						loginForm += "<p style=\"margin-bottom: -5px; margin-top: -4px;\"><a style=\"opacity: 0.6;\" href=\"javascript:dmCMS.loadPassword();\">Forgotten Password?</a>";
						if(data.can_register==1){
							loginForm += " &bull; <a style=\"opacity: 0.6;\" href=\"javascript:dmCMS.loadRegister('" + data.id + "');\">Not a Member? Register Now.</a>";
						}						
						loginForm += "</p>";
						loginForm += "</div>";
					
						var showbuttons = {
										"Login": function() {
											$('#loginForm').submit();
										},
										Cancel: function() {
											$( this ).dialog("close");
										}
									};
						
					}
						
					if($('#dmCMS-login').length > 0) $('#dmCMS-login').remove();
						
					$(loginForm).dialog({
						resizable: false,
						open: function(){
							$('.ui-widget-overlay').hide().fadeIn();
						},
						show: "fade",
						width: 400,
						modal: true,
						buttons: showbuttons,
						close: function() {
							
						}

					}).parent().find('.ui-dialog-buttonpane:first').append(loginLogo);
					loader.fadeOut();
					dmCMS.reload($('#dmCMS-login'));
				}
			});

		},
		doLogin: function(){
			// Show Loading...
			$('#login-alert').removeClass('ui-state-error ui-state-highlight ui-corner-all').html('<span class=\"ui-progressbar-label\"><a>Checking Details...</a></span>')
			.progressbar({ value: 30 });
			// Login
			$.ajax({
				url: 'admin/login.php', 
				data:  $("#loginForm").serialize(),
				type: 'post',
				dataType: 'json',
				success: function(data) {
					$('#login-alert').progressbar("destroy");
					if(data.error){
						$('#login-alert').removeClass('ui-state-highlight').addClass('ui-state-error ui-corner-all').html('<span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-alert\"></span><strong>Error:</strong> ' + data.error);
					}else{
						$('#login-alert').removeClass('ui-state-error').addClass('ui-corner-all').html('<span class=\"ui-progressbar-label\"><a>Logging In...</a></span>').progressbar({ value: 70 });
						dmCMS.loadAdmin(data.redirect);
					}
				}
			});

			
		},
		loadAdmin: function(redirect){
			
			// If were coming from the login screen
			if($('#dmCMS-login').length > 0) {
				$('#login-alert').progressbar("destroy").html('<span class=\"ui-progressbar-label\"><a>Done! Reloading Page...</a></span>').progressbar({ value: 100 });
				if(redirect!=""){
					setTimeout("window.location.href='" + redirect + "';", 1000 ); // Now Reload the page
				}else{
					setTimeout("location.reload();", 1000 ); // Now Reload the page
				}
			}
		},
		loadPassword: function(){
			
			var resetForm = "<div id=\"dmCMS-reset\" title=\"Reset Password\">";
			resetForm += "<p id=\"login-alert\" class=\"ui-state-highlight ui-corner-all\"><span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> Please enter your username and email address below:</p>";
			resetForm += "<form id=\"resetForm\" action=\"javascript:dmCMS.doPassword();\">";
			resetForm += "<input type=\"hidden\" name=\"action\" value=\"resetpassword\" />";
			resetForm += "<fieldset style=\"padding: 10px;\">";
			resetForm += "	<dl><dt><label for=\"username\">Username:</label></dt>";
			resetForm += "	<dd><input type=\"text\" name=\"username\" id=\"username\" class=\"{required: true}\" /></dd>";
			resetForm += "	<dt><label for=\"email\">Email:</label></dt>";
			resetForm += "	<dd><input type=\"text\" name=\"email\" id=\"email\" value=\"\" class=\"{required: true}\" /></dd></dl>";
			resetForm += "</fieldset>";
			resetForm += "</form>";
			resetForm += "</div>";
			
			var showbuttons = {
							"Reset Password": function() {
								$('#resetForm').submit();
							},
							Cancel: function() {
								dmCMS.loadLogin();
							}
						};
			
			$('#dmCMS-login').html(resetForm);
			$('#dmCMS-login').dialog("option", "buttons", showbuttons);
			$('#dmCMS-login').dialog("option", "title", "Reset Password")
						.parent().find('.ui-dialog-buttonpane:first').append(loginLogo);
			dmCMS.reload($('#dmCMS-login'));
			
		},
		doPassword: function(){
			
			$('#login-alert').removeClass('ui-state-error').addClass('ui-state-highlight').html('<span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> Resetting Password...');
			
			$.ajax({
				url: 'admin/getlogin.php', 
				data:  $("#resetForm").serialize(),
				type: 'post',
				dataType: 'json',
				success: function(data) {
				
					if(data.error){
						$('#login-alert').removeClass('ui-state-highlight').addClass('ui-state-error ui-corner-all').html('<span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-alert\"></span><strong>Error:</strong> ' + data.error);						
					}else{
						
						var resetForm = '<p id=\"login-alert\" class=\"ui-state-highlight ui-corner-all\"><span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> ' + data.ok + '</p>';
						
						var showbuttons = {
								"Go to Login": function() {
									dmCMS.loadLogin();
								},
								Cancel: function() {
									$( this ).dialog("close");
								}
							};
						
						$('#dmCMS-login').html(resetForm);
						$('#dmCMS-login').dialog("option", "buttons", showbuttons)
							.parent().find('.ui-dialog-buttonpane:first').append(loginLogo);
					}
					
				}
			});
			
			
		},
		loadRegister: function(userType){
			
			loader.fadeIn();
			
			var resetForm = "<div id=\"dmCMS-register\" title=\"Register\">";
			resetForm += "<p id=\"login-alert\" class=\"ui-state-highlight ui-corner-all\"><span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> Please enter your details below to register:</p>";
			resetForm += "<form id=\"registerForm\" action=\"javascript:dmCMS.doRegister();\">";
			resetForm += "<input type=\"hidden\" name=\"action\" value=\"register\" />";
			resetForm += "<input type=\"hidden\" name=\"userType\" value=\"" + userType + "\" />";
			resetForm += "<fieldset style=\"padding: 10px;\">";
			resetForm += "	<dl><dt><label for=\"username\">Username:</label></dt>";
			resetForm += "	<dd><input type=\"text\" name=\"username\" id=\"username\" class=\"{required: true}\" /></dd>";
			resetForm += "	<dt><label for=\"email\">Email:</label></dt>";
			resetForm += "	<dd><input type=\"text\" name=\"email\" id=\"email\" value=\"\" class=\"{required: true, email: true}\" /></dd></dl>";
			resetForm += "</fieldset>";
			resetForm += "</form>";
			resetForm += "</div>";
			
			var showbuttons = {
							"Register": function() {
								$('#registerForm').submit();
							},
							Cancel: function() {
								$( this ).dialog("close");
							}
						};
			
			
			var loginForm = '<div id=\"dmCMS-login\" title=\"User Registration\"></div>';
			
			if($('#dmCMS-login').length > 0) loginForm = '#dmCMS-login';
						
			$(loginForm).dialog({
				resizable: false,
				open: function(){
					$('.ui-widget-overlay').hide().fadeIn();
				},
				show: "fade",
				width: 400,
				modal: true,
				buttons: showbuttons,
				close: function() {
					
				}

			});
			
						
			$('#dmCMS-login').html(resetForm);
			$('#dmCMS-login').dialog("option", "buttons", showbuttons);
			$('#dmCMS-login').dialog("option", "title", "User Registration")
						.parent().find('.ui-dialog-buttonpane:first').append(loginLogo);
			dmCMS.reload($('#dmCMS-login'));
			loader.fadeOut();
			
		},
		doRegister: function(){
			
			$('#login-alert').removeClass('ui-state-error').addClass('ui-state-highlight').html('<span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> Registering Details...');
			
			$.ajax({
				url: 'admin/getlogin.php', 
				data:  $("#registerForm").serialize(),
				type: 'post',
				dataType: 'json',
				success: function(data) {
				
					if(data.error){
						$('#login-alert').removeClass('ui-state-highlight').addClass('ui-state-error ui-corner-all').html('<span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-alert\"></span><strong>Error:</strong> ' + data.error);						
					}else{
						
						var registerForm = '<p id=\"login-alert\" class=\"ui-state-highlight ui-corner-all\"><span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> ' + data.ok + '</p>';
						
						var showbuttons = {
								"Go to Login": function() {
									dmCMS.loadLogin();
								},
								Cancel: function() {
									$( this ).dialog("close");
								}
							};
						
						$('#dmCMS-login').html(registerForm);
						$('#dmCMS-login').dialog("option", "buttons", showbuttons)
							.parent().find('.ui-dialog-buttonpane:first').append(loginLogo);
					}
					
				}
			});
			
		},
		findOverlayLinks: function(parentElement){
			// Links
			$(parentElement).find('a[rel=dmcms],button[rel=dmcms]').click(function(e){
				dmCMS.loadOverlay($(this).attr("title"),$(this).attr("href"),'','','');
				e.preventDefault();
			});
			// Forms
			$(parentElement).find('form[rel=dmcms]').submit(function(e){
				if($(this).valid()==true) dmCMS.loadOverlay($(this).attr("title"),$(this).attr("action"),$(this).attr("method"),$(this).serialize(),''); // If there are no errors then submit the form
				e.preventDefault();
			});
			
			
		},
		findTabLinks: function(parentElement){
			// Links
			$(parentElement).find('a[rel=dmtab],button[rel=dmtab]').click(function(e){
				$(this).parents('.tabs:first').find('.loader:first').show();
				dmCMS.reloadTab($(this).parents('.ui-tabs-panel:first'),$(this).attr("href"),'','');
				e.preventDefault();
			});
			// Forms
			$(parentElement).find('form[rel=dmtab]').submit(function(e){
				// Show Loader
				$(this).parents('.tabs:first').find('.loader:first').show();
				if($(this).valid()==true){
					dmCMS.reloadTab($(this).parents('.ui-tabs-panel:first'),$(this).attr("action"),$(this).attr("method"),$(this).serialize()); // If there are no errors then submit the form
				}else{
					// Hide Loader
					$(this).parents('.tabs:first').find('.loader:first').hide();
				}
				e.preventDefault();
			});
		},
		findScrollLinks:function(parentElement){
		
			 // Set top menu to work for the tabs
			$(parentElement).find('a[rel=dmscroll]').each(function(index){
				var hash = $(this).attr("href").split('#');
				if(hash[1]){
					$(this).click(function(){
						// Unset selected
						$(parentElement).find('a[rel=dmscroll]').removeClass("selected");
						$(this).addClass("selected"); //Add "active" class to selected tab
						var activeLink = $(this).attr("href").split('#'); //Find the rel attribute value to identify the active link + content
						var posto = $('#' + activeLink[1]).offset();
						$('html, body').animate({scrollTop:posto.top-50}, 'slow');
						return false;
					});
				}
			});
		},
		loadOverlay: function(title,url,type,data,width){
			
			dmCMS.removeTinyMCE();
			
			if((!width)||(width==0)) width = 700;
			
			var overlayContent = $('<div id=\"dmCMS-overlay\"></div>');
			if($('#dmCMS-overlay').length > 0) overlayContent = "#dmCMS-overlay";
			
			var overlay = $('<div class="ui-widget-overlay"></div>');
			var progress = $('<span class="ui-progressbar-label" style="padding: 1px; overlay: hidden;"></span>').progressbar({ value: 100 });
			var loader = $('<div style="position: absolute; width: 240px; left: 50%; top: 50px; padding: 0; margin-left: -120px;"></div>');
			$(loader).append(progress);
			$(overlayContent).append(overlay).append(loader);
			
			
			switch(type){
				case 'get':
					$.get(url, data, function(data){
						$(overlayContent).html(data);
						dmCMS.reload($('#dmCMS-overlay'));
					});
				break;
				case 'post':
					$.post(url, data, function(data){
						$(overlayContent).html(data);
						dmCMS.reload($('#dmCMS-overlay'));
					});
				break;
				default:
					$(overlayContent).load(url, function(){
						dmCMS.reload($('#dmCMS-overlay'));
					});
			}
			
			var viewportHeight = window.innerHeight ? window.innerHeight : $(window).height();
			var maxHeight = viewportHeight-140;
			
			$(overlayContent).dialog({
				resizable: false,
				open: function(){
					$('.ui-widget-overlay').hide().fadeIn();
				},
				show: "fade",
				width: width,
				modal: true,
				title: title,
				maxHeight: maxHeight,
				close: function() {
					dmCMS.removeTinyMCE();
				},
				open: function(event, ui) {
					$(this).css({'max-height': maxHeight, 'overflow-y': 'auto'}); 
				},
				dialogClass: "fixme"

			});
			
			// Fix position of dialog
			$('.fixme.ui-dialog').css({position:"fixed", left:"50%", top: "70px", marginLeft: "-350px"}); // Need to set margin left for 1/2 of dialog width
			  $(".ui-resizable").stop(function() {
			    $(".fixme.ui-dialog").css({position:"fixed"});
			});
		

		},
		loadCMSmenus: function(){
			
			// Content Add and Reorder
			$(".dropable").append('<span class="ui-widget dmcms-contentarea ui-widget-header ui-corner-all" style="overflow: hidden; padding: 2px 3px 2px 5px; margin: 3px;"></span>');
			
			var buttons = $('<span style="font-size: 0.7em; margin: 0;">'
				+ '		<button class="dmcms-content-add">Add</button>'
				+ '		<button class="dmcms-content-order">Re-Order</button>'
				+ '	</span>');
			
			$('.dmcms-contentarea').html(buttons).find('span').buttonset();
			$('.dmcms-content-add').button( "option", "icons", {primary:'ui-icon-plusthick'} ).button( "option", "text", false ).click(function(){
				var id = $(this).parent().parent().parent().attr('id').replace('dropable_',''); // Find Dropable ID
				dmCMS.loadOverlay('Add Content','modify.php?type=contentmodules&position=' + id,'','','');	
			
			});
			$('.dmcms-content-order').button( "option", "icons", {primary:'ui-icon-arrow-4'} ).button( "option", "text", false ).click(function(){
				
				var id = $(this).parent().parent().parent().attr('id').replace('dropable_',''); // Find Dropable ID
				
				var reorderForm = "<div id=\"dmCMS-reorder\" title=\"Reorder\">"
				reorderForm += "<p id=\"login-alert\" class=\"ui-state-highlight ui-corner-all\"><span style=\"float: left; margin-right: 0.3em;\" class=\"ui-icon ui-icon-info\"></span> Reorder items by dragging them and them click Reorder.</p>";
				reorderForm += "<form id=\"reorderForm\" action=\"javascript:dmCMS.doReorder('" + id + "');\">";
				reorderForm += "<fieldset style=\"padding: 10px;\">";
				reorderForm += "<ul id=\"sortlist\"></ul>";
				reorderForm += "</fieldset>";
				reorderForm += "</form>";
				reorderForm += "</div>";
				
				if($('#dmCMS-reorder').length > 0) reorderForm = "#dmCMS-reorder";
				
				$(reorderForm).dialog({
					resizable: false,
					open: function(){
						$('.ui-widget-overlay').hide().fadeIn();
					},
					show: "fade",
					width: 400,
					modal: true,
					buttons: {
						"Reorder": function() {
							$('#reorderForm').submit();
							
						},
						Cancel: function() {
							$( this ).dialog("close");
							$('#sortlist').sortable("destroy");
						}
					},
					close: function() {
						
					}

				});
				
				$('#sortlist').html('');
				
				// Get order details
				
				$.post("includes/ajaxrequest.php", {
					action: 'get_order',
					position: id
				},
				function(data){
					$('#reorderForm').attr("action","javascript:dmCMS.doReorder('" + id + "');");
					$(data).appendTo('#sortlist');
					dmCMS.reload($('#dmCMS-reorder'));
					$('#sortlist').sortable({placeholder: 'ui-state-highlight dropholder'})
					
				});
				
			});
			
			// Content Edit
			if($(".dragable").length > 0){
				$('<div id="dmcms-menu" class="ui-menu ui-widget ui-widget-content ui-corner-all" style="display:none;">'
					+ '<div class="ui-widget-header ui-helper-clearfix ui-corner-all" style="padding: 4px;">Options</div>'
					+ '<ul class="ui-helper-clearfix">'
					+ '	<li><a href="#edit"><span class="ui-icon ui-icon-pencil" style="float: left; margin: 1px 4px 0 0;"></span>Edit</a></li>'
					/*+ '	<li><a href="#cut"><span class="ui-icon ui-icon-scissors" style="float: left; margin: 1px 4px 0 0;"></span>Cut</a></li>'
					+ '	<li><a href="#copy"><span class="ui-icon ui-icon-copy" style="float: left; margin: 1px 4px 0 0;"></span>Copy</a></li>'
					+ '	<li><a href="#paste"><span class="ui-icon ui-icon-clipboard" style="float: left; margin: 1px 4px 0 0;"></span>Paste</a></li>'*/
					+ '	<li><a href="#delete"><span class="ui-icon ui-icon-trash" style="float: left; margin: 1px 4px 0 0;"></span>Delete</a></li>'
					+ '</ul>'
					+ '</div>').appendTo('body');
				
				$(".dragable").contextMenu({
					menu: 'dmcms-menu'
				},
					function(action, el, pos) {
					
						switch(action){
							case 'edit':
								var id = $(el).attr('id').replace('dragable_','');
								var type =$(el).attr('class').replace('dragable ','');
								dmCMS.loadOverlay('Edit Content','modify.php?q=1&w=600&h=500&type=module&contentid=' + id + '&module=' + type,'','','');
							break;
							case 'delete':
								var id = $(el).attr('id').replace('dragable_','');
								var type =$(el).attr('class').replace('dragable ','');
								var position =$(el).parents('.dropable:first').attr('id').replace('dropable_','');
								dmCMS.deleteContent(position,$(el),id);
							break;
						}

					}
				);
				
				$('#dmcms-menu ul').menu();
			}
			
		},
		reloadCMSmenus: function(){
			$(".dropable").remove('.dmcms-contentarea');
			$(document).remove('#dmcms-menu');
			dmCMS.loadCMSmenus();
		},
		doReorder: function(id){
			
			$.post("includes/ajaxrequest.php", {
				action: 'update_order',
				position: id,
				order: $('#sortlist').sortable('toArray')
			},
			function(data){
				var obj = JSON.parse(data);
				dmCMS.reloadContentSection(obj.position,obj.page);
				$('#dmCMS-reorder').dialog("close");
			});
			
		},
		loadTabs: function(parentElement){
			
			$(parentElement).find(".tabs").tabs({
				select: function(event, ui) {
					dmCMS.removeTinyMCE();
					$(ui.panel).parent().find('.loader:first').show();
				},
				cache: false,
				collapsible: false,
				spinner: 'Loading...',
				fx: { /*height: 'toggle', */opacity: 'toggle', duration: 'slow' },
				ajaxOptions: {
					error: function(xhr, status, index, anchor) {
						$(anchor.hash).html("Couldn't load this tab. We'll try to fix this as soon as possible.");
					}
				},
				load: function(event, ui) { 
					$(ui.panel).parent().find('.loader:first').hide(); // Hide Loader
					
					$(ui.tab).parent().parent().children('.unloader').each(function(index) {
						if(index!=ui.index){
							// Unload Content
							$(this).parent().parent().children('.ui-tabs-panel:eq(' + index + ')').html('');
						}
					});
					
					var wait = setInterval(function() {
						if($(ui.panel).is(':visible')) {
							dmCMS.reload(ui.panel);
							clearInterval(wait);
						}
					}, 100);
				}
			})
			
			
			
			// Add a close icon on the edit tab
			.find(".closeme").append('<span class="ui-icon ui-icon-close">Remove Tab</span>')
			
			.live('click', function() {
				
				if($(this).parent().parent().tabs("option", "selected")==0){
					dmCMS.removeTinyMCE();
					$(this).parent().parent().tabs("remove", 0) 	// Remove First Tab
					.tabs("select",0) 						// Select first tab
					.tabs("load",0);						// Load first tab
				}else{
					$(this).parent().parent().tabs("remove", 0); 	// Remove First Tab
				}
				
			});

			$('<img src="images/cms/ajax-loader.gif" class="loader" style="position: absolute; top: 10px; right: 5px;" />').insertAfter($(parentElement).find(".tabs:not('.noloader') ul:first"));
			
		},
		reloadTab: function(container,url,type,data){
			
			dmCMS.removeTinyMCE();
			
			switch(type){
				case 'get':
					$.get(url, data, function(data){
						container.html(data);
						dmCMS.reload(container);
						//$('#dmCMS-overlay').animate({height: 'auto', opacity: 1});
					});
				break;
				case 'post':
					$.post(url, data, function(data){
						container.html(data);
						dmCMS.reload(container);
						//$('#dmCMS-overlay').animate({height: 'auto', opacity: 1});
					});
				break;
				default:
					container.load(url, function(){
						dmCMS.reload(container);
						//$('#dmCMS-overlay').animate({height: 'auto', opacity: 1});
					});
			}
			
			$(container).parents('.tabs:first').find('.loader:first').hide();
			
		},
		loadPortlets: function(parentElement){
		
			$(parentElement).find(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all")
			.find(".portlet-header")
				.addClass("ui-widget-header ui-corner-all")
				//.prepend('<span class="ui-icon ui-icon-minusthick"></span>')
				.end()
			.find(".portlet-content");

			/*$(parentElement).find(".portlet-header .ui-icon").click(function() {
				$(this).toggleClass("ui-icon-minusthick").toggleClass("ui-icon-plusthick");
				$(this).parents(".portlet:first").find(".portlet-content").toggle();
			});*/

			
		},
		loadTable: function(parentElement){
			// Table
			$(parentElement).find('.dataTable').dataTable( {
				"bJQueryUI": true,
				"sPaginationType": "full_numbers",
				"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
					// Load Buttons
					dmCMS.findOverlayLinks(nRow);
					dmCMS.findTabLinks(nRow);
					setTimeout(function(){
						$(nRow).find('.option-buttons').buttonset();
						$(nRow).find('button.edit[type=submit]').button({ icons: { primary: 'ui-icon-pencil' } , text: false}); 
						$(nRow).find('button.delete[type=submit]').button({ icons: { primary: 'ui-icon-trash' } , text: false}); 
						$(nRow).find('button.publish[type=submit]').button({ icons: { primary: 'ui-icon-plus' } , text: false}); 
						$(nRow).find('button.unpublish[type=submit]').button({ icons: { primary: 'ui-icon-minus' } , text: false}); 
						$(nRow).find('button.duplicate[type=submit]').button({ icons: { primary: 'ui-icon-copy' } , text: false}); 
						$(nRow).find('button.login[type=submit]').button({ icons: { primary: 'ui-icon-locked' } , text: false}); 
					},100);
					
					return nRow;
				}
			} );
		},
		
		reloadTable: function(parentElement){
			// Table
			$(parentElement).find('.dataTable').dataTable();
		},
		
		loadForm: function(parentElement){
			
			// forms
			$(parentElement).uiforms({container: parentElement});
			if(!$.browser.msie){
				$(parentElement).find('select:not(.multiselect)').selectmenu({style:'dropdown',maxHeight:'300px'});
				$(parentElement).find(".multiselect").multiselect();
				//$(parentElement).find('input[type=checkbox]').checkbox();
				//$(parentElement).find('input:not(.ui-helper-hidden-accessible)[type=radio]').radiobutton();
			}
			
			$(parentElement).find("input.datepicker").datepicker({
				showOn: 'button',
				buttonImage: 'images/icons/calendar.png',
				buttonImageOnly: true,
				dateFormat: 'dd/mm/yy'
			});
			
			$(parentElement).find('fieldset legend')
				.prepend('<span class="ui-icon ui-icon-triangle-1-n">^</span>')
				.click(function(){
					$(this).find('.ui-icon').toggleClass("ui-icon-triangle-1-s").toggleClass("ui-icon-triangle-1-n");
					$(this).parent().find(".fieldset-container:first").slideToggle();
				})
				.end();
				
			dmCMS.loadFormValidation(parentElement);
			
			$(parentElement).find('button[type=submit]').button({ icons: { secondary: 'ui-icon-circle-check' } });
			$(parentElement).find('button[type=button]').button({ icons: { secondary: 'ui-icon-circle-check' } });
			$(parentElement).find('button.save[type=submit]').button({ icons: { secondary: 'ui-icon-disk' } });
			$(parentElement).find('button.back[type=submit]').button({ icons: { primary: 'ui-icon-circle-arrow-w' } }); 
			$(parentElement).find('button.draft[type=submit]').button({ icons: { secondary: 'ui-icon-script' } }); 
			$(parentElement).find('button.add[type=button]').button({ icons: { primary: 'ui-icon-plus' } , text: false}); 
			$(parentElement).find('button.search[type=button]').button({ icons: { primary: 'ui-icon-search' } , text: false}); 
			$(parentElement).find('button.browse[type=button]').button({ icons: { primary: 'ui-icon-folder-collapsed' }}); 
			
		},
		
		loadFormValidation: function(parentElement){
			/* Validate form */
			$.validator.setDefaults({
				/*submitHandler: function() { alert("submitted!"); },*/
				highlight: function(input) {
					$(input).addClass("ui-state-highlight");
				},
				unhighlight: function(input) {
					$(input).removeClass("ui-state-highlight");
				},
				errorClass: 'error ui-state-error ui-corner-all'
			});

			$(parentElement).find('form').validate({wrapper: 'span class="errorwrapper"'/*, errorContainer: $('#myform-errors')*/});	
			
		},		
		deleteContent: function(positionID,deleteitem,contentID){
			if(confirm('Are you sure you would like to delete this item?') == true){
			    // Check permissions
				$.post("includes/ajaxrequest.php", {
						action: 'check_permissions', 
						positionID: positionID, 
						contentID: contentID
					}, 
					function(data){		

						if(data=='1'){
								$.post("includes/ajaxrequest.php", {
										action: 'delete_item', 
										contentID: contentID
									}, 
									function(data){	
										$(deleteitem).fadeOut();
									}
								);
						}else if(data=='refresh'){
							window.location.href = window.location.href;
						}else if(data=='0'){
							alert('Unable to delete!');
						}
					}
				);
			}
		},

		 reloadContentSection: function(positionID,pageID){
			if($('#dropable_' + positionID).length > 0){
				$.post("includes/ajaxrequest.php", {
						action: 'update_section', 
						positionID: positionID, 
						pageID: pageID
					}, 
					function(data){
						$('#dropable_' + positionID).html(data);
						//alert('reload section');
						dmCMS.reloadCMSmenus();
					}
				);
			}
		},
		
		removeTinyMCE: function(){
			// Remove TinyMCE Instance
			if(typeof tinyMCE != 'undefined') {
				if (tinyMCE.getInstanceById('htmlcontent'))
				{
					tinyMCE.execCommand('mceFocus', false, 'htmlcontent');                    
					tinyMCE.execCommand('mceRemoveControl', false, 'htmlcontent');
					$('#htmlcontent').remove();

				}
			}
		}

	};
	
	$(document).ready(function() {
		/*jQuery.fx.off = true;*/
		dmCMS.sitepath = sitepath;
		dmCMS.init('body');
	});

