Commits

Anonymous committed ba41982

1st relese.

Comments (0)

Files changed (632)

+# use glob syntax.
+syntax: glob
+*.pyc
+*.pyo
+*~
+.*.swp
+*.kpf
+
+# switch to regexp syntax.
+syntax:regexp
+/\.
+DS_Store
+
Empty file added.

_generated_media/1/admin_media/css/base.css

+@import "null.css?\"\{";@import url('global.css');@import url('layout.css');/*\*/ @import "patch-iewin.css";/**/

_generated_media/1/admin_media/css/changelists.css

+@import url('base.css');#changelist{position:relative;width:100%;}#changelist table{width:100%;}.change-list .filtered table{border-right:1px solid #ddd;}.change-list .filtered{min-height:400px;}.change-list .filtered{background:white url(../img/admin/changelist-bg.gif) top right repeat-y!important;}.change-list .filtered table,.change-list .filtered .paginator,.filtered #toolbar,.filtered div.xfull{margin-right:160px!important;width:auto!important;}.change-list .filtered table tbody th{padding-right:1em;}#changelist .toplinks{border-bottom:1px solid #ccc!important;}#changelist .paginator{color:#666;border-top:1px solid #eee;border-bottom:1px solid #eee;background:white url(../img/admin/nav-bg.gif) 0 180% repeat-x;overflow:hidden;}.change-list .filtered .paginator{border-right:1px solid #ddd;}#changelist table thead th{white-space:nowrap;}#changelist table tbody td{border-left:1px solid #ddd;}#changelist table tfoot{color:#666;}#changelist #toolbar{padding:3px;border-bottom:1px solid #ddd;background:#e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;color:#666;}#changelist #toolbar form input{font-size:11px;padding:1px 2px;}#changelist #toolbar form #searchbar{padding:2px;}#changelist #changelist-search img{vertical-align:middle;}#changelist-filter{position:absolute;top:0;right:0;z-index:1000;width:160px;border-left:1px solid #ddd;background:#efefef;margin:0;}#changelist-filter h2{font-size:11px;padding:2px 5px;border-bottom:1px solid #ddd;}#changelist-filter h3{font-size:12px;margin-bottom:0;}#changelist-filter ul{padding-left:0;margin-left:10px;}#changelist-filter li{list-style-type:none;margin-left:0;padding-left:0;}#changelist-filter a{color:#999;}#changelist-filter a:hover{color:#036;}#changelist-filter li.selected{border-left:5px solid #ccc;padding-left:5px;margin-left:-10px;}#changelist-filter li.selected a{color:#5b80b2!important;}.change-list ul.toplinks{display:block;background:white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x;border-top:1px solid white;float:left;padding:0!important;margin:0!important;width:100%;}.change-list ul.toplinks li{float:left;width:9em;padding:3px 6px;font-weight:bold;list-style-type:none;}.change-list ul.toplinks .date-back a{color:#999;}.change-list ul.toplinks .date-back a:hover{color:#036;}.paginator{font-size:11px;padding-top:10px;padding-bottom:10px;line-height:22px;margin:0;border-top:1px solid #ddd;}.paginator a:link,.paginator a:visited{padding:2px 6px;border:solid 1px #ccc;background:white;text-decoration:none;}.paginator a.showall{padding:0!important;border:none!important;}.paginator a.showall:hover{color:#036!important;background:transparent!important;}.paginator .end{border-width:2px!important;margin-right:6px;}.paginator .this-page{padding:2px 6px;font-weight:bold;font-size:13px;vertical-align:top;}.paginator a:hover{color:white;background:#5b80b2;border-color:#036;}

_generated_media/1/admin_media/css/dashboard.css

+@import url('base.css');.dashboard .module table th{width:100%;}.dashboard .module table td{white-space:nowrap;}.dashboard .module table td a{display:block;padding-right:.6em;}.module ul.actionlist{margin-left:0;}ul.actionlist li{list-style-type:none;}

_generated_media/1/admin_media/css/forms.css

