with(phi.classes)
{
	Jit.get('23a2f110f74a4').state.persistent.state = {"alias":"Main","background-image":"25fc00517e5a4","height":"700px","repeat-x":true,"width":""};
	Jit.get('1b354030f74a4').state.persistent.state = {"alias":"body","background-image":"","height":"700px","margin-left":"auto","margin-right":"auto","position":"relative","width":"960px"};
	Jit.get('0222d648d59a4').state.persistent.state = {"alias":"redwerks","clear":"","float":"","height":"40px","margin":"","margin-left":"auto","margin-right":"auto","padding-top":"20px","width":"960px"};
	Jit.get('f4b93480f74a4').state.persistent.state = {"alias":"Menu Container","height":"200px","width":"600px"};
	Jit.get('d19fd5a34d4a4').state.persistent.state = {"alias":"quote","background-color":"","height":"39px","left":"254px","position":"absolute","top":"115px","width":"478px"};
	Jit.get('d527a9a4084a4').state.persistent.state = {"alias":"slider container","float":"left","height":"422px","width":"710px"};
	Jit.get('499105bbd59a4').state.persistent.state = {"file":"16d1b0bbd59a4","href":"http:\/\/www.redwerks.org"};
	Jit.get('23d242e0f74a4').state.persistent.state = {"alias":"menu","float":"","height":"0px","left":"0px","position":"relative","shareable":true,"top":"0px","width":"600px"};
	Jit.get('df4e82854d4a4').state.persistent.state = {"alias":"quote text","bold":false,"color":"#888787","content":"<p>Are you ready to be awakened?<\/p>","font-family-face":"'Helvetica', 'Arial', 'Geneva'","font-family-generic":"sans-serif","font-size":"30px","height":"21px","left":"0px","top":"0px","width":"478px"};
	Jit.get('7cf85de4084a4').state.persistent.state = {"autoroll":"4","color":"#000","contentbgcolor":"transparent","contentborder":"","headerbgcolor":"transparent","headerbgcolorsel":"","headerbgimage":"1292ca96084a4","headerbgselectstate":true,"headerborder":"10","headerheight":"27px","headerspacing":"5px","headerwidth":"29px","height":"510px","width":"955px","zindex":""};
	Jit.get('d18d7341d34a4').state.persistent.state = {"alias":"About","height":"24px","href":"home\/about","image":"6588a261f24a4","left":"18px","position":"absolute","rollover":"dc136a71f24a4","selected":"dc136a71f24a4","top":"25px","width":"57px"};
	Jit.get('105bd57df34a4').state.persistent.state = {"alias":"ETTV","height":"24px","href":"http:\/\/www.eckharttolletv.com\/eckharttolle.com","image":"0f663622295a4","left":"321px","position":"absolute","rollover":"b41ac442295a4","selected":"b41ac442295a4","top":"025px","width":"140px"};
	Jit.get('15cb2dcdf34a4').state.persistent.state = {"alias":"groups","height":"28px","href":"http:\/\/store.eckharttolle.com\/localgroups\/group_facilitator_search.php","image":"c57ae6bdf34a4","left":"473px","position":"absolute","rollover":"d11c62cdf34a4","selected":"d11c62cdf34a4","top":"025px","width":"64px"};
	Jit.get('2d3e1aaef34a4').state.persistent.state = {"alias":"events","height":"23px","href":"home\/events","image":"17ad4efdf34a4","left":"549px","position":"absolute","rollover":"f19064aef34a4","selected":"be401b0ef34a4","top":"27px","width":"62px"};
	Jit.get('42f2f029f34a4').state.persistent.state = {"alias":"books","height":"24px","href":"home\/books","image":"813fc937f34a4","left":"85px","position":"absolute","rollover":"b27554c2e34a4","selected":"b27554c2e34a4","top":"25px","width":"56px"};
	Jit.get('56bb6c1df34a4').state.persistent.state = {"alias":"downloads","height":"25px","href":"http:\/\/www.iamplify.com\/eckhart-tolle\/","image":"ee0ab10df34a4","left":"213px","position":"absolute","rollover":"f7919d0df34a4","selected":"f7919d0df34a4","top":"25px","width":"96px"};
	Jit.get('928fe7d0044a4').state.persistent.state = {"alias":"Eckhart Logo","file":"da125f40044a4","height":"85px","href":"\/home","left":"6px","position":"absolute","top":"83px","width":"145px"};
	Jit.get('afb1765cf34a4').state.persistent.state = {"alias":"store","height":"24px","href":"http:\/\/www.eckharttolle.com\/eckhartstore\/","image":"c6251d1cf34a4","left":"151px","position":"absolute","rollover":"df58c14cf34a4","top":"25px","width":"51px"};
	Jit.get('dc9300e84d4a4').state.persistent.state = {"alias":"subscribe","height":"28px","left":"646px","position":"relative","top":"8px","width":"193px"};
	Jit.get('b426dcbc45da4').state.persistent.state = {"alias":"Start","background-image":"84ce87b6403b4","height":"500px","margin-top":"6px","padding-top":"","virtualheader":"1","width":"960px"};
	Jit.get('50a361f5e07b4').state.persistent.state = {"alias":"kim movement","virtualheader":"2"};
	Jit.get('6af60fe4084a4').state.persistent.state = {"alias":"GOB","background-color":"","background-image":"585d79b9d2ca4","height":"450px","virtualheader":"3","width":"960px"};
	Jit.get('64a44cfa8e5a4').state.persistent.state = {"background-image":"ec9bbfda403b4","height":"500px","virtualheader":"4","width":"830px"};
	Jit.get('bbfa50f4084a4').state.persistent.state = {"alias":"3rd celll","background-image":"4b156f47449a4","height":"500px","virtualheader":"5","width":"955px"};
	Jit.get('c9bf6c07403b4').state.persistent.state = {"virtualheader":"6"};
	Jit.get('af53f945813b4').state.persistent.state = {"background-image":"","height":"480px","virtualheader":"7","width":"960px"};
	Jit.get('255c18c2046a4').state.persistent.state = {"color":"#fff","content":"<p>Subscribe to our mailing list<\/p>","float":"","height":"21px","left":"35px","position":"relative","width":"193px"};
	Jit.get('30af75294d4a4').state.persistent.state = {"content":"<!--\nDo not modify the NAME value of any of the INPUT fields\nthe FORM action, or any of the hidden fields (eg. input type=hidden).\nThese are all required for this form to function correctly.\n-->\n<p><style type=\"text\/css\">\n<!--\n.p {\n\tpadding: 7px;\n\tfloat: left;\n}\n.fl {\n\tfloat: left;\n}\n.m {\n\tfloat: right;\n\tmargin-left: 10px;\n}\n-->\n<\/style><\/p>\n<p><style type=\"text\/css\">\n\n\t.myForm td, input, select, textarea, checkbox  {\n\t\tfont-family: tahoma;\n\t\tfont-size: 12px;\n\t}\n\n\t.required {\n\t\tcolor: red;\n\t}\n\n<\/style><\/p>\n<form method=\"post\" action=\"http:\/\/www.republiklabs.com\/sendstudionx\/form.php?form=5\" id=\"frmSS5\" onSubmit=\"return CheckForm5(this);\">\n    <table cellpadding=\"2\" border=\"0\" width=\"263\" height=\"61\" class=\"myForm\">\n        <input type=\"hidden\" name=\"format\" value=\"h\" \/>\n        <tbody>\n            <tr>\n                <td width=\"170\"><input type=\"text\" size=\"30\" class=\"p\" name=\"email\" \/><\/td>\n                <td align=\"center\" width=\"79\" valign=\"middle\"><input align=\"middle\" type=\"image\" src=\"http:\/\/kommonwealth.redwerks.org\/eckharttolle\/file\/image\/hash\/a27f01c79beb3db38d2712b2533d9113ca049264\" value=\"Subscribe\" class=\"m\" \/><\/td>\n            <\/tr>\n            <tr>\n            <\/tr>\n        <\/tbody>\n    <\/table>\n<\/form>\n<script language=\"javascript\">\n\n\t\t\tfunction CheckMultiple5(frm, name) {\n\t\t\t\tfor (var i=0; i < frm.length; i++)\n\t\t\t\t{\n\t\t\t\t\tfldObj = frm.elements[i];\n\t\t\t\t\tfldId = fldObj.id;\n\t\t\t\t\tif (fldId) {\n\t\t\t\t\t\tvar fieldnamecheck=fldObj.id.indexOf(name);\n\t\t\t\t\t\tif (fieldnamecheck != -1) {\n\t\t\t\t\t\t\tif (fldObj.checked) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\tfunction CheckForm5(f) {\n\t\t\tif (f.email.value == \"\") {\n\t\t\t\talert(\"Please enter your email address.\");\n\t\t\t\tf.email.focus();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\n<\/script>","height":"24px","left":"34px","position":"relative","top":"0px","width":"193px"};
	Jit.get('cbf11d12817b4').state.persistent.state = {"file":"f309c912817b4","margin-top":"6px"};
	Jit.get('148b515e9bca4').state.persistent.state = {"content":"<p>This collaboration brings together two masters of their fields, joining original words by spiritual teacher Eckhart Tolle with delightful illustrations by Patrick McDonnell, the creator of the acclaimed comic strip MUTTS. Every heartwarming page provokes thought, insight, and smiling reverence for all beings and each moment.<\/p>","float":"left","margin-top":"250px","width":"520px"};
	Jit.get('add8ee68403b4').state.persistent.state = {"background-image":"24008469403b4","clear":"right","content":"<p>Creating a New Earth together<\/p>","float":"left","font-size":"21px","margin-bottom":"20px","margin-top":"20px","width":"600px"};
	Jit.get('14f794da713b4').state.persistent.state = {"clear":"right","content":"<p>Launched in July of 2009, Eckhart Tolle TV is a new way to experience the teachings of Eckhart Tolle. Monthly issues are available to subscribers in the form of online videos that you can either watch directly on your computer, or download to view or listen to on your iPod.<\/p>","float":"left","position":"static","width":"450px"};
	Jit.get('b318d6cc713b4').state.persistent.state = {"clear":"both","file":"4b07a2cc713b4","float":"left","href":"http:\/\/www.eckharttolletv.com","margin-top":"20px"};
	Jit.get('bbd2506c8e5a4').state.persistent.state = {"float":"left","height":"250px","margin-top":"120px","width":"480px"};
	Jit.get('b5acbd77403b4').state.persistent.state = {"file":"bca93777403b4"};
	Jit.get('60ea7dfdd05b4').state.persistent.state = {"file":"44a098fdd05b4","float":"left","href":"http:\/\/www.willemjanssenart.com\/","margin-top":"","padding-top":"6px"};
	Jit.get('68ca236d8e5a4').state.persistent.state = {"content":"<p>Our bodies are more than just a physical form. They can also be a portal into a new way of being in the world. With Presence Through Movement: Qi Flow Yoga, Kim Eng teaches us how to access the formless dimension within that connects us to the depths of this very moment. Using simple practices like &ldquo;Whole-body Breathing&rdquo;, &ldquo;Shaking&rdquo;, and &ldquo;Holding the Qi Ball&rdquo;, you will learn how to clear, cultivate and circulate vital energy throughout your entire body. Join Kim in a serene garden setting as she gently instructs you in more than a dozen different postures and flows that developed intuitively during her own process of awakening<\/p>"};

}
with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

