summaryrefslogtreecommitdiff
path: root/extras/appengine/static
diff options
context:
space:
mode:
authorAndi Albrecht <albrecht.andi@gmail.com>2009-04-03 21:26:42 +0200
committerAndi Albrecht <albrecht.andi@gmail.com>2009-04-03 21:26:42 +0200
commit361122eb22d5681c58dac731009e4814b3dd5fa5 (patch)
treeb096496bc9c6b8febe092d0aefd56de1a4f8f4a0 /extras/appengine/static
downloadsqlparse-361122eb22d5681c58dac731009e4814b3dd5fa5.tar.gz
Initial import.
Diffstat (limited to 'extras/appengine/static')
-rw-r--r--extras/appengine/static/bg_options.pngbin0 -> 202 bytes
-rw-r--r--extras/appengine/static/bgfieldset.pngbin0 -> 227 bytes
-rw-r--r--extras/appengine/static/bgfooter.pngbin0 -> 434 bytes
-rw-r--r--extras/appengine/static/bgtop.pngbin0 -> 430 bytes
-rw-r--r--extras/appengine/static/blank.gifbin0 -> 64 bytes
-rw-r--r--extras/appengine/static/canvas.html114
-rw-r--r--extras/appengine/static/hotkeys.js1
-rw-r--r--extras/appengine/static/img_loading.gifbin0 -> 1348 bytes
-rw-r--r--extras/appengine/static/jquery.textarearesizer.compressed.js1
-rw-r--r--extras/appengine/static/loading.gifbin0 -> 4331 bytes
-rw-r--r--extras/appengine/static/lynx_screenshot.pngbin0 -> 66017 bytes
-rw-r--r--extras/appengine/static/pygments.css59
-rw-r--r--extras/appengine/static/resize-grip.pngbin0 -> 167 bytes
-rw-r--r--extras/appengine/static/robots.txt8
-rw-r--r--extras/appengine/static/rpc_relay.html1
-rw-r--r--extras/appengine/static/script.js103
-rw-r--r--extras/appengine/static/sqlformat_client_example.py17
-rw-r--r--extras/appengine/static/styles.css245
18 files changed, 549 insertions, 0 deletions
diff --git a/extras/appengine/static/bg_options.png b/extras/appengine/static/bg_options.png
new file mode 100644
index 0000000..bc1a6ed
--- /dev/null
+++ b/extras/appengine/static/bg_options.png
Binary files differ
diff --git a/extras/appengine/static/bgfieldset.png b/extras/appengine/static/bgfieldset.png
new file mode 100644
index 0000000..4d55f4a
--- /dev/null
+++ b/extras/appengine/static/bgfieldset.png
Binary files differ
diff --git a/extras/appengine/static/bgfooter.png b/extras/appengine/static/bgfooter.png
new file mode 100644
index 0000000..9ce5bdd
--- /dev/null
+++ b/extras/appengine/static/bgfooter.png
Binary files differ
diff --git a/extras/appengine/static/bgtop.png b/extras/appengine/static/bgtop.png
new file mode 100644
index 0000000..a0d4709
--- /dev/null
+++ b/extras/appengine/static/bgtop.png
Binary files differ
diff --git a/extras/appengine/static/blank.gif b/extras/appengine/static/blank.gif
new file mode 100644
index 0000000..3be2119
--- /dev/null
+++ b/extras/appengine/static/blank.gif
Binary files differ
diff --git a/extras/appengine/static/canvas.html b/extras/appengine/static/canvas.html
new file mode 100644
index 0000000..ab642d0
--- /dev/null
+++ b/extras/appengine/static/canvas.html
@@ -0,0 +1,114 @@
+<html>
+
+<head>
+<style type="text/css">
+ /*
+ These styles are customizable.
+ Provide .canvas-gadget (the div that holds the canvas mode gadget)
+ at least 500px width so that the gadget has sufficient screen real estate
+*/
+body {
+ margin: 0;
+ font-family:arial, sans-serif;
+ text-align:center;
+}
+.container {
+ width:652px;
+ margin:0 auto;
+ text-align:left;
+}
+.fc-sign-in-header {
+ text-align:left;
+ font-size: 13px;
+ padding:3px 10px;
+ border-bottom:1px solid #000000;
+}
+.signin {
+ text-align:left;
+ float:right;
+ font-size: 13px;
+ height: 32px;
+}
+.go-back {
+ text-align:left;
+ margin:5px auto 15px auto;
+}
+.go-back a, .go-back a:visited {
+ font-weight:bold;
+}
+.canvas-gadget {
+ text-align:left;
+ width:650px; /* ALLOW AT LEAST 500px WIDTH*/
+ margin:10px auto 10px auto;
+ border:1px solid #cccccc;
+}
+.site-header {
+ margin-top: 10px;
+}
+.section-title {
+ font-size: 2em;
+}
+.clear {
+ clear:both;
+ font-size:1px;
+ height:1px;
+ line-height:0;
+ margin:0;
+ padding:0;
+}
+</style>
+<script type="text/javascript" src="http://www.google.com/friendconnect/script/friendconnect.js"></script>
+</head>
+<body>
+<div class="container">
+ <div class="fc-sign-in-header">
+ <!--REQUIRED SO VISITORS CAN SIGN IN-->
+ <div class="signin" id="gadget-signin"></div>
+ <script type="text/javascript">
+ var skin = {};
+ skin['BORDER_COLOR'] = '#cccccc';
+ skin['ENDCAP_BG_COLOR'] = '#e0ecff';
+ skin['ENDCAP_TEXT_COLOR'] = '#333333';
+ skin['ENDCAP_LINK_COLOR'] = '#0000cc';
+ skin['ALTERNATE_BG_COLOR'] = '#ffffff';
+ skin['CONTENT_BG_COLOR'] = '#ffffff';
+ skin['CONTENT_LINK_COLOR'] = '#0000cc';
+ skin['CONTENT_TEXT_COLOR'] = '#333333';
+ skin['CONTENT_SECONDARY_LINK_COLOR'] = '#7777cc';
+ skin['CONTENT_SECONDARY_TEXT_COLOR'] = '#666666';
+ skin['CONTENT_HEADLINE_COLOR'] = '#333333';
+ skin['ALIGNMENT'] = 'right';
+ google.friendconnect.container.renderCanvasSignInGadget({'id': 'gadget-signin'}, skin);
+ </script>
+ <!--END REQUIRED-->
+ <div class="clear"></div>
+ </div>
+
+ <div class="site-header"><span class="section-title">Site Name</span></div>
+ <div class="go-back">
+ <!--REQUIRED SO VISITORS CAN RETURN TO REFERRING PAGE-->
+ <a href="javascript:google.friendconnect.container.goBackToSite();">
+ &lsaquo;&lsaquo; Return home</a>
+ <!--END REQUIRED-->
+ </div>
+ <!-- REQUIRED - THIS IS WHERE THE GADGET IS PRESENTED. ALLOW AT LEAST 500px WIDTH -->
+ <div id="gadget-canvas" class="canvas-gadget"></div>
+ <script type="text/javascript">
+ var skin = {};
+ skin['BORDER_COLOR'] = '#cccccc';
+ skin['ENDCAP_BG_COLOR'] = '#e0ecff';
+ skin['ENDCAP_TEXT_COLOR'] = '#333333';
+ skin['ENDCAP_LINK_COLOR'] = '#0000cc';
+ skin['ALTERNATE_BG_COLOR'] = '#ffffff';
+ skin['CONTENT_BG_COLOR'] = '#ffffff';
+ skin['CONTENT_LINK_COLOR'] = '#0000cc';
+ skin['CONTENT_TEXT_COLOR'] = '#333333';
+ skin['CONTENT_SECONDARY_LINK_COLOR'] = '#7777cc';
+ skin['CONTENT_SECONDARY_TEXT_COLOR'] = '#666666';
+ skin['CONTENT_HEADLINE_COLOR'] = '#333333';
+ google.friendconnect.container.renderUrlCanvasGadget({'id': 'gadget-canvas'}, skin);
+ </script>
+ <!--END REQUIRED-->
+</div>
+</body>
+</html> \ No newline at end of file
diff --git a/extras/appengine/static/hotkeys.js b/extras/appengine/static/hotkeys.js
new file mode 100644
index 0000000..0e62a92
--- /dev/null
+++ b/extras/appengine/static/hotkeys.js
@@ -0,0 +1 @@
+(function(B){B.fn.__bind__=B.fn.bind;B.fn.__unbind__=B.fn.unbind;B.fn.__find__=B.fn.find;var A={version:"0.7.8",override:/keydown|keypress|keyup/g,triggersMap:{},specialKeys:{27:"esc",9:"tab",32:"space",13:"return",8:"backspace",145:"scroll",20:"capslock",144:"numlock",19:"pause",45:"insert",36:"home",46:"del",35:"end",33:"pageup",34:"pagedown",37:"left",38:"up",39:"right",40:"down",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},newTrigger:function(E,D,F){var C={};C[E]={};C[E][D]={cb:F,disableInInput:false};return C}};if(B.browser.mozilla){A.specialKeys=B.extend(A.specialKeys,{96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"})}B.fn.find=function(C){this.query=C;return B.fn.__find__.apply(this,arguments)};B.fn.unbind=function(H,E,G){if(B.isFunction(E)){G=E;E=null}if(E&&typeof E==="string"){var F=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();var D=H.split(" ");for(var C=0;C<D.length;C++){delete A.triggersMap[F][D[C]][E]}}return this.__unbind__(H,G)};B.fn.bind=function(J,F,K){var H=J.match(A.override);if(B.isFunction(F)||!H){return this.__bind__(J,F,K)}else{var N=null,I=B.trim(J.replace(A.override,""));if(I){N=this.__bind__(I,F,K)}if(typeof F==="string"){F={combi:F}}if(F.combi){for(var M=0;M<H.length;M++){var D=H[M];var G=F.combi.toLowerCase(),E=A.newTrigger(D,G,K),L=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();E[D][G].disableInInput=F.disableInInput;if(!A.triggersMap[L]){A.triggersMap[L]=E}else{if(!A.triggersMap[L][D]){A.triggersMap[L][D]=E[D]}}var C=A.triggersMap[L][D][G];if(!C){A.triggersMap[L][D][G]=[E[D][G]]}else{if(C.constructor!==Array){A.triggersMap[L][D][G]=[C]}else{A.triggersMap[L][D][G][C.length]=E[D][G]}}this.each(function(){var O=B(this);if(O.attr("hkId")&&O.attr("hkId")!==L){L=O.attr("hkId")+";"+L}O.attr("hkId",L)});N=this.__bind__(H.join(" "),F,A.handler)}}return N}};A.findElement=function(C){if(!B(C).attr("hkId")){if(B.browser.opera||B.browser.safari){while(!B(C).attr("hkId")&&C.parentNode){C=C.parentNode}}}return C};A.handler=function(E){var O=A.findElement(E.currentTarget),I=B(O),D=I.attr("hkId");if(D){D=D.split(";");var G=E.which,Q=E.type,P=A.specialKeys[G],N=!P&&String.fromCharCode(G).toLowerCase(),H=E.shiftKey,C=E.ctrlKey,M=E.altKey||E.originalEvent.altKey,F=null;for(var R=0;R<D.length;R++){if(A.triggersMap[D[R]][Q]){F=A.triggersMap[D[R]][Q];break}}if(F){var J;if(!H&&!C&&!M){J=F[P]||(N&&F[N])}else{var L="";if(M){L+="alt+"}if(C){L+="ctrl+"}if(H){L+="shift+"}J=F[L+P];if(!J){if(N){J=F[L+N]||F[L+A.shiftNums[N]]||(L==="shift+"&&F[A.shiftNums[N]])}}}if(J){var S=false;for(var R=0;R<J.length;R++){if(J[R].disableInInput){var K=B(E.target);if(I.is("input")||I.is("textarea")||K.is("input")||K.is("textarea")){return true}}S=S||J[R].cb.apply(this,[E])}return S}}}};window.hotkeys=A;return B})(jQuery); \ No newline at end of file
diff --git a/extras/appengine/static/img_loading.gif b/extras/appengine/static/img_loading.gif
new file mode 100644
index 0000000..6465823
--- /dev/null
+++ b/extras/appengine/static/img_loading.gif
Binary files differ
diff --git a/extras/appengine/static/jquery.textarearesizer.compressed.js b/extras/appengine/static/jquery.textarearesizer.compressed.js
new file mode 100644
index 0000000..5464ae6
--- /dev/null
+++ b/extras/appengine/static/jquery.textarearesizer.compressed.js
@@ -0,0 +1 @@
+(function($){var textarea,staticOffset;var iLastMousePos=0;var iMin=32;var grip;$.fn.TextAreaResizer=function(){return this.each(function(){textarea=$(this).addClass('processed'),staticOffset=null;$(this).wrap('<div class="resizable-textarea"><span></span></div>').parent().append($('<div class="grippie"></div>').bind("mousedown",{el:this},startDrag));var grippie=$('div.grippie',$(this).parent())[0];grippie.style.marginRight=(grippie.offsetWidth-$(this)[0].offsetWidth)+'px'})};function startDrag(e){textarea=$(e.data.el);textarea.blur();iLastMousePos=mousePosition(e).y;staticOffset=textarea.height()-iLastMousePos;textarea.css('opacity',0.25);$(document).mousemove(performDrag).mouseup(endDrag);return false}function performDrag(e){var iThisMousePos=mousePosition(e).y;var iMousePos=staticOffset+iThisMousePos;if(iLastMousePos>=(iThisMousePos)){iMousePos-=5}iLastMousePos=iThisMousePos;iMousePos=Math.max(iMin,iMousePos);textarea.height(iMousePos+'px');if(iMousePos<iMin){endDrag(e)}return false}function endDrag(e){$(document).unbind('mousemove',performDrag).unbind('mouseup',endDrag);textarea.css('opacity',1);textarea.focus();textarea=null;staticOffset=null;iLastMousePos=0}function mousePosition(e){return{x:e.clientX+document.documentElement.scrollLeft,y:e.clientY+document.documentElement.scrollTop}}})(jQuery); \ No newline at end of file
diff --git a/extras/appengine/static/loading.gif b/extras/appengine/static/loading.gif
new file mode 100644
index 0000000..a879bed
--- /dev/null
+++ b/extras/appengine/static/loading.gif
Binary files differ
diff --git a/extras/appengine/static/lynx_screenshot.png b/extras/appengine/static/lynx_screenshot.png
new file mode 100644
index 0000000..d1592ac
--- /dev/null
+++ b/extras/appengine/static/lynx_screenshot.png
Binary files differ
diff --git a/extras/appengine/static/pygments.css b/extras/appengine/static/pygments.css
new file mode 100644
index 0000000..da02807
--- /dev/null
+++ b/extras/appengine/static/pygments.css
@@ -0,0 +1,59 @@
+.c { color: #408080; font-style: italic } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #008000; font-weight: bold } /* Keyword */
+.o { color: #666666 } /* Operator */
+.cm { color: #408080; font-style: italic } /* Comment.Multiline */
+.cp { color: #BC7A00 } /* Comment.Preproc */
+.c1 { color: #408080; font-style: italic } /* Comment.Single */
+.cs { color: #408080; font-style: italic } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #FF0000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #00A000 } /* Generic.Inserted */
+.go { color: #808080 } /* Generic.Output */
+.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0040D0 } /* Generic.Traceback */
+.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.kp { color: #008000 } /* Keyword.Pseudo */
+.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #B00040 } /* Keyword.Type */
+.m { color: #666666 } /* Literal.Number */
+.s { color: #BA2121 } /* Literal.String */
+.na { color: #7D9029 } /* Name.Attribute */
+.nb { color: #008000 } /* Name.Builtin */
+.nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.no { color: #880000 } /* Name.Constant */
+.nd { color: #AA22FF } /* Name.Decorator */
+.ni { color: #999999; font-weight: bold } /* Name.Entity */
+.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+.nf { color: #0000FF } /* Name.Function */
+.nl { color: #A0A000 } /* Name.Label */
+.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.nt { color: #008000; font-weight: bold } /* Name.Tag */
+.nv { color: #19177C } /* Name.Variable */
+.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mf { color: #666666 } /* Literal.Number.Float */
+.mh { color: #666666 } /* Literal.Number.Hex */
+.mi { color: #666666 } /* Literal.Number.Integer */
+.mo { color: #666666 } /* Literal.Number.Oct */
+.sb { color: #BA2121 } /* Literal.String.Backtick */
+.sc { color: #BA2121 } /* Literal.String.Char */
+.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #BA2121 } /* Literal.String.Double */
+.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #BA2121 } /* Literal.String.Heredoc */
+.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+.sx { color: #008000 } /* Literal.String.Other */
+.sr { color: #BB6688 } /* Literal.String.Regex */
+.s1 { color: #BA2121 } /* Literal.String.Single */
+.ss { color: #19177C } /* Literal.String.Symbol */
+.bp { color: #008000 } /* Name.Builtin.Pseudo */
+.vc { color: #19177C } /* Name.Variable.Class */
+.vg { color: #19177C } /* Name.Variable.Global */
+.vi { color: #19177C } /* Name.Variable.Instance */
+.il { color: #666666 } /* Literal.Number.Integer.Long */
diff --git a/extras/appengine/static/resize-grip.png b/extras/appengine/static/resize-grip.png
new file mode 100644
index 0000000..cae2a4e
--- /dev/null
+++ b/extras/appengine/static/resize-grip.png
Binary files differ
diff --git a/extras/appengine/static/robots.txt b/extras/appengine/static/robots.txt
new file mode 100644
index 0000000..c033917
--- /dev/null
+++ b/extras/appengine/static/robots.txt
@@ -0,0 +1,8 @@
+# Directions for web crawlers.
+# See http://www.robotstxt.org/wc/norobots.html.
+
+User-agent: HTTrack
+User-agent: puf
+User-agent: MSIECrawler
+User-agent: Nutch
+Disallow: /
diff --git a/extras/appengine/static/rpc_relay.html b/extras/appengine/static/rpc_relay.html
new file mode 100644
index 0000000..c602043
--- /dev/null
+++ b/extras/appengine/static/rpc_relay.html
@@ -0,0 +1 @@
+<html><head><script type="text/javascript" src="http://www.google.com/friendconnect/script/rpc_relay.js"></script></head></html> \ No newline at end of file
diff --git a/extras/appengine/static/script.js b/extras/appengine/static/script.js
new file mode 100644
index 0000000..71bbabb
--- /dev/null
+++ b/extras/appengine/static/script.js
@@ -0,0 +1,103 @@
+var initialized = false;
+
+function update_output() {
+ data = {}
+ data.data = $('#id_data').val();
+ data.format = 'json';
+ if ( $('#id_remove_comments').attr('checked') ) {
+ data.remove_comments = 1
+ }
+ if ( $('#id_highlight').attr('checked') ) { data.highlight = 1 }
+ data.keyword_case = $('#id_keyword_case').val();
+ data.identifier_case = $('#id_identifier_case').val();
+ data.n_indents = $('#id_n_indents').val();
+ data.right_margin = $('#id_right_margin').val();
+ data.output_format = $('#id_output_format').val();
+ form = document.getElementById('form_options');
+ $(form.elements).attr('disabled', 'disabled');
+ $('#response').addClass('loading');
+ $.post('/', data,
+ function(data) {
+ if ( data.output ) {
+ $('#response').html(data.output);
+ proc_time = 'Processed in '+data.proc_time+' seconds.';
+ } else {
+ $('#response').html('An error occured: '+data.errors);
+ proc_time = '';
+ }
+ $('#proc_time').html(proc_time);
+ $(form.elements).each( function(idx) {
+ obj = $(this);
+ if ( ! obj.is('.keep-disabled') ) {
+ obj.removeAttr('disabled');
+ }
+ });
+ $('#response').removeClass('loading');
+ }, 'json');
+ return false;
+}
+
+function toggle_fieldset(event) {
+ id = $(this).attr('id');
+ $('#'+id+'_content').slideDown();
+ $('legend').each(function(idx) {
+ obj = $('#'+this.id+'_content');
+ if ( this.id != id ) {
+ obj.slideUp();
+ }
+ });
+}
+
+
+function textarea_grab_focus(evt) {
+ evt.stopPropagation();
+ evt.preventDefault();
+ $('#id_data').focus();
+ return false;
+}
+
+
+function show_help() {
+ $('#help').toggle();
+ return false;
+}
+
+
+function hide_help() {
+ $('#help').hide();
+ return false;
+}
+
+function load_example() {
+ fname = $('#sel_example').val();
+ data = {fname: fname};
+ $.post('/load_example', data,
+ function(data) {
+ $('#id_data').val(data.answer);
+ }, 'json');
+}
+
+
+function init() {
+ if (initialized) { return }
+ //$('legend').bind('click', toggle_fieldset);
+ // $('legend').each(function(idx) {
+ // obj = $('#'+this.id+'_content');
+ // if ( this.id != 'general' ) {
+ // obj.hide();
+ // }
+ // });
+ $(document).bind('keydown', {combi:'Ctrl+f'},
+ update_output);
+ $('#btn_format').val('Format SQL [Ctrl+F]');
+ $(document).bind('keydown', {combi: 'h', disableInInput: true},
+ show_help);
+ $(document).bind('keydown', 'Esc', hide_help);
+ $(document).bind('keydown', {combi: 't', disableInInput: true},
+ textarea_grab_focus);
+ initialized = true;
+ /* jQuery textarea resizer plugin usage */
+ $(document).ready(function() {
+ $('textarea.resizable:not(.processed)').TextAreaResizer();
+ });
+} \ No newline at end of file
diff --git a/extras/appengine/static/sqlformat_client_example.py b/extras/appengine/static/sqlformat_client_example.py
new file mode 100644
index 0000000..3b3bf0f
--- /dev/null
+++ b/extras/appengine/static/sqlformat_client_example.py
@@ -0,0 +1,17 @@
+#!/usr/bin/env python
+
+import urllib
+import urllib2
+
+payload = (
+ ('data', 'select * from foo join bar on val1 = val2 where id = 123;'),
+ ('format', 'text'),
+ ('keyword_case', 'upper'),
+ ('reindent', True),
+ ('n_indents', 2),
+ )
+
+response = urllib2.urlopen('http://sqlformat.appspot.com/format/',
+ urllib.urlencode(payload))
+print response.read()
+
diff --git a/extras/appengine/static/styles.css b/extras/appengine/static/styles.css
new file mode 100644
index 0000000..41a540a
--- /dev/null
+++ b/extras/appengine/static/styles.css
@@ -0,0 +1,245 @@
+body {
+ color: #000000;
+ background: #eeeeec;
+ font-family: "Free Sans", Arial, Verdana, sans;
+ font-size: 10pt;
+ margin: 0;
+ padding: 0;
+}
+
+#header {
+ background: url(/static/bgtop.png) top left repeat-x;
+ border-bottom: 3px solid #2e3436;
+}
+
+#header-inner, #main-inner, #footer-inner {
+ width: 70em;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+
+#header-inner h1 {
+ margin: 0;
+ padding: 0;
+ margin-bottom: .2em;
+ font-weight: normal;
+ float: left;
+ font-size: 2em;
+ letter-spacing: .07em;
+}
+
+#header-inner .q {
+ color: #f57900;
+ padding-right: 3px;
+}
+
+#header-inner .q2 {
+ font-family: Georgia, "Times New Roman", serif;
+}
+
+#header-inner h1 a {
+ text-decoration: none;
+ color: #eeeeec;
+}
+
+#header-inner #slogan {
+ float: left;
+ color: #babdb6;
+ font-size: 1.4em;
+ margin-left: 1em;
+ letter-spacing: .18em;
+ padding-top: .2em;
+}
+
+
+#topmenu {
+ color: #729fcf;
+ clear: left;
+ padding-top: .5em;
+ padding-bottom: .5em;
+ font-size: 1.1em;
+}
+
+#topmenu a {
+ color: #eeeeec;
+ text-decoration: none;
+}
+
+#topmenu a:hover {
+ color: #ce5c00;
+}
+
+
+#main {
+ padding: 10px;
+ background: white;
+ line-height: 1.5em;
+ text-align: justify;
+}
+
+#main form ul {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+}
+
+#main p, #main ol, #main .example, #main dl {
+ font-size: 12pt;
+ margin-left: 2em;
+}
+
+#main dt {
+ font-weight: bold;
+}
+
+#main li {
+ margin-bottom: .7em;
+}
+
+#main a {
+ color: #f57900;
+}
+
+#main h1, h2, h3, h4 {
+ color: #204a87;
+ font-weight: normal;
+ letter-spacing: .05em;
+}
+
+#main pre, #main code.pre {
+ font-size: 10pt;
+ line-height: 1em;
+ padding: 4px;
+ background-color: #eeeeec;
+ border: 1px solid #babdb6;
+}
+
+#input {
+ width: 50em;
+ float: right;
+ margin-left: 2em;
+}
+
+#options {
+ width: 18em;
+ float: left;
+ color: #2e3436;
+ margin-top: .75em;
+ text-align: left;
+}
+
+#options fieldset {
+ border: 1px solid #dddddd;
+ margin-bottom: .6em;
+ background: url(/static/bgfieldset.png) bottom left repeat-x;
+ -moz-border-radius: 3px;
+}
+
+
+#options input, select {
+ border: 1px solid #dddddd;
+}
+
+#options .help {
+ font-size: .9em;
+ color: #888a85;
+ margin-bottom: .6em;
+}
+
+
+#footer {
+ background: url(/static/bgfooter.png) top left repeat-x;
+ padding: 10px;
+ min-height: 80px;
+ border-top: 4px solid #babdb6;
+}
+
+#footer-inner {
+ width: 70em;
+ margin-left: auto;
+ margin-right: auto;
+ color: #888a85;
+}
+
+#footer-inner a {
+ color: #888a85;
+}
+
+#footer-inner a:hover {
+ color: #555753;
+}
+
+.clearfix {
+ clear: both;
+}
+
+.skip {
+ display: none;
+}
+
+textarea {
+ border: 1px solid #cccccc;
+ border-bottom: none;
+ padding: 4px;
+ font-size: 12pt;
+ width: 100%;
+}
+
+textarea:focus {
+ background-color: #eeeeec;
+}
+
+div.grippie {
+ background: url(/static/resize-grip.png) bottom right no-repeat #eeeeec;
+ border-color: #cccccc;
+ border-style: solid;
+ border-width: 0pt 1px 1px;
+ cursor: se-resize;
+ height: 14px;
+ overflow: hidden;
+}
+
+#help {
+ display: none;
+ position: fixed;
+ right: 10%;
+ left: 10%;
+ top: 0;
+ opacity: 0.85;
+ -moz-opacity: 0.85;
+ -khtml-opacity: 0.85;
+ filter: alpha(opacity=85);
+ -moz-border-radius: 0px 0px 10px 10px;
+
+ background: #2e3436;
+ color: white;
+ font-weight: bold;
+
+ padding: 1em;
+ z-index: 1;
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+
+#help .shortcut {
+ color: #f57900;
+ font-weight: bold;
+ width: 20px;
+ display: inline;
+}
+
+.loading {
+ background: url(/static/loading.gif) top left no-repeat;
+}
+
+.dev {
+ color: #cc0000;
+ font-size: .9em;
+ letter-spacing: 1;
+}
+
+#proc_time {
+ color: #888a85;
+ font-size: .85em;
+} \ No newline at end of file