with(phi.classes)
{
	Jit.get('e0f0be44415a4').state.persistent.state = {"alias":"main","background-image":"cfb7bc0af44a4","height":"800px","repeat-x":true,"width":""};
	Jit.get('b85e2164415a4').state.persistent.state = {"alias":"body","height":"800px","margin-left":"auto","margin-right":"auto","width":"960px"};
	Jit.get('abe65884415a4').state.persistent.state = {"alias":"menu holder","height":"180px","width":"600px"};
	Jit.get('d4fc52dc8e6a4').state.persistent.state = {"alias":"ET write up","height":"270px","width":"960px"};
	Jit.get('185168bf615a4').state.persistent.state = {"alias":"content","height":"700px","padding-top":"20px","width":"960px"};
	Jit.get('59864b46415a4').state.persistent.state = {"alias":"menu","float":"","height":"0px","left":"0px","position":"relative","shareable":true,"top":"0px","width":"600px"};
	Jit.get('a8a81f8b515a4').state.persistent.state = {"alias":"about menu","height":"23px","left":"222px","position":"relative","shareable":true,"top":"118px","width":"590px"};
	Jit.get('8762751d8e6a4').state.persistent.state = {"alias":"Logo","height":"150px","margin-top":"","padding-top":"","width":"960px"};
	Jit.get('c411798d8e6a4').state.persistent.state = {"alias":"Write Up","height":"150px","padding-left":"","padding-right":"","width":"960px"};
	Jit.get('79e76029b76a4').state.persistent.state = {"alias":"Contact content","float":"left","height":"600px","margin-left":"","shareable":true,"width":"960px"};
	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('aecccb7a115a4').state.persistent.state = {"float":"left","href":"home\/about\/eckharttolle","image":"ff8c8a2a115a4","margin-right":"35px","rollover":"dbec4a3a115a4","selected":"dbec4a3a115a4"};
	Jit.get('3942fcda115a4').state.persistent.state = {"float":"left","href":"home\/about\/kimeng","image":"f461bfaa115a4","margin-right":"35px","position":"relative","rollover":"cb9bed2e115a4","selected":"cb9bed2e115a4"};
	Jit.get('b08faf7d115a4').state.persistent.state = {"float":"left","href":"home\/about\/faq","image":"fa715f4d115a4","margin-right":"35px","rollover":"1b8a2b6d115a4","selected":"1b8a2b6d115a4"};
	Jit.get('d9d0ddfc115a4').state.persistent.state = {"float":"left","href":"home\/about\/eckhartteachings","image":"3e4cb7dc115a4","margin-right":"35px","rollover":"ba9a9aec115a4","selected":"ba9a9aec115a4"};
	Jit.get('5dc46cafbbca4').state.persistent.state = {"float":"left","href":"home\/contact\/","image":"ab0512c8abca4","rollover":"87b9d2d8abca4"};
	Jit.get('8662ffbe8e6a4').state.persistent.state = {"clear":"","file":"a24fe0be8e6a4","padding-left":"400px","padding-top":"20px"};
	Jit.get('8ab899fd8e6a4').state.persistent.state = {"content":"<p>\n<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=utf-8\">\n<meta name=\"ProgId\" content=\"Word.Document\">\n<meta name=\"Generator\" content=\"Microsoft Word 11\">\n<meta name=\"Originator\" content=\"Microsoft Word 11\">\n<link rel=\"File-List\" href=\"file:\/\/\/C:\\DOCUME~1\\HP_ADM~1\\LOCALS~1\\Temp\\msohtml1\\01\\clip_filelist.xml\" \/><!--[if gte mso 9]><xml>\n<w:WordDocument>\n<w:View>Normal<\/w:View>\n<w:Zoom>0<\/w:Zoom>\n<w:PunctuationKerning \/>\n<w:ValidateAgainstSchemas \/>\n<w:SaveIfXMLInvalid>false<\/w:SaveIfXMLInvalid>\n<w:IgnoreMixedContent>false<\/w:IgnoreMixedContent>\n<w:AlwaysShowPlaceholderText>false<\/w:AlwaysShowPlaceholderText>\n<w:Compatibility>\n<w:BreakWrappedTables \/>\n<w:SnapToGridInCell \/>\n<w:WrapTextWithPunct \/>\n<w:UseAsianBreakRules \/>\n<w:DontGrowAutofit \/>\n<\/w:Compatibility>\n<w:BrowserLevel>MicrosoftInternetExplorer4<\/w:BrowserLevel>\n<\/w:WordDocument>\n<\/xml><![endif]--><!--[if gte mso 9]><xml>\n<w:LatentStyles DefLockedState=\"false\" LatentStyleCount=\"156\">\n<\/w:LatentStyles>\n<\/xml><![endif]--><style type=\"text\/css\">\n<!--\n \/* Style Definitions *\/\n p.MsoNormal, li.MsoNormal, div.MsoNormal\n\t{mso-style-parent:\"\";\n\tmargin:0cm;\n\tmargin-bottom:.0001pt;\n\tmso-pagination:widow-orphan;\n\tfont-size:12.0pt;\n\tfont-family:\"Times New Roman\";\n\tmso-fareast-font-family:\"Times New Roman\";}\n@page Section1\n\t{size:612.0pt 792.0pt;\n\tmargin:72.0pt 90.0pt 72.0pt 90.0pt;\n\tmso-header-margin:35.4pt;\n\tmso-footer-margin:35.4pt;\n\tmso-paper-source:0;}\ndiv.Section1\n\t{page:Section1;}\n-->\n<\/style><!--[if gte mso 10]>\n<style>\n\/* Style Definitions *\/\ntable.MsoNormalTable\n{mso-style-name:\"Table Normal\";\nmso-tstyle-rowband-size:0;\nmso-tstyle-colband-size:0;\nmso-style-noshow:yes;\nmso-style-parent:\"\";\nmso-padding-alt:0cm 5.4pt 0cm 5.4pt;\nmso-para-margin:0cm;\nmso-para-margin-bottom:.0001pt;\nmso-pagination:widow-orphan;\nfont-size:10.0pt;\nfont-family:\"Times New Roman\";\nmso-ansi-language:#0400;\nmso-fareast-language:#0400;\nmso-bidi-language:#0400;}\n<\/style>\n<![endif]--> <\/meta>\n<\/meta>\n<\/meta>\n<\/meta>\n<\/p>\n<p class=\"MsoNormal\"><span style=\"font-size: 10pt; font-family: Arial;\">The work of Eckhart Teachings is in response to the urgent need of our times: the transformation of consciousness and the arising of a more enlightened humanity. We organize Eckhart Tolle's Talks, Intensives and Retreats throughout the world. We also record, license, publish and distribute CDs and DVDs of his teaching events. In addition to supporting Eckhart Tolle and the dissemination of his teaching, we are committed and dedicated to serving the new consciousness and awakening of all humans on the planet. Behind the external form of what we do, and behind the business structure, lies the company's and our true purpose: the union with the Divine.<\/span><\/p>","padding-left":"0px","padding-right":"0px"};
	Jit.get('78f1608d876a4').state.persistent.state = {"alias":"Contact us Header","clear":"right","editable":true,"float":"","level":"1","padding-top":"20px","position":"static","text":"Contact Us"};
	Jit.get('89bcbc42776a4').state.persistent.state = {"alias":"Contact Eckhart Teachingsg","bottom":"","clear":"","display":"inline","float":"left","height":"500px","margin-bottom":"","margin-top":"20px","padding-left":"","padding-top":"","top":"","width":"300px"};
	Jit.get('7ca80900976a4').state.persistent.state = {"alias":"Contact Downloads","float":"left","height":"500px","margin-left":"20px","margin-top":"20px","width":"300px"};
	Jit.get('b683bb4e776a4').state.persistent.state = {"alias":"Contact Eckhart TV","background-color":"#fff","float":"left","height":"50px","left":"","margin-left":"20px","position":"static","shareable":true,"top":"","width":"300px"};
	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('01baade1976a4').state.persistent.state = {"background-color":"#e7721c","height":"50px","width":"300px"};
	Jit.get('f2b49801876a4').state.persistent.state = {"content":"<p>For all inquiries. including the Eckhart Teachings online store:<br \/>\n&nbsp; <br \/>\n<a href=\"mailto:Info@EckhartTolle.com\">Info@EckhartTolle.com <\/a><br \/>\n<br \/>\nCustomer Service (+1) 604&ndash;893-8500<br \/>\nMonday &ndash; Friday<br \/>\n9:30 a.m. - 5:00 p.m. (Pacific Time)<br \/>\n&nbsp; <br \/>\nFax: (+1)-604-893-8585<br \/>\n<br \/>\nEckhart Teachings, Inc.<br \/>\nP.O. Box 93661 Nelson Park RP<br \/>\nVancouver, BC V6E 4L7<br \/>\nCANADA<\/p>","padding-top":"10px"};
	Jit.get('3818a2c0b34b4').state.persistent.state = {"file":"fcafe050b34b4","float":"left","margin-top":"10px"};
	Jit.get('38a5a39dc34b4').state.persistent.state = {"content":"<p><strong>Follow Eckhart and Kim on Twitter<\/strong><\/p>\n<p>@EckhartTolle<\/p>\n<p>@KimFuChi<\/p>","float":"left"};
	Jit.get('962098c0976a4').state.persistent.state = {"background-color":"#777777","height":"50px","width":"300px"};
	Jit.get('1be71a70976a4').state.persistent.state = {"content":"<p>For all inquiries, including billing or technical questions:<br \/>\n&nbsp;<br \/>\n<a href=\"mailto:TolleDownload-Help@iAmplify.com\">TolleDownload-Help@iAmplify.com <\/a><br \/>\n<br \/>\niAmplify LLC.<br \/>\n8 West 40th Street<br \/>\n20th Floor<br \/>\nNew York, NY 10018<\/p>","margin-top":"10px"};
	Jit.get('7b1fd698876a4').state.persistent.state = {"background-color":"#6db164","height":"50px","margin-top":"20px","width":"300px"};
	Jit.get('120670c9876a4').state.persistent.state = {"content":"<p>For all inquiries, including billing or technical questions:<br \/>\n<br \/>\n<a href=\"mailto:CustomerService@EckhartTolleTV.com\">CustomerService@EckhartTolleTV.com <\/a><br \/>\n<br \/>\nCustomer Service (+1) 604&ndash;893-8500<br \/>\nMonday &ndash; Friday<br \/>\n9:30 a.m. - 5:00 p.m. (Pacific Time)<\/p>","padding-top":"12px"};
	Jit.get('f49b4812976a4').state.persistent.state = {"color":"#fff","content":"<p><strong>Eckhart Teachings<\/strong><\/p>","margin-bottom":"px","padding-bottom":"px","padding-left":"20px","padding-top":"12px"};
	Jit.get('5428daf0976a4').state.persistent.state = {"color":"#fff","content":"<p><strong>Download Store<\/strong><\/p>","padding-left":"20px","padding-top":"12px"};
	Jit.get('9534d0e9876a4').state.persistent.state = {"color":"#fff","content":"<p><strong>Eckhart Tolle TV<\/strong><\/p>","margin-top":"","padding-left":"20px","padding-top":"12px"};

}
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.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('aecccb7a115a4'), []);
}
/*]]>*/

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('3942fcda115a4'), []);
}
/*]]>*/

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('b08faf7d115a4'), []);
}
/*]]>*/

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('d9d0ddfc115a4'), []);
}
/*]]>*/

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('5dc46cafbbca4'), []);
}
/*]]>*/

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('8662ffbe8e6a4'), []);
}
/*]]>*/

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('8ab899fd8e6a4'), []);
}
/*]]>*/

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.buttons).remove();
		me.buttons = [];
		$(me.node()).unbind('mouseover', me.mouseover).unbind('mouseout', me.mouseout)
	}
};