var href;
this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
	
	$(me.node()).click(function() {
		if(me.state.persistent.get('lightbox')) {
			if(phi.lightimage && phi.lightimage.uid == me.uid()) return;
			if(phi.lightimage) phi.lightimage.close();
			function close() {
				delete phi.lightimage;
				var off = $(img).offset();
				$(zoom).animate({
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				}, {complete: function() {$(this).remove();}});
			}
			phi.lightimage = {
				uid: me.uid(),
				close: close
			};
			
			var img = this;
			var zoom;
			var off = $(img).offset();
			var tag = $('<img/>')
				.attr({alt:img.alt, src: phi.fileURL({uid: me.state.persistent.get('file')})})
				.css({
					position: 'absolute',
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				})
				.appendTo('body').hide();
			
			phi.fileinfo(me.state.persistent.get('file'), function(f) {
				var win = { w: $(window).width(), h: $(window).height() };
				var max = { w: win.w-100, h: win.h-100 };
				var size = { w: f.width, h: f.height };
				if( size.w > max.w || size.h > max.h ) {
					var wratio = max.w/size.w, hratio = max.h/size.h;
					var ratio = Math.min(wratio, hratio);
					size.w = size.w*ratio;
					size.h = size.h*ratio;
				}
				zoom = tag.show().animate({
					top: win.h/2-size.h/2,
					left: win.w/2-size.w/2,
					height: size.h,
					width: size.w
				}).click(close);
			});
		} else if(href = me.state.persistent.get('href')) window.location = href;
	});
};

this.buttons = [];

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-imagebuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function() { e.preventDefault();$(me.node()).phiPopup(me.openOptions); }),
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-imageedit alt=edit title="Change image" />')
					.click(function() { e.preventDefault();
						phi.input.file(function(file)
						{
							me.state.persistent.set('file', file);
							me.refresh();
						});
					})
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.buttons).remove();
	me.buttons = [];
};

this.openOptions = function() {
	$(this).append(
		$('<label>').append(
			$('<input type=checkbox name=height value=on />').val(me.state.persistent.get('lightbox', ""))
				.change(function(e) {
					me.state.persistent.set('lightbox', this.checked ? 'on' : '');
				}),
			'<span>Use lightbox</span>'
		),
		'or',
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('499105bbd59a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' || o.mode == 'edit' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('.phi-textedit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('.phi-textbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-textbuttons>').prependTo(me.node())
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function(e) {
						e.preventDefault(); e.stopPropagation();
						$(this).remove();
						phi.edit.editor('text', function() { this.doEdit.call(me) });
					})
			);
	}
	
	var off = $(me.node()).position();
	buttons.css({
		position: 'absolute',
		top: off.top + 3,
		left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-textbuttons').remove();
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('df4e82854d4a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };
this.children = function() { return Jit.prototype.children.call( this, '> .phi-carousel > .phi-carousel-inner > .phi-carousel-item > [phi:iid]' ); }

this.onLoad = function() {
	//$(me.node()).find('> .phi-carousel > .phi-carousel-item:not(:first)').hide();
	var n = $(me.node()).find('> .phi-carousel > .phi-carousel-inner');
	n.css({width: n.children().length * n.outerWidth()});
	$(me.node()).find('> ul').click(this.event);
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
	this.openId = $(me.node()).find('> ul > a:first').attr('href');
	this.setAutoroll(this.state.persistent.get('autoroll'));
	$(me.node()).mouseover(function(e) {
		me.mousedover = true;
	}).mouseout(function(e) {
		var o = $(me.node()).offset();
		o.right = o.left + $(me.node()).outerWidth();
		o.bottom = o.top + $(me.node()).outerHeight();
		if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
		me.mousedover = false;
	});
};

this.timeout = false;
this.setAutoroll = function(autoroll) {
	if ( this.timeout )
		clearTimeout(this.timeout);
	if ( autoroll ) {
		autoroll = Math.max(1, parseInt(autoroll, 10));
		this.timeout = setInterval(function() { if ( !me.mousedover ) me.next(); }, autoroll*1000);
	}
};

this.event = function(e) {
	var t = $(e.target).closest('.phi-carousel-tab');
	if( $(e.target).closest('.phi-edit').length ) {
		//var jit = h.next().find('> *').toJits()[0];
		var jit = $(t.attr('href')).find('> *').toJits()[0];
		
		var oldVal = jit.state.persistent.get('virtualheader', 'Untitled');
		
		var input = $('<input type=text />').val(oldVal);
		
		t.find('span.center span').replaceWith( input );
		
		input.focus();
		
		input.blur(function(e) {
			if( $(this).val() != oldVal )
				jit.state.persistent.set('virtualheader', $(this).val());
			$(this).replaceWith($('<span/>').text($(this).val()));
		});
		
		e.preventDefault();
		e.stopPropagation();
		return false;
	}
	
	if( !t.length ) return;
	//$(me.node()).find('> .phi-tabs > .phi-carousel-item').fadeOut();
	//h.next().stop().slideDown();
	me.open(t.attr('href'));
	e.preventDefault();
	e.stopPropagation();
};

this.next = function() {
	var $$ = $(me.node()).find('> ul > a').removeClass('selected').filter('[href="'+this.openId+'"]');
	var $$$ = $$.next();
	if ( !$$$.length )
		$$$ = $$.parent().children(':first');
	this.open($$$.attr('href'));
};
this.open = function(id) {
	this.openId = id;
	$(me.node()).find('> ul > a').removeClass('selected').filter('[href="'+id+'"]').addClass('selected');
	$(me.node()).find('.phi-carousel > .phi-carousel-inner').animate({left:
		-$(me.node()).find('.phi-carousel > .phi-carousel-inner > .phi-carousel-item').filter(id).position().left});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).find('> ul > .phi-carousel-tab > .phi-edit').remove();
		$(me.node()).find('> ul > .phi-carousel-tab').append('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class="phi-edit" alt="edit" title="Edit header" />');
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('> ul > .phi-carousel-tab > .phi-edit, > .phi-carouseledit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('> .phi-carouselbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-carouselbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-tabsedit alt=edit title="Edit tabs" />')
					.click(function() { $(me.node()).phiPopup(me.openEdit); }),
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-add.png" class=phi-tabsadd alt=add title="Add item" />')
					.click(function(e) {
						me.createJit('container', function() {
							me.refresh();
						});
					})
			);
	}
	//var off = $(me.node()).offset();
	buttons.css({
		position: 'absolute',
		top: 0, right: 0,
		//top: off.top + 3,
		//left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('> .phi-carouselsbuttons').remove();
};

this.openEdit = function() {
	$(this).append(
		'<h3>Carousel</h3>',
		$('<label>').append(
			'<span>Height</span>',
			$('<input type=text name=headerheight />').val(me.state.persistent.get('headerheight', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('headerheight', $(this).val());
					}
				})
		),
		$('<label>').append(
			'<span>Width</span>',
			$('<input type=text name=headerwidth />').val(me.state.persistent.get('headerwidth', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('headerwidth', $(this).val());
					}
				})
		),
		$('<span>').append(
			'<span>Position:</span>',
			$('<label>').append(
				$('<input type=radio name=headerposition value=top>')
					.attr('selected', me.state.persistent.get('headerposition', 'top') == 'top' ? 'selected' : '')
					.change(function(e) {
						me.state.persistent.set('headerposition', 'top');
					}),
				'<span>Top<span>'
			),
			$('<label>').append(
				$('<input type=radio name=headerposition value=bottom>')
					.attr('selected', me.state.persistent.get('headerposition', 'top') == 'bottom' ? 'selected' : '')
					.change(function(e) {
						me.state.persistent.set('headerposition', 'bottom');
					}),
				'<span>Bottom<span>'
			)
		),
		$('<label>').append(
			'<span>Side spacing</span>',
			$('<input type=text name=headerspacing />').val(me.state.persistent.get('headerspacing', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('headerspacing', $(this).val());
					}
				})
		),
		$('<label>').append(
			'<span>Text color</span>',
			$('<input type=text name=headercolor />').val(me.state.persistent.get('headercolor', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('headercolor', $(this).val());
					}
				})
		),
		$('<label>').append(
			'<span>Background Color</span>',
			$('<input type=text name=headerbgcolor />').val(me.state.persistent.get('headerbgcolor', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('headerbgcolor', $(this).val());
					}
				})
		),
		$('<label>').append(
			'<span>Background Color (on select)</span>',
			$('<input type=text name=headerbgcolorsel />').val(me.state.persistent.get('headerbgcolorsel', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('headerbgcolorsel', $(this).val());
					}
				})
		),
		'or',
		$('<label>').append(
			'<span>Background Image</span>',
			phi.input.fileInput(me.state.persistent.get('headerbgimage'), function(file) {
				me.state.persistent.set('headerbgimage', file || "");
			})
		),
		$('<label>').append(
			'<span>Image border (number of pixles to chop off)</span>',
			$('<input type=text name=headerborder />').val(me.state.persistent.get('headerborder', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('headerborder', $(this).val());
					}
				})
		),
		$('<label>').append(
			$('<input type=checkbox name=headerbgselectstate>')
				.change(function(e) {
					me.state.persistent.set('headerbgselectstate', this.checked);
				}),
			'<span>This image has a selected state.</span> (The image has two tab images on it, the default on the top, and a selected version below. If you check this then note that the height will be ignored)'
		),
		'<h3>Content area</h3>',
		$('<label>').append(
			'<span>Background color:</span>',
			$('<input type=text name=bgcolor />').val(me.state.persistent.get('contentbgcolor', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('contentbgcolor', $(this).val());
					}
				})
		),
		$('<label>').append(
			'<span>Border (size style color):</span>',
			$('<input type=text name=border />').val(me.state.persistent.get('contentborder', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('contentborder', $(this).val());
					}
				})
		),
		$('<label>').append(
			'<span>Autoroll seconds (seconds in between automatic changes):</span>',
			$('<input type=text name=border />').val(me.state.persistent.get('autoroll', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('autoroll', $(this).val());
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'headerheight' in changed ) {
		$(me.node()).find('> ul > a, > ul > a > span').css({
			height: state.get('headerheight', ""),
			lineHeight: state.get('headerheight', "")
		});
	}
	if( 'headerwidth' in changed ) {
		$(me.node()).find('> ul > a, > ul > a > span').css({
			width: state.get('headerwidth', "")
		});
	}
	if( 'headerspacing' in changed ) {
		$(me.node()).find('> ul > a').css({
			marginLeft: state.get('headerspacing', ""),
			marginRight: state.get('headerspacing', "")
		});
	}
	if( 'headercolor' in changed ) {
		$(me.node()).find('> ul > a').css('color', state.get('headercolor', ""));
	}
	if( 'headerbgcolor' in changed ) {
		$(me.node()).find('> ul > a').css('background-color', state.get('headerbgcolor', ""));
	}
	if( 'contentbgcolor' in changed ) {
		$(me.node()).find('> .phi-tabs').css('background-color', state.get('contentbgcolor', ""));
	}
	if( 'contentborder' in changed ) {
		$(me.node()).find('> .phi-tabs').css('border', state.get('contentborder', ""));
	}
	if( 'headerposition' in changed || 'headerbgimage' in changed || 'headerborder' in changed || 'headerbgselectstate' in changed || 'width' in changed || 'height' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
	if( 'autoroll' in changed ) {
		this.setAutoroll(state.get('autoroll'));
	}
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('7cf85de4084a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

this.buttons = [];
phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-buttonbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function(e) { e.preventDefault(); $(me.node()).phiPopup(me.openOptions); })
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-buttonbuttons').remove();
};

this.openOptions = function() {
	$(this).append(
		'<h3>Normal state</h3>',
		$('<label>').append(
			'<span>Image</span>',
			phi.input.fileInput(me.state.persistent.get('image'), function(file) {
				me.state.persistent.set('image', file || "");
			})
		),
		'<h3>Rollover (mouse hover)</h3>',
		$('<label>').append(
			'<span>Rollover image</span>',
			phi.input.fileInput(me.state.persistent.get('rollover'), function(file) {
				me.state.persistent.set('rollover', file || "");
			})
		),
		'<h3>Selected state & Linking</h3>',
		$('<label>').append(
			'<span>Selected state image</span>',
			phi.input.fileInput(me.state.persistent.get('selected'), function(file) {
				me.state.persistent.set('selected', file || "");
			})
		),
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'href' in changed ) {
		$(me.node()).attr('href', state.get('href'));
	}
	if( 'image' in changed || 'rollover' in changed || 'selected' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
};
}
/** End/DYNAMIC **/
	}).apply(Jit.get('d18d7341d34a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

this.buttons = [];
phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-buttonbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function(e) { e.preventDefault(); $(me.node()).phiPopup(me.openOptions); })
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-buttonbuttons').remove();
};

this.openOptions = function() {
	$(this).append(
		'<h3>Normal state</h3>',
		$('<label>').append(
			'<span>Image</span>',
			phi.input.fileInput(me.state.persistent.get('image'), function(file) {
				me.state.persistent.set('image', file || "");
			})
		),
		'<h3>Rollover (mouse hover)</h3>',
		$('<label>').append(
			'<span>Rollover image</span>',
			phi.input.fileInput(me.state.persistent.get('rollover'), function(file) {
				me.state.persistent.set('rollover', file || "");
			})
		),
		'<h3>Selected state & Linking</h3>',
		$('<label>').append(
			'<span>Selected state image</span>',
			phi.input.fileInput(me.state.persistent.get('selected'), function(file) {
				me.state.persistent.set('selected', file || "");
			})
		),
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'href' in changed ) {
		$(me.node()).attr('href', state.get('href'));
	}
	if( 'image' in changed || 'rollover' in changed || 'selected' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
};
}
/** End/DYNAMIC **/
	}).apply(Jit.get('105bd57df34a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

this.buttons = [];
phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-buttonbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function(e) { e.preventDefault(); $(me.node()).phiPopup(me.openOptions); })
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-buttonbuttons').remove();
};

this.openOptions = function() {
	$(this).append(
		'<h3>Normal state</h3>',
		$('<label>').append(
			'<span>Image</span>',
			phi.input.fileInput(me.state.persistent.get('image'), function(file) {
				me.state.persistent.set('image', file || "");
			})
		),
		'<h3>Rollover (mouse hover)</h3>',
		$('<label>').append(
			'<span>Rollover image</span>',
			phi.input.fileInput(me.state.persistent.get('rollover'), function(file) {
				me.state.persistent.set('rollover', file || "");
			})
		),
		'<h3>Selected state & Linking</h3>',
		$('<label>').append(
			'<span>Selected state image</span>',
			phi.input.fileInput(me.state.persistent.get('selected'), function(file) {
				me.state.persistent.set('selected', file || "");
			})
		),
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'href' in changed ) {
		$(me.node()).attr('href', state.get('href'));
	}
	if( 'image' in changed || 'rollover' in changed || 'selected' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
};
}
/** End/DYNAMIC **/
	}).apply(Jit.get('15cb2dcdf34a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

this.buttons = [];
phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-buttonbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function(e) { e.preventDefault(); $(me.node()).phiPopup(me.openOptions); })
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-buttonbuttons').remove();
};

this.openOptions = function() {
	$(this).append(
		'<h3>Normal state</h3>',
		$('<label>').append(
			'<span>Image</span>',
			phi.input.fileInput(me.state.persistent.get('image'), function(file) {
				me.state.persistent.set('image', file || "");
			})
		),
		'<h3>Rollover (mouse hover)</h3>',
		$('<label>').append(
			'<span>Rollover image</span>',
			phi.input.fileInput(me.state.persistent.get('rollover'), function(file) {
				me.state.persistent.set('rollover', file || "");
			})
		),
		'<h3>Selected state & Linking</h3>',
		$('<label>').append(
			'<span>Selected state image</span>',
			phi.input.fileInput(me.state.persistent.get('selected'), function(file) {
				me.state.persistent.set('selected', file || "");
			})
		),
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'href' in changed ) {
		$(me.node()).attr('href', state.get('href'));
	}
	if( 'image' in changed || 'rollover' in changed || 'selected' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
};
}
/** End/DYNAMIC **/
	}).apply(Jit.get('2d3e1aaef34a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

this.buttons = [];
phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-buttonbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function(e) { e.preventDefault(); $(me.node()).phiPopup(me.openOptions); })
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-buttonbuttons').remove();
};

this.openOptions = function() {
	$(this).append(
		'<h3>Normal state</h3>',
		$('<label>').append(
			'<span>Image</span>',
			phi.input.fileInput(me.state.persistent.get('image'), function(file) {
				me.state.persistent.set('image', file || "");
			})
		),
		'<h3>Rollover (mouse hover)</h3>',
		$('<label>').append(
			'<span>Rollover image</span>',
			phi.input.fileInput(me.state.persistent.get('rollover'), function(file) {
				me.state.persistent.set('rollover', file || "");
			})
		),
		'<h3>Selected state & Linking</h3>',
		$('<label>').append(
			'<span>Selected state image</span>',
			phi.input.fileInput(me.state.persistent.get('selected'), function(file) {
				me.state.persistent.set('selected', file || "");
			})
		),
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'href' in changed ) {
		$(me.node()).attr('href', state.get('href'));
	}
	if( 'image' in changed || 'rollover' in changed || 'selected' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
};
}
/** End/DYNAMIC **/
	}).apply(Jit.get('42f2f029f34a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

this.buttons = [];
phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-buttonbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function(e) { e.preventDefault(); $(me.node()).phiPopup(me.openOptions); })
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-buttonbuttons').remove();
};

this.openOptions = function() {
	$(this).append(
		'<h3>Normal state</h3>',
		$('<label>').append(
			'<span>Image</span>',
			phi.input.fileInput(me.state.persistent.get('image'), function(file) {
				me.state.persistent.set('image', file || "");
			})
		),
		'<h3>Rollover (mouse hover)</h3>',
		$('<label>').append(
			'<span>Rollover image</span>',
			phi.input.fileInput(me.state.persistent.get('rollover'), function(file) {
				me.state.persistent.set('rollover', file || "");
			})
		),
		'<h3>Selected state & Linking</h3>',
		$('<label>').append(
			'<span>Selected state image</span>',
			phi.input.fileInput(me.state.persistent.get('selected'), function(file) {
				me.state.persistent.set('selected', file || "");
			})
		),
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'href' in changed ) {
		$(me.node()).attr('href', state.get('href'));
	}
	if( 'image' in changed || 'rollover' in changed || 'selected' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
};
}
/** End/DYNAMIC **/
	}).apply(Jit.get('56bb6c1df34a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

var href;
this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
	
	$(me.node()).click(function() {
		if(me.state.persistent.get('lightbox')) {
			if(phi.lightimage && phi.lightimage.uid == me.uid()) return;
			if(phi.lightimage) phi.lightimage.close();
			function close() {
				delete phi.lightimage;
				var off = $(img).offset();
				$(zoom).animate({
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				}, {complete: function() {$(this).remove();}});
			}
			phi.lightimage = {
				uid: me.uid(),
				close: close
			};
			
			var img = this;
			var zoom;
			var off = $(img).offset();
			var tag = $('<img/>')
				.attr({alt:img.alt, src: phi.fileURL({uid: me.state.persistent.get('file')})})
				.css({
					position: 'absolute',
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				})
				.appendTo('body').hide();
			
			phi.fileinfo(me.state.persistent.get('file'), function(f) {
				var win = { w: $(window).width(), h: $(window).height() };
				var max = { w: win.w-100, h: win.h-100 };
				var size = { w: f.width, h: f.height };
				if( size.w > max.w || size.h > max.h ) {
					var wratio = max.w/size.w, hratio = max.h/size.h;
					var ratio = Math.min(wratio, hratio);
					size.w = size.w*ratio;
					size.h = size.h*ratio;
				}
				zoom = tag.show().animate({
					top: win.h/2-size.h/2,
					left: win.w/2-size.w/2,
					height: size.h,
					width: size.w
				}).click(close);
			});
		} else if(href = me.state.persistent.get('href')) window.location = href;
	});
};

this.buttons = [];

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-imagebuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function() { e.preventDefault();$(me.node()).phiPopup(me.openOptions); }),
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-imageedit alt=edit title="Change image" />')
					.click(function() { e.preventDefault();
						phi.input.file(function(file)
						{
							me.state.persistent.set('file', file);
							me.refresh();
						});
					})
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.buttons).remove();
	me.buttons = [];
};

this.openOptions = function() {
	$(this).append(
		$('<label>').append(
			$('<input type=checkbox name=height value=on />').val(me.state.persistent.get('lightbox', ""))
				.change(function(e) {
					me.state.persistent.set('lightbox', this.checked ? 'on' : '');
				}),
			'<span>Use lightbox</span>'
		),
		'or',
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('928fe7d0044a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.canHaveChildren = function() { return true };

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

this.buttons = [];
phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-buttonbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function(e) { e.preventDefault(); $(me.node()).phiPopup(me.openOptions); })
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-buttonbuttons').remove();
};

this.openOptions = function() {
	$(this).append(
		'<h3>Normal state</h3>',
		$('<label>').append(
			'<span>Image</span>',
			phi.input.fileInput(me.state.persistent.get('image'), function(file) {
				me.state.persistent.set('image', file || "");
			})
		),
		'<h3>Rollover (mouse hover)</h3>',
		$('<label>').append(
			'<span>Rollover image</span>',
			phi.input.fileInput(me.state.persistent.get('rollover'), function(file) {
				me.state.persistent.set('rollover', file || "");
			})
		),
		'<h3>Selected state & Linking</h3>',
		$('<label>').append(
			'<span>Selected state image</span>',
			phi.input.fileInput(me.state.persistent.get('selected'), function(file) {
				me.state.persistent.set('selected', file || "");
			})
		),
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

this.onStateChange = function(state, changed) {
	if( state !== me.state.persistent ) return;
	if( 'href' in changed ) {
		$(me.node()).attr('href', state.get('href'));
	}
	if( 'image' in changed || 'rollover' in changed || 'selected' in changed ) {
		setTimeout(function() { me.refresh(); }, 500);
	}
};
}
/** End/DYNAMIC **/
	}).apply(Jit.get('afb1765cf34a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' || o.mode == 'edit' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('.phi-textedit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('.phi-textbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-textbuttons>').prependTo(me.node())
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function(e) {
						e.preventDefault(); e.stopPropagation();
						$(this).remove();
						phi.edit.editor('text', function() { this.doEdit.call(me) });
					})
			);
	}
	
	var off = $(me.node()).position();
	buttons.css({
		position: 'absolute',
		top: off.top + 3,
		left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-textbuttons').remove();
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('255c18c2046a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' || o.mode == 'edit' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('.phi-textedit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('.phi-textbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-textbuttons>').prependTo(me.node())
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function(e) {
						e.preventDefault(); e.stopPropagation();
						$(this).remove();
						phi.edit.editor('text', function() { this.doEdit.call(me) });
					})
			);
	}
	
	var off = $(me.node()).position();
	buttons.css({
		position: 'absolute',
		top: off.top + 3,
		left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-textbuttons').remove();
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('30af75294d4a4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

var href;
this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
	
	$(me.node()).click(function() {
		if(me.state.persistent.get('lightbox')) {
			if(phi.lightimage && phi.lightimage.uid == me.uid()) return;
			if(phi.lightimage) phi.lightimage.close();
			function close() {
				delete phi.lightimage;
				var off = $(img).offset();
				$(zoom).animate({
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				}, {complete: function() {$(this).remove();}});
			}
			phi.lightimage = {
				uid: me.uid(),
				close: close
			};
			
			var img = this;
			var zoom;
			var off = $(img).offset();
			var tag = $('<img/>')
				.attr({alt:img.alt, src: phi.fileURL({uid: me.state.persistent.get('file')})})
				.css({
					position: 'absolute',
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				})
				.appendTo('body').hide();
			
			phi.fileinfo(me.state.persistent.get('file'), function(f) {
				var win = { w: $(window).width(), h: $(window).height() };
				var max = { w: win.w-100, h: win.h-100 };
				var size = { w: f.width, h: f.height };
				if( size.w > max.w || size.h > max.h ) {
					var wratio = max.w/size.w, hratio = max.h/size.h;
					var ratio = Math.min(wratio, hratio);
					size.w = size.w*ratio;
					size.h = size.h*ratio;
				}
				zoom = tag.show().animate({
					top: win.h/2-size.h/2,
					left: win.w/2-size.w/2,
					height: size.h,
					width: size.w
				}).click(close);
			});
		} else if(href = me.state.persistent.get('href')) window.location = href;
	});
};

this.buttons = [];

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-imagebuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function() { e.preventDefault();$(me.node()).phiPopup(me.openOptions); }),
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-imageedit alt=edit title="Change image" />')
					.click(function() { e.preventDefault();
						phi.input.file(function(file)
						{
							me.state.persistent.set('file', file);
							me.refresh();
						});
					})
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.buttons).remove();
	me.buttons = [];
};