+@import url('base.css');@import url('widgets.css');.form-row{overflow:hidden;padding:8px 12px;font-size:11px;border-bottom:1px solid #eee;}.form-row img,.form-row input{vertical-align:middle;}form .form-row p{padding-left:0;font-size:11px;}form h4{margin:0!important;padding:0!important;border:none!important;}label{font-weight:normal!important;color:#666;font-size:12px;}.required label,label.required{font-weight:bold!important;color:#333!important;}form ul.radiolist li{list-style-type:none;}form ul.radiolist label{float:none;display:inline;}form ul.inline{margin-left:0;padding:0;}form ul.inline li{float:left;padding-right:7px;}.aligned label{display:block;padding:3px 10px 0 0;float:left;width:8em;}.colMS .aligned .vLargeTextField,.colMS .aligned .vXMLLargeTextField{width:350px;}form .aligned p,form .aligned ul{margin-left:7em;padding-left:30px;}form .aligned table p{margin-left:0;padding-left:0;}form .aligned p.help{padding-left:38px;}.aligned .vCheckboxLabel{float:none!important;display:inline;padding-left:4px;}.colM .aligned .vLargeTextField,.colM .aligned .vXMLLargeTextField{width:610px;}.checkbox-row p.help{margin-left:0;padding-left:0!important;}fieldset .field-box{float:left;margin-right:20px;}.wide label{width:15em!important;}form .wide p{margin-left:15em;}form .wide p.help{padding-left:38px;}.colM fieldset.wide .vLargeTextField,.colM fieldset.wide .vXMLLargeTextField{width:450px;}fieldset.collapsed *{display:none;}fieldset.collapsed h2,fieldset.collapsed{display:block!important;}fieldset.collapsed h2{background-image:url(../img/admin/nav-bg.gif);background-position:bottom left;color:#999;}fieldset.collapsed .collapse-toggle{padding:3px 5px!important;background:transparent;display:inline!important;}fieldset.monospace textarea{font-family:"Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace;}.submit-row{padding:5px 7px;text-align:right;background:white url(../img/admin/nav-bg.gif) 0 100% repeat-x;border:1px solid #ccc;margin:5px 0;overflow:hidden;}.submit-row input{margin:0 0 0 5px;}.submit-row p{margin:.3em;}.submit-row p.deletelink-box{float:left;}.submit-row .deletelink{background:url(../img/admin/icon_deletelink.gif) 0 50% no-repeat;padding-left:14px;}.vSelectMultipleField{vertical-align:top!important;}.vCheckboxField{border:none;}.vDateField,.vTimeField{margin-right:2px;}.vURLField{width:30em;}.vLargeTextField,.vXMLLargeTextField{width:48em;}.flatpages-flatpage #id_content{height:40.2em;}.module table .vPositiveSmallIntegerField{width:2.2em;}.vTextField{width:20em;}.vIntegerField{width:5em;}.vForeignKeyRawIdAdminField{width:5em;}.inline-group{padding:0;border:1px solid #ccc;margin:10px 0;}.inline-group .aligned label{width:8em;}.inline-related{position:relative;}.inline-related h3{margin:0;color:#666;padding:3px 5px;font-size:11px;background:#e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;border-bottom:1px solid #ddd;}.inline-related h3 span.delete{padding-left:20px;position:absolute;top:2px;right:10px;}.inline-related h3 span.delete label{margin-left:2px;font-size:11px;}.inline-related fieldset{margin:0;background:#fff;border:none;}.inline-related fieldset.module h3{margin:0;padding:2px 5px 3px 5px;font-size:11px;text-align:left;font-weight:bold;background:#bcd;color:#fff;}.inline-related.tabular fieldset.module table{width:100%;}.last-related fieldset{border:none;}.inline-group .tabular tr.has_original td{padding-top:2em;}.inline-group .tabular tr td.original{padding:2px 0 0 0;width:0;_position:relative;}.inline-group .tabular th.original{width:0;padding:0;}.inline-group .tabular td.original p{position:absolute;left:0;height:1.1em;padding:2px 7px;overflow:hidden;font-size:9px;font-weight:bold;color:#666;_width:700px;}.inline-group ul.tools{padding:0;margin:0;list-style:none;}.inline-group ul.tools li{display:inline;padding:0 5px;}.inline-group ul.tools a.add{background:url(../img/admin/icon_addlink.gif) 0 50% no-repeat;padding-left:14px;}

_generated_media/1/admin_media/css/global.css

+body{margin:0;padding:0;font-size:12px;font-family:"Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;color:#333;background:#fff;}a:link,a:visited{color:#5b80b2;text-decoration:none;}a:hover{color:#036;}a img{border:none;}a.section:link,a.section:visited{color:white;text-decoration:none;}p,ol,ul,dl{margin:.2em 0 .8em 0;}p{padding:0;line-height:140%;}h1,h2,h3,h4,h5{font-weight:bold;}h1{font-size:18px;color:#666;padding:0 6px 0 0;margin:0 0 .2em 0;}h2{font-size:16px;margin:1em 0 .5em 0;}h2.subhead{font-weight:normal;margin-top:0;}h3{font-size:14px;margin:.8em 0 .3em 0;color:#666;font-weight:bold;}h4{font-size:12px;margin:1em 0 .8em 0;padding-bottom:3px;}h5{font-size:10px;margin:1.5em 0 .5em 0;color:#666;text-transform:uppercase;letter-spacing:1px;}ul li{list-style-type:square;padding:1px 0;}ul.plainlist{margin-left:0!important;}ul.plainlist li{list-style-type:none;}li ul{margin-bottom:0;}li,dt,dd{font-size:11px;line-height:14px;}dt{font-weight:bold;margin-top:4px;}dd{margin-left:0;}form{margin:0;padding:0;}fieldset{margin:0;padding:0;}blockquote{font-size:11px;color:#777;margin-left:2px;padding-left:10px;border-left:5px solid #ddd;}code,pre{font-family:"Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace;background:inherit;color:#666;font-size:11px;}pre.literal-block{margin:10px;background:#eee;padding:6px 8px;}code strong{color:#930;}hr{clear:both;color:#eee;background-color:#eee;height:1px;border:none;margin:0;padding:0;font-size:1px;line-height:1px;}.small{font-size:11px;}.tiny{font-size:10px;}p.tiny{margin-top:-2px;}.mini{font-size:9px;}p.mini{margin-top:-3px;}.help,p.help{font-size:10px!important;color:#999;}p img,h1 img,h2 img,h3 img,h4 img,td img{vertical-align:middle;}.quiet,a.quiet:link,a.quiet:visited{color:#999!important;font-weight:normal!important;}.quiet strong{font-weight:bold!important;}.float-right{float:right;}.float-left{float:left;}.clear{clear:both;}.align-left{text-align:left;}.align-right{text-align:right;}.example{margin:10px 0;padding:5px 10px;background:#efefef;}.nowrap{white-space:nowrap;}table{border-collapse:collapse;border-color:#ccc;}td,th{font-size:11px;line-height:13px;border-bottom:1px solid #eee;vertical-align:top;padding:5px;font-family:"Lucida Grande",Verdana,Arial,sans-serif;}th{text-align:left;font-size:12px;font-weight:bold;}thead th,tfoot td{color:#666;padding:2px 5px;font-size:11px;background:#e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;border-left:1px solid #ddd;border-bottom:1px solid #ddd;}tfoot td{border-bottom:none;border-top:1px solid #ddd;}thead th:first-child,tfoot td:first-child{border-left:none!important;}thead th.optional{font-weight:normal!important;}fieldset table{border-right:1px solid #eee;}tr.row-label td{font-size:9px;padding-top:2px;padding-bottom:0;border-bottom:none;color:#666;margin-top:-1px;}tr.alt{background:#f6f6f6;}.row1{background:#EDF3FE;}.row2{background:white;}thead th a:link,thead th a:visited{color:#666;display:block;}table thead th.sorted{background-position:bottom left!important;}table thead th.sorted a{padding-right:13px;}table thead th.ascending a{background:url(../img/admin/arrow-down.gif) right .4em no-repeat;}table thead th.descending a{background:url(../img/admin/arrow-up.gif) right .4em no-repeat;}table.orderable tbody tr td:hover{cursor:move;}table.orderable tbody tr td:first-child{padding-left:14px;background-image:url(../img/admin/nav-bg-grabber.gif);background-repeat:repeat-y;}table.orderable-initalized .order-cell,body>tr>td.order-cell{display:none;}input,textarea,select{margin:2px 0;padding:2px 3px;vertical-align:middle;font-family:"Lucida Grande",Verdana,Arial,sans-serif;font-weight:normal;font-size:11px;}textarea{vertical-align:top!important;}input[type=text],input[type=password],textarea,select,.vTextField{border:1px solid #ccc;}.button,input[type=submit],input[type=button],.submit-row input{background:white url(../img/admin/nav-bg.gif) bottom repeat-x;padding:3px;color:black;border:1px solid #bbb;border-color:#ddd #aaa #aaa #ddd;}.button:active,input[type=submit]:active,input[type=button]:active{background-image:url(../img/admin/nav-bg-reverse.gif);background-position:top;}.button.default,input[type=submit].default,.submit-row input.default{border:2px solid #5b80b2;background:#7CA0C7 url(../img/admin/default-bg.gif) bottom repeat-x;font-weight:bold;color:white;float:right;}.button.default:active,input[type=submit].default:active{background-image:url(../img/admin/default-bg-reverse.gif);background-position:top;}.module{border:1px solid #ccc;margin-bottom:5px;background:white;}.module p,.module ul,.module h3,.module h4,.module dl,.module pre{padding-left:10px;padding-right:10px;}.module blockquote{margin-left:12px;}.module ul,.module ol{margin-left:1.5em;}.module h3{margin-top:.6em;}.module h2,.module caption,.inline-group h2{margin:0;padding:2px 5px 3px 5px;font-size:11px;text-align:left;font-weight:bold;background:#7CA0C7 url(../img/admin/default-bg.gif) top left repeat-x;color:white;}.module table{border-collapse:collapse;}ul.messagelist{padding:0 0 5px 0;margin:0;}ul.messagelist li{font-size:12px;display:block;padding:4px 5px 4px 25px;margin:0 0 3px 0;border-bottom:1px solid #ddd;color:#666;background:#ffc url(../img/admin/icon_success.gif) 5px .3em no-repeat;}.errornote{font-size:12px!important;display:block;padding:4px 5px 4px 25px;margin:0 0 3px 0;border:1px solid red;color:red;background:#ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat;}ul.errorlist{margin:0!important;padding:0!important;}.errorlist li{font-size:12px!important;display:block;padding:4px 5px 4px 25px;margin:0 0 3px 0;border:1px solid red;color:white;background:red url(../img/admin/icon_alert.gif) 5px .3em no-repeat;}td ul.errorlist{margin:0!important;padding:0!important;}td ul.errorlist li{margin:0!important;}.errors{background:#ffc;}.errors input,.errors select{border:1px solid red;}div.system-message{background:#ffc;margin:10px;padding:6px 8px;font-size:.8em;}div.system-message p.system-message-title{padding:4px 5px 4px 25px;margin:0;color:red;background:#ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat;}.description{font-size:12px;padding:5px 0 0 12px;}div.breadcrumbs{background:white url(../img/admin/nav-bg-reverse.gif) 0 -10px repeat-x;padding:2px 8px 3px 8px;font-size:11px;color:#999;border-top:1px solid white;border-bottom:1px solid #ccc;text-align:left;}.addlink{padding-left:12px;background:url(../img/admin/icon_addlink.gif) 0 .2em no-repeat;}.changelink{padding-left:12px;background:url(../img/admin/icon_changelink.gif) 0 .2em no-repeat;}.deletelink{padding-left:12px;background:url(../img/admin/icon_deletelink.gif) 0 .25em no-repeat;}a.deletelink:link,a.deletelink:visited{color:#CC3434;}a.deletelink:hover{color:#933;}.object-tools{font-size:10px;font-weight:bold;font-family:Arial,Helvetica,sans-serif;padding-left:0;float:right;position:relative;margin-top:-2.4em;margin-bottom:-2em;}.form-row .object-tools{margin-top:5px;margin-bottom:5px;float:none;height:2em;padding-left:3.5em;}.object-tools li{display:block;float:left;background:url(../img/admin/tool-left.gif) 0 0 no-repeat;padding:0 0 0 8px;margin-left:2px;height:16px;}.object-tools li:hover{background:url(../img/admin/tool-left_over.gif) 0 0 no-repeat;}.object-tools a:link,.object-tools a:visited{display:block;float:left;color:white;padding:.1em 14px .1em 8px;height:14px;background:#999 url(../img/admin/tool-right.gif) 100% 0 no-repeat;}.object-tools a:hover,.object-tools li:hover a{background:#5b80b2 url(../img/admin/tool-right_over.gif) 100% 0 no-repeat;}.object-tools a.viewsitelink,.object-tools a.golink{background:#999 url(../img/admin/tooltag-arrowright.gif) top right no-repeat;padding-right:28px;}.object-tools a.viewsitelink:hover,.object-tools a.golink:hover{background:#5b80b2 url(../img/admin/tooltag-arrowright_over.gif) top right no-repeat;}.object-tools a.addlink{background:#999 url(../img/admin/tooltag-add.gif) top right no-repeat;padding-right:28px;}.object-tools a.addlink:hover{background:#5b80b2 url(../img/admin/tooltag-add_over.gif) top right no-repeat;}table#change-history{width:100%;}table#change-history tbody th{width:16em;}

_generated_media/1/admin_media/css/layout.css

+#container{position:relative;width:100%;min-width:760px;padding:0;}#content{margin:10px 15px;}#header{width:100%;}#content-main{float:left;width:100%;}#content-related{float:right;width:18em;position:relative;margin-right:-19em;}#footer{clear:both;padding:10px;}.colMS{margin-right:20em!important;}.colSM{margin-left:20em!important;}.colSM #content-related{float:left;margin-right:0;margin-left:-19em;}.colSM #content-main{float:right;}.popup .colM{width:95%;}.subcol{float:left;width:46%;margin-right:15px;}.dashboard #content{width:500px;}#header{background:#417690;color:#ffc;overflow:hidden;}#header a:link,#header a:visited{color:white;}#header a:hover{text-decoration:underline;}#branding h1{padding:0 10px;font-size:18px;margin:8px 0;font-weight:normal;color:#f4f379;}#branding h2{padding:0 10px;font-size:14px;margin:-8px 0 8px 0;font-weight:normal;color:#ffc;}#user-tools{position:absolute;top:0;right:0;padding:1.2em 10px;font-size:11px;text-align:right;}#content-related h3{font-size:12px;color:#666;margin-bottom:3px;}#content-related h4{font-size:11px;}#content-related .module h2{background:#eee url(../img/admin/nav-bg.gif) bottom left repeat-x;color:#666;}

_generated_media/1/admin_media/css/login.css

+@import url('base.css');@import url('layout.css');body.login{background:#eee;}.login #container{background:white;border:1px solid #ccc;width:28em;min-width:300px;margin-left:auto;margin-right:auto;margin-top:100px;}.login #content-main{width:100%;}.login form{margin-top:1em;}.login .form-row{padding:4px 0;float:left;width:100%;}.login .form-row label{float:left;width:9em;padding-right:.5em;line-height:2em;text-align:right;font-size:1em;color:#333;}.login .form-row #id_username,.login .form-row #id_password{width:14em;}.login span.help{font-size:10px;display:block;}.login .submit-row{clear:both;padding:1em 0 0 9.4em;}

_generated_media/1/admin_media/css/null.css

Empty file added.

_generated_media/1/admin_media/css/patch-iewin.css

+* html #container{position:static;}* html .colMS #content-related{margin-right:0;margin-left:10px;position:static;}* html .colSM #content-related{margin-right:10px;margin-left:-115px;position:static;}* html .form-row{height:1%;}* html .dashboard #content{width:768px;}* html .dashboard #content-main{width:535px;}* html #changelist-filter ul{margin-right:-10px;}* html .change-list .filtered{height:400px;}

_generated_media/1/admin_media/css/rtl.css

+body{direction:rtl;}.login .form-row{float:right;}.login .form-row label{float:right;padding-left:.5em;padding-right:0;text-align:left;}.login .submit-row{clear:both;padding:1em 9.4em 0 0;}th{text-align:right;}.module h2,.module caption{text-align:right;}.addlink,.changelink{padding-left:0;padding-right:12px;background-position:100% .2em;}.deletelink{padding-left:0;padding-right:12px;background-position:100% .25em;}.object-tools{float:left;}#user-tools{right:auto;left:0;text-align:left;}div.breadcrumbs{text-align:right;}#content-main{float:right;}#content-related{float:left;margin-left:-19em;margin-right:auto;}.colMS{margin-left:20em!important;margin-right:10px!important;}.dashboard .module table td a{padding-left:.6em;padding-right:12px;}.change-list .filtered{background:white url(../img/admin/changelist-bg_rtl.gif) top left repeat-y!important;}.change-list .filtered table{border-left:1px solid #ddd;border-right:0 none;}#changelist-filter{right:auto;left:0;border-left:0 none;border-right:1px solid #ddd;}.change-list .filtered table,.change-list .filtered .paginator,.filtered #toolbar,.filtered div.xfull{margin-right:0!important;margin-left:160px!important;}#changelist-filter li.selected{border-left:0 none;padding-left:0;margin-left:0;border-right:5px solid #ccc;padding-right:5px;margin-right:-10px;}.aligned label{padding:0 0 3px 1em;float:right;}.submit-row{text-align:left;}.submit-row p.deletelink-box{float:right;}.submit-row .deletelink{background:url(../img/admin/icon_deletelink.gif) 0 50% no-repeat;padding-right:14px;}.vDateField,.vTimeField{margin-left:2px;}form ul.inline li{float:right;padding-right:0;padding-left:7px;}input[type=submit].default,.submit-row input.default{float:left;}fieldset .field-box{float:right;margin-left:20px;}.errorlist li{background-position:100% .3em;padding:4px 25px 4px 5px;}.errornote{background-position:100% .3em;padding:4px 25px 4px 5px;.calendarnav-previous{top:0;left:auto;right:0;}.calendarnav-next{top:0;right:auto;left:0;}.calendar caption,.calendarbox h2{text-align:center;}.selector{float:right;}.selector .selector-filter{text-align:right;}.inline-related h2{text-align:right;}

_generated_media/1/admin_media/css/widgets.css

+.selector{width:580px;float:left;}.selector select{width:270px;height:17.2em;}.selector-available,.selector-chosen{float:left;width:270px;text-align:center;margin-bottom:5px;}.selector-available h2,.selector-chosen h2{border:1px solid #ccc;}.selector .selector-available h2{background:white url(../img/admin/nav-bg.gif) bottom left repeat-x;color:#666;}.selector .selector-filter{background:white;border:1px solid #ccc;border-width:0 1px;padding:3px;color:#999;font-size:10px;margin:0;text-align:left;}.selector .selector-chosen .selector-filter{padding:4px 5px;}.selector .selector-available input{width:230px;}.selector ul.selector-chooser{float:left;width:22px;height:50px;background:url(../img/admin/chooser-bg.gif) top center no-repeat;margin:8em 3px 0 3px;padding:0;}.selector-chooser li{margin:0;padding:3px;list-style-type:none;}.selector select{margin-bottom:5px;margin-top:0;}.selector-add,.selector-remove{width:16px;height:16px;display:block;text-indent:-3000px;}.selector-add{background:url(../img/admin/selector-add.gif) top center no-repeat;margin-bottom:2px;}.selector-remove{background:url(../img/admin/selector-remove.gif) top center no-repeat;}a.selector-chooseall,a.selector-clearall{display:block;width:6em;text-align:left;margin-left:auto;margin-right:auto;font-weight:bold;color:#666;padding:3px 0 3px 18px;}a.selector-chooseall:hover,a.selector-clearall:hover{color:#036;}a.selector-chooseall{width:7em;background:url(../img/admin/selector-addall.gif) left center no-repeat;}a.selector-clearall{background:url(../img/admin/selector-removeall.gif) left center no-repeat;}.stacked{float:left;width:500px;}.stacked select{width:480px;height:10.1em;}.stacked .selector-available,.stacked .selector-chosen{width:480px;}.stacked .selector-available{margin-bottom:0;}.stacked .selector-available input{width:442px;}.stacked ul.selector-chooser{height:22px;width:50px;margin:0 0 3px 40%;background:url(../img/admin/chooser_stacked-bg.gif) top center no-repeat;}.stacked .selector-chooser li{float:left;padding:3px 3px 3px 5px;}.stacked .selector-chooseall,.stacked .selector-clearall{display:none;}.stacked .selector-add{background-image:url(../img/admin/selector_stacked-add.gif);}.stacked .selector-remove{background-image:url(../img/admin/selector_stacked-remove.gif);}p.datetime{line-height:20px;margin:0;padding:0;color:#666;font-size:11px;font-weight:bold;}.datetime span{font-size:11px;color:#ccc;font-weight:normal;white-space:nowrap;}table p.datetime{font-size:10px;margin-left:0;padding-left:0;}p.file-upload{line-height:20px;margin:0;padding:0;color:#666;font-size:11px;font-weight:bold;}.file-upload a{font-weight:normal;}.file-upload .deletelink{margin-left:5px;}.calendarbox,.clockbox{margin:5px auto;font-size:11px;width:16em;text-align:center;background:white;position:relative;}.clockbox{width:auto;}.calendar{margin:0;padding:0;}.calendar table{margin:0;padding:0;border-collapse:collapse;background:white;width:99%;}.calendar caption,.calendarbox h2{margin:0;font-size:11px;text-align:center;border-top:none;}.calendar th{font-size:10px;color:#666;padding:2px 3px;text-align:center;background:#e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x;border-bottom:1px solid #ddd;}.calendar td{font-size:11px;text-align:center;padding:0;border-top:1px solid #eee;border-bottom:none;}.calendar td.selected a{background:#C9DBED;}.calendar td.nonday{background:#efefef;}.calendar td.today a{background:#ffc;}.calendar td a,.timelist a{display:block;font-weight:bold;padding:4px;text-decoration:none;color:#444;}.calendar td a:hover,.timelist a:hover{background:#5b80b2;color:white;}.calendar td a:active,.timelist a:active{background:#036;color:white;}.calendarnav{font-size:10px;text-align:center;color:#ccc;margin:0;padding:1px 3px;}.calendarnav a:link,#calendarnav a:visited,#calendarnav a:hover{color:#999;}.calendar-shortcuts{background:white;font-size:10px;line-height:11px;border-top:1px solid #eee;padding:3px 0 4px;color:#ccc;}.calendarbox .calendarnav-previous,.calendarbox .calendarnav-next{display:block;position:absolute;font-weight:bold;font-size:12px;background:#C9DBED url(../img/admin/default-bg.gif) bottom left repeat-x;padding:1px 4px 2px 4px;color:white;}.calendarnav-previous:hover,.calendarnav-next:hover{background:#036;}.calendarnav-previous{top:0;left:0;}.calendarnav-next{top:0;right:0;}.calendar-cancel{margin:0!important;padding:0;font-size:10px;background:#e1e1e1 url(../img/admin/nav-bg.gif) 0 50% repeat-x;border-top:1px solid #ddd;}.calendar-cancel a{padding:2px;color:#999;}ul.timelist,.timelist li{list-style-type:none;margin:0;padding:0;}.timelist a{padding:2px;}ul.orderer{position:relative;padding:0!important;margin:0!important;list-style-type:none;}ul.orderer li{list-style-type:none;display:block;padding:0;margin:0;border:1px solid #bbb;border-width:0 1px 1px 0;white-space:nowrap;overflow:hidden;background:#e2e2e2 url(../img/admin/nav-bg-grabber.gif) repeat-y;}ul.orderer li:hover{cursor:move;background-color:#ddd;}ul.orderer li a.selector{margin-left:12px;overflow:hidden;width:83%;font-size:10px!important;padding:.6em 0;}ul.orderer li a:link,ul.orderer li a:visited{color:#333;}ul.orderer li .inline-deletelink{position:absolute;right:4px;margin-top:.6em;}ul.orderer li.selected{background-color:#f8f8f8;border-right-color:#f8f8f8;}ul.orderer li.deleted{background:#bbb url(../img/admin/deleted-overlay.gif);}ul.orderer li.deleted a:link,ul.orderer li.deleted a:visited{color:#888;}ul.orderer li.deleted .inline-deletelink{background-image:url(../img/admin/inline-restore.png);}ul.orderer li.deleted:hover,ul.orderer li.deleted a.selector:hover{cursor:default;}.inline-deletelink{display:block;text-indent:-9999px;background:transparent url(../img/admin/inline-delete.png) no-repeat;width:15px;height:15px;margin:.4em 0;border:0 none;}.inline-deletelink:hover{background-position:-15px 0;cursor:pointer;}.editinline button.addlink{border:0 none;color:#5b80b2;font-size:100%;cursor:pointer;}.editinline button.addlink:hover{color:#036;cursor:pointer;}.editinline table .help{text-align:right;float:right;padding-left:2em;}.editinline tfoot .addlink{white-space:nowrap;}.editinline table thead th:last-child{border-left:none;}.editinline tr.deleted{background:#ddd url(../img/admin/deleted-overlay.gif);}.editinline tr.deleted .inline-deletelink{background-image:url(../img/admin/inline-restore.png);}.editinline tr.deleted td:hover{cursor:default;}.editinline tr.deleted td:first-child{background-image:none!important;}.editinline-stacked{min-width:758px;}.editinline-stacked .inline-object{margin-left:210px;background:white;}.editinline-stacked .inline-source{float:left;width:200px;background:#f8f8f8;}.editinline-stacked .inline-splitter{float:left;width:9px;background:#f8f8f8 url(../img/admin/inline-splitter-bg.gif) 50% 50% no-repeat;border-right:1px solid #ccc;}.editinline-stacked .controls{clear:both;background:#e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x;padding:3px 4px;font-size:11px;border-top:1px solid #ddd;}

_generated_media/1/admin_media/img/admin/arrow-down.gif

Added
New image

_generated_media/1/admin_media/img/admin/arrow-up.gif

Added
New image

_generated_media/1/admin_media/img/admin/changelist-bg.gif

Added
New image

_generated_media/1/admin_media/img/admin/changelist-bg_rtl.gif

Added
New image

_generated_media/1/admin_media/img/admin/chooser-bg.gif

Added
New image

_generated_media/1/admin_media/img/admin/chooser_stacked-bg.gif

Added
New image

_generated_media/1/admin_media/img/admin/default-bg-reverse.gif

Added
New image

_generated_media/1/admin_media/img/admin/default-bg.gif

Added
New image

_generated_media/1/admin_media/img/admin/deleted-overlay.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon-no.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon-unknown.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon-yes.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_addlink.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_alert.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_calendar.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_changelink.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_clock.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_deletelink.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_error.gif

Added
New image

_generated_media/1/admin_media/img/admin/icon_searchbox.png

Added
New image

_generated_media/1/admin_media/img/admin/icon_success.gif

Added
New image

_generated_media/1/admin_media/img/admin/inline-delete-8bit.png

Added
New image

_generated_media/1/admin_media/img/admin/inline-delete.png

Added
New image

_generated_media/1/admin_media/img/admin/inline-restore-8bit.png

Added
New image

_generated_media/1/admin_media/img/admin/inline-restore.png

Added
New image

_generated_media/1/admin_media/img/admin/inline-splitter-bg.gif

Added
New image

_generated_media/1/admin_media/img/admin/nav-bg-grabber.gif

Added
New image

_generated_media/1/admin_media/img/admin/nav-bg-reverse.gif

Added
New image

_generated_media/1/admin_media/img/admin/nav-bg.gif

Added
New image

_generated_media/1/admin_media/img/admin/selector-add.gif

Added
New image

_generated_media/1/admin_media/img/admin/selector-addall.gif

Added
New image

_generated_media/1/admin_media/img/admin/selector-remove.gif

Added
New image

_generated_media/1/admin_media/img/admin/selector-removeall.gif

Added
New image

_generated_media/1/admin_media/img/admin/selector-search.gif

Added
New image

_generated_media/1/admin_media/img/admin/selector_stacked-add.gif

Added
New image

_generated_media/1/admin_media/img/admin/selector_stacked-remove.gif

Added
New image

_generated_media/1/admin_media/img/admin/tool-left.gif

Added
New image

_generated_media/1/admin_media/img/admin/tool-left_over.gif

Added
New image

_generated_media/1/admin_media/img/admin/tool-right.gif

Added
New image

_generated_media/1/admin_media/img/admin/tool-right_over.gif

Added
New image

_generated_media/1/admin_media/img/admin/tooltag-add.gif

Added
New image

_generated_media/1/admin_media/img/admin/tooltag-add_over.gif

Added
New image

_generated_media/1/admin_media/img/admin/tooltag-arrowright.gif

Added
New image

_generated_media/1/admin_media/img/admin/tooltag-arrowright_over.gif

Added
New image

_generated_media/1/admin_media/img/gis/move_vertex_off.png

Added
New image

_generated_media/1/admin_media/img/gis/move_vertex_on.png

Added
New image

_generated_media/1/admin_media/js/SelectBox.js

+var SelectBox={cache:new Object(),init:function(e){var d=document.getElementById(e);var c;SelectBox.cache[e]=new Array();var a=SelectBox.cache[e];for(var b=0;(c=d.options[b]);b++){a.push({value:c.value,text:c.text,displayed:1})}},redisplay:function(e){var d=document.getElementById(e);d.options.length=0;for(var b=0,a=SelectBox.cache[e].length;b<a;b++){var c=SelectBox.cache[e][b];if(c.displayed){d.options[d.options.length]=new Option(c.text,c.value,false,false)}}},filter:function(g,f){var e=f.toLowerCase().split(/\s+/);var d,c;for(var b=0;(d=SelectBox.cache[g][b]);b++){d.displayed=1;for(var a=0;(c=e[a]);a++){if(d.text.toLowerCase().indexOf(c)==-1){d.displayed=0}}}SelectBox.redisplay(g)},delete_from_cache:function(f,e){var d,c=null;for(var b=0;(d=SelectBox.cache[f][b]);b++){if(d.value==e){c=b;break}}var a=SelectBox.cache[f].length-1;for(var b=c;b<a;b++){SelectBox.cache[f][b]=SelectBox.cache[f][b+1]}SelectBox.cache[f].length--},add_to_cache:function(b,a){SelectBox.cache[b].push({value:a.value,text:a.text,displayed:1})},cache_contains:function(d,c){var b;for(var a=0;(b=SelectBox.cache[d][a]);a++){if(b.value==c){return true}}return false},move:function(f,e){var a=document.getElementById(f);var d=document.getElementById(e);var c;for(var b=0;(c=a.options[b]);b++){if(c.selected&&SelectBox.cache_contains(f,c.value)){SelectBox.add_to_cache(e,{value:c.value,text:c.text,displayed:1});SelectBox.delete_from_cache(f,c.value)}}SelectBox.redisplay(f);SelectBox.redisplay(e)},move_all:function(f,e){var a=document.getElementById(f);var d=document.getElementById(e);var c;for(var b=0;(c=a.options[b]);b++){if(SelectBox.cache_contains(f,c.value)){SelectBox.add_to_cache(e,{value:c.value,text:c.text,displayed:1});SelectBox.delete_from_cache(f,c.value)}}SelectBox.redisplay(f);SelectBox.redisplay(e)},sort:function(a){SelectBox.cache[a].sort(function(d,c){d=d.text.toLowerCase();c=c.text.toLowerCase();try{if(d>c){return 1}if(d<c){return -1}}catch(f){}return 0})},select_all:function(c){var b=document.getElementById(c);for(var a=0;a<b.options.length;a++){b.options[a].selected="selected"}}};

_generated_media/1/admin_media/js/SelectFilter2.js

+function findForm(a){if(a.tagName.toLowerCase()!="form"){return findForm(a.parentNode)}return a}var SelectFilter={init:function(d,a,k,s){var b=document.getElementById(d);b.id+="_from";b.className="filtered";var p=b.parentNode.getElementsByTagName("p");for(var r=0;r<p.length;r++){b.parentNode.removeChild(p[r])}var h=quickElement("div",b.parentNode);h.className=k?"selector stacked":"selector";var n=quickElement("div",h,"");n.className="selector-available";quickElement("h2",n,interpolate(gettext("Available %s"),[a]));var c=quickElement("p",n,"");c.className="selector-filter";quickElement("img",c,"","src",s+"img/admin/selector-search.gif");c.appendChild(document.createTextNode(" "));var f=quickElement("input",c,"","type","text");f.id=d+"_input";n.appendChild(b);var g=quickElement("a",n,gettext("Choose all"),"href",'javascript: (function(){ SelectBox.move_all("'+d+'_from", "'+d+'_to"); })()');g.className="selector-chooseall";var j=quickElement("ul",h,"");j.className="selector-chooser";var m=quickElement("a",quickElement("li",j,""),gettext("Add"),"href",'javascript: (function(){ SelectBox.move("'+d+'_from","'+d+'_to");})()');m.className="selector-add";var q=quickElement("a",quickElement("li",j,""),gettext("Remove"),"href",'javascript: (function(){ SelectBox.move("'+d+'_to","'+d+'_from");})()');q.className="selector-remove";var l=quickElement("div",h,"");l.className="selector-chosen";quickElement("h2",l,interpolate(gettext("Chosen %s"),[a]));var o=quickElement("p",l,gettext("Select your choice(s) and click "));o.className="selector-filter";quickElement("img",o,"","src",s+(k?"img/admin/selector_stacked-add.gif":"img/admin/selector-add.gif"),"alt","Add");var e=quickElement("select",l,"","id",d+"_to","multiple","multiple","size",b.size,"name",b.getAttribute("name"));e.className="filtered";var t=quickElement("a",l,gettext("Clear all"),"href",'javascript: (function() { SelectBox.move_all("'+d+'_to", "'+d+'_from");})()');t.className="selector-clearall";b.setAttribute("name",b.getAttribute("name")+"_old");addEvent(f,"keyup",function(i){SelectFilter.filter_key_up(i,d)});addEvent(f,"keydown",function(i){SelectFilter.filter_key_down(i,d)});addEvent(b,"dblclick",function(){SelectBox.move(d+"_from",d+"_to")});addEvent(e,"dblclick",function(){SelectBox.move(d+"_to",d+"_from")});addEvent(findForm(b),"submit",function(){SelectBox.select_all(d+"_to")});SelectBox.init(d+"_from");SelectBox.init(d+"_to");SelectBox.move(d+"_from",d+"_to")},filter_key_up:function(c,b){from=document.getElementById(b+"_from");if((c.which&&c.which==13)||(c.keyCode&&c.keyCode==13)){from.selectedIndex=0;SelectBox.move(b+"_from",b+"_to");from.selectedIndex=0;return false}var a=from.selectedIndex;SelectBox.filter(b+"_from",document.getElementById(b+"_input").value);from.selectedIndex=a;return true},filter_key_down:function(b,a){from=document.getElementById(a+"_from");if((b.which&&b.which==39)||(b.keyCode&&b.keyCode==39)){var c=from.selectedIndex;SelectBox.move(a+"_from",a+"_to");from.selectedIndex=(c==from.length)?from.length-1:c;return false}if((b.which&&b.which==40)||(b.keyCode&&b.keyCode==40)){from.selectedIndex=(from.length==from.selectedIndex+1)?0:from.selectedIndex+1}if((b.which&&b.which==38)||(b.keyCode&&b.keyCode==38)){from.selectedIndex=(from.selectedIndex==0)?from.length-1:from.selectedIndex-1}return true}};

_generated_media/1/admin_media/js/admin/CollapsedFieldsets.js

+function findForm(a){if(a.tagName.toLowerCase()!="form"){return findForm(a.parentNode)}return a}var CollapsedFieldsets={collapse_re:/\bcollapse\b/,collapsed_re:/\bcollapsed\b/,collapsed_class:"collapsed",init:function(){var e=document.getElementsByTagName("fieldset");var b=false;for(var d=0,a;a=e[d];d++){if(a.className.match(CollapsedFieldsets.collapse_re)&&!CollapsedFieldsets.fieldset_has_errors(a)){b=true;a.className+=" "+CollapsedFieldsets.collapsed_class;var f=document.createElement("a");f.className="collapse-toggle";f.id="fieldsetcollapser"+d;f.onclick=new Function("CollapsedFieldsets.show("+d+"); return false;");f.href="#";f.innerHTML=gettext("Show");var c=a.getElementsByTagName("h2")[0];c.appendChild(document.createTextNode(" ("));c.appendChild(f);c.appendChild(document.createTextNode(")"))}}if(b){addEvent(findForm(document.getElementsByTagName("fieldset")[0]),"submit",function(){CollapsedFieldsets.uncollapse_all()})}},fieldset_has_errors:function(a){var c=a.getElementsByTagName("div");for(var b=0;b<c.length;b++){if(c[b].className.match(/\berrors\b/)){return true}}return false},show:function(b){var a=document.getElementsByTagName("fieldset")[b];a.className=a.className.replace(CollapsedFieldsets.collapsed_re,"");var c=document.getElementById("fieldsetcollapser"+b);c.onclick=new Function("CollapsedFieldsets.hide("+b+"); return false;");c.innerHTML=gettext("Hide")},hide:function(b){var a=document.getElementsByTagName("fieldset")[b];a.className+=" "+CollapsedFieldsets.collapsed_class;var c=document.getElementById("fieldsetcollapser"+b);c.onclick=new Function("CollapsedFieldsets.show("+b+"); return false;");c.innerHTML=gettext("Show")},uncollapse_all:function(){var b=document.getElementsByTagName("fieldset");for(var a=0;a<b.length;a++){if(b[a].className.match(CollapsedFieldsets.collapsed_re)){CollapsedFieldsets.show(a)}}}};addEvent(window,"load",CollapsedFieldsets.init);

_generated_media/1/admin_media/js/admin/DateTimeShortcuts.js

+var DateTimeShortcuts={calendars:[],calendarInputs:[],clockInputs:[],calendarDivName1:"calendarbox",calendarDivName2:"calendarin",calendarLinkName:"calendarlink",clockDivName:"clockbox",clockLinkName:"clocklink",admin_media_prefix:"",init:function(){var b=document.getElementsByTagName("script");for(var d=0;d<b.length;d++){if(b[d].src.match(/DateTimeShortcuts/)){var a=b[d].src.indexOf("js/admin/DateTimeShortcuts");DateTimeShortcuts.admin_media_prefix=b[d].src.substring(0,a);break}}var c=document.getElementsByTagName("input");for(d=0;d<c.length;d++){var e=c[d];if(e.getAttribute("type")=="text"&&e.className.match(/vTimeField/)){DateTimeShortcuts.addClock(e)}else{if(e.getAttribute("type")=="text"&&e.className.match(/vDateField/)){DateTimeShortcuts.addCalendar(e)}}}},addClock:function(e){var c=DateTimeShortcuts.clockInputs.length;DateTimeShortcuts.clockInputs[c]=e;var a=document.createElement("span");e.parentNode.insertBefore(a,e.nextSibling);var d=document.createElement("a");d.setAttribute("href","javascript:DateTimeShortcuts.handleClockQuicklink("+c+", new Date().getHourMinuteSecond());");d.appendChild(document.createTextNode(gettext("Now")));var b=document.createElement("a");b.setAttribute("href","javascript:DateTimeShortcuts.openClock("+c+");");b.id=DateTimeShortcuts.clockLinkName+c;quickElement("img",b,"","src",DateTimeShortcuts.admin_media_prefix+"img/admin/icon_clock.gif","alt",gettext("Clock"));a.appendChild(document.createTextNode("\240"));a.appendChild(d);a.appendChild(document.createTextNode("\240|\240"));a.appendChild(b);var f=document.createElement("div");f.style.display="none";f.style.position="absolute";f.className="clockbox module";f.setAttribute("id",DateTimeShortcuts.clockDivName+c);document.body.appendChild(f);addEvent(f,"click",DateTimeShortcuts.cancelEventPropagation);quickElement("h2",f,gettext("Choose a time"));time_list=quickElement("ul",f,"");time_list.className="timelist";quickElement("a",quickElement("li",time_list,""),gettext("Now"),"href","javascript:DateTimeShortcuts.handleClockQuicklink("+c+", new Date().getHourMinuteSecond());");quickElement("a",quickElement("li",time_list,""),gettext("Midnight"),"href","javascript:DateTimeShortcuts.handleClockQuicklink("+c+", '00:00:00');");quickElement("a",quickElement("li",time_list,""),gettext("6 a.m."),"href","javascript:DateTimeShortcuts.handleClockQuicklink("+c+", '06:00:00');");quickElement("a",quickElement("li",time_list,""),gettext("Noon"),"href","javascript:DateTimeShortcuts.handleClockQuicklink("+c+", '12:00:00');");cancel_p=quickElement("p",f,"");cancel_p.className="calendar-cancel";quickElement("a",cancel_p,gettext("Cancel"),"href","javascript:DateTimeShortcuts.dismissClock("+c+");")},openClock:function(b){var c=document.getElementById(DateTimeShortcuts.clockDivName+b);var a=document.getElementById(DateTimeShortcuts.clockLinkName+b);if(getStyle(document.body,"direction")!="rtl"){c.style.left=findPosX(a)+17+"px"}else{c.style.left=findPosX(a)-110+"px"}c.style.top=findPosY(a)-30+"px";c.style.display="block";addEvent(window,"click",function(){DateTimeShortcuts.dismissClock(b);return true})},dismissClock:function(a){document.getElementById(DateTimeShortcuts.clockDivName+a).style.display="none";window.onclick=null},handleClockQuicklink:function(a,b){DateTimeShortcuts.clockInputs[a].value=b;DateTimeShortcuts.dismissClock(a)},addCalendar:function(g){var d=DateTimeShortcuts.calendars.length;DateTimeShortcuts.calendarInputs[d]=g;var f=document.createElement("span");g.parentNode.insertBefore(f,g.nextSibling);var j=document.createElement("a");j.setAttribute("href","javascript:DateTimeShortcuts.handleCalendarQuickLink("+d+", 0);");j.appendChild(document.createTextNode(gettext("Today")));var b=document.createElement("a");b.setAttribute("href","javascript:DateTimeShortcuts.openCalendar("+d+");");b.id=DateTimeShortcuts.calendarLinkName+d;quickElement("img",b,"","src",DateTimeShortcuts.admin_media_prefix+"img/admin/icon_calendar.gif","alt",gettext("Calendar"));f.appendChild(document.createTextNode("\240"));f.appendChild(j);f.appendChild(document.createTextNode("\240|\240"));f.appendChild(b);var i=document.createElement("div");i.style.display="none";i.style.position="absolute";i.className="calendarbox module";i.setAttribute("id",DateTimeShortcuts.calendarDivName1+d);document.body.appendChild(i);addEvent(i,"click",DateTimeShortcuts.cancelEventPropagation);var c=quickElement("div",i,"");var h=quickElement("a",c,"<","href","javascript:DateTimeShortcuts.drawPrev("+d+");");h.className="calendarnav-previous";var k=quickElement("a",c,">","href","javascript:DateTimeShortcuts.drawNext("+d+");");k.className="calendarnav-next";var l=quickElement("div",i,"","id",DateTimeShortcuts.calendarDivName2+d);l.className="calendar";DateTimeShortcuts.calendars[d]=new Calendar(DateTimeShortcuts.calendarDivName2+d,DateTimeShortcuts.handleCalendarCallback(d));DateTimeShortcuts.calendars[d].drawCurrent();var e=quickElement("div",i,"");e.className="calendar-shortcuts";quickElement("a",e,gettext("Yesterday"),"href","javascript:DateTimeShortcuts.handleCalendarQuickLink("+d+", -1);");e.appendChild(document.createTextNode("\240|\240"));quickElement("a",e,gettext("Today"),"href","javascript:DateTimeShortcuts.handleCalendarQuickLink("+d+", 0);");e.appendChild(document.createTextNode("\240|\240"));quickElement("a",e,gettext("Tomorrow"),"href","javascript:DateTimeShortcuts.handleCalendarQuickLink("+d+", +1);");var a=quickElement("p",i,"");a.className="calendar-cancel";quickElement("a",a,gettext("Cancel"),"href","javascript:DateTimeShortcuts.dismissCalendar("+d+");")},openCalendar:function(b){var c=document.getElementById(DateTimeShortcuts.calendarDivName1+b);var a=document.getElementById(DateTimeShortcuts.calendarLinkName+b);var e=DateTimeShortcuts.calendarInputs[b];if(e.value){var f=e.value.split("-");var d=f[0];var g=parseFloat(f[1]);if(d.match(/\d\d\d\d/)&&g>=1&&g<=12){DateTimeShortcuts.calendars[b].drawDate(g,d)}}if(getStyle(document.body,"direction")!="rtl"){c.style.left=findPosX(a)+17+"px"}else{c.style.left=findPosX(a)-180+"px"}c.style.top=findPosY(a)-75+"px";c.style.display="block";addEvent(window,"click",function(){DateTimeShortcuts.dismissCalendar(b);return true})},dismissCalendar:function(a){document.getElementById(DateTimeShortcuts.calendarDivName1+a).style.display="none"},drawPrev:function(a){DateTimeShortcuts.calendars[a].drawPreviousMonth()},drawNext:function(a){DateTimeShortcuts.calendars[a].drawNextMonth()},handleCalendarCallback:function(a){return"function(y, m, d) { DateTimeShortcuts.calendarInputs["+a+"].value = y+'-'+(m<10?'0':'')+m+'-'+(d<10?'0':'')+d; document.getElementById(DateTimeShortcuts.calendarDivName1+"+a+").style.display='none';}"},handleCalendarQuickLink:function(a,c){var b=new Date();b.setDate(b.getDate()+c);DateTimeShortcuts.calendarInputs[a].value=b.getISODate();DateTimeShortcuts.dismissCalendar(a)},cancelEventPropagation:function(a){if(!a){a=window.event}a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}}};addEvent(window,"load",DateTimeShortcuts.init);

_generated_media/1/admin_media/js/admin/RelatedObjectLookups.js

+function html_unescape(a){a=a.replace(/&lt;/g,"<");a=a.replace(/&gt;/g,">");a=a.replace(/&quot;/g,'"');a=a.replace(/&#39;/g,"'");a=a.replace(/&amp;/g,"&");return a}function id_to_windowname(a){a=a.replace(/\./g,"__dot__");a=a.replace(/\-/g,"__dash__");return a}function windowname_to_id(a){a=a.replace(/__dot__/g,".");a=a.replace(/__dash__/g,"-");return a}function showRelatedObjectLookupPopup(c){var b=c.id.replace(/^lookup_/,"");b=id_to_windowname(b);var a;if(c.href.search(/\?/)>=0){a=c.href+"&pop=1"}else{a=c.href+"?pop=1"}var d=window.open(a,b,"height=500,width=800,resizable=yes,scrollbars=yes");d.focus();return false}function dismissRelatedLookupPopup(d,c){var a=windowname_to_id(d.name);var b=document.getElementById(a);if(b.className.indexOf("vManyToManyRawIdAdminField")!=-1&&b.value){b.value+=","+c}else{document.getElementById(a).value=c}d.close()}function showAddAnotherPopup(b){var a=b.id.replace(/^add_/,"");a=id_to_windowname(a);href=b.href;if(href.indexOf("?")==-1){href+="?_popup=1"}else{href+="&_popup=1"}var c=window.open(href,a,"height=500,width=800,resizable=yes,scrollbars=yes");c.focus();return false}function dismissAddAnotherPopup(e,c,g){c=html_unescape(c);g=html_unescape(g);var b=windowname_to_id(e.name);var d=document.getElementById(b);if(d){if(d.nodeName=="SELECT"){var f=new Option(g,c);d.options[d.options.length]=f;f.selected=true}else{if(d.nodeName=="INPUT"){d.value=c}}}else{var a=b+"_to";d=document.getElementById(a);var f=new Option(g,c);SelectBox.add_to_cache(a,f);SelectBox.redisplay(a)}e.close()};

_generated_media/1/admin_media/js/admin/ordering.js

+addEvent(window,"load",reorder_init);var lis;var top=0;var left=0;var height=30;function reorder_init(){lis=document.getElementsBySelector("ul#orderthese li");var d=document.getElementsBySelector("input[name=order_]")[0];setOrder(d.value.split(","));d.disabled=true;draw();var b=(lis.length-1)*height;for(var e=0;e<lis.length;e++){var a=lis[e];var c=document.getElementById("handle"+a.id);a.style.zIndex=1;Drag.init(c,a,left+10,left+10,top+10,top+10+b);a.onDragStart=startDrag;a.onDragEnd=endDrag;c.style.cursor="move"}}function submitOrderForm(){var a=document.getElementsBySelector("input[name=order_]")[0];a.value=getOrder();a.disabled=false}function startDrag(){this.style.zIndex="10";this.className="dragging"}function endDrag(a,d){this.style.zIndex="1";this.className="";var c=this.index;var b=Math.round((d-10-top)/height);this.style.top=(10+top+b*height)+"px";this.index=b;moveItem(c,b)}function moveItem(g,c){if(g==c){return}var f,d,a;if(c>g){d=g;a=c;f=-1}else{f=1;a=g;d=c}var e=new Array();for(var b=0;b<lis.length;b++){if(b<d||b>a){e[b]=lis[b];continue}else{if(b==c){e[b]=lis[g];continue}else{e[b]=lis[b-f]}}}reIndex(e);lis=e;draw();document.getElementsBySelector("input[name=order_]")[0].value=getOrder()}function reIndex(a){for(var b=0;b<a.length;b++){a[b].index=b}}function draw(){for(var b=0;b<lis.length;b++){var a=lis[b];a.index=b;a.style.position="absolute";a.style.left=(10+left)+"px";a.style.top=(10+top+(b*height))+"px"}}function getOrder(){var a=new Array(lis.length);for(var b=0;b<lis.length;b++){a[b]=lis[b].id.substring(1,100)}return a.join(",")}function setOrder(b){var c=new Array();for(var a=0;a<b.length;a++){var d="p"+b[a];c[c.length]=document.getElementById(d)}reIndex(c);lis=c;draw()}function addEvent(e,d,b,a){if(e.addEventListener){e.addEventListener(d,b,a);return true}else{if(e.attachEvent){var c=e.attachEvent("on"+d,b);return c}else{e["on"+d]=b}}};

_generated_media/1/admin_media/js/calendar.js

+function removeChildren(b){while(b.hasChildNodes()){b.removeChild(b.lastChild)}}function quickElement(){var c=document.createElement(arguments[0]);if(arguments[2]!=""&&arguments[2]!=null){var d=document.createTextNode(arguments[2]);c.appendChild(d)}var a=arguments.length;for(var b=3;b<a;b+=2){c.setAttribute(arguments[b],arguments[b+1])}arguments[1].appendChild(c);return c}var CalendarNamespace={monthsOfYear:gettext("January February March April May June July August September October November December").split(" "),daysOfWeek:gettext("S M T W T F S").split(" "),isLeapYear:function(a){return(((a%4)==0)&&((a%100)!=0)||((a%400)==0))},getDaysInMonth:function(b,a){var c;if(b==1||b==3||b==5||b==7||b==8||b==10||b==12){c=31}else{if(b==4||b==6||b==9||b==11){c=30}else{if(b==2&&CalendarNamespace.isLeapYear(a)){c=29}else{c=28}}}return c},draw:function(j,k,e,n){j=parseInt(j);k=parseInt(k);var o=document.getElementById(e);removeChildren(o);var h=document.createElement("table");quickElement("caption",h,CalendarNamespace.monthsOfYear[j-1]+" "+k);var b=quickElement("tbody",h);var a=quickElement("tr",b);for(var c=0;c<7;c++){quickElement("th",a,CalendarNamespace.daysOfWeek[c])}var d=new Date(k,j-1,1).getDay();var m=CalendarNamespace.getDaysInMonth(j,k);a=quickElement("tr",b);for(var c=0;c<d;c++){var g=quickElement("td",a," ");g.style.backgroundColor="#f3f3f3"}var f=1;for(var c=d;f<=m;c++){if(c%7==0&&f!=1){a=quickElement("tr",b)}var l=quickElement("td",a,"");quickElement("a",l,f,"href","javascript:void("+n+"("+k+","+j+","+f+"));");f++}while(a.childNodes.length<7){var g=quickElement("td",a," ");g.style.backgroundColor="#f3f3f3"}o.appendChild(h)}};function Calendar(a,b){this.div_id=a;this.callback=b;this.today=new Date();this.currentMonth=this.today.getMonth()+1;this.currentYear=this.today.getFullYear()}Calendar.prototype={drawCurrent:function(){CalendarNamespace.draw(this.currentMonth,this.currentYear,this.div_id,this.callback)},drawDate:function(b,a){this.currentMonth=b;this.currentYear=a;this.drawCurrent()},drawPreviousMonth:function(){if(this.currentMonth==1){this.currentMonth=12;this.currentYear--}else{this.currentMonth--}this.drawCurrent()},drawNextMonth:function(){if(this.currentMonth==12){this.currentMonth=1;this.currentYear++}else{this.currentMonth++}this.drawCurrent()},drawPreviousYear:function(){this.currentYear--;this.drawCurrent()},drawNextYear:function(){this.currentYear++;this.drawCurrent()}};

_generated_media/1/admin_media/js/core.js

+var isOpera=(navigator.userAgent.indexOf("Opera")>=0)&&parseFloat(navigator.appVersion);var isIE=((document.all)&&(!isOpera))&&parseFloat(navigator.appVersion.split("MSIE ")[1].split(";")[0]);function addEvent(d,c,a){if(d.addEventListener){d.addEventListener(c,a,false);return true}else{if(d.attachEvent){var b=d.attachEvent("on"+c,a);return b}else{return false}}}function removeEvent(c,b,a){if(c.removeEventListener){c.removeEventListener(b,a,false);return true}else{if(c.detachEvent){c.detachEvent("on"+b,a);return true}else{return false}}}function quickElement(){var c=document.createElement(arguments[0]);if(arguments[2]!=""&&arguments[2]!=null){var d=document.createTextNode(arguments[2]);c.appendChild(d)}var a=arguments.length;for(var b=3;b<a;b+=2){c.setAttribute(arguments[b],arguments[b+1])}arguments[1].appendChild(c);return c}var xmlhttp;
+/*@cc_on @*/
+/*@if (@_jscript_version >= 5)
+    try {
+        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
+    } catch (e) {
+        try {
+            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
+        } catch (E) {
+            xmlhttp = false;
+        }
+    }
+@else
+    xmlhttp = false;
+@end @*/
+if(!xmlhttp&&typeof XMLHttpRequest!="undefined"){xmlhttp=new XMLHttpRequest()}function findPosX(a){var b=0;if(a.offsetParent){while(a.offsetParent){b+=a.offsetLeft-((isOpera)?0:a.scrollLeft);a=a.offsetParent}if(isIE&&a.parentElement){b+=a.offsetLeft-a.scrollLeft}}else{if(a.x){b+=a.x}}return b}function findPosY(b){var a=0;if(b.offsetParent){while(b.offsetParent){a+=b.offsetTop-((isOpera)?0:b.scrollTop);b=b.offsetParent}if(isIE&&b.parentElement){a+=b.offsetTop-b.scrollTop}}else{if(b.y){a+=b.y}}return a}Date.prototype.getCorrectYear=function(){var a=this.getYear()%100;return(a<38)?a+2000:a+1900};Date.prototype.getTwoDigitMonth=function(){return(this.getMonth()<9)?"0"+(this.getMonth()+1):(this.getMonth()+1)};Date.prototype.getTwoDigitDate=function(){return(this.getDate()<10)?"0"+this.getDate():this.getDate()};Date.prototype.getTwoDigitHour=function(){return(this.getHours()<10)?"0"+this.getHours():this.getHours()};Date.prototype.getTwoDigitMinute=function(){return(this.getMinutes()<10)?"0"+this.getMinutes():this.getMinutes()};Date.prototype.getTwoDigitSecond=function(){return(this.getSeconds()<10)?"0"+this.getSeconds():this.getSeconds()};Date.prototype.getISODate=function(){return this.getCorrectYear()+"-"+this.getTwoDigitMonth()+"-"+this.getTwoDigitDate()};Date.prototype.getHourMinute=function(){return this.getTwoDigitHour()+":"+this.getTwoDigitMinute()};Date.prototype.getHourMinuteSecond=function(){return this.getTwoDigitHour()+":"+this.getTwoDigitMinute()+":"+this.getTwoDigitSecond()};String.prototype.pad_left=function(d,c){var b=this;for(var a=0;b.length<d;a++){b=c+b}return b};function getStyle(a,b){var c="";if(document.defaultView&&document.defaultView.getComputedStyle){c=document.defaultView.getComputedStyle(a,"").getPropertyValue(b)}else{if(a.currentStyle){b=b.replace(/\-(\w)/g,function(d,e){return e.toUpperCase()});c=a.currentStyle[b]}}return c};

_generated_media/1/admin_media/js/dateparse.js

+if(typeof Array.prototype.indexOf=="undefined"){Array.prototype.indexOf=function(c){var a=this.length;for(var b=0;b<a;b++){if(this[b]==c){return b}}return -1}}if(typeof Array.prototype.filter=="undefined"){Array.prototype.filter=function(d){var c=[];var a=this.length;for(var b=0;b<a;b++){if(d(this[b])){c[c.length]=this[b]}}return c}}var monthNames=gettext("January February March April May June July August September October November December").split(" ");var weekdayNames=gettext("Sunday Monday Tuesday Wednesday Thursday Friday Saturday").split(" ");function parseMonth(b){var a=monthNames.filter(function(c){return new RegExp("^"+b,"i").test(c)});if(a.length==0){throw new Error("Invalid month string")}if(a.length>1){throw new Error("Ambiguous month")}return monthNames.indexOf(a[0])}function parseWeekday(b){var a=weekdayNames.filter(function(c){return new RegExp("^"+b,"i").test(c)});if(a.length==0){throw new Error("Invalid day string")}if(a.length>1){throw new Error("Ambiguous weekday")}return weekdayNames.indexOf(a[0])}var dateParsePatterns=[{re:/^tod/i,handler:function(){return new Date()}},{re:/^tom/i,handler:function(){var a=new Date();a.setDate(a.getDate()+1);return a}},{re:/^yes/i,handler:function(){var a=new Date();a.setDate(a.getDate()-1);return a}},{re:/^(\d{1,2})(st|nd|rd|th)?$/i,handler:function(a){var b=new Date();b.setDate(parseInt(a[1],10));return b}},{re:/^(\d{1,2})(?:st|nd|rd|th)? (\w+)$/i,handler:function(a){var b=new Date();b.setDate(parseInt(a[1],10));b.setMonth(parseMonth(a[2]));return b}},{re:/^(\d{1,2})(?:st|nd|rd|th)? (\w+),? (\d{4})$/i,handler:function(a){var b=new Date();b.setDate(parseInt(a[1],10));b.setMonth(parseMonth(a[2]));b.setYear(a[3]);return b}},{re:/^(\w+) (\d{1,2})(?:st|nd|rd|th)?$/i,handler:function(a){var b=new Date();b.setDate(parseInt(a[2],10));b.setMonth(parseMonth(a[1]));return b}},{re:/^(\w+) (\d{1,2})(?:st|nd|rd|th)?,? (\d{4})$/i,handler:function(a){var b=new Date();b.setDate(parseInt(a[2],10));b.setMonth(parseMonth(a[1]));b.setYear(a[3]);return b}},{re:/^next (\w+)$/i,handler:function(e){var f=new Date();var b=f.getDay();var c=parseWeekday(e[1]);var a=c-b;if(c<=b){a+=7}f.setDate(f.getDate()+a);return f}},{re:/^last (\w+)$/i,handler:function(a){throw new Error("Not yet implemented")}},{re:/(\d{1,2})\/(\d{1,2})\/(\d{4})/,handler:function(a){var b=new Date();b.setYear(a[3]);b.setDate(parseInt(a[2],10));b.setMonth(parseInt(a[1],10)-1);return b}},{re:/(\d{4})-(\d{1,2})-(\d{1,2})/,handler:function(a){var b=new Date();b.setYear(parseInt(a[1]));b.setMonth(parseInt(a[2],10)-1);b.setDate(parseInt(a[3],10));return b}},];function parseDateString(d){for(var a=0;a<dateParsePatterns.length;a++){var c=dateParsePatterns[a].re;var b=dateParsePatterns[a].handler;var e=c.exec(d);if(e){return b(e)}}throw new Error("Invalid date string")}function fmt00(a){if(Math.abs(parseInt(a))<10){a="0"+Math.abs(a)}return a}function parseDateStringISO(a){try{var c=parseDateString(a);return c.getFullYear()+"-"+(fmt00(c.getMonth()+1))+"-"+fmt00(c.getDate())}catch(b){return a}}function magicDate(a){var c=a.id+"Msg";try{var g=parseDateString(a.value);a.value=g.getFullYear()+"-"+(fmt00(g.getMonth()+1))+"-"+fmt00(g.getDate());a.className="";if(document.getElementById(c)){document.getElementById(c).firstChild.nodeValue=g.toDateString();document.getElementById(c).className="normal"}}catch(f){a.className="error";var b=f.message;if(b.indexOf("is null or not an object")>-1){b="Invalid date string"}if(document.getElementById(c)){document.getElementById(c).firstChild.nodeValue=b;document.getElementById(c).className="error"}}};

_generated_media/1/admin_media/js/getElementsBySelector.js

+function getAllChildren(a){return a.all?a.all:a.getElementsByTagName("*")}document.getElementsBySelector=function(v){if(!document.getElementsByTagName){return new Array()}var p=v.split(" ");var g=new Array(document);for(var x=0;x<p.length;x++){token=p[x].replace(/^\s+/,"").replace(/\s+$/,"");if(token.indexOf("#")>-1){var s=token.split("#");var d=s[0];var r=s[1];var b=document.getElementById(r);if(d&&b.nodeName.toLowerCase()!=d){return new Array()}g=new Array(b);continue}if(token.indexOf(".")>-1){var s=token.split(".");var d=s[0];var c=s[1];if(!d){d="*"}var m=new Array;var l=0;for(var y=0;y<g.length;y++){var n;if(d=="*"){n=getAllChildren(g[y])}else{try{n=g[y].getElementsByTagName(d)}catch(z){n=[]}}for(var u=0;u<n.length;u++){m[l++]=n[u]}}g=new Array;var q=0;for(var t=0;t<m.length;t++){if(m[t].className&&m[t].className.match(new RegExp("\\b"+c+"\\b"))){g[q++]=m[t]}}continue}if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/)){var d=RegExp.$1;var w=RegExp.$2;var a=RegExp.$3;var o=RegExp.$4;if(!d){d="*"}var m=new Array;var l=0;for(var y=0;y<g.length;y++){var n;if(d=="*"){n=getAllChildren(g[y])}else{n=g[y].getElementsByTagName(d)}for(var u=0;u<n.length;u++){m[l++]=n[u]}}g=new Array;var q=0;var f;switch(a){case"=":f=function(h){return(h.getAttribute(w)==o)};break;case"~":f=function(h){return(h.getAttribute(w).match(new RegExp("\\b"+o+"\\b")))};break;case"|":f=function(h){return(h.getAttribute(w).match(new RegExp("^"+o+"-?")))};break;case"^":f=function(h){return(h.getAttribute(w).indexOf(o)==0)};break;case"$":f=function(h){return(h.getAttribute(w).lastIndexOf(o)==h.getAttribute(w).length-o.length)};break;case"*":f=function(h){return(h.getAttribute(w).indexOf(o)>-1)};break;default:f=function(h){return h.getAttribute(w)}}g=new Array;var q=0;for(var t=0;t<m.length;t++){if(f(m[t])){g[q++]=m[t]}}continue}d=token;var m=new Array;var l=0;for(var y=0;y<g.length;y++){var n=g[y].getElementsByTagName(d);for(var u=0;u<n.length;u++){m[l++]=n[u]}}g=m}return g};

_generated_media/1/admin_media/js/timeparse.js

+var timeParsePatterns=[{re:/^\d{1,2}$/i,handler:function(a){if(a[0].length==1){return"0"+a[0]+":00"}else{return a[0]+":00"}}},{re:/^\d{2}[:.]\d{2}$/i,handler:function(a){return a[0].replace(".",":")}},{re:/^\d[:.]\d{2}$/i,handler:function(a){return"0"+a[0].replace(".",":")}},{re:/^(\d+)\s*([ap])(?:.?m.?)?$/i,handler:function(b){var a=parseInt(b[1]);if(a==12){a=0}if(b[2].toLowerCase()=="p"){if(a==12){a=0}return(a+12)+":00"}else{if(a<10){return"0"+a+":00"}else{return a+":00"}}}},{re:/^(\d+)[.:](\d{2})\s*([ap]).?m.?$/i,handler:function(c){var a=parseInt(c[1]);var b=parseInt(c[2]);if(b<10){b="0"+b}if(a==12){a=0}if(c[3].toLowerCase()=="p"){if(a==12){a=0}return(a+12)+":"+b}else{if(a<10){return"0"+a+":"+b}else{return a+":"+b}}}},{re:/^no/i,handler:function(a){return"12:00"}},{re:/^mid/i,handler:function(a){return"00:00"}}];function parseTimeString(d){for(var a=0;a<timeParsePatterns.length;a++){var c=timeParsePatterns[a].re;var b=timeParsePatterns[a].handler;var e=c.exec(d);if(e){return b(e)}}return d};

_generated_media/1/admin_media/js/urlify.js

+var LATIN_MAP={"À":"A","�?":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","�?":"I","Î":"I","�?":"I","�?":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","�?":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ű":"U","�?":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","�":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ő":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ű":"u","ý":"y","þ":"th","ÿ":"y"};var LATIN_SYMBOLS_MAP={"©":"(c)"};var GREEK_MAP={"α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","�?":"r","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ά":"a","�":"e","ί":"i","ό":"o","�?":"y","ή":"h","ώ":"w","ς":"s","ϊ":"i","ΰ":"y","ϋ":"y","�?":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","�?":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ά":"A","Έ":"E","Ί":"I","Ό":"O","Ύ":"Y","Ή":"H","�?":"W","Ϊ":"I","Ϋ":"Y"};var TURKISH_MAP={"ş":"s","Ş":"S","ı":"i","İ":"I","ç":"c","Ç":"C","ü":"u","Ü":"U","ö":"o","Ö":"O","ğ":"g","Ğ":"G"};var RUSSIAN_MAP={"а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ё":"yo","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","�?":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"","ы":"y","ь":"","�?":"e","ю":"yu","�?":"ya","�?":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","�?":"Yo","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","�?":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"","Ы":"Y","Ь":"","�":"E","Ю":"Yu","Я":"Ya"};var UKRAINIAN_MAP={"Є":"Ye","І":"I","Ї":"Yi","�?":"G","є":"ye","і":"i","ї":"yi","ґ":"g"};var CZECH_MAP={"�?":"c","�?":"d","ě":"e","ň":"n","ř":"r","š":"s","ť":"t","ů":"u","ž":"z","Č":"C","Ď":"D","Ě":"E","Ň":"N","Ř":"R","Š":"S","Ť":"T","Ů":"U","Ž":"Z"};var POLISH_MAP={"ą":"a","ć":"c","ę":"e","ł":"l","ń":"n","ó":"o","ś":"s","ź":"z","ż":"z","Ą":"A","Ć":"C","Ę":"e","�?":"L","Ń":"N","Ó":"o","Ś":"S","Ź":"Z","Ż":"Z"};var LATVIAN_MAP={"�?":"a","�?":"c","ē":"e","ģ":"g","ī":"i","ķ":"k","ļ":"l","ņ":"n","š":"s","ū":"u","ž":"z","Ā":"A","Č":"C","Ē":"E","Ģ":"G","Ī":"i","Ķ":"k","Ļ":"L","Ņ":"N","Š":"S","Ū":"u","Ž":"Z"};var ALL_DOWNCODE_MAPS=new Array();ALL_DOWNCODE_MAPS[0]=LATIN_MAP;ALL_DOWNCODE_MAPS[1]=LATIN_SYMBOLS_MAP;ALL_DOWNCODE_MAPS[2]=GREEK_MAP;ALL_DOWNCODE_MAPS[3]=TURKISH_MAP;ALL_DOWNCODE_MAPS[4]=RUSSIAN_MAP;ALL_DOWNCODE_MAPS[5]=UKRAINIAN_MAP;ALL_DOWNCODE_MAPS[6]=CZECH_MAP;ALL_DOWNCODE_MAPS[7]=POLISH_MAP;ALL_DOWNCODE_MAPS[8]=LATVIAN_MAP;var Downcoder=new Object();Downcoder.Initialize=function(){if(Downcoder.map){return}Downcoder.map={};Downcoder.chars="";for(var a in ALL_DOWNCODE_MAPS){var b=ALL_DOWNCODE_MAPS[a];for(var d in b){Downcoder.map[d]=b[d];Downcoder.chars+=d}}Downcoder.regex=new RegExp("["+Downcoder.chars+"]|[^"+Downcoder.chars+"]+","g")};downcode=function(b){Downcoder.Initialize();var c="";var e=b.match(Downcoder.regex);if(e){for(var d=0;d<e.length;d++){if(e[d].length==1){var a=Downcoder.map[e[d]];if(a!=null){c+=a;continue}}c+=e[d]}}else{c=b}return c};function URLify(b,a){b=downcode(b);removelist=["a","an","as","at","before","but","by","for","from","is","in","into","like","of","off","on","onto","per","since","than","the","this","that","to","up","via","with"];r=new RegExp("\\b("+removelist.join("|")+")\\b","gi");b=b.replace(r,"");b=b.replace(/[^-\w\s]/g,"");b=b.replace(/^\s+|\s+$/g,"");b=b.replace(/[-\s]+/g,"-");b=b.toLowerCase();return b.substring(0,a)};
+application: djangobook-ja
+version: 1
+runtime: python
+api_version: 1
+
+default_expiration: '3650d'
+
+handlers:
+- url: /media
+  static_dir: media
+
+- url: /favicon.ico
+  static_files: media/favicon.ico
+  upload: media/favicon.ico
+
+- url: /.*
+  script: common/appenginepatch/main.py

common/__init__.py

Empty file added.

common/appenginepatch/LICENSE

+Distributed under the terms of the MIT License.
+
+Some parts are stolen from appengine-helper and thus distributed under the
+terms of the Apache 2 License.

common/appenginepatch/README

+Please visit the project website for usage instructions:
+http://code.google.com/p/app-engine-patch/

common/appenginepatch/__init__.py

Empty file added.

common/appenginepatch/aecmd.py

+# -*- coding: utf-8 -*-
+import os, sys
+
+COMMON_DIR = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
+PROJECT_DIR = os.path.dirname(COMMON_DIR)
+ZIP_PACKAGES_DIRS = (os.path.join(PROJECT_DIR, 'zip-packages'),
+                     os.path.join(COMMON_DIR, 'zip-packages'))
+# Overrides for os.environ
+env_ext = {'DJANGO_SETTINGS_MODULE': 'settings'}
+
+def setup_env(manage_py_env=False):
+    """Configures app engine environment for command-line apps."""
+    # Try to import the appengine code from the system path.
+    try:
+        from google.appengine.api import apiproxy_stub_map
+    except ImportError, e:
+        # Not on the system path. Build a list of alternative paths where it
+        # may be. First look within the project for a local copy, then look for
+        # where the Mac OS SDK installs it.
+        paths = [os.path.join(COMMON_DIR, '.google_appengine'),
+                 '/usr/local/google_appengine']
+        for path in os.environ.get('PATH', '').replace(';', ':').split(':'):
+            path = path.rstrip(os.sep)
+            if path.endswith('google_appengine'):
+                paths.append(path)
+        if os.name in ('nt', 'dos'):
+            prefix = '%(PROGRAMFILES)s' % os.environ
+            paths.append(prefix + r'\Google\google_appengine')
+        # Loop through all possible paths and look for the SDK dir.
+        SDK_PATH = None
+        for sdk_path in paths:
+            sdk_path = os.path.realpath(sdk_path)
+            if os.path.exists(sdk_path):
+                SDK_PATH = sdk_path
+                break
+        if SDK_PATH is None:
+            # The SDK could not be found in any known location.
+            sys.stderr.write('The Google App Engine SDK could not be found!\n'
+                             'Visit http://code.google.com/p/app-engine-patch/'
+                             ' for installation instructions.\n')
+            sys.exit(1)
+        # Add the SDK and the libraries within it to the system path.
+        EXTRA_PATHS = [SDK_PATH]
+        lib = os.path.join(SDK_PATH, 'lib')
+        # Automatically add all packages in the SDK's lib folder:
+        for dir in os.listdir(lib):
+            path = os.path.join(lib, dir)
+            # Package can be under 'lib/<pkg>/<pkg>/' or 'lib/<pkg>/lib/<pkg>/'
+            detect = (os.path.join(path, dir), os.path.join(path, 'lib', dir))
+            for path in detect:
+                if os.path.isdir(path):
+                    EXTRA_PATHS.append(os.path.dirname(path))
+                    break
+        sys.path = EXTRA_PATHS + sys.path
+        from google.appengine.api import apiproxy_stub_map
+
+    # Add this folder to sys.path
+    sys.path = [os.path.abspath(os.path.dirname(__file__))] + sys.path
+
+    setup_project()
+
+    from appenginepatcher.patch import patch_all
+    patch_all()
+
+    if not manage_py_env:
+        return
+
+    print 'Running on app-engine-patch 1.0'
+
+def setup_project():
+    # Remove the standard version of Django
+    for k in [k for k in sys.modules if k.startswith('django')]:
+        del sys.modules[k]
+
+    from appenginepatcher import on_production_server
+    if on_production_server:
+        # This fixes a pwd import bug for os.path.expanduser()
+        global env_ext
+        env_ext['HOME'] = PROJECT_DIR
+
+    os.environ.update(env_ext)
+
+    # Add the two parent folders and appenginepatcher's lib folder to sys.path.
+    # The current folder has to be added in main.py or setup_env(). This
+    # suggests a folder structure where you separate reusable code from project
+    # code:
+    # project -> common -> appenginepatch
+    # You can put a custom Django version into the "common" folder, for example.
+    EXTRA_PATHS = [
+        PROJECT_DIR,
+        COMMON_DIR,
+    ]
+
+    this_folder = os.path.abspath(os.path.dirname(__file__))
+    EXTRA_PATHS.append(os.path.join(this_folder, 'appenginepatcher', 'lib'))
+
+    # We support zipped packages in the common and project folders.
+    # The files must be in the packages folder.
+    for packages_dir in ZIP_PACKAGES_DIRS:
+        if os.path.isdir(packages_dir):
+            for zip_package in os.listdir(packages_dir):
+                EXTRA_PATHS.append(os.path.join(packages_dir, zip_package))
+
+    sys.path = EXTRA_PATHS + sys.path

common/appenginepatch/appenginepatcher/__init__.py

+from google.appengine.api import apiproxy_stub_map
+import os, sys
+
+have_appserver = bool(apiproxy_stub_map.apiproxy.GetStub('datastore_v3'))
+
+if have_appserver:
+    appid = os.environ.get('APPLICATION_ID')
+else:
+    try:
+        from google.appengine.tools import dev_appserver
+        from aecmd import PROJECT_DIR
+        appconfig, unused = dev_appserver.LoadAppConfig(PROJECT_DIR, {})
+        appid = appconfig.application
+    except ImportError:
+        appid = None
+
+on_production_server = not (
+        os.environ.get('SERVER_SOFTWARE', '').lower().startswith('devel') or
+        sys.argv[0].endswith('manage.py'))

common/appenginepatch/appenginepatcher/conf/__init__.py

Empty file added.

common/appenginepatch/appenginepatcher/conf/app_template/__init__.py

Empty file added.

common/appenginepatch/appenginepatcher/conf/app_template/models.py

+# -*- coding: utf-8 -*-
+from django.utils.translation import ugettext_lazy as _
+from google.appengine.ext import db
+
+

common/appenginepatch/appenginepatcher/conf/app_template/views.py

+# -*- coding: utf-8 -*-
+from django.http import HttpResponseRedirect
+from django.utils.translation import ugettext as _
+from ragendja.template import render_to_response
+
+

common/appenginepatch/appenginepatcher/imp.py

+#!/usr/bin/python2.4
+#
+# Copyright 2008 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""This file acts as a very minimal replacement for the 'imp' module.
+
+It contains only what Django expects to use and does not actually implement the
+same functionality as the real 'imp' module.
+"""
+
+
+def find_module(name, path=None):
+  """Django needs imp.find_module, but it works fine if nothing is found."""
+  raise ImportError

common/appenginepatch/appenginepatcher/lib/__init__.py

Empty file added.

common/appenginepatch/appenginepatcher/lib/memcache.py

+from google.appengine.api.memcache import *

common/appenginepatch/appenginepatcher/models.py

+# Empty file neeed to make this a Django app.

common/appenginepatch/appenginepatcher/patch.py

+# -*- coding: utf-8 -*-
+# Unfortunately, we have to fix a few App Engine bugs here because otherwise
+# not all of our features will work. Still, we should keep the number of bug
+# fixes to a minimum and report everything to Google, please:
+# http://code.google.com/p/googleappengine/issues/list
+
+from google.appengine.ext import db
+from google.appengine.ext.db import polymodel
+import logging, new, os, re, sys
+
+base_path = os.path.abspath(os.path.dirname(__file__))
+
+get_verbose_name = lambda class_name: re.sub('(((?<=[a-z])[A-Z])|([A-Z](?![A-Z]|$)))', ' \\1', class_name).lower().strip()
+
+DEFAULT_NAMES = ('verbose_name', 'ordering', 'permissions', 'app_label',
+                 'abstract', 'db_table', 'db_tablespace')
+
+def patch_all():
+    patch_python()
+    patch_app_engine()
+    patch_django()
+    setup_logging()
+
+def patch_python():
+    # Remove modules that we want to override
+    for module in ('memcache',):
+        if module in sys.modules:
+            del sys.modules[module]
+
+    # For some reason the imp module can't be replaced via sys.path
+    from appenginepatcher import have_appserver
+    if have_appserver:
+        from appenginepatcher import imp
+        sys.modules['imp'] = imp
+
+    if have_appserver:
+        def unlink(_):
+            raise NotImplementedError('App Engine does not support FS writes!')
+        os.unlink = unlink
+
+def patch_app_engine():
+    # This allows for using Paginator on a Query object. We limit the number
+    # of results to 301, so there won't be any timeouts (301, so you can say
+    # "more than 300 results").
+    def __len__(self):
+        return self.count(301)
+    db.Query.__len__ = __len__
+
+    # Add "model" property to Query (needed by generic views)
+    class ModelProperty(object):
+        def __get__(self, query, unused):
+            try:
+                return query._Query__model_class
+            except:
+                return query._model_class
+    db.Query.model = ModelProperty()
+
+    # Add a few Model methods that are needed for serialization and ModelForm
+    def _get_pk_val(self):
+        if self.has_key():
+            return unicode(self.key())
+        else:
+            return None
+    db.Model._get_pk_val = _get_pk_val
+    def __eq__(self, other):
+        if not isinstance(other, self.__class__):
+            return False
+        return self._get_pk_val() == other._get_pk_val()
+    db.Model.__eq__ = __eq__
+    def __ne__(self, other):
+        return not self.__eq__(other)
+    db.Model.__ne__ = __ne__
+    def pk(self):
+        return self._get_pk_val()
+    db.Model.id = db.Model.pk = property(pk)
+
+    # Make Property more Django-like (needed for serialization and ModelForm)
+    db.Property.serialize = True
+    db.Property.editable = True
+    db.Property.help_text = ''
+    def _get_verbose_name(self):
+        if not getattr(self, '_verbose_name', None):
+            self._verbose_name = self.name.replace('_', ' ')
+        return self._verbose_name
+    def _set_verbose_name(self, verbose_name):
+        self._verbose_name = verbose_name
+    db.Property.verbose_name = property(_get_verbose_name, _set_verbose_name)
+
+    def attname(self):
+        return self.name
+    db.Property.attname = property(attname)
+
+    class Rel(object):
+        def __init__(self, property):
+            self.field_name = 'key'
+            self.property = property
+            self.to = property.reference_class
+            self.multiple = True
+            self.parent_link = False
+            self.related_name = getattr(property, 'collection_name', None)
+
+    class RelProperty(object):
+        def __get__(self, property, cls):
+            if property is None:
+                return self
+            if not hasattr(property, 'reference_class'):
+                return None
+            if not hasattr(property, '_rel_cache'):
+                property._rel_cache = Rel(property)
+            return property._rel_cache
+    db.Property.rel = RelProperty()
+
+    def formfield(self, **kwargs):
+        return self.get_form_field(**kwargs)
+    db.Property.formfield = formfield
+
+    # Add repr to make debugging a little bit easier
+    from django.utils.datastructures import SortedDict
+    def __repr__(self):
+        d = SortedDict()
+        if self.has_key() and self.key().name():
+            d['key_name'] = self.key().name()
+        for field in self._meta.fields:
+            try:
+                d[field.name] = getattr(self, field.name)
+            except:
+                d[field.name] = field.get_value_for_datastore(self)
+        return u'%s(**%s)' % (self.__class__.__name__, repr(d))
+    db.Model.__repr__ = __repr__
+
+    # Add default __str__ and __unicode__ methods
+    def __str__(self):
+        return unicode(self).encode('utf-8')
+    db.Model.__str__ = __str__
+    def __unicode__(self):
+        return unicode(repr(self))
+    db.Model.__unicode__ = __unicode__
+
+    # Replace save() method with one that calls put(), so a monkey-patched
+    # put() will also work if someone uses save()
+    def save(self):
+        self.put()
+    db.Model.save = save
+
+    # Add _meta to Model, so porting code becomes easier (generic views,
+    # xheaders, and serialization depend on it).
+    from django.conf import settings
+    from django.utils.encoding import force_unicode, smart_str
+    from django.utils.translation import string_concat, get_language, \
+        activate, deactivate_all
+    class _meta(object):
+        many_to_many = ()
+        class pk:
+            name = 'key'
+            attname = 'pk'
+
+        def __init__(self, model, bases):
+            try:
+                self.app_label = model.__module__.split('.')[-2]
+            except IndexError:
+                raise ValueError('Django expects models (here: %s.%s) to be defined in their own apps!' % (model.__module__, model.__name__))
+            self.parents = [b for b in bases if issubclass(b, db.Model)]
+            self.object_name = model.__name__
+            self.module_name = self.object_name.lower()
+            self.verbose_name = get_verbose_name(self.object_name)
+            self.ordering = ()
+            self.abstract = model is db.Model
+            self.model = model
+            self.unique_together = ()
+            self.installed = model.__module__.rsplit('.', 1)[0] in \
+                             settings.INSTALLED_APPS
+            self.permissions = []
+
+            meta = model.__dict__.get('Meta')
+            if meta:
+                meta_attrs = meta.__dict__.copy()
+                for name in meta.__dict__:
+                    # Ignore any private attributes that Django doesn't care about.
+                    # NOTE: We can't modify a dictionary's contents while looping
+                    # over it, so we loop over the *original* dictionary instead.
+                    if name.startswith('_'):
+                        del meta_attrs[name]
+                for attr_name in DEFAULT_NAMES:
+                    if attr_name in meta_attrs:
+                        setattr(self, attr_name, meta_attrs.pop(attr_name))
+                    elif hasattr(meta, attr_name):
+                        setattr(self, attr_name, getattr(meta, attr_name))
+
+                # verbose_name_plural is a special case because it uses a 's'
+                # by default.
+                setattr(self, 'verbose_name_plural', meta_attrs.pop('verbose_name_plural', string_concat(self.verbose_name, 's')))
+
+                # Any leftover attributes must be invalid.
+                if meta_attrs != {}:
+                    raise TypeError, "'class Meta' got invalid attribute(s): %s" % ','.join(meta_attrs.keys())
+            else:
+                self.verbose_name_plural = self.verbose_name + 's'
+
+            if not self.abstract:
+                self.permissions.extend([
+                    ('add_%s' % self.object_name.lower(),
+                        string_concat('Can add ', self.verbose_name)),
+                    ('change_%s' % self.object_name.lower(),
+                        string_concat('Can change ', self.verbose_name)),
+                    ('delete_%s' % self.object_name.lower(),
+                        string_concat('Can delete ', self.verbose_name)),
+                ])
+
+        def __repr__(self):
+            return '<Options for %s>' % self.object_name
+
+        def __str__(self):
+            return "%s.%s" % (smart_str(self.app_label), smart_str(self.module_name))
+
+        def _set_db_table(self, db_table):
+            self._db_table = db_table
+        
+        def _get_db_table(self):
+            if getattr(settings, 'DJANGO_STYLE_MODEL_KIND', True):
+                if hasattr(self, '_db_table'):
+                    return self._db_table
+                return '%s_%s' % (self.app_label, self.module_name)
+            return self.object_name
+
+        db_table = property(_get_db_table, _set_db_table)
+
+        def _set_db_tablespace(self, db_tablespace):
+            self._db_tablespace = db_tablespace
+        
+        def _get_db_tablespace(self):
+            if hasattr(self, '_db_tablespace'):
+                return self._db_tablespace
+            return settings.DEFAULT_TABLESPACE
+
+        db_tablespace = property(_get_db_tablespace, _set_db_tablespace)
+
+        @property
+        def verbose_name_raw(self):
+            """
+            There are a few places where the untranslated verbose name is needed
+            (so that we get the same value regardless of currently active
+            locale).
+            """
+            lang = get_language()
+            deactivate_all()
+            raw = force_unicode(self.verbose_name)
+            activate(lang)
+            return raw
+
+        @property
+        def local_fields(self):
+            return tuple(sorted([p for p in self.model.properties().values()
+                                 if not isinstance(p, db.ListProperty)],
+                                key=lambda prop: prop.creation_counter))
+
+        @property
+        def local_many_to_many(self):
+            return tuple(sorted([p for p in self.model.properties().values()
+                                 if isinstance(p, db.ListProperty) and
+                                     not p.name == '_class'],
+                                key=lambda prop: prop.creation_counter))
+
+        @property
+        def fields(self):
+            return self.local_fields + self.local_many_to_many
+
+        def get_field(self, name, many_to_many=True):
+            """
+            Returns the requested field by name. Raises FieldDoesNotExist on error.
+            """
+            from django.db.models.fields import FieldDoesNotExist
+            for f in self.fields:
+                if f.name == name:
+                    return f
+            raise FieldDoesNotExist, '%s has no field named %r' % (self.object_name, name)
+
+        def get_all_related_objects(self, local_only=False):
+            try:
+                self._related_objects_cache
+            except AttributeError:
+                self._fill_related_objects_cache()
+            if local_only:
+                return [k for k, v in self._related_objects_cache.items() if not v]
+            return self._related_objects_cache.keys()
+
+        def get_all_related_objects_with_model(self):
+            """
+            Returns a list of (related-object, model) pairs. Similar to
+            get_fields_with_model().
+            """
+            try:
+                self._related_objects_cache
+            except AttributeError:
+                self._fill_related_objects_cache()
+            return self._related_objects_cache.items()
+
+        def _fill_related_objects_cache(self):
+            from django.db.models.loading import get_models
+            from django.db.models.related import RelatedObject
+            cache = SortedDict()
+            parent_list = self.get_parent_list()
+            for parent in self.parents:
+                for obj, model in parent._meta.get_all_related_objects_with_model():
+                    if (obj.field.creation_counter < 0 or obj.field.rel.parent_link) and obj.model not in parent_list:
+                        continue
+                    if not model:
+                        cache[obj] = parent
+                    else:
+                        cache[obj] = model
+            for klass in get_models():
+                for f in klass._meta.local_fields:
+                    if f.rel and not isinstance(f.rel.to, str) and self == f.rel.to._meta:
+                        cache[RelatedObject(f.rel.to, klass, f)] = None
+            self._related_objects_cache = cache
+
+        def get_all_related_many_to_many_objects(self, local_only=False):
+            try:
+                cache = self._related_many_to_many_cache
+