All pastes #630574 Raw Edit

Anonymous

public text v1 · immutable
#630574 ·published 2007-07-23 09:43 UTC
rendered paste body
//On document load
$( function() {

var loadMenu = function() {
	$.ajax({
		url: 'makeCache.php',
		type: 'GET',
		dataType: 'html',
		async: false
	});
	$.ajax({
		url: 'menu.inc.php',
		type: 'GET',
		dataType: 'html',
		async: false,
		success: function(data) {
			var ap = $( $('#menu > h1')[0] );
			if( ap.next().is( '#modules' ) ) {
				ap.next().remove();
				$(data).insertAfter( ap );
			} else {
				$(data).insertAfter( ap );
			}
		}
	});

}

loadMenu();

/**
*** Styling and dimensions
**/
	if (parseInt(navigator.appVersion)>3) {
	 if (navigator.appName=="Netscape") {
	  var winW = window.innerWidth;
	  var winH = window.innerHeight;
	 }
	 if (navigator.appName.indexOf("Microsoft")!=-1) {
	  var winW = document.body.offsetWidth;
	  var winH = document.body.offsetHeight;
	 }
	}
	
	$('#workarea,#menu,#main').css('minHeight', winH-80 );

	
	$('#menu > ul > li > ul').slideUp(0);
	$('#menu > ul > li > a').click( function(){ $(this).next().slideToggle(400);} )
	

	
	/* Make window prototype */
	var winpMinMax	= $('<div class="winMinMax">&nbsp;</div>');
	var winpClose	= $('<div class="winClose">&nbsp;</div>');
	var winpResize	= $('<div class="winResize">&nbsp;</div>');
	var winpTitle	= $('<div class="winTitle"></div>').append('<h2></h2>');
	var winpBot	= $('<div class="winBot"></div>');
	var winpTop	= $('<div class="winTop"></div>').append( winpTitle ).append( winpMinMax ).append( winpClose);
	var winpBottom	= $('<div class="winBottom"></div>').append( winpBot );
	var winpClient	= $('<div class="winClient"></div>');
	
	var winProto = $('<div class="window"></div>').append( winpTop ).append( winpBottom ).append( winpClient ).append( winpResize );

	
/* Bind Events
***************
*/
	/* Misc controls */
	$('#refreshMods').click( function() { loadMenu(); } );
	
	$('#closeWins').click( function() {
		$('.window .winClose').click();
	});
	$('#toggleWins').click( function() {
		$('.window .winMinMax').click();
		
	});


	/* Bind module load events */
	$('.modlink a').bind('click', function() {
	if( !$(this).is('.loaded') ) {
	
		$(this).toggleClass('loaded');
		
		var plug = $(this).parent('ul').prev('a').text();
		var mod = $(this).text();
		var mLink = this;
		
		$.ajax({
			url: 'loadModule.php',
			data: 'mod=' + mod,
			type: 'POST',
			dataType: 'json',
			global: false,
			
			success: function(data)
			{

				if(data.e == 1) {
						
					//alert(winProto.html());
					
					var winClone = winProto.clone();
					
					winClone.modLink =  mLink;
						
					$('.winClient',winClone).html( data.t );
					$('.winTitle h2',winClone).text( data.m );	
					
					$('.winClose',winClone).bind( 'click', function() {
						$(winClone).hide().remove();

						$(winClone.modLink).removeClass('loaded');

					});

					$('.winMinMax', winClone).toggle(
						function() {
							$(winClone)[0].lastH = $.iUtil.getSize( $('.winClient',winClone).get(0) ).hb;

							$(winClone)[0].isMinimized = true;

							$('.winMinMax', winClone).css('background-position', '-13px 0px');
							$('.winResize', winClone).css('display', 'none');

							$(winClone).animate({height: 45}, 300);
							$('.winBottom, .winBot', winClone).animate({height: 15}, 300);
							$('.winClient', winClone).slideUp(300);

						},
						function() {

							$(winClone)[0].isMinimized = false;

							$('.winMinMax', winClone).css('background-position', '0px 0px');
							$('.winResize', winClone).css('display', 'block');

							$(winClone).animate({height: $(winClone)[0].lastH + 43}, 300);
							$('.winBottom, .winBot', winClone).animate({height: $(winClone)[0].lastH + 13}, 300);
							$('.winClient', winClone).animate({height: $(winClone)[0].lastH - 9}, 300);

						}
					);
					
					winClone.Resizable({	
						width: data.w?data.w:300,
						height: data.h?data.h:400,
						minWidth: data.mnw?data.w:150,
						minHeight: data.mnh?data.h:80,
						maxWidth: data.mxw?data.w:1000,
						maxHeight: data.mxh?data.w:1000,
						handlers: { se: $(".winResize",winClone)[0] },
						onResize : function(size, position) {
								$('.winBottom, .winBot',winClone).css('height', size.height-31 + 'px');
								var winClientEl = $('.winClient',winClone).css('width', size.width - 25 + 'px');
								if (! $(winClone).isMinimized ) {
										winClientEl.css('height', size.height - 48 + 'px');
								} }
					}).Draggable({
						ghosting: false,
						opacity: 0.5,
						handle: '.winTitle' 
					}).attr('id', data.m + '_w').appendTo('#workarea').show();
					
					if(data.js.length > 1) { eval(data.js); }
						
						
				} else {
						$('#debug').prepend( data.e + "<br/>");
				}
			}
		
		});
	}
	});
	
});