this.openOptions = function() {
	$(this).append(
		$('<label>').append(
			$('<input type=checkbox name=height value=on />').val(me.state.persistent.get('lightbox', ""))
				.change(function(e) {
					me.state.persistent.set('lightbox', this.checked ? 'on' : '');
				}),
			'<span>Use lightbox</span>'
		),
		'or',
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('cbf11d12817b4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' || o.mode == 'edit' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('.phi-textedit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('.phi-textbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-textbuttons>').prependTo(me.node())
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function(e) {
						e.preventDefault(); e.stopPropagation();
						$(this).remove();
						phi.edit.editor('text', function() { this.doEdit.call(me) });
					})
			);
	}
	
	var off = $(me.node()).position();
	buttons.css({
		position: 'absolute',
		top: off.top + 3,
		left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-textbuttons').remove();
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('148b515e9bca4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' || o.mode == 'edit' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('.phi-textedit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('.phi-textbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-textbuttons>').prependTo(me.node())
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function(e) {
						e.preventDefault(); e.stopPropagation();
						$(this).remove();
						phi.edit.editor('text', function() { this.doEdit.call(me) });
					})
			);
	}
	
	var off = $(me.node()).position();
	buttons.css({
		position: 'absolute',
		top: off.top + 3,
		left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-textbuttons').remove();
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('add8ee68403b4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' || o.mode == 'edit' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('.phi-textedit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('.phi-textbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-textbuttons>').prependTo(me.node())
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function(e) {
						e.preventDefault(); e.stopPropagation();
						$(this).remove();
						phi.edit.editor('text', function() { this.doEdit.call(me) });
					})
			);
	}
	
	var off = $(me.node()).position();
	buttons.css({
		position: 'absolute',
		top: off.top + 3,
		left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-textbuttons').remove();
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('14f794da713b4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

var href;
this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
	
	$(me.node()).click(function() {
		if(me.state.persistent.get('lightbox')) {
			if(phi.lightimage && phi.lightimage.uid == me.uid()) return;
			if(phi.lightimage) phi.lightimage.close();
			function close() {
				delete phi.lightimage;
				var off = $(img).offset();
				$(zoom).animate({
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				}, {complete: function() {$(this).remove();}});
			}
			phi.lightimage = {
				uid: me.uid(),
				close: close
			};
			
			var img = this;
			var zoom;
			var off = $(img).offset();
			var tag = $('<img/>')
				.attr({alt:img.alt, src: phi.fileURL({uid: me.state.persistent.get('file')})})
				.css({
					position: 'absolute',
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				})
				.appendTo('body').hide();
			
			phi.fileinfo(me.state.persistent.get('file'), function(f) {
				var win = { w: $(window).width(), h: $(window).height() };
				var max = { w: win.w-100, h: win.h-100 };
				var size = { w: f.width, h: f.height };
				if( size.w > max.w || size.h > max.h ) {
					var wratio = max.w/size.w, hratio = max.h/size.h;
					var ratio = Math.min(wratio, hratio);
					size.w = size.w*ratio;
					size.h = size.h*ratio;
				}
				zoom = tag.show().animate({
					top: win.h/2-size.h/2,
					left: win.w/2-size.w/2,
					height: size.h,
					width: size.w
				}).click(close);
			});
		} else if(href = me.state.persistent.get('href')) window.location = href;
	});
};

this.buttons = [];

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-imagebuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function() { e.preventDefault();$(me.node()).phiPopup(me.openOptions); }),
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-imageedit alt=edit title="Change image" />')
					.click(function() { e.preventDefault();
						phi.input.file(function(file)
						{
							me.state.persistent.set('file', file);
							me.refresh();
						});
					})
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.buttons).remove();
	me.buttons = [];
};

this.openOptions = function() {
	$(this).append(
		$('<label>').append(
			$('<input type=checkbox name=height value=on />').val(me.state.persistent.get('lightbox', ""))
				.change(function(e) {
					me.state.persistent.set('lightbox', this.checked ? 'on' : '');
				}),
			'<span>Use lightbox</span>'
		),
		'or',
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('b318d6cc713b4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

var href;
this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
	
	$(me.node()).click(function() {
		if(me.state.persistent.get('lightbox')) {
			if(phi.lightimage && phi.lightimage.uid == me.uid()) return;
			if(phi.lightimage) phi.lightimage.close();
			function close() {
				delete phi.lightimage;
				var off = $(img).offset();
				$(zoom).animate({
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				}, {complete: function() {$(this).remove();}});
			}
			phi.lightimage = {
				uid: me.uid(),
				close: close
			};
			
			var img = this;
			var zoom;
			var off = $(img).offset();
			var tag = $('<img/>')
				.attr({alt:img.alt, src: phi.fileURL({uid: me.state.persistent.get('file')})})
				.css({
					position: 'absolute',
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				})
				.appendTo('body').hide();
			
			phi.fileinfo(me.state.persistent.get('file'), function(f) {
				var win = { w: $(window).width(), h: $(window).height() };
				var max = { w: win.w-100, h: win.h-100 };
				var size = { w: f.width, h: f.height };
				if( size.w > max.w || size.h > max.h ) {
					var wratio = max.w/size.w, hratio = max.h/size.h;
					var ratio = Math.min(wratio, hratio);
					size.w = size.w*ratio;
					size.h = size.h*ratio;
				}
				zoom = tag.show().animate({
					top: win.h/2-size.h/2,
					left: win.w/2-size.w/2,
					height: size.h,
					width: size.w
				}).click(close);
			});
		} else if(href = me.state.persistent.get('href')) window.location = href;
	});
};

this.buttons = [];

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-imagebuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function() { e.preventDefault();$(me.node()).phiPopup(me.openOptions); }),
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-imageedit alt=edit title="Change image" />')
					.click(function() { e.preventDefault();
						phi.input.file(function(file)
						{
							me.state.persistent.set('file', file);
							me.refresh();
						});
					})
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.buttons).remove();
	me.buttons = [];
};

this.openOptions = function() {
	$(this).append(
		$('<label>').append(
			$('<input type=checkbox name=height value=on />').val(me.state.persistent.get('lightbox', ""))
				.change(function(e) {
					me.state.persistent.set('lightbox', this.checked ? 'on' : '');
				}),
			'<span>Use lightbox</span>'
		),
		'or',
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('b5acbd77403b4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

var href;
this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
	
	$(me.node()).click(function() {
		if(me.state.persistent.get('lightbox')) {
			if(phi.lightimage && phi.lightimage.uid == me.uid()) return;
			if(phi.lightimage) phi.lightimage.close();
			function close() {
				delete phi.lightimage;
				var off = $(img).offset();
				$(zoom).animate({
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				}, {complete: function() {$(this).remove();}});
			}
			phi.lightimage = {
				uid: me.uid(),
				close: close
			};
			
			var img = this;
			var zoom;
			var off = $(img).offset();
			var tag = $('<img/>')
				.attr({alt:img.alt, src: phi.fileURL({uid: me.state.persistent.get('file')})})
				.css({
					position: 'absolute',
					top: off.top, left: off.left,
					width: $(img).innerWidth(),
					height: $(img).innerHeight()
				})
				.appendTo('body').hide();
			
			phi.fileinfo(me.state.persistent.get('file'), function(f) {
				var win = { w: $(window).width(), h: $(window).height() };
				var max = { w: win.w-100, h: win.h-100 };
				var size = { w: f.width, h: f.height };
				if( size.w > max.w || size.h > max.h ) {
					var wratio = max.w/size.w, hratio = max.h/size.h;
					var ratio = Math.min(wratio, hratio);
					size.w = size.w*ratio;
					size.h = size.h*ratio;
				}
				zoom = tag.show().animate({
					top: win.h/2-size.h/2,
					left: win.w/2-size.w/2,
					height: size.h,
					width: size.w
				}).click(close);
			});
		} else if(href = me.state.persistent.get('href')) window.location = href;
	});
};

this.buttons = [];

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout);
	}
};