this.buttons = [];
this.mouseover = function(e) {
	if( !me.buttons.length ) {
		me.buttons = $('<div class=phi-textbuttons>').appendTo('body')
			.append(
				$('<img src="'+phi.config.rootpath+'img/ui/edit/button/mini-edit.png" class=phi-textedit alt=edit title="Edit text" />')
					.click(function() { e.preventDefault(); phi.edit.editor('text', function() { this.doEdit.call(me) }); })
			);
	}
	
	var off = $(me.node()).position();
	$(me.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.buttons).remove();
	me.buttons = [];
};

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

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;

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('f2b49801876a4'), []);
}
/*]]>*/

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('3818a2c0b34b4'), []);
}
/*]]>*/

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('38a5a39dc34b4'), []);
}
/*]]>*/

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('1be71a70976a4'), []);
}
/*]]>*/

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('120670c9876a4'), []);
}
/*]]>*/

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('f49b4812976a4'), []);
}
/*]]>*/

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('5428daf0976a4'), []);
}
/*]]>*/

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('9534d0e9876a4'), []);
}
/*]]>*/with(phi.classes) with(phi.frame) {
	jQuery(function()
	{
		for( var iid in Jit.instances )
		{
			(function(jit) {
				if(jit.onLoad) jit.doOnLoad();
			})(Jit.instances[iid]);
		}
	});
}