this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-imagebuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-options.png" class=phi-imageoptions alt=options title="Options" />')
					.click(function() { e.preventDefault();$(me.node()).phiPopup(me.openOptions); }),
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-imageedit alt=edit title="Change image" />')
					.click(function() { e.preventDefault();
						phi.input.file(function(file)
						{
							me.state.persistent.set('file', file);
							me.refresh();
						});
					})
			).get();
	}
	
	var off = $(me.node()).offset();
	$(me.buttons).css({
		position: 'absolute',
		top: off.top + 3 - $('body').offset().top,
		left: off.left + $(me.node()).outerWidth() - 13*3/*$(me.buttons).outerWidth()*/ - 3,
		zIndex: 99999
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.buttons).remove();
	me.buttons = [];
};

this.openOptions = function() {
	$(this).append(
		$('<label>').append(
			$('<input type=checkbox name=height value=on />').val(me.state.persistent.get('lightbox', ""))
				.change(function(e) {
					me.state.persistent.set('lightbox', this.checked ? 'on' : '');
				}),
			'<span>Use lightbox</span>'
		),
		'or',
		$('<label>').append(
			'<span>Link to:</span>',
			$('<input type=text name=href />').val(me.state.persistent.get('href', ""))
				.catchChanges({
					change: function(e) {
						me.state.persistent.set('href', $(this).val());
						me.refresh();
					}
				})
		)
	);
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('60ea7dfdd05b4'), []);
}
/*]]>*/

with(phi.classes)
{
	(function() {
/** DYNAMIC **/
with(phi.classes) with(phi.frame) {var me = this;

this.onLoad = function() {
	this.onEditMode({type: 'EditMode', mode: phi.edit._mode});
};

phi.signal.register({type: 'EditMode'}, this);
this.onEditMode = function(o) {
	if( o.mode == 'design' || o.mode == 'edit' ) {
		$(me.node()).mouseover(me.mouseover).mouseout(me.mouseout);
	} else {
		$(me.node()).find('.phi-textedit').remove();
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.mouseover = function(e) {
	var buttons = $(me.node()).find('.phi-textbuttons');
	if( !buttons.length ) {
		buttons = $('<div class=phi-textbuttons>').prependTo(me.node())
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function(e) {
						e.preventDefault(); e.stopPropagation();
						$(this).remove();
						phi.edit.editor('text', function() { this.doEdit.call(me) });
					})
			);
	}
	
	var off = $(me.node()).position();
	buttons.css({
		position: 'absolute',
		top: off.top + 3,
		left: off.left + $(me.node()).outerWidth() - buttons.outerWidth() - 3
	});
};

this.mouseout = function(e) {
	var o = $(me.node()).offset();
	o.right = o.left + $(me.node()).outerWidth();
	o.bottom = o.top + $(me.node()).outerHeight();
	if( e.pageX > o.left && e.pageY > o.top && e.pageX < o.right && e.pageY < o.bottom ) return;
	$(me.node()).find('.phi-textbuttons').remove();
};

}
/** End/DYNAMIC **/
	}).apply(Jit.get('68ca236d8e5a4'), []);
}
/*]]>*/with(phi.classes) with(phi.frame) {
	jQuery(function()
	{
		for( var iid in Jit.instances )
		{
			(function(jit) {
				if(jit.onLoad) jit.doOnLoad();
			})(Jit.instances[iid]);
		}
	});
}