Skip to content
This repository
Browse code

Refactorings and updates

  • Loading branch information...
commit 00f85bc3bb5ba710ae5adba6a6ffd5a615a24bb2 1 parent 7890606
Jacques Crocker authored

Showing 34 changed files with 4,773 additions and 266 deletions. Show diff stats Hide diff stats

  1. +1 2  app/controllers/search_controller.rb
  2. +12 1 app/helpers/application_helper.rb
  3. +20 29 app/helpers/javascript_helper.rb
  4. +0 6 app/helpers/stylesheet_helper.rb
  5. +3 1 app/models/job.rb
  6. +3 2 app/models/job_applicant.rb
  7. +1 4 app/views/admin/jobs/show.html.haml
  8. +1 1  app/views/job_requests/new.html.haml
  9. +1 1  app/views/jobs/edit.html.haml
  10. +1 1  app/views/jobs/new.html.haml
  11. +1 1  app/views/jobs/parts/_apply_form.html.haml
  12. +5 5 app/views/jobs/parts/_details.html.haml
  13. +7 1 app/views/jobs/parts/_fields.html.haml
  14. +2 2 app/views/jobs/parts/_textile_suggestions.html.erb
  15. +4 10 app/views/layouts/_flash_boxes.html.haml
  16. +0 2  app/views/layouts/_footer.html.haml
  17. +2 0  app/views/layouts/application.html.haml
  18. +4 3 app/views/search/_search_results.html.haml
  19. +1 1  config/environments/development.rb
  20. +4 0 lib/validation.rb
  21. 0  public/images/{logo.png → logo-trans.png}
  22. +0 4 public/javascripts/application.js
  23. +0 33 public/javascripts/common/jobber.js
  24. +2 0  public/javascripts/ie7.js
  25. +0 8 public/javascripts/jquery.ext/interface.js
  26. +0 82 public/javascripts/jquery.ext/jquery.alphanumeric.js
  27. +162 0 public/javascripts/min/common.js
  28. +126 0 public/javascripts/min/components.js
  29. +2,740 0 public/javascripts/min/jquery.ext.js
  30. +450 0 public/javascripts/min/libraries.js
  31. +0 64 public/javascripts/supersleight.js
  32. +1,151 0 public/stylesheets/all_cache.css
  33. +4 2 public/stylesheets/styles.css
  34. +65 0 script/merge_assets
3  app/controllers/search_controller.rb
@@ -14,8 +14,7 @@ def show
14 14
15 15
16 16 # hide layout for ajax requests
17   - if params[:ajax] == "true"
18   - @ajax = true
  17 + if request.xhr?
19 18 render :partial => "search/search_results", :layout => false
20 19 else
21 20 params[:q] = ""
13 app/helpers/application_helper.rb
... ... @@ -1,6 +1,10 @@
1 1 # Methods added to this helper will be available to all templates in the application.
2 2 module ApplicationHelper
3 3
  4 + def stylesheets
  5 + stylesheet "styles", "util", "application", :cache => "all_cache"
  6 + end
  7 +
4 8 def feed_links
5 9 links_html = []
6 10
@@ -23,6 +27,14 @@ def error_message_for(record, attribute, error_msg = nil)
23 27 end
24 28 end
25 29
  30 + # display a flash box
  31 + def flash_box(text, options = {})
  32 + content_tag :div, :class => "flash #{options[:class]}" do
  33 + flash[:notice] +
  34 + link_to("Hide Message...", "#", :class => "close-text")
  35 + end
  36 + end
  37 +
26 38 def display_notice
27 39 page.insert_html :after, 'footer', :partial => 'layouts/admin_flash_boxes'
28 40 end
@@ -45,7 +57,6 @@ def add_class_if(condition, css_class)
45 57 end
46 58 end
47 59
48   -
49 60 def link_to_image(image_path, label, url, options={})
50 61 link_to(image_tag(image_path, :class => "vert-middle"), url, options) +
51 62 nbsp +
49 app/helpers/javascript_helper.rb
@@ -3,44 +3,35 @@ module JavascriptHelper
3 3 # Add javascripts to page
4 4 def javascripts(options = {})
5 5 [
6   - javascript("prototype"),
7   - javascript("scriptaculous/scriptaculous"),
8   -
9   - javascript("jquery"),
10   - javascript_tag("$j = jQuery.noConflict();"),
11   - javascript(include_javascripts("jquery.ext")),
12   - javascript(include_javascripts("libraries")),
13   - javascript(include_javascripts("common")),
14   - javascript(include_javascripts("components")),
  6 + framework_js,
  7 +
  8 + # recursively add javascript files from these folders
  9 + javascript_folder("jquery.ext"),
  10 + javascript_folder("libraries"),
  11 + javascript_folder("common"),
  12 + javascript_folder("components"),
15 13
16 14 page_javascripts(options),
17 15 javascript("application"),
18   -
  16 +
19 17 ie6_js
20 18
21 19 ].flatten.join("\n")
22 20 end
23 21
24   - # returns a list of *css file paths* for a sass directory
25   - def include_javascripts(path)
26   - if AppConfig.minimize
27   - "min/#{path}.js"
28   - else
29   - javascript_list = Dir["#{RAILS_ROOT}/public/javascripts/#{path}/*.js"]
30   -
31   - result = []
32   - javascript_list.each do |javascript|
33   - result << javascript.gsub("#{RAILS_ROOT}/public/javascripts/", "")
34   - end
35   -
36   - return result
37   - end
38   - end
  22 + def framework_js
  23 + [
  24 + javascript("prototype"),
  25 + javascript("scriptaculous/scriptaculous"),
  26 +
  27 + javascript("jquery"),
  28 + javascript_tag("$j = jQuery.noConflict();")
  29 + ].flatten.join("\n")
  30 + end
39 31
40 32 def ie6_js
41   - if browser_is? :ie6
42   - javascript("supersleight")
43   - end
  33 + "<!--[if lt IE 7]>
  34 + <script src='/javascripts/ie7.js' type='text/javascript></script>
  35 + <![endif]-->"
44 36 end
45   -
46 37 end
6 app/helpers/stylesheet_helper.rb
... ... @@ -1,6 +0,0 @@
1   -module StylesheetHelper
2   - # include stylesheets
3   - def stylesheets(options = {})
4   - stylesheet "styles", "util", "application"
5   - end
6   -end
4 app/models/job.rb
@@ -22,6 +22,8 @@ class Job < ActiveRecord::Base
22 22 validates_presence_of :company
23 23 validates_presence_of :poster_email
24 24
  25 + validates_format_of :title, :company, :outside_location, :with => Validation::NO_HTML, :message => Validation::NO_HTML_MESSAGE
  26 +
25 27 validates_as_email_address :poster_email
26 28
27 29 before_save :format_fields
@@ -61,7 +63,7 @@ def located_at
61 63
62 64 # return location if applicable
63 65 if self.location
64   - @located_at = self.location.name
  66 + @located_at = self.g.name
65 67 return @located_at
66 68 end
67 69
5 app/models/job_applicant.rb
@@ -8,8 +8,9 @@ class JobApplicant < ActiveRecord::Base
8 8
9 9 has_attached_file :resume
10 10
  11 + attr_protected :job_id
  12 +
11 13 def self.new_default(init_values = {})
12 14 self.new(init_values)
13 15 end
14   -
15   -end
  16 +end
5 app/views/admin/jobs/show.html.haml
@@ -11,10 +11,7 @@
11 11 .applied-to-job
12 12 = @job.job_applicants.size
13 13 %p
14   - - if @job.job_applicants.size != 1
15   - applicants
16   - - else
17   - applicant
  14 + = pluralize(@job.job_applicants.size, "applicant")
18 15
19 16 -# show job title
20 17 %h2
2  app/views/job_requests/new.html.haml
@@ -5,7 +5,7 @@
5 5
6 6 - if @job_hunter.errors.size > 0
7 7 .validation-failure
8   - = image_tag "exclamation.png", :style => "vertical-align: -3px"
  8 + = image_tag "exclamation.png"
9 9 There were a few problems. Please correct the fields labeled in <strong>red</strong>.
10 10 = br
11 11
2  app/views/jobs/edit.html.haml
@@ -6,7 +6,7 @@
6 6
7 7 - unless @job.errors.empty?
8 8 .validation-failure
9   - = image_tag "exclamation.png", :style => "vertical-align: -3px"
  9 + = image_tag "exclamation.png"
10 10 Please revise the form...
11 11
12 12 - form_for @job, :html => {:id => "publish_form", :class => "job-form"} do |f|
2  app/views/jobs/new.html.haml
@@ -3,7 +3,7 @@
3 3
4 4 - unless @job.errors.empty?
5 5 .validation-failure
6   - = image_tag "exclamation.png", :style => "vertical-align: -3px"
  6 + = image_tag "exclamation.png"
7 7 Please revise the form...
8 8
9 9 - form_for @job, :html => {:id => "publish_form", :class => "job-form"} do |f|
2  app/views/jobs/parts/_apply_form.html.haml
@@ -5,7 +5,7 @@
5 5
6 6 - if job_applicant.errors.size > 0
7 7 .validation-failure
8   - = image_tag "exclamation.png", :style => "vertical-align: -3px"
  8 + = image_tag "exclamation.png"
9 9 Unfortunately, your application could not be sent. Please check the form for missing information and resubmit.
10 10 = br
11 11
10 app/views/jobs/parts/_details.html.haml
@@ -27,21 +27,21 @@
27 27 -# show job title
28 28 %h2
29 29 = job_type_image(job.job_type)
30   - = job.title
  30 + =h job.title
31 31
32 32 -# show job location
33 33 %p
34 34 %span.fading at
35 35 - unless job.url.blank? or job.url == "http://"
36   - = link_to job.company, job.url
  36 + = link_to h(job.company), job.url
37 37 - else
38   - %strong= job.company
  38 + %strong=h job.company
39 39
40 40 - if job.located_at == "Anywhere"
41   - %strong== (#{job.located_at})
  41 + %strong== (#{h(job.located_at)})
42 42 - else
43 43 %span.fading in
44   - %strong= job.located_at
  44 + %strong=h job.located_at
45 45
46 46 -# show job description
47 47 .job-description
8 app/views/jobs/parts/_fields.html.haml
@@ -18,6 +18,8 @@
18 18 %td.publish-label{:valign => "top"} Title:
19 19 %td
20 20 = f.text_field :title, :size => 50
  21 + = error_message_for(@job, :title)
  22 +
21 23 .suggestion e.g. 'PHP Developer', 'UI designer'
22 24
23 25 -# location field
@@ -29,6 +31,7 @@
29 31 #outside_location{hide_if(@job.outside_location.blank?)}
30 32 where ?
31 33 = f.text_field :outside_location, :size => 50, :maxlength => 140
  34 + = error_message_for(@job, :outside_location)
32 35 .suggestion
33 36 e.g. 'London, UK'
34 37
@@ -37,6 +40,7 @@
37 40 %td{:valign => "top"} Description:
38 41 %td
39 42 = f.text_area :description, :size => "80x15"
  43 + = error_message_for(@job, :description)
40 44 .suggestion
41 45 = link_to "Format text with Textile", "http://www.textism.com/tools/textile/", |
42 46 :target => "_blank", :onclick => "$j('#textile-suggestions').toggle();return false;" |
@@ -51,7 +55,8 @@
51 55 %td.publish-label Name:
52 56 %td
53 57 = f.text_field :company, :size => 40
54   -
  58 + = error_message_for(@job, :company)
  59 +
55 60 -# website field
56 61 %tr
57 62 %td{:valign => "top"} Website:
@@ -67,6 +72,7 @@
67 72 %strong (not published)
68 73 %td
69 74 = f.text_field :poster_email
  75 + = error_message_for(@job, :poster_email)
70 76 .suggestion
71 77 Online applications will be sent to this address.
72 78
4 app/views/jobs/parts/_textile_suggestions.html.erb
@@ -2,8 +2,8 @@
2 2 <table>
3 3 <thead>
4 4 <tr class="odd">
5   - <th>{$translations.publish.syntax}</th>
6   - <th>{$translations.publish.result}</th>
  5 + <th>Textile syntax</th>
  6 + <th>Final result</th>
7 7 </tr>
8 8 </thead>
9 9 <tbody>
14 app/views/layouts/_flash_boxes.html.haml
... ... @@ -1,17 +1,11 @@
1 1 - unless @flash_shown
2   -
  2 +
3 3 -# Set flash[:notice] to display a notice panel
4 4 - if flash[:notice]
5   - .flash.notice
6   - = flash[:notice]
7   - = link_to "Hide Message...", "#", :class => "close-text"
  5 + = flash_box(flash[:notice], :class => "notice")
8 6 - elsif flash[:success]
9   - .flash.success
10   - = flash[:success]
11   - = link_to "Hide Message...", "#", :class => "close-text"
  7 + = flash_box(flash[:success], :class => "success")
12 8 - elsif flash[:error]
13   - .flash.error
14   - = flash[:error]
15   - = link_to "Hide Message...", "#", :class => "close-text"
  9 + = flash_box(flash[:error], :class => "error")
16 10
17 11 - @flash_shown = true
2  app/views/layouts/_footer.html.haml
@@ -41,5 +41,3 @@
2  app/views/layouts/application.html.haml
@@ -5,6 +5,8 @@
5 5
6 6 = title :site => AppConfig.site_name
7 7 = stylesheets
  8 +
  9 + -# defined in javascript_helper
8 10 = javascripts
9 11
10 12 = feed_links
7 app/views/search/_search_results.html.haml
... ... @@ -1,21 +1,22 @@
1 1 %h3
2 2 Search Results for
3 3 == "#{h(@query)}"
4   - - if @ajax
  4 + - if request.xhr?
5 5 = link_to "Clear Search", "#", :class => "clear-search"
  6 +
6 7 - if @jobs.empty?
7 8 %p.empty
8 9 No jobs found matching
9 10 %strong== #{h(@query)}
10 11 - if @category
11 12 in
12   - %strong= @category.name
  13 + %strong=h @category.name
13 14 = br
14 15 = link_to "Search Entire Site", search_url(:keywords => @query, :ajax => nil)
15 16 - else
16 17 = partial "jobs/parts/post_table", :jobs => @jobs, :show_applicants => false
17 18
18 19
19   -- if @ajax and !@jobs.empty?
  20 +- if request.xhr? and !@jobs.empty?
20 21 = br
21 22 = link_to "View Search Results...", search_url(:keywords => @query, :cat_id => params[:cat_id], :ajax => nil)
2  config/environments/development.rb
@@ -11,7 +11,7 @@
11 11 # Show full error reports and disable caching
12 12 config.action_controller.consider_all_requests_local = true
13 13 config.action_view.debug_rjs = true
14   -config.action_controller.perform_caching = false
  14 +config.action_controller.perform_caching = true
15 15
16 16 # Don't care if the mailer can't send
17 17 config.action_mailer.raise_delivery_errors = false
4 lib/validation.rb
... ... @@ -0,0 +1,4 @@
  1 +class Validation
  2 + NO_HTML = /^[^<>]*$/
  3 + NO_HTML_MESSAGE = 'HTML Tags not Allowed in Titles'
  4 +end
0  public/images/logo.png → public/images/logo-trans.png
File renamed without changes
4 public/javascripts/application.js
@@ -4,8 +4,4 @@ $j(document).ready(function() {
4 4 $j(this).example(this.title);
5 5 });
6 6
7   -
8   -
9   - // fix pngs
10   - Jobber.FixPng();
11 7 });
33 public/javascripts/common/jobber.js
@@ -6,39 +6,6 @@
6 6 jobber_admin_url: "",
7 7 job_id: "",
8 8
9   - FixPng: function()
10   - {
11   - var arVersion = navigator.appVersion.split("MSIE");
12   - var version = parseFloat(arVersion[1]);
13   -
14   - if ((version >= 5.5) && (document.body.filters))
15   - {
16   - for(var i=0; i<document.images.length; i++)
17   - {
18   - var img = document.images[i];
19   - var imgName = img.src.toUpperCase();
20   -
21   - if (imgName == this.jobber_url.toUpperCase() + "IMG/BT-RSS.PNG")
22   - {
23   - var imgID = (img.id) ? "id='" + img.id + "' " : "";
24   - var imgClass = (img.className) ? "class='" + img.className + "' " : "";
25   - var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
26   - var imgStyle = "display:inline-block;" + img.style.cssText;
27   - if (img.align == "left") imgStyle = "float:left;" + imgStyle;
28   - if (img.align == "right") imgStyle = "float:right;" + imgStyle;
29   - if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
30   - var strNewHTML = "<span " + imgID + imgClass + imgTitle;
31   - strNewHTML += " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";";
32   - strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader";
33   - strNewHTML += "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
34   - img.outerHTML = strNewHTML;
35   - i = i - 1;
36   - }
37   - }
38   - }
39   -
40   - },
41   -
42 9 HandleLocationOutside: function()
43 10 {
44 11 if($("#outside_location").is(":visible"))
2  public/javascripts/ie7.js
... ... @@ -0,0 +1,2 @@
  1 +/* IE7/IE8.js - copyright 2004-2008, Dean Edwards */
  2 +(function(){IE7={toString:function(){return"IE7 version 2.0 (beta3)"}};var k=IE7.appVersion=navigator.appVersion.match(/MSIE (\d\.\d)/)[1];if(/ie7_off/.test(top.location.search)||k<5)return;var Q=bG();var C=document.compatMode!="CSS1Compat";var bm=document.documentElement,v,s;var bA="!";var G=":link{ie7-link:link}:visited{ie7-link:visited}";var cj=/^[\w\.]+[^:]*$/;function W(a,b){if(cj.test(a))a=(b||"")+a;return a};function bn(a,b){a=W(a,b);return a.slice(0,a.lastIndexOf("/")+1)};var bB=document.scripts[document.scripts.length-1];var ck=bn(bB.src);try{var H=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}var X={};function cl(a,b){try{a=W(a,b);if(!X[a]){H.open("GET",a,false);H.send();if(H.status==0||H.status==200){X[a]=H.responseText}}}catch(e){}finally{return X[a]||""}};if(k<5.5){undefined=Q();bA="HTML:!";var cm=/(g|gi)$/;var cn=String.prototype.replace;String.prototype.replace=function(a,b){if(typeof b=="function"){if(a&&a.constructor==RegExp){var c=a;var d=c.global;if(d==null)d=cm.test(c);if(d)c=new RegExp(c.source)}else{c=new RegExp(bb(a))}var f,g=this,h="";while(g&&(f=c.exec(g))){h+=g.slice(0,f.index)+b.apply(this,f);g=g.slice(f.index+f[0].length);if(!d)break}return h+g}return cn.apply(this,arguments)};Array.prototype.pop=function(){if(this.length){var a=this[this.length-1];this.length--;return a}return undefined};Array.prototype.push=function(){for(var a=0;a<arguments.length;a++){this[this.length]=arguments[a]}return this.length};var co=this;Function.prototype.apply=function(a,b){if(a===undefined)a=co;else if(a==null)a=window;else if(typeof a=="string")a=new String(a);else if(typeof a=="number")a=new Number(a);else if(typeof a=="boolean")a=new Boolean(a);if(arguments.length==1)b=[];else if(b[0]&&b[0].writeln)b[0]=b[0].documentElement.document||b[0];var c="#ie7_apply",d;a[c]=this;switch(b.length){case 0:d=a[c]();break;case 1:d=a[c](b[0]);break;case 2:d=a[c](b[0],b[1]);break;case 3:d=a[c](b[0],b[1],b[2]);break;case 4:d=a[c](b[0],b[1],b[2],b[3]);break;case 5:d=a[c](b[0],b[1],b[2],b[3],b[4]);break;default:var f=[],g=b.length-1;do f[g]="a["+g+"]";while(g--);eval("r=o[$]("+f+")")}if(typeof a.valueOf=="function"){delete a[c]}else{a[c]=undefined;if(d&&d.writeln)d=d.documentElement.document||d}return d};Function.prototype.call=function(a){return this.apply(a,bC.apply(arguments,[1]))};G+="address,blockquote,body,dd,div,dt,fieldset,form,"+"frame,frameset,h1,h2,h3,h4,h5,h6,iframe,noframes,object,p,"+"hr,applet,center,dir,menu,pre,dl,li,ol,ul{display:block}"}var bC=Array.prototype.slice;var cJ=/%([1-9])/g;var cp=/^\s\s*/;var cq=/\s\s*$/;var cr=/([\/()[\]{}|*+-.,^$?\\])/g;var bD=/\bbase\b/;var bE=["constructor","toString"];var Y;function z(){};z.extend=function(a,b){Y=true;var c=new this;ba(c,a);Y=false;var d=c.constructor;function f(){if(!Y)d.apply(this,arguments)};c.constructor=f;f.extend=arguments.callee;ba(f,b);f.prototype=c;return f};z.prototype.extend=function(a){return ba(this,a)};var bo="#";var Z="~";var cs=/\\./g;var ct=/\(\?[:=!]|\[[^\]]+\]/g;var cu=/\(/g;var D=z.extend({constructor:function(a){this[Z]=[];this.merge(a)},exec:function(g){var h=this,p=this[Z];return String(g).replace(new RegExp(this,this.ignoreCase?"gi":"g"),function(){var a,b=1,c=0;while((a=h[bo+p[c++]])){var d=b+a.length+1;if(arguments[b]){var f=a.replacement;switch(typeof f){case"function":return f.apply(h,bC.call(arguments,b,d));case"number":return arguments[b+f];default:return f}}b=d}})},add:function(a,b){if(a instanceof RegExp){a=a.source}if(!this[bo+a])this[Z].push(String(a));this[bo+a]=new D.Item(a,b)},merge:function(a){for(var b in a)this.add(b,a[b])},toString:function(){return"("+this[Z].join(")|(")+")"}},{IGNORE:"$0",Item:z.extend({constructor:function(a,b){a=a instanceof RegExp?a.source:String(a);if(typeof b=="number")b=String(b);else if(b==null)b="";if(typeof b=="string"&&/\$(\d+)/.test(b)){if(/^\$\d+$/.test(b)){b=parseInt(b.slice(1))}else{var c=/'/.test(b.replace(/\\./g,""))?'"':"'";b=b.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\$(\d+)/g,c+"+(arguments[$1]||"+c+c+")+"+c);b=new Function("return "+c+b.replace(/(['"])\1\+(.*)\+\1\1$/,"$1")+c)}}this.length=D.count(a);this.replacement=b;this.toString=bG(a)}}),count:function(a){a=String(a).replace(cs,"").replace(ct,"");return I(a,cu).length}});function ba(a,b){if(a&&b){var c=(typeof b=="function"?Function:Object).prototype;var d=bE.length,f;if(Y)while(f=bE[--d]){var g=b[f];if(g!=c[f]){if(bD.test(g)){bF(a,f,g)}else{a[f]=g}}}for(f in b)if(c[f]===undefined){var g=b[f];if(a[f]&&typeof g=="function"&&bD.test(g)){bF(a,f,g)}else{a[f]=g}}}return a};function bF(c,d,f){var g=c[d];c[d]=function(){var a=this.base;this.base=g;var b=f.apply(this,arguments);this.base=a;return b}};function cv(a,b){if(!b)b=a;var c={};for(var d in a)c[d]=b[d];return c};function i(c){var d=arguments;var f=new RegExp("%([1-"+arguments.length+"])","g");return String(c).replace(f,function(a,b){return b<d.length?d[b]:a})};function I(a,b){return String(a).match(b)||[]};function bb(a){return String(a).replace(cr,"\\$1")};function cK(a){return String(a).replace(cp,"").replace(cq,"")};function bG(a){return function(){return a}};var bH=D.extend({ignoreCase:true});var cw=/\x01(\d+)/g,cx=/'/g,cy=/^\x01/,cz=/\\([\da-fA-F]{1,4})/g;var bp=[];var cA=new bH({"<!\\-\\-|\\-\\->":"","\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\/":"","@(namespace|import)[^;\\n]+[;\\n]":"","'(\\\\.|[^'\\\\])*'":bJ,'"(\\\\.|[^"\\\\])*"':bJ,"\\s+":" "});function cB(a){return cA.exec(a)};function bI(c){return c.replace(cw,function(a,b){return bp[b-1]})};function bJ(c){return"\x01"+bp.push(c.replace(cz,function(a,b){return eval("'\\u"+"0000".slice(b.length)+b+"'")}).slice(1,-1).replace(cx,"\\'"))};function cC(a){return cy.test(a)?bp[a.slice(1)-1]:a};var cD=new D({Width:"Height",width:"height",Left:"Top",left:"top",Right:"Bottom",right:"bottom",onX:"onY"});function A(a){return cD.exec(a)};var bK=[];function bq(a){cF(a);w(window,"onresize",a)};function w(a,b,c){a.attachEvent(b,c);bK.push(arguments)};function cE(a,b,c){try{a.detachEvent(b,c)}catch(ignore){}};w(window,"onunload",function(){var a;while(a=bK.pop()){cE(a[0],a[1],a[2])}});function R(a,b,c){if(!a.elements)a.elements={};if(c)a.elements[b.uniqueID]=b;else delete a.elements[b.uniqueID];return c};w(window,"onbeforeprint",function(){if(!IE7.CSS.print)new bw("print");IE7.CSS.print.recalc()});var bL=/^\d+(px)?$/i;var J=/^\d+%$/;var E=function(a,b){if(bL.test(b))return parseInt(b);var c=a.style.left;var d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b||0;b=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return b};var br="ie7-";var bM=z.extend({constructor:function(){this.fixes=[];this.recalcs=[]},init:Q});var bs=[];function cF(a){bs.push(a)};IE7.recalc=function(){IE7.HTML.recalc();IE7.CSS.recalc();for(var a=0;a<bs.length;a++)bs[a]()};function bc(a){return a.currentStyle["ie7-position"]=="fixed"};function bt(a,b){return a.currentStyle[br+b]||a.currentStyle[b]};function K(a,b,c){if(a.currentStyle[br+b]==null){a.runtimeStyle[br+b]=a.currentStyle[b]}a.runtimeStyle[b]=c};function bN(a){var b=document.createElement(a||"object");b.style.cssText="position:absolute;padding:0;display:block;border:none;clip:rect(0 0 0 0);left:-9999";b.ie7_anon=true;return b};function B(a,b,c){if(!be[a]){F=[];var d="";var f=T.escape(a).split(",");for(var g=0;g<f.length;g++){o=m=x=0;S=f.length>1?2:0;var h=T.exec(f[g])||"if(0){";if(o){h+=i("if(e%1.nodeName!='!'){",m)}var p=S>1?bV:"";h+=i(p+bW,m);h+=Array(I(h,/\{/g).length+1).join("}");d+=h}eval(i(bX,F)+T.unescape(d)+"return s?null:r}");be[a]=_h}return be[a](b||document,c)};var bd=k<6;var bO=/^(href|src)$/;var bu={"class":"className","for":"htmlFor"};IE7._5=1;IE7._e=function(a,b){var c=a.all[b]||null;if(!c||c.id==b)return c;for(var d=0;d<c.length;d++){if(c[d].id==b)return c[d]}return null};IE7._f=function(a,b){if(b=="src"&&a.pngSrc)return a.pngSrc;var c=bd?(a.attributes[b]||a.attributes[bu[b.toLowerCase()]]):a.getAttributeNode(b);if(c&&(c.specified||b=="value")){if(bO.test(b)){return a.getAttribute(b,2)}else if(b=="class"){return a.className.replace(/\sie7_\w+/g,"")}else if(b=="style"){return a.style.cssText}else{return c.nodeValue}}return null};var bP="colSpan,rowSpan,vAlign,dateTime,accessKey,tabIndex,encType,maxLength,readOnly,longDesc";ba(bu,cv(bP.toLowerCase().split(","),bP.split(",")));IE7._a=function(a){while(a&&(a=a.nextSibling)&&(a.nodeType!=1||a.nodeName=="!"))continue;return a};IE7._b=function(a){while(a&&(a=a.previousSibling)&&(a.nodeType!=1||a.nodeName=="!"))continue;return a};var cG=/([\s>+~,]|[^(]\+|^)([#.:\[])/g,cH=/(^|,)([^\s>+~])/g,cI=/\s*([\s>+~(),]|^|$)\s*/g,bQ=/\s\*\s/g;var bR=D.extend({constructor:function(a){this.base(a);this.sorter=new D;this.sorter.add(/:not\([^)]*\)/,D.IGNORE);this.sorter.add(/([ >](\*|[\w-]+))([^: >+~]*)(:\w+-child(\([^)]+\))?)([^: >+~]*)/,"$1$3$6$4")},ignoreCase:true,escape:function(a){return this.optimise(this.format(a))},format:function(a){return a.replace(cI,"$1").replace(cH,"$1 $2").replace(cG,"$1*$2")},optimise:function(a){return this.sorter.exec(a.replace(bQ,">* "))},unescape:function(a){return bI(a)}});var bS={"":"%1!=null","=":"%1=='%2'","~=":/(^| )%1( |$)/,"|=":/^%1(-|$)/,"^=":/^%1/,"$=":/%1$/,"*=":/%1/};var bT={"first-child":"!IE7._b(e%1)","link":"e%1.currentStyle['ie7-link']=='link'","visited":"e%1.currentStyle['ie7-link']=='visited'"};var bv="var p%2=0,i%2,e%2,n%2=e%1.";var bU="e%1.sourceIndex";var bV="var g="+bU+";if(!p[g]){p[g]=1;";var bW="r[r.length]=e%1;if(s)return e%1;";var bX="var _h=function(e0,s){IE7._5++;var r=[],p={},reg=[%1],d=document;";var F;var m;var o;var x;var S;var be={};var T=new bR({" (\\*|[\\w-]+)#([\\w-]+)":function(a,b,c){o=false;var d="var e%2=IE7._e(d,'%4');if(e%2&&";if(b!="*")d+="e%2.nodeName=='%3'&&";d+="(e%1==d||e%1.contains(e%2))){";if(x)d+=i("i%1=n%1.length;",x);return i(d,m++,m,b.toUpperCase(),c)}," (\\*|[\\w-]+)":function(a,b){S++;o=b=="*";var c=bv;c+=(o&&bd)?"all":"getElementsByTagName('%3')";c+=";for(i%2=0;(e%2=n%2[i%2]);i%2++){";return i(c,m++,x=m,b.toUpperCase())},">(\\*|[\\w-]+)":function(a,b){var c=x;o=b=="*";var d=bv;d+=c?"children":"childNodes";if(!o&&c)d+=".tags('%3')";d+=";for(i%2=0;(e%2=n%2[i%2]);i%2++){";if(o){d+="if(e%2.nodeType==1){";o=bd}else{if(!c)d+="if(e%2.nodeName=='%3'){"}return i(d,m++,x=m,b.toUpperCase())},"\\+(\\*|[\\w-]+)":function(a,b){var c="";if(o)c+="if(e%1.nodeName!='!'){";o=false;c+="e%1=IE7._a(e%1);if(e%1";if(b!="*")c+="&&e%1.nodeName=='%2'";c+="){";return i(c,m,b.toUpperCase())},"~(\\*|[\\w-]+)":function(a,b){var c="";if(o)c+="if(e%1.nodeName!='!'){";o=false;S=2;c+="while(e%1=e%1.nextSibling){if(e%1.ie7_adjacent==IE7._5)break;if(";if(b=="*"){c+="e%1.nodeType==1";if(bd)c+="&&e%1.nodeName!='!'"}else c+="e%1.nodeName=='%2'";c+="){e%1.ie7_adjacent=IE7._5;";return i(c,m,b.toUpperCase())},"#([\\w-]+)":function(a,b){o=false;var c="if(e%1.id=='%2'){";if(x)c+=i("i%1=n%1.length;",x);return i(c,m,b)},"\\.([\\w-]+)":function(a,b){o=false;F.push(new RegExp("(^|\\s)"+bb(b)+"(\\s|$)"));return i("if(e%1.className&&reg[%2].test(e%1.className)){",m,F.length-1)},"\\[([\\w-]+)\\s*([^=]?=)?\\s*([^\\]]*)\\]":function(a,b,c,d){var f=bu[b]||b;if(c){var g="e%1.getAttribute('%2',2)";if(!bO.test(b)){g="e%1.%3||"+g}b=i("("+g+")",m,b,f)}else{b=i("IE7._f(e%1,'%2')",m,b)}var h=bS[c||""]||"0";if(h&&h.source){F.push(new RegExp(i(h.source,bb(T.unescape(d)))));h="reg[%2].test(%1)";d=F.length-1}return"if("+i(h,b,d)+"){"},":+([\\w-]+)(\\(([^)]+)\\))?":function(a,b,c,d){b=bT[b];return"if("+(b?i(b,m,d||""):"0")+"){"}});var bY=/a(#[\w-]+)?(\.[\w-]+)?:(hover|active)/i;var bZ=/\s*\{\s*/,ca=/\s*\}\s*/,cb=/\s*\,\s*/;var cc=/(.*)(:first-(line|letter))/;var y=document.styleSheets;IE7.CSS=new(bM.extend({parser:new bH,screen:"",print:"",styles:[],rules:[],pseudoClasses:k<7?"first\\-child":"",dynamicPseudoClasses:{toString:function(){var a=[];for(var b in this)a.push(b);return a.join("|")}},init:function(){var a="^\x01$";var b="\\[class=?[^\\]]*\\]";var c=[];if(this.pseudoClasses)c.push(this.pseudoClasses);var d=this.dynamicPseudoClasses.toString();if(d)c.push(d);c=c.join("|");var f=k<7?["[>+~[(]|([:.])\\w+\\1"]:[b];if(c)f.push(":("+c+")");this.UNKNOWN=new RegExp(f.join("|")||a,"i");var g=k<7?["\\[[^\\]]+\\]|[^\\s(\\[]+\\s*[+~]"]:[b];var h=g.concat();if(c)h.push(":("+c+")");n.COMPLEX=new RegExp(h.join("|")||a,"ig");if(this.pseudoClasses)g.push(":("+this.pseudoClasses+")");L.COMPLEX=new RegExp(g.join("|")||a,"i");L.MATCH=new RegExp(d?"(.*):("+d+")(.*)":a,"i");this.createStyleSheet();this.refresh()},addEventHandler:function(){w.apply(null,arguments)},addFix:function(a,b){this.parser.add(a,b)},addRecalc:function(c,d,f,g){d=new RegExp("([{;\\s])"+c+"\\s*:\\s*"+d+"[^;}]*");var h=this.recalcs.length;if(g)g=c+":"+g;this.addFix(d,function(a,b){return(g?b+g:a)+";ie7-"+a.slice(1)+";ie7_recalc"+h+":1"});this.recalcs.push(arguments);return h},apply:function(){this.getInlineStyles();new bw("screen");this.trash()},createStyleSheet:function(){this.styleSheet=document.createStyleSheet();this.styleSheet.ie7=true;this.styleSheet.owningElement.ie7=true;this.styleSheet.cssText=G},getInlineStyles:function(){var a=document.getElementsByTagName("style"),b;for(var c=a.length-1;(b=a[c]);c--){if(!b.disabled&&!b.ie7){this.styles.push(b.innerHTML)}}},getText:function(a,b){try{var c=a.cssText}catch(e){c=""}if(H)c=cl(a.href,b)||c;return c},recalc:function(){this.screen.recalc();var a=/ie7_recalc\d+/g;var b=G.match(/[{,]/g).length;var c=b+(this.screen.cssText.match(/\{/g)||"").length;var d=this.styleSheet.rules,f;var g,h,p,t,q,j,u,l;for(q=b;q<c;q++){f=d[q];var r=f.style.cssText;if(f&&(g=r.match(a))){p=B(f.selectorText);if(p.length)for(j=0;j<g.length;j++){l=g[j];h=IE7.CSS.recalcs[l.slice(10)][2];for(u=0;(t=p[u]);u++){if(t.currentStyle[l])h(t,r)}}}}},refresh:function(){this.styleSheet.cssText=G+this.screen+this.print},trash:function(){for(var a=0;a<y.length;a++){if(!y[a].ie7){try{var b=y[a].cssText}catch(e){b=""}if(b)y[a].cssText=""}}}}));var bw=z.extend({constructor:function(a){this.media=a;this.load();IE7.CSS[a]=this;IE7.CSS.refresh()},createRule:function(a,b){if(IE7.CSS.UNKNOWN.test(a)){var c;if(bf&&(c=a.match(bf.MATCH))){return new bf(c[1],c[2],b)}else if(c=a.match(L.MATCH)){if(!bY.test(c[0])||L.COMPLEX.test(c[0])){return new L(a,c[1],c[2],c[3],b)}}else return new n(a,b)}return a+" {"+b+"}"},getText:function(){var h=[].concat(IE7.CSS.styles);var p=/@media\s+([^{]*)\{([^@]+\})\s*\}/gi;var t=/\ball\b|^$/i,q=/\bscreen\b/i,j=/\bprint\b/i;function u(a,b){l.value=b;return a.replace(p,l)};function l(a,b,c){b=r(b);switch(b){case"screen":case"print":if(b!=l.value)return"";case"all":return c}return""};function r(a){if(t.test(a))return"all";else if(q.test(a))return(j.test(a))?"all":"screen";else if(j.test(a))return"print"};var N=this;function O(a,b,c,d){var f="";if(!d){c=r(a.media);d=0}if(c=="all"||c==N.media){if(d<3){for(var g=0;g<a.imports.length;g++){f+=O(a.imports[g],bn(a.href,b),c,d+1)}}f+=cB(a.href?cg(a,b):h.pop()||"");f=u(f,N.media)}return f};var bl={};function cg(a,b){var c=W(a.href,b);if(bl[c])return"";bl[c]=(a.disabled)?"":ci(IE7.CSS.getText(a,b),bn(a.href,b));return bl[c]};var ch=/(url\s*\(\s*['"]?)([\w\.]+[^:\)]*['"]?\))/gi;function ci(a,b){return a.replace(ch,"$1"+b.slice(0,b.lastIndexOf("/")+1)+"$2")};for(var P=0;P<y.length;P++){if(!y[P].disabled&&!y[P].ie7){this.cssText+=O(y[P])}}},load:function(){this.cssText="";this.getText();this.parse();this.cssText=bI(this.cssText);X={}},parse:function(){this.cssText=IE7.CSS.parser.exec(this.cssText);var a=IE7.CSS.rules.length;var b=this.cssText.split(ca),c;var d,f,g,h;for(g=0;g<b.length;g++){c=b[g].split(bZ);d=c[0].split(cb);f=c[1];for(h=0;h<d.length;h++){d[h]=f?this.createRule(d[h],f):""}b[g]=d.join("\n")}this.cssText=b.join("\n");this.rules=IE7.CSS.rules.slice(a)},recalc:function(){var a,b;for(b=0;(a=this.rules[b]);b++)a.recalc()},toString:function(){return"@media "+this.media+"{"+this.cssText+"}"}});var bf;var n=IE7.Rule=z.extend({constructor:function(a,b){this.id=IE7.CSS.rules.length;this.className=n.PREFIX+this.id;a=a.match(cc)||a||"*";this.selector=a[1]||a;this.selectorText=this.parse(this.selector)+(a[2]||"");this.cssText=b;this.MATCH=new RegExp("\\s"+this.className+"(\\s|$)","g");IE7.CSS.rules.push(this);this.init()},init:Q,add:function(a){a.className+=" "+this.className},recalc:function(){var a=B(this.selector);for(var b=0;b<a.length;b++)this.add(a[b])},parse:function(a){var b=a.replace(n.CHILD," ").replace(n.COMPLEX,"");if(k<7)b=b.replace(n.MULTI,"");var c=I(b,n.TAGS).length-I(a,n.TAGS).length;var d=I(b,n.CLASSES).length-I(a,n.CLASSES).length+1;while(d>0&&n.CLASS.test(b)){b=b.replace(n.CLASS,"");d--}while(c>0&&n.TAG.test(b)){b=b.replace(n.TAG,"$1*");c--}b+="."+this.className;d=Math.min(d,2);c=Math.min(c,2);var f=-10*d-c;if(f>0){b=b+","+n.MAP[f]+" "+b}return b},remove:function(a){a.className=a.className.replace(this.MATCH,"$1")},toString:function(){return i("%1 {%2}",this.selectorText,this.cssText)}},{CHILD:/>/g,CLASS:/\.[\w-]+/,CLASSES:/[.:\[]/g,MULTI:/(\.[\w-]+)+/g,PREFIX:"ie7_class",TAG:/^\w+|([\s>+~])\w+/,TAGS:/^\w|[\s>+~]\w/g,MAP:{1:"html",2:"html body",10:".ie7_html",11:"html.ie7_html",12:"html.ie7_html body",20:".ie7_html .ie7_body",21:"html.ie7_html .ie7_body",22:"html.ie7_html body.ie7_body"}});var L=n.extend({constructor:function(a,b,c,d,f){this.attach=b||"*";this.dynamicPseudoClass=IE7.CSS.dynamicPseudoClasses[c];this.target=d;this.base(a,f)},recalc:function(){var a=B(this.attach),b;for(var c=0;b=a[c];c++){var d=this.target?B(this.target,b):[b];if(d.length)this.dynamicPseudoClass.apply(b,d,this)}}});var cd=z.extend({constructor:function(a,b){this.name=a;this.apply=b;this.instances={};IE7.CSS.dynamicPseudoClasses[a]=this},register:function(a){var b=a[2];a.id=b.id+a[0].uniqueID;if(!this.instances[a.id]){var c=a[1],d;for(d=0;d<c.length;d++)b.add(c[d]);this.instances[a.id]=a}},unregister:function(a){if(this.instances[a.id]){var b=a[2];var c=a[1],d;for(d=0;d<c.length;d++)b.remove(c[d]);delete this.instances[a.id]}}});if(k<7){var U=new cd("hover",function(a){var b=arguments;IE7.CSS.addEventHandler(a,k<5.5?"onmouseover":"onmouseenter",function(){U.register(b)});IE7.CSS.addEventHandler(a,k<5.5?"onmouseout":"onmouseleave",function(){U.unregister(b)})});w(document,"onmouseup",function(){var a=U.instances;for(var b in a)if(!a[b][0].contains(event.srcElement))U.unregister(a[b])})}IE7.CSS.addRecalc("[\\w-]+","inherit",function(c,d){var f=d.match(/[\w-]+\s*:\s*inherit/g);for(var g=0;g<f.length;g++){var h=f[g].replace(/ie7\-|\s*:\s*inherit/g,"").replace(/\-([a-z])/g,function(a,b){return b.toUpperCase()});c.runtimeStyle[h]=c.parentElement.currentStyle[h]}});IE7.HTML=new(bM.extend({fixed:{},init:Q,addFix:function(){this.fixes.push(arguments)},apply:function(){for(var a=0;a<this.fixes.length;a++){var b=B(this.fixes[a][0]);var c=this.fixes[a][1];for(var d=0;d<b.length;d++)c(b[d])}},addRecalc:function(){this.recalcs.push(arguments)},recalc:function(){for(var a=0;a<this.recalcs.length;a++){var b=B(this.recalcs[a][0]);var c=this.recalcs[a][1],d;var f=Math.pow(2,a);for(var g=0;(d=b[g]);g++){var h=d.uniqueID;if((this.fixed[h]&f)==0){d=c(d)||d;this.fixed[h]|=f}}}}}));if(k<7){document.createElement("abbr");IE7.HTML.addRecalc("label",function(a){if(!a.htmlFor){var b=B("input,textarea",a,true);if(b){w(a,"onclick",function(){b.click()})}}})}var V="[.\\d]";new function(_){var layout=IE7.Layout=this;G+="*{boxSizing:content-box}";IE7.hasLayout=k<5.5?function(a){return a.clientWidth}:function(a){return a.currentStyle.hasLayout};layout.boxSizing=function(a){if(!IE7.hasLayout(a)){a.style.height="0cm";if(a.currentStyle.verticalAlign=="auto")a.runtimeStyle.verticalAlign="top";collapseMargins(a)}};function collapseMargins(a){if(a!=s&&a.currentStyle.position!="absolute"){collapseMargin(a,"marginTop");collapseMargin(a,"marginBottom")}};function collapseMargin(a,b){if(!a.runtimeStyle[b]){var c=a.parentElement;if(c&&IE7.hasLayout(c)&&!IE7[b=="marginTop"?"_b":"_a"](a))return;var d=B(">*:"+(b=="marginTop"?"first":"last")+"-child",a,true);if(d&&d.currentStyle.styleFloat=="none"&&IE7.hasLayout(d)){collapseMargin(d,b);margin=_9(a,a.currentStyle[b]);childMargin=_9(d,d.currentStyle[b]);if(margin<0||childMargin<0){a.runtimeStyle[b]=margin+childMargin}else{a.runtimeStyle[b]=Math.max(childMargin,margin)}d.runtimeStyle[b]="0px"}}};function _9(a,b){return b=="auto"?0:E(a,b)};var UNIT=/^[.\d][\w%]*$/,AUTO=/^(auto|0cm)$/;var applyWidth,applyHeight;IE7.Layout.borderBox=function(a){applyWidth(a);applyHeight(a)};var fixWidth=function(g){applyWidth=function(a){if(!J.test(a.currentStyle.width))h(a);collapseMargins(a)};function h(a,b){if(!a.runtimeStyle.fixedWidth){if(!b)b=a.currentStyle.width;a.runtimeStyle.fixedWidth=(UNIT.test(b))?Math.max(0,q(a,b)):b;K(a,"width",a.runtimeStyle.fixedWidth)}};function p(a){if(!bc(a)){var b=a.offsetParent;while(b&&!IE7.hasLayout(b))b=b.offsetParent}return(b||s).clientWidth};function t(a,b){if(J.test(b))return parseInt(parseFloat(b)/100*p(a));return E(a,b)};var q=function(a,b){var c=a.currentStyle["box-sizing"]=="border-box";var d=0;if(C&&!c)d+=j(a)+u(a,"padding");else if(!C&&c)d-=j(a)+u(a,"padding");return t(a,b)+d};function j(a){return a.offsetWidth-a.clientWidth};function u(a,b){return t(a,a.currentStyle[b+"Left"])+t(a,a.currentStyle[b+"Right"])};G+="*{minWidth:none;maxWidth:none;min-width:none;max-width:none}";layout.minWidth=function(a){if(a.currentStyle["min-width"]!=null){a.style.minWidth=a.currentStyle["min-width"]}if(R(arguments.callee,a,a.currentStyle.minWidth!="none")){layout.boxSizing(a);h(a);l(a)}};eval("IE7.Layout.maxWidth="+String(layout.minWidth).replace(/min/g,"max"));function l(a){var b=a.getBoundingClientRect();var c=b.right-b.left;if(a.currentStyle.minWidth!="none"&&c<=q(a,a.currentStyle.minWidth)){a.runtimeStyle.width=a.currentStyle.minWidth}else if(a.currentStyle.maxWidth!="none"&&c>=q(a,a.currentStyle.maxWidth)){a.runtimeStyle.width=a.currentStyle.maxWidth}else{a.runtimeStyle.width=a.runtimeStyle.fixedWidth}};function r(a){if(R(r,a,/^(fixed|absolute)$/.test(a.currentStyle.position)&&bt(a,"left")!="auto"&&bt(a,"right")!="auto"&&AUTO.test(bt(a,"width")))){N(a);IE7.Layout.boxSizing(a)}};IE7.Layout.fixRight=r;function N(a){var b=t(a,a.runtimeStyle._c||a.currentStyle.left);var c=p(a)-t(a,a.currentStyle.right)-b-u(a,"margin");if(parseInt(a.runtimeStyle.width)==c)return;a.runtimeStyle.width="";if(bc(a)||g||a.offsetWidth<c){if(!C)c-=j(a)+u(a,"padding");if(c<0)c=0;a.runtimeStyle.fixedWidth=c;K(a,"width",c)}};var O=0;bq(function(){if(!s)return;var a,b=(O<s.clientWidth);O=s.clientWidth;var c=layout.minWidth.elements;for(a in c){var d=c[a];var f=(parseInt(d.runtimeStyle.width)==q(d,d.currentStyle.minWidth));if(b&&f)d.runtimeStyle.width="";if(b==f)l(d)}var c=layout.maxWidth.elements;for(a in c){var d=c[a];var f=(parseInt(d.runtimeStyle.width)==q(d,d.currentStyle.maxWidth));if(!b&&f)d.runtimeStyle.width="";if(b!=f)l(d)}for(a in r.elements)N(r.elements[a])});if(C){IE7.CSS.addRecalc("width",V,applyWidth)}if(k<7){IE7.CSS.addRecalc("min-width",V,layout.minWidth);IE7.CSS.addRecalc("max-width",V,layout.maxWidth);IE7.CSS.addRecalc("right",V,r)}};eval("var fixHeight="+A(fixWidth));fixWidth();fixHeight(true)};var bg=W("blank.gif",ck);var bh="DXImageTransform.Microsoft.AlphaImageLoader";var bx="progid:"+bh+"(src='%1',sizingMethod='%2')";var bi;var M=[];function by(a){if(bi.test(a.src)){var b=new Image(a.width,a.height);b.onload=function(){a.width=b.width;a.height=b.height;b=null};b.src=a.src;a.pngSrc=a.src;bz(a)}};if(k>=5.5&&k<7){IE7.CSS.addFix(/background(-image)?\s*:\s*([^};]*)?url\(([^\)]+)\)([^;}]*)?/,function(a,b,c,d,f){d=cC(d);return bi.test(d)?"filter:"+i(bx,d,"crop")+";zoom:1;background"+(b||"")+":"+(c||"")+"none"+(f||""):a});IE7.HTML.addRecalc("img,input",function(a){if(a.tagName=="INPUT"&&a.type!="image")return;by(a);w(a,"onpropertychange",function(){if(!bj&&event.propertyName=="src"&&a.src.indexOf(bg)==-1)by(a)})});var bj=false;w(window,"onbeforeprint",function(){bj=true;for(var a=0;a<M.length;a++)ce(M[a])});w(window,"onafterprint",function(){for(var a=0;a<M.length;a++)bz(M[a]);bj=false})}function bz(a,b){var c=a.filters[bh];if(c){c.src=a.src;c.enabled=true}else{a.runtimeStyle.filter=i(bx,a.src,b||"scale");M.push(a)}a.src=bg};function ce(a){a.src=a.pngSrc;a.filters[bh].enabled=false};new function(_){if(k>=7)return;IE7.CSS.addRecalc("position","fixed",_6,"absolute");IE7.CSS.addRecalc("background(-attachment)?","[^};]*fixed",_2);var $viewport=C?"body":"documentElement";function _3(){if(v.currentStyle.backgroundAttachment!="fixed"){if(v.currentStyle.backgroundImage=="none"){v.runtimeStyle.backgroundRepeat="no-repeat";v.runtimeStyle.backgroundImage="url("+bg+")"}v.runtimeStyle.backgroundAttachment="fixed"}_3=Q};var _0=bN("img");function _1(a){return a?bc(a)||_1(a.parentElement):false};function _d(a,b,c){setTimeout("document.all."+a.uniqueID+".runtimeStyle.setExpression('"+b+"','"+c+"')",0)};function _2(a){if(R(_2,a,a.currentStyle.backgroundAttachment=="fixed"&&!a.contains(v))){_3();bgLeft(a);bgTop(a);_8(a)}};function _8(a){_0.src=a.currentStyle.backgroundImage.slice(5,-2);var b=a.canHaveChildren?a:a.parentElement;b.appendChild(_0);setOffsetLeft(a);setOffsetTop(a);b.removeChild(_0)};function bgLeft(a){a.style.backgroundPositionX=a.currentStyle.backgroundPositionX;if(!_1(a)){_d(a,"backgroundPositionX","(parseInt(runtimeStyle.offsetLeft)+document."+$viewport+".scrollLeft)||0")}};eval(A(bgLeft));function setOffsetLeft(a){var b=_1(a)?"backgroundPositionX":"offsetLeft";a.runtimeStyle[b]=getOffsetLeft(a,a.style.backgroundPositionX)-a.getBoundingClientRect().left-a.clientLeft+2};eval(A(setOffsetLeft));function getOffsetLeft(a,b){switch(b){case"left":case"top":return 0;case"right":case"bottom":return s.clientWidth-_0.offsetWidth;case"center":return(s.clientWidth-_0.offsetWidth)/2;default:if(J.test(b)){return parseInt((s.clientWidth-_0.offsetWidth)*parseFloat(b)/100)}_0.style.left=b;return _0.offsetLeft}};eval(A(getOffsetLeft));function _6(a){if(R(_6,a,bc(a))){K(a,"position","absolute");K(a,"left",a.currentStyle.left);K(a,"top",a.currentStyle.top);_3();IE7.Layout.fixRight(a);_4(a)}};function _4(a,b){positionTop(a,b);positionLeft(a,b,true);if(!a.runtimeStyle.autoLeft&&a.currentStyle.marginLeft=="auto"&&a.currentStyle.right!="auto"){var c=s.clientWidth-getPixelWidth(a,a.currentStyle.right)-getPixelWidth(a,a.runtimeStyle._c)-a.clientWidth;if(a.currentStyle.marginRight=="auto")c=parseInt(c/2);if(_1(a.offsetParent))a.runtimeStyle.pixelLeft+=c;else a.runtimeStyle.shiftLeft=c}clipWidth(a);clipHeight(a)};function clipWidth(a){var b=a.runtimeStyle.fixWidth;a.runtimeStyle.borderRightWidth="";a.runtimeStyle.width=b?getPixelWidth(a,b):"";if(a.currentStyle.width!="auto"){var c=a.getBoundingClientRect();var d=a.offsetWidth-s.clientWidth+c.left-2;if(d>=0){a.runtimeStyle.borderRightWidth="0px";d=Math.max(E(a,a.currentStyle.width)-d,0);K(a,"width",d);return d}}};eval(A(clipWidth));function positionLeft(a,b){if(!b&&J.test(a.currentStyle.width)){a.runtimeStyle.fixWidth=a.currentStyle.width}if(a.runtimeStyle.fixWidth){a.runtimeStyle.width=getPixelWidth(a,a.runtimeStyle.fixWidth)}a.runtimeStyle.shiftLeft=0;a.runtimeStyle._c=a.currentStyle.left;a.runtimeStyle.autoLeft=a.currentStyle.right!="auto"&&a.currentStyle.left=="auto";a.runtimeStyle.left="";a.runtimeStyle.screenLeft=getScreenLeft(a);a.runtimeStyle.pixelLeft=a.runtimeStyle.screenLeft;if(!b&&!_1(a.offsetParent)){_d(a,"pixelLeft","runtimeStyle.screenLeft+runtimeStyle.shiftLeft+document."+$viewport+".scrollLeft")}};eval(A(positionLeft));function getScreenLeft(a){var b=a.offsetLeft,c=1;if(a.runtimeStyle.autoLeft){b=s.clientWidth-a.offsetWidth-getPixelWidth(a,a.currentStyle.right)}if(a.currentStyle.marginLeft!="auto"){b-=getPixelWidth(a,a.currentStyle.marginLeft)}while(a=a.offsetParent){if(a.currentStyle.position!="static")c=-1;b+=a.offsetLeft*c}return b};eval(A(getScreenLeft));function getPixelWidth(a,b){return J.test(b)?parseInt(parseFloat(b)/100*s.clientWidth):E(a,b)};eval(A(getPixelWidth));function _g(){var a=_2.elements;for(var b in a)_8(a[b]);a=_6.elements;for(b in a){_4(a[b],true);_4(a[b],true)}_7=0};var _7;bq(function(){if(!_7)_7=setTimeout(_g,0)})};var bk={backgroundColor:"transparent",backgroundImage:"none",backgroundPositionX:null,backgroundPositionY:null,backgroundRepeat:null,borderTopWidth:0,borderRightWidth:0,borderBottomWidth:0,borderLeftStyle:"none",borderTopStyle:"none",borderRightStyle:"none",borderBottomStyle:"none",borderLeftWidth:0,height:null,marginTop:0,marginBottom:0,marginRight:0,marginLeft:0,width:"100%"};IE7.CSS.addRecalc("overflow","visible",function(a){if(a.parentNode.ie7_wrapped)return;if(IE7.Layout&&a.currentStyle["max-height"]!="auto"){IE7.Layout.maxHeight(a)}if(a.currentStyle.marginLeft=="auto")a.style.marginLeft=0;if(a.currentStyle.marginRight=="auto")a.style.marginRight=0;var b=document.createElement(bA);b.ie7_wrapped=a;for(var c in bk){b.style[c]=a.currentStyle[c];if(bk[c]!=null){a.runtimeStyle[c]=bk[c]}}b.style.display="block";b.style.position="relative";a.runtimeStyle.position="absolute";a.parentNode.insertBefore(b,a);b.appendChild(a)});function cf(){var f="xx-small,x-small,small,medium,large,x-large,xx-large".split(",");for(var g=0;g<f.length;g++){f[f[g]]=f[g-1]||"0.67em"}IE7.CSS.addFix(/(font(-size)?\s*:\s*)([\w.-]+)/,function(a,b,c,d){return b+(f[d]||d)});if(k<6){var h=/^\-/,p=/(em|ex)$/i;var t=/em$/i,q=/ex$/i;E=function(a,b){if(bL.test(b))return parseInt(b)||0;var c=h.test(b)?-1:1;if(p.test(b))c*=u(a);j.style.width=(c<0)?b.slice(1):b;v.appendChild(j);b=c*j.offsetWidth;j.removeNode();return parseInt(b)};var j=bN();function u(a){var b=1;j.style.fontFamily=a.currentStyle.fontFamily;j.style.lineHeight=a.currentStyle.lineHeight;while(a!=v){var c=a.currentStyle["ie7-font-size"];if(c){if(t.test(c))b*=parseFloat(c);else if(J.test(c))b*=(parseFloat(c)/100);else if(q.test(c))b*=(parseFloat(c)/2);else{j.style.fontSize=c;return 1}}a=a.parentElement}return b};IE7.CSS.addFix(/cursor\s*:\s*pointer/,"cursor:hand");IE7.CSS.addFix(/display\s*:\s*list-item/,"display:block")}function l(a){if(k<5.5)IE7.Layout.boxSizing(a.parentElement);var b=a.parentElement;var c=b.offsetWidth-a.offsetWidth-r(b);var d=(a.currentStyle["ie7-margin"]&&a.currentStyle.marginRight=="auto")||a.currentStyle["ie7-margin-right"]=="auto";switch(b.currentStyle.textAlign){case"right":c=d?parseInt(c/2):0;a.runtimeStyle.marginRight=c+"px";break;case"center":if(d)c=0;default:if(d)c/=2;a.runtimeStyle.marginLeft=parseInt(c)+"px"}};function r(a){return E(a,a.currentStyle.paddingLeft)+E(a,a.currentStyle.paddingRight)};IE7.CSS.addRecalc("margin(-left|-right)?","[^};]*auto",function(a){if(R(l,a,a.parentElement&&a.currentStyle.display=="block"&&a.currentStyle.marginLeft=="auto"&&a.currentStyle.position!="absolute")){l(a)}});bq(function(){for(var a in l.elements){var b=l.elements[a];b.runtimeStyle.marginLeft=b.runtimeStyle.marginRight="";l(b)}})};IE7.loaded=true;(function(){try{bm.doScroll("left")}catch(e){setTimeout(arguments.callee,1);return}try{eval(bB.innerHTML)}catch(e){}bi=new RegExp(bb(typeof IE7_PNG_SUFFIX=="string"?IE7_PNG_SUFFIX:"-trans.png")+"$","i");v=document.body;s=C?v:bm;v.className+=" ie7_body";bm.className+=" ie7_html";if(C)cf();IE7.CSS.init();IE7.HTML.init();IE7.HTML.apply();IE7.CSS.apply();IE7.recalc()})()})();
8 public/javascripts/jquery.ext/interface.js
... ... @@ -1,8 +0,0 @@
1   -/*
2   - * Interface elements for jQuery - http://interface.eyecon.ro
3   - *
4   - * Copyright (c) 2006 Stefan Petre
5   - * Dual licensed under the MIT (MIT-LICENSE.txt)
6   - * and GPL (GPL-LICENSE.txt) licenses.
7   - */
8   - eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4.1D={6A:f(e){d x=0;d y=0;d 26=10;d P=e.1f;8(4(e).D(\'X\')==\'14\'){2i=P.1B;4a=P.R;P.1B=\'24\';P.X=\'2o\';P.R=\'25\';26=1s}d o=e;4f(o){x+=o.6o+(o.2X&&!4.4r.5y?J(o.2X.4S)||0:0);y+=o.6c+(o.2X&&!4.4r.5y?J(o.2X.4Q)||0:0);o=o.69}o=e;4f(o&&o.2r&&o.2r.3I()!=\'1l\'){x-=o.3f||0;y-=o.2A||0;o=o.4q}8(26){P.X=\'14\';P.R=4a;P.1B=2i}A{x:x,y:y}},7k:f(o){d x=0,y=0;4f(o){x+=o.6o||0;y+=o.6c||0;o=o.69}A{x:x,y:y}},3j:f(e){d w=4.D(e,\'1t\');d h=4.D(e,\'1A\');d 1z=0;d 1q=0;d P=e.1f;8(4(e).D(\'X\')!=\'14\'){1z=e.34;1q=e.4j}G{2i=P.1B;4a=P.R;P.1B=\'24\';P.X=\'2o\';P.R=\'25\';1z=e.34;1q=e.4j;P.X=\'14\';P.R=4a;P.1B=2i}A{w:w,h:h,1z:1z,1q:1q}},7b:f(o){A{1z:o.34||0,1q:o.4j||0}},7c:f(e){d h,w,2I;8(e){w=e.3H;h=e.3n}G{2I=N.1J;w=1u.57||4e.57||(2I&&2I.3H)||N.1l.3H;h=1u.4D||4e.4D||(2I&&2I.3n)||N.1l.3n}A{w:w,h:h}},66:f(e){d t,l,w,h,2M,2T;8(e&&e.4n.3I()!=\'1l\'){t=e.2A;l=e.3f;w=e.5d;h=e.59;2M=0;2T=0}G{8(N.1J&&N.1J.2A){t=N.1J.2A;l=N.1J.3f;w=N.1J.5d;h=N.1J.59}G 8(N.1l){t=N.1l.2A;l=N.1l.3f;w=N.1l.5d;h=N.1l.59}2M=4e.57||N.1J.3H||N.1l.3H||0;2T=4e.4D||N.1J.3n||N.1l.3n||0}A{t:t,l:l,w:w,h:h,2M:2M,2T:2T}},5P:f(e,3g){d o=4(e);d t=o.D(\'3F\')||\'\';d r=o.D(\'3K\')||\'\';d b=o.D(\'3w\')||\'\';d l=o.D(\'3G\')||\'\';8(3g)A{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)};G A{t:t,r:r,b:b,l:l}},6D:f(e,3g){d o=4(e);d t=o.D(\'5q\')||\'\';d r=o.D(\'5r\')||\'\';d b=o.D(\'5o\')||\'\';d l=o.D(\'5p\')||\'\';8(3g)A{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)};G A{t:t,r:r,b:b,l:l}},6E:f(e,3g){d o=4(e);d t=o.D(\'4Q\')||\'\';d r=o.D(\'5n\')||\'\';d b=o.D(\'5s\')||\'\';d l=o.D(\'4S\')||\'\';8(3g)A{t:J(t)||0,r:J(r)||0,b:J(b)||0,l:J(l)||0};G A{t:t,r:r,b:b,l:l}},78:f(1j){d x=1j.7r||(1j.71+(N.1J.3f||N.1l.3f))||0;d y=1j.6X||(1j.6Z+(N.1J.2A||N.1l.2A))||0;A{x:x,y:y}},52:f(1P,4J){4J(1P);1P=1P.4t;4f(1P){4.1D.52(1P,4J);1P=1P.7j}},6V:f(1P){4.1D.52(1P,f(o){1o(d 1O 1i o){8(2n o[1O]===\'f\'){o[1O]=O}}})},7h:f(o,3J){d 1Z=$.1D.66();d 4Y=$.1D.3j(o);8(!3J||3J==\'2y\')$(o).D({Z:1Z.t+((2a.6b(1Z.h,1Z.2T)-1Z.t-4Y.1q)/2)+\'19\'});8(!3J||3J==\'2C\')$(o).D({Q:1Z.l+((2a.6b(1Z.w,1Z.2M)-1Z.l-4Y.1z)/2)+\'19\'})},6N:f(o,6K){d 6H=$(\'6z[@3u*="4s"]\',o||N),4s;6H.2s(f(){4s=6.3u;6.3u=6K;6.1f.6q="6u:6l.5U.7V(3u=\'"+4s+"\')"})}};[].4z||(6x.7R.4z=f(v,n){n=(n==O)?0:n;d m=6.I;1o(d i=n;i<m;i++)8(6[i]==v)A i;A-1});4.4p=f(e){8(/^7Q$|^7S$|^82$|^8a$|^84$|^87$|^88$|^7P$|^7O$|^1l$|^7v$|^7y$|^7z$|^7u$|^7t$|^7p$|^7o$/i.22(e.4n))A 10;G A 1s};4.k.6f=f(e,2g){d c=e.4t;d 2h=c.1f;2h.R=2g.R;2h.3F=2g.1W.t;2h.3G=2g.1W.l;2h.3w=2g.1W.b;2h.3K=2g.1W.r;2h.Z=2g.Z+\'19\';2h.Q=2g.Q+\'19\';e.4q.5h(c,e);e.4q.7q(e)};4.k.68=f(e){8(!4.4p(e))A 10;d t=4(e);d P=e.1f;d 26=10;d H={};H.R=t.D(\'R\');8(t.D(\'X\')==\'14\'){2i=t.D(\'1B\');P.1B=\'24\';P.X=\'\';26=1s}H.1r=4.1D.3j(e);H.1W=4.1D.5P(e);d 4O=e.2X?e.2X.6e:t.D(\'7s\');H.Z=J(t.D(\'Z\'))||0;H.Q=J(t.D(\'Q\'))||0;d 6r=\'7A\'+J(2a.7B()*5I);d 2v=N.7J(/^6z$|^6B$|^7L$|^7M$|^5S$|^7N$|^4C$|^1M$|^7I$|^7H$|^7D$|^4c$|^7E$|^7F$/i.22(e.4n)?\'3z\':e.4n);4.1O(2v,\'4b\',6r);2v.2l=\'7G\';d 1y=2v.1f;d Z=0;d Q=0;8(H.R==\'3l\'||H.R==\'25\'){Z=H.Z;Q=H.Q}1y.X=\'14\';1y.Z=Z+\'19\';1y.Q=Q+\'19\';1y.R=H.R!=\'3l\'&&H.R!=\'25\'?\'3l\':H.R;1y.2x=\'24\';1y.1A=H.1r.1q+\'19\';1y.1t=H.1r.1z+\'19\';1y.3F=H.1W.t;1y.3K=H.1W.r;1y.3w=H.1W.b;1y.3G=H.1W.l;8(4.4r.6w){1y.6e=4O}G{1y.7C=4O}e.4q.5h(2v,e);P.3F=\'2V\';P.3K=\'2V\';P.3w=\'2V\';P.3G=\'2V\';P.R=\'25\';P.7K=\'14\';P.Z=\'2V\';P.Q=\'2V\';8(26){P.X=\'14\';P.1B=2i}2v.7x(e);1y.X=\'2o\';A{H:H,3X:4(2v)}};4.k.3t={7w:[0,U,U],89:[5m,U,U],86:[5B,5B,8b],8g:[0,0,0],8f:[0,0,U],8e:[5v,42,42],8c:[0,U,U],8d:[0,0,2L],83:[0,2L,2L],7U:[4N,4N,4N],7n:[0,5Q,0],7T:[7W,81,5z],80:[2L,0,2L],7Z:[85,5z,47],7X:[U,5x,0],7Y:[8h,50,7l],6L:[2L,0,0],6U:[6T,6R,6Q],6O:[6P,0,4h],6M:[U,0,U],6S:[U,7m,0],7f:[0,2E,0],7e:[75,0,7d],7g:[5m,5w,5x],7i:[7a,79,5w],70:[6i,U,U],6Y:[5u,6W,5u],72:[4h,4h,4h],77:[U,76,73],74:[U,U,6i],8G:[0,U,0],9V:[U,0,U],9S:[2E,0,0],9N:[0,0,2E],9P:[2E,2E,0],a5:[U,5v,0],a2:[U,4i,a3],9L:[2E,0,2E],9K:[U,0,0],9u:[4i,4i,4i],9v:[U,U,U],9I:[U,U,0]};4.k.2F=f(1Q,5t){8(4.k.3t[1Q])A{r:4.k.3t[1Q][0],g:4.k.3t[1Q][1],b:4.k.3t[1Q][2]};G 8(1g=/^31\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.4m(1Q))A{r:J(1g[1]),g:J(1g[2]),b:J(1g[3])};G 8(1g=/31\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.4m(1Q))A{r:1K(1g[1])*2.55,g:1K(1g[2])*2.55,b:1K(1g[3])*2.55};G 8(1g=/^#([a-2W-37-9])([a-2W-37-9])([a-2W-37-9])$/.4m(1Q))A{r:J("32"+1g[1]+1g[1]),g:J("32"+1g[2]+1g[2]),b:J("32"+1g[3]+1g[3])};G 8(1g=/^#([a-2W-37-9]{2})([a-2W-37-9]{2})([a-2W-37-9]{2})$/.4m(1Q))A{r:J("32"+1g[1]),g:J("32"+1g[2]),b:J("32"+1g[3])};G A 5t==1s?10:{r:U,g:U,b:U}};4.k.5l={5s:1,4S:1,5n:1,4Q:1,9E:1,4y:1,1A:1,Q:1,4G:1,9A:1,3w:1,3G:1,3K:1,3F:1,9z:1,9C:1,9w:1,9T:1,1Y:1,9U:1,9W:1,5o:1,5p:1,5r:1,5q:1,3m:1,9m:1,Z:1,1t:1,3Y:1};4.k.5H={9p:1,9x:1,9G:1,9J:1,9F:1,1Q:1,9B:1};4.k.3q=[\'aa\',\'9D\',\'9H\',\'9y\'];4.k.4L={\'4E\':[\'3p\',\'5C\'],\'3Z\':[\'3p\',\'4Z\'],\'3D\':[\'3D\',\'\'],\'3x\':[\'3x\',\'\']};4.3h.4l({9q:f(2m,C,B,F){A 6.17(f(){d 43=4.C(C,B,F);d e=K 4.5J(6,43,2m)})},58:f(C,F){A 6.17(f(){d 43=4.C(C,F);d e=K 4.58(6,43)})},9o:f(1R){A 6.2s(f(){8(6.2c)4.4F(6,1R)})},9n:f(1R){A 6.2s(f(){8(6.2c)4.4F(6,1R);8(6.17&&6.17[\'k\'])6.17.k=[]})}});4.4l({58:f(S,E){d z=6,5L;z.1R=f(){8(4.5F(E.1H))E.1H.2q(S)};z.1L=5O(f(){z.1R()},E.1k);S.2c=z},B:{5M:f(p,n,5K,5A,1k){A((-2a.9r(p*2a.9s)/2)+0.5)*5A+5K}},5J:f(S,E,2m){d z=6,5L;d y=S.1f;d 5G=4.D(S,"2x");d 30=4.D(S,"X");d W={};z.3Q=(K 5D()).5E();E.B=E.B&&4.B[E.B]?E.B:\'5M\';z.3M=f(11,1F){8(4.k.5l[11]){8(1F==\'2e\'||1F==\'2d\'||1F==\'2G\'){8(!S.2u)S.2u={};d r=1K(4.2t(S,11));S.2u[11]=r&&r>-5I?r:(1K(4.D(S,11))||0);1F=1F==\'2G\'?(30==\'14\'?\'2e\':\'2d\'):1F;E[1F]=1s;W[11]=1F==\'2e\'?[0,S.2u[11]]:[S.2u[11],0];8(11!=\'1Y\')y[11]=W[11][0]+(11!=\'3Y\'&&11!=\'3y\'?\'19\':\'\');G 4.1O(y,"1Y",W[11][0])}G{W[11]=[1K(4.2t(S,11)),1K(1F)||0]}}G 8(4.k.5H[11])W[11]=[4.k.2F(4.2t(S,11)),4.k.2F(1F)];G 8(/^3D$|3x$|3p$|3Z$|4E$/i.22(11)){d m=1F.1U(/\\s+/g,\' \').1U(/31\\s*\\(\\s*/g,\'31(\').1U(/\\s*,\\s*/g,\',\').1U(/\\s*\\)/g,\')\').9t(/([^\\s]+)/g);39(11){12\'3D\':12\'3x\':12\'4E\':12\'3Z\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];1o(d i=0;i<4.k.3q.I;i++){d 2j=4.k.4L[11][0]+4.k.3q[i]+4.k.4L[11][1];W[2j]=11==\'3Z\'?[4.k.2F(4.2t(S,2j)),4.k.2F(m[i])]:[1K(4.2t(S,2j)),1K(m[i])]}1e;12\'3p\':1o(d i=0;i<m.I;i++){d 4R=1K(m[i]);d 3V=!a1(4R)?\'5C\':(!/9Z|14|24|a0|a4|a9|a8|a7|a6|9Y|9X/i.22(m[i])?\'4Z\':10);8(3V){1o(d j=0;j<4.k.3q.I;j++){2j=\'3p\'+4.k.3q[j]+3V;W[2j]=3V==\'4Z\'?[4.k.2F(4.2t(S,2j)),4.k.2F(m[i])]:[1K(4.2t(S,2j)),4R]}}G{y[\'9Q\']=m[i]}}1e}}G{y[11]=1F}A 10};1o(p 1i 2m){8(p==\'1f\'){d 1V=4.4K(2m[p]);1o(3e 1i 1V){6.3M(3e,1V[3e])}}G 8(p==\'2l\'){8(N.3O)1o(d i=0;i<N.3O.I;i++){d 2U=N.3O[i].2U||N.3O[i].9O||O;8(2U){1o(d j=0;j<2U.I;j++){8(2U[j].9M==\'.\'+2m[p]){d 2R=K 4X(\'\\.\'+2m[p]+\' {\');d 2b=2U[j].1f.9R;d 1V=4.4K(2b.1U(2R,\'\').1U(/}/g,\'\'));1o(3e 1i 1V){6.3M(3e,1V[3e])}}}}}}G{6.3M(p,2m[p])}}y.X=30==\'14\'?\'2o\':30;y.2x=\'24\';z.1R=f(){d t=(K 5D()).5E();8(t>E.1k+z.3Q){5g(z.1L);z.1L=O;1o(p 1i W){8(p=="1Y")4.1O(y,"1Y",W[p][1]);G 8(2n W[p][1]==\'4C\')y[p]=\'31(\'+W[p][1].r+\',\'+W[p][1].g+\',\'+W[p][1].b+\')\';G y[p]=W[p][1]+(p!=\'3Y\'&&p!=\'3y\'?\'19\':\'\')}8(E.2d||E.2e)1o(d p 1i S.2u)8(p=="1Y")4.1O(y,p,S.2u[p]);G y[p]="";y.X=E.2d?\'14\':(30!=\'14\'?30:\'2o\');y.2x=5G;S.2c=O;8(4.5F(E.1H))E.1H.2q(S)}G{d n=t-6.3Q;d 3o=n/E.1k;1o(p 1i W){8(2n W[p][1]==\'4C\'){y[p]=\'31(\'+J(4.B[E.B](3o,n,W[p][0].r,(W[p][1].r-W[p][0].r),E.1k))+\',\'+J(4.B[E.B](3o,n,W[p][0].g,(W[p][1].g-W[p][0].g),E.1k))+\',\'+J(4.B[E.B](3o,n,W[p][0].b,(W[p][1].b-W[p][0].b),E.1k))+\')\'}G{d 4I=4.B[E.B](3o,n,W[p][0],(W[p][1]-W[p][0]),E.1k);8(p=="1Y")4.1O(y,"1Y",4I);G y[p]=4I+(p!=\'3Y\'&&p!=\'3y\'?\'19\':\'\')}}}};z.1L=5O(f(){z.1R()},13);S.2c=z},4F:f(S,1R){8(1R)S.2c.3Q-=9k;G{1u.5g(S.2c.1L);S.2c=O;4.3s(S,"k")}}});4.4K=f(2b){d 1V={};8(2n 2b==\'54\'){2b=2b.3I().51(\';\');1o(d i=0;i<2b.I;i++){2R=2b[i].51(\':\');8(2R.I==2){1V[4.5j(2R[0].1U(/\\-(\\w)/g,f(m,c){A c.8E()}))]=4.5j(2R[1])}}}A 1V};4.1w={V:O,3r:f(){1p=6.18;8(!1p)A;1f={5f:4(6).D(\'5f\')||\'\',4y:4(6).D(\'4y\')||\'\',3y:4(6).D(\'3y\')||\'\',5e:4(6).D(\'5e\')||\'\',5i:4(6).D(\'5i\')||\'\',5k:4(6).D(\'5k\')||\'\',4G:4(6).D(\'4G\')||\'\',5N:4(6).D(\'5N\')||\'\'};4.1w.V.D(1f);2D=4.1w.6y(1p);2D=2D.1U(K 4X("\\\\n","g"),"<6B />");4.1w.V.2D(\'8F\');4v=4.1w.V.L(0).34;4.1w.V.2D(2D);1t=4.1w.V.L(0).34+4v;8(6.2z.1b&&1t>6.2z.1b[0]){1t=6.2z.1b[0]}6.1f.1t=1t+\'19\';8(6.2r==\'6F\'){1A=4.1w.V.L(0).4j+4v;8(6.2z.1b&&1A>6.2z.1b[1]){1A=6.2z.1b[1]}6.1f.1A=1A+\'19\'}},6y:f(1p){5c={\'&\':\'&8D;\',\'<\':\'&8C;\',\'>\':\'&8i;\',\'"\':\'&8A;\'};1o(i 1i 5c){1p=1p.1U(K 4X(i,\'g\'),5c[i])}A 1p},4g:f(1b){8(4.1w.V==O){4(\'1l\',N).4W(\'<3z 4b="6n" 1f="R: 25; Z: 0; Q: 0; 1B: 24;"></3z>\');4.1w.V=4(\'#6n\')}A 6.2s(f(){8(/6F|4U/.22(6.2r)){8(6.2r==\'4U\'){6v=6.20(\'M\');8(!/1p|8B/.22(6v)){A}}8(1b&&(1b.1X==6t||(1b.1X==6x&&1b.I==2))){8(1b.1X==6t)1b=[1b,1b];G{1b[0]=J(1b[0])||4x;1b[1]=J(1b[1])||4x}6.2z={1b:1b}}4(6).6G(4.1w.3r).6C(4.1w.3r).60(4.1w.3r);4.1w.3r.2q(6)}})}};4.3h.9l=4.1w.4g;4.7={V:O,3C:O,1M:O,1L:O,1G:O,4A:O,q:O,T:O,1c:O,33:f(){4.7.3C.33();8(4.7.1M){4.7.1M.2d()}},2p:f(){4.7.1c=O;4.7.T=O;4.7.1G=4.7.q.18;8(4.7.V.D(\'X\')==\'2o\'){8(4.7.q.u.k){39(4.7.q.u.k.M){12\'4P\':4.7.V.8H(4.7.q.u.k.1k,4.7.33);1e;12\'1h\':4.7.V.5X(4.7.q.u.k.1k,4.7.33);1e;12\'4d\':4.7.V.8M(4.7.q.u.k.1k,4.7.33);1e}}G{4.7.V.2d()}8(4.7.q.u.3c)4.7.q.u.3c.2q(4.7.q,[4.7.V,4.7.1M])}G{4.7.33()}1u.4H(4.7.1L)},6j:f(){d q=4.7.q;d 1E=4.7.3P(q);8(q&&1E.1n!=4.7.1G&&1E.1n.I>=q.u.4o){4.7.1G=1E.1n;4.7.4A=1E.1n;2Q={Y:4(q).1O(\'8N\')||\'Y\',18:1E.1n};4.8L({M:\'8K\',2Q:4.8I(2Q),8J:f(6I){q.u.1C=4(\'1n\',6I);1T=q.u.1C.1T();8(1T>0){d 21=\'\';q.u.1C.2s(f(3U){21+=\'<3B 2K="\'+4(\'18\',6).1p()+\'" 3i="\'+3U+\'" 1f="62: 64;">\'+4(\'1p\',6).1p()+\'</3B>\'});8(q.u.46){d 1x=4(\'18\',q.u.1C.L(0)).1p();q.18=1E.1m+1x+q.u.1v+1E.2k;4.7.2J(q,1E.1n.I!=1x.I?(1E.1m.I+1E.1n.I):1x.I,1E.1n.I!=1x.I?(1E.1m.I+1x.I):1x.I)}8(1T>0){4.7.56(q,21)}G{4.7.2p()}}G{4.7.2p()}},8z:q.u.49})}},56:f(q,21){4.7.3C.2D(21);4.7.1c=4(\'3B\',4.7.3C.L(0));4.7.1c.8y(4.7.6a).8o(\'8p\',4.7.6d);d R=4.1D.6A(q);d 1T=4.1D.3j(q);4.7.V.D(\'Z\',R.y+1T.1q+\'19\').D(\'Q\',R.x+\'19\').8n(q.u.44);8(4.7.1M){4.7.1M.D(\'X\',\'2o\').D(\'Z\',R.y+1T.1q+\'19\').D(\'Q\',R.x+\'19\').D(\'1t\',4.7.V.D(\'1t\')).D(\'1A\',4.7.V.D(\'1A\'))}4.7.T=0;4.7.1c.L(0).2l=q.u.2H;4.7.3k(q,q.u.1C.L(0),\'3b\');8(4.7.V.D(\'X\')==\'14\'){8(q.u.5a){d 4u=4.1D.6D(q,1s);d 4w=4.1D.6E(q,1s);4.7.V.D(\'1t\',q.34-(4.8m?(4u.l+4u.r+4w.l+4w.r):0)+\'19\')}8(q.u.k){39(q.u.k.M){12\'4P\':4.7.V.8j(q.u.k.1k);1e;12\'1h\':4.7.V.5Y(q.u.k.1k);1e;12\'4d\':4.7.V.8k(q.u.k.1k);1e}}G{4.7.V.2e()}8(4.7.q.u.2Y)4.7.q.u.2Y.2q(4.7.q,[4.7.V,4.7.1M])}},6k:f(){d q=6;8(q.u.1C){4.7.1G=q.18;4.7.4A=q.18;d 21=\'\';q.u.1C.2s(f(3U){18=4(\'18\',6).1p().3I();61=q.18.3I();8(18.4z(61)==0){21+=\'<3B 2K="\'+4(\'18\',6).1p()+\'" 3i="\'+3U+\'" 1f="62: 64;">\'+4(\'1p\',6).1p()+\'</3B>\'}});8(21!=\'\'){4.7.56(q,21);6.u.4k=1s;A}}q.u.1C=O;6.u.4k=10},2J:f(Y,3A,3R){8(Y.53){d 2w=Y.53();2w.8l(1s);2w.65("4V",3A);2w.8q("4V",-3R+3A);2w.5S()}G 8(Y.5R){Y.5R(3A,3R)}G{8(Y.28){Y.28=3A;Y.8r=3R}}Y.5Z()},6g:f(Y){8(Y.28)A Y.28;G 8(Y.53){d 2w=N.2J.8w();d 5V=2w.8x();A 0-5V.65(\'4V\',-8v)}},3P:f(Y){d 1N={18:Y.18,1m:\'\',2k:\'\',1n:\'\'};8(Y.u.45){d 3L=10;d 28=4.7.6g(Y)||0;d 1S=1N.18.51(Y.u.1v);1o(d i=0;i<1S.I;i++){8((1N.1m.I+1S[i].I>=28||28==0)&&!3L){8(1N.1m.I<=28)1N.1n=1S[i];G 1N.2k+=1S[i]+(1S[i]!=\'\'?Y.u.1v:\'\');3L=1s}G 8(3L){1N.2k+=1S[i]+(1S[i]!=\'\'?Y.u.1v:\'\')}8(!3L){1N.1m+=1S[i]+(1S.I>1?Y.u.1v:\'\')}}}G{1N.1n=1N.18}A 1N},4M:f(e){1u.4H(4.7.1L);d q=4.7.3P(6);d 2S=e.5T||e.63||-1;8(/^13$|27$|35$|36$|38$|40$|^9$/.22(2S)&&4.7.1c){8(1u.1j){1u.1j.6p=1s;1u.1j.6s=10}G{e.5b();e.4T()}8(4.7.T!=O)4.7.1c.L(4.7.T||0).2l=\'\';G 4.7.T=-1;39(2S){12 9:12 13:8(4.7.T==-1)4.7.T=0;d T=4.7.1c.L(4.7.T||0);d 1x=T.20(\'2K\');6.18=q.1m+1x+6.u.1v+q.2k;4.7.1G=q.1n;4.7.2J(6,q.1m.I+1x.I+6.u.1v.I,q.1m.I+1x.I+6.u.1v.I);4.7.2p();8(6.u.29){48=J(T.20(\'3i\'))||0;4.7.3k(6,6.u.1C.L(48),\'29\')}8(6.2O)6.2O(10);A 2S!=13;1e;12 27:6.18=q.1m+4.7.1G+6.u.1v+q.2k;6.u.1C=O;4.7.2p();8(6.2O)6.2O(10);A 10;1e;12 35:4.7.T=4.7.1c.1T()-1;1e;12 36:4.7.T=0;1e;12 38:4.7.T--;8(4.7.T<0)4.7.T=4.7.1c.1T()-1;1e;12 40:4.7.T++;8(4.7.T==4.7.1c.1T())4.7.T=0;1e}4.7.3k(6,6.u.1C.L(4.7.T||0),\'3b\');4.7.1c.L(4.7.T||0).2l=6.u.2H;8(4.7.1c.L(4.7.T||0).2O)4.7.1c.L(4.7.T||0).2O(10);8(6.u.46){d 3W=4.7.1c.L(4.7.T||0).20(\'2K\');6.18=q.1m+3W+6.u.1v+q.2k;8(4.7.1G.I!=3W.I)4.7.2J(6,q.1m.I+4.7.1G.I,q.1m.I+3W.I)}A 10}4.7.6k.2q(6);8(6.u.4k==10){8(q.1n!=4.7.1G&&q.1n.I>=6.u.4o)4.7.1L=1u.6J(4.7.6j,6.u.3v);8(4.7.1c){4.7.2p()}}A 1s},3k:f(Y,1n,M){8(Y.u[M]){d 2Q={};3T=1n.8u(\'*\');1o(i=0;i<3T.I;i++){2Q[3T[i].2r]=3T[i].4t.8s}Y.u[M].2q(Y,[2Q])}},6a:f(e){8(4.7.1c){8(4.7.T!=O)4.7.1c.L(4.7.T||0).2l=\'\';4.7.1c.L(4.7.T||0).2l=\'\';4.7.T=J(6.20(\'3i\'))||0;4.7.1c.L(4.7.T||0).2l=4.7.q.u.2H}},6d:f(1j){1u.4H(4.7.1L);1j=1j||4.1j.8t(1u.1j);1j.5b();1j.4T();d q=4.7.3P(4.7.q);d 1x=6.20(\'2K\');4.7.q.18=q.1m+1x+4.7.q.u.1v+q.2k;4.7.1G=6.20(\'2K\');4.7.2J(4.7.q,q.1m.I+1x.I+4.7.q.u.1v.I,q.1m.I+1x.I+4.7.q.u.1v.I);4.7.2p();8(4.7.q.u.29){48=J(6.20(\'3i\'))||0;4.7.3k(4.7.q,4.7.q.u.1C.L(48),\'29\')}A 10},6m:f(e){2S=e.5T||e.63||-1;8(/13|27|35|36|38|40/.22(2S)&&4.7.1c){8(1u.1j){1u.1j.6p=1s;1u.1j.6s=10}G{e.5b();e.4T()}A 10}},4g:f(E){8(!E.49||!4.1D){A}8(!4.7.V){8(4.4r.6w){4(\'1l\',N).4W(\'<1M 1f="X:14;R:25;6q:6u:6l.5U.8O(1Y=0);" 4b="67" 3u="8P:10;" 9a="0" 9b="99"></1M>\');4.7.1M=4(\'#67\')}4(\'1l\',N).4W(\'<3z 4b="5W" 1f="R: 25; Z: 0; Q: 0; z-6h: 98; X: 14;"><4c 1f="3D: 0;3x: 0; 96-1f: 14; z-6h: 97;">&9c;</4c></3z>\');4.7.V=4(\'#5W\');4.7.3C=4(\'4c\',4.7.V)}A 6.2s(f(){8(6.2r!=\'4U\'&&6.20(\'M\')!=\'1p\')A;6.u={};6.u.49=E.49;6.u.4o=2a.4B(J(E.4o)||1);6.u.44=E.44?E.44:\'\';6.u.2H=E.2H?E.2H:\'\';6.u.29=E.29&&E.29.1X==3E?E.29:O;6.u.2Y=E.2Y&&E.2Y.1X==3E?E.2Y:O;6.u.3c=E.3c&&E.3c.1X==3E?E.3c:O;6.u.3b=E.3b&&E.3b.1X==3E?E.3b:O;6.u.5a=E.5a||10;6.u.45=E.45||10;6.u.1v=6.u.45?(E.1v||\', \'):\'\';6.u.46=E.46?1s:10;6.u.3v=2a.4B(J(E.3v)||9d);8(E.k&&E.k.1X==9i){8(!E.k.M||!/4P|1h|4d/.22(E.k.M)){E.k.M=\'1h\'}8(E.k.M==\'1h\'&&!4.k.1h)A;8(E.k.M==\'4d\'&&!4.k.9j)A;E.k.1k=2a.4B(J(E.k.1k)||4x);8(E.k.1k>6.u.3v){E.k.1k=6.u.3v-5Q}6.u.k=E.k}6.u.1C=O;6.u.4k=10;4(6).1O(\'4M\',\'9h\').5Z(f(){4.7.q=6;4.7.1G=6.18}).60(4.7.6m).6C(4.7.4M).6G(f(){4.7.1L=1u.6J(4.7.2p,9g)})})}};4.3h.9e=4.7.4g;4.3h.4l({9f:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.23(6,C,F,\'2y\',\'2B\',B)})},95:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.23(6,C,F,\'2C\',\'2B\',B)})},94:f(C,F,B){A 6.17(\'1a\',f(){8(4.D(6,\'X\')==\'14\'){K 4.k.23(6,C,F,\'2C\',\'3d\',B)}G{K 4.k.23(6,C,F,\'2C\',\'2B\',B)}})},8U:f(C,F,B){A 6.17(\'1a\',f(){8(4.D(6,\'X\')==\'14\'){K 4.k.23(6,C,F,\'2y\',\'3d\',B)}G{K 4.k.23(6,C,F,\'2y\',\'2B\',B)}})},8V:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.23(6,C,F,\'2y\',\'3d\',B)})},8T:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.23(6,C,F,\'2C\',\'3d\',B)})}});4.k.23=f(e,C,F,2f,M,B){8(!4.4p(e)){4.3s(e,\'1a\');A 10}d z=6;d 26=10;z.o=4(e);z.B=2n F==\'54\'?F:B||O;z.F=2n F==\'f\'?F:O;z.M=M;z.C=C;z.16=4.1D.3j(e);z.H={};z.H.R=z.o.D(\'R\');z.H.X=z.o.D(\'X\');8(z.H.X==\'14\'){2i=z.o.D(\'1B\');z.o.2e();26=1s}z.H.Z=z.o.D(\'Z\');z.H.Q=z.o.D(\'Q\');8(26){z.o.2d();z.o.D(\'1B\',2i)}z.H.1t=z.16.w+\'19\';z.H.1A=z.16.h+\'19\';z.H.2x=z.o.D(\'2x\');z.16.Z=J(z.H.Z)||0;z.16.Q=J(z.H.Q)||0;8(z.H.R!=\'3l\'&&z.H.R!=\'25\'){z.o.D(\'R\',\'3l\')}z.o.D(\'2x\',\'24\').D(\'1A\',M==\'3d\'&&2f==\'2y\'?1:z.16.h+\'19\').D(\'1t\',M==\'3d\'&&2f==\'2C\'?1:z.16.w+\'19\');z.1H=f(){z.o.D(z.H);8(z.M==\'2B\')z.o.2d();G z.o.2e();4.3s(z.o.L(0),\'1a\')};39(2f){12\'2y\':z.2Z=K 4.k(z.o.L(0),4.C(C-15,z.B,F),\'1A\');z.3a=K 4.k(z.o.L(0),4.C(z.C,z.B,z.1H),\'Z\');8(z.M==\'2B\'){z.2Z.1d(z.16.h,0);z.3a.1d(z.16.Z,z.16.Z+z.16.h/2)}G{z.2Z.1d(0,z.16.h);z.3a.1d(z.16.Z+z.16.h/2,z.16.Z)}1e;12\'2C\':z.2Z=K 4.k(z.o.L(0),4.C(C-15,z.B,F),\'1t\');z.3a=K 4.k(z.o.L(0),4.C(z.C,z.B,z.1H),\'Q\');8(z.M==\'2B\'){z.2Z.1d(z.16.w,0);z.3a.1d(z.16.Q,z.16.Q+z.16.w/2)}G{z.2Z.1d(0,z.16.w);z.3a.1d(z.16.Q+z.16.w/2,z.16.Q)}1e}};4.3h.4l({5Y:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3N\',\'1i\',B)})},5X:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3N\',\'2P\',B)})},8S:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3N\',\'2G\',B)})},8Q:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3S\',\'1i\',B)})},8R:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3S\',\'2P\',B)})},8W:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3S\',\'2G\',B)})},8X:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'Q\',\'1i\',B)})},92:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'Q\',\'2P\',B)})},93:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'Q\',\'2G\',B)})},91:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3m\',\'1i\',B)})},90:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3m\',\'2P\',B)})},8Y:f(C,F,B){A 6.17(\'1a\',f(){K 4.k.1h(6,C,F,\'3m\',\'2G\',B)})}});4.k.1h=f(e,C,F,2f,M,B){8(!4.4p(e)){4.3s(e,\'1a\');A 10}d z=6;z.o=4(e);z.B=2n F==\'54\'?F:B||O;z.F=2n F==\'f\'?F:O;8(M==\'2G\'){M=z.o.D(\'X\')==\'14\'?\'1i\':\'2P\'}8(!e.41)e.41=z.o.D(\'X\');z.o.2e();z.C=C;z.k=4.k.68(e);z.M=M;z.2f=2f;z.1H=f(){8(z.M==\'2P\')z.o.D(\'1B\',\'24\');4.k.6f(z.k.3X.L(0),z.k.H);8(z.M==\'1i\'){z.o.D(\'X\',z.o.L(0).41==\'14\'?\'2o\':z.o.L(0).41)}G{z.o.D(\'X\',\'14\');z.o.D(\'1B\',\'8Z\')}8(z.F&&z.F.1X==3E){z.F.2q(z.o.L(0))}4.3s(z.o.L(0),\'1a\')};39(z.2f){12\'3N\':z.1I=K 4.k(z.o.L(0),4.C(z.C,z.B,z.1H),\'Z\');z.2N=K 4.k(z.k.3X.L(0),4.C(z.C,z.B),\'1A\');8(z.M==\'1i\'){z.1I.1d(-z.k.H.1r.1q,0);z.2N.1d(0,z.k.H.1r.1q)}G{z.1I.1d(0,-z.k.H.1r.1q);z.2N.1d(z.k.H.1r.1q,0)}1e;12\'3S\':z.1I=K 4.k(z.o.L(0),4.C(z.C,z.B,z.1H),\'Z\');8(z.M==\'1i\'){z.1I.1d(z.k.H.1r.1q,0)}G{z.1I.1d(0,z.k.H.1r.1q)}1e;12\'Q\':z.1I=K 4.k(z.o.L(0),4.C(z.C,z.B,z.1H),\'Q\');z.2N=K 4.k(z.k.3X.L(0),4.C(z.C,z.B),\'1t\');8(z.M==\'1i\'){z.1I.1d(-z.k.H.1r.1z,0);z.2N.1d(0,z.k.H.1r.1z)}G{z.1I.1d(0,-z.k.H.1r.1z);z.2N.1d(z.k.H.1r.1z,0)}1e;12\'3m\':z.1I=K 4.k(z.o.L(0),4.C(z.C,z.B,z.1H),\'Q\');8(z.M==\'1i\'){z.1I.1d(z.k.H.1r.1z,0)}G{z.1I.1d(0,z.k.H.1r.1z)}1e}};',62,631,'||||jQuery||this|iAuto|if|||||var||function|||||fx||||el||subject||||autoCFG||||||return|easing|speed|css|options|callback|else|oldStyle|length|parseInt|new|get|type|document|null|es|left|position|elem|selectedItem|255|helper|props|display|field|top|false|tp|case||none||oldP|queue|value|px|interfaceFX|limit|items|custom|break|style|result|slide|in|event|duration|body|pre|item|for|text|hb|sizes|true|width|window|multipleSeparator|iExpander|valueToAdd|wrs|wb|height|visibility|lastSuggestion|iUtil|subjectValue|vp|lastValue|complete|ef|documentElement|parseFloat|timer|iframe|fieldData|attr|nodeEl|color|step|chunks|size|replace|newStyles|margins|constructor|opacity|clientScroll|getAttribute|toWrite|test|OpenClose|hidden|absolute|restoreStyle||selectionStart|onSelect|Math|styles|animationHandler|hide|show|direction|old|cs|oldVisibility|nmp|post|className|prop|typeof|block|clear|apply|tagName|each|curCSS|orig|wr|selRange|overflow|vertically|Expander|scrollTop|close|horizontally|html|128|parseColor|toggle|selectClass|de|selection|rel|139|iw|efx|scrollIntoView|out|data|rule|pressedKey|ih|cssRules|0px|fA|currentStyle|onShow|eh|oldDisplay|rgb|0x|empty|offsetWidth|||F0||switch|et|onHighlight|onHide|open|np|scrollLeft|toInteger|fn|dir|getSize|applyOn|relative|right|clientHeight|pr|border|cssSides|expand|dequeue|namedColors|src|delay|marginBottom|padding|fontWeight|div|start|li|content|margin|Function|marginTop|marginLeft|clientWidth|toLowerCase|axis|marginRight|finishedPre|getValues|up|styleSheets|getFieldValues|startTime|end|down|childs|nr|sideEnd|valToAdd|wrapper|zIndex|borderColor||ifxFirstDisplay||opt|helperClass|multiple|autofill||iteration|source|oldPosition|id|ul|blind|self|while|build|211|192|offsetHeight|inCache|extend|exec|nodeName|minchars|fxCheckTag|parentNode|browser|png|firstChild|borders|spacer|paddings|400|fontSize|indexOf|currentValue|abs|object|innerHeight|borderWidth|stopAnim|letterSpacing|clearTimeout|pValue|func|parseStyle|cssSidesEnd|autocomplete|169|oldFloat|fade|borderTopWidth|floatVal|borderLeftWidth|stopPropagation|INPUT|character|append|RegExp|windowSize|Color||split|traverseDOM|createTextRange|string||writeItems|innerWidth|pause|scrollHeight|inputWidth|preventDefault|entities|scrollWidth|fontStyle|fontFamily|clearInterval|insertBefore|fontStretch|trim|fontVariant|cssProps|240|borderRightWidth|paddingBottom|paddingLeft|paddingTop|paddingRight|borderBottomWidth|notColor|144|165|230|140|opera|107|delta|245|Width|Date|getTime|isFunction|oldOverflow|colorCssProps|10000|fxe|firstNum|values|linear|wordSpacing|setInterval|getMargins|100|setSelectionRange|select|charCode|Microsoft|selRange2|autocompleteHelper|SlideOutUp|SlideInUp|focus|keypress|inputValue|cursor|keyCode|default|moveStart|getScroll|autocompleteIframe|buildWrapper|offsetParent|hoverItem|max|offsetTop|clickItem|styleFloat|destroyWrapper|getSelectionStart|index|224|update|checkCache|DXImageTransform|protect|expanderHelper|offsetLeft|cancelBubble|filter|wid|returnValue|Number|progid|elType|msie|Array|htmlEntities|img|getPosition|br|keyup|getPadding|getBorder|TEXTAREA|blur|images|xml|setTimeout|emptyGIF|darkred|fuchsia|fixPNG|darkviolet|148|122|150|gold|233|darksalmon|purgeEvents|238|pageY|lightgreen|clientY|lightcyan|clientX|lightgrey|193|lightyellow||182|lightpink|getPointer|216|173|getSizeLite|getClient|130|indigo|green|khaki|centerEl|lightblue|nextSibling|getPositionLite|204|215|darkgreen|meta|optgroup|removeChild|pageX|float|option|frameset|header|aqua|appendChild|script|frame|w_|random|cssFloat|table|dl|ol|fxWrapper|form|button|createElement|listStyle|input|hr|textarea|th|colgroup|tr|prototype|td|darkkhaki|darkgrey|AlphaImageLoader|189|darkorange|darkorchid|darkolivegreen|darkmagenta|183|tbody|darkcyan|thead||beige|tfoot|col|azure|caption|220|cyan|darkblue|brown|blue|black|153|gt|fadeIn|BlindDown|collapse|boxModel|addClass|bind|click|moveEnd|selectionEnd|nodeValue|fix|getElementsByTagName|100000|createRange|duplicate|mouseover|url|quot|password|lt|amp|toUpperCase|pW|lime|fadeOut|param|success|POST|ajax|BlindUp|name|Alpha|javascript|SlideInDown|SlideOutDown|SlideToggleUp|OpenHorizontally|SwitchVertically|OpenVertically|SlideToggleDown|SlideInLeft|SlideToggleRight|visible|SlideOutRight|SlideInRight|SlideOutLeft|SlideToggleLeft|SwitchHorizontally|CloseHorizontally|list|30002|30001|no|frameborder|scrolling|nbsp|1000|Autocomplete|CloseVertically|200|off|Object|BlindDirection|100000000|Autoexpand|textIndent|stopAll|stop|backgroundColor|animate|cos|PI|match|silver|white|minHeight|borderBottomColor|Left|maxHeight|lineHeight|outlineColor|maxWidth|Right|bottom|borderTopColor|borderLeftColor|Bottom|yellow|borderRightColor|red|purple|selectorText|navy|rules|olive|borderStyle|cssText|maroon|minWidth|outlineOffset|magenta|outlineWidth|outset|inset|transparent|dotted|isNaN|pink|203|dashed|orange|ridge|groove|double|solid|Top'.split('|'),0,{}))
82 public/javascripts/jquery.ext/jquery.alphanumeric.js
... ... @@ -1,82 +0,0 @@
1   -(function($){
2   -
3   - $.fn.alphanumeric = function(p) {
4   -
5   - p = $.extend({
6   - ichars: "!@#$%^&*()+=[]\\\';,/{}|\":<>?~`.- ",
7   - nchars: "",
8   - allow: ""
9   - }, p);
10   -
11   - return this.each
12   - (
13   - function()
14   - {
15   -
16   - if (p.nocaps) p.nchars += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
17   - if (p.allcaps) p.nchars += "abcdefghijklmnopqrstuvwxyz";
18   -
19   - s = p.allow.split('');
20   - for ( i=0;i<s.length;i++) if (p.ichars.indexOf(s[i]) != -1) s[i] = "\\" + s[i];
21   - p.allow = s.join('|');
22   -
23   - var reg = new RegExp(p.allow,'gi');
24   - var ch = p.ichars + p.nchars;
25   - ch = ch.replace(reg,'');
26   -
27   - $(this).keypress
28   - (
29   - function (e)
30   - {
31   -
32   - if (!e.charCode) k = String.fromCharCode(e.which);
33   - else k = String.fromCharCode(e.charCode);
34   -
35   - if (ch.indexOf(k) != -1) e.preventDefault();
36   - if (e.ctrlKey&&k=='v') e.preventDefault();
37   -
38   - }
39   -
40   - );
41   -
42   - $(this).bind('contextmenu',function () {return false});
43   -
44   - }
45   - );
46   -
47   - };
48   -
49   - $.fn.numeric = function(p) {
50   -
51   - var az = "abcdefghijklmnopqrstuvwxyz";
52   - az += az.toUpperCase();
53   -
54   - p = $.extend({
55   - nchars: az
56   - }, p);
57   -
58   - return this.each (function()
59   - {
60   - $(this).alphanumeric(p);
61   - }
62   - );
63   -
64   - };
65   -
66   - $.fn.alpha = function(p) {
67   -
68   - var nm = "1234567890";
69   -
70   - p = $.extend({
71   - nchars: nm
72   - }, p);
73   -
74   - return this.each (function()
75   - {
76   - $(this).alphanumeric(p);
77   - }
78   - );
79   -
80   - };
81   -
82   -})(jQuery);
162 public/javascripts/min/common.js
... ... @@ -0,0 +1,162 @@
  1 +/* ---- Compressing ./public/javascripts/common/jobber.js ----- */
  2 +(function($)
  3 +{
  4 + Jobber = {
  5 +
  6 + jobber_url: "",
  7 + jobber_admin_url: "",
  8 + job_id: "",
  9 +
  10 + FixPng: function()
  11 + {
  12 + var arVersion = navigator.appVersion.split("MSIE");
  13 + var version = parseFloat(arVersion[1]);
  14 +
  15 + if ((version >= 5.5) && (document.body.filters))
  16 + {
  17 + for(var i=0; i<document.images.length; i++)
  18 + {
  19 + var img = document.images[i];
  20 + var imgName = img.src.toUpperCase();
  21 +
  22 + if (imgName == this.jobber_url.toUpperCase() + "IMG/BT-RSS.PNG")
  23 + {
  24 + var imgID = (img.id) ? "id='" + img.id + "' " : "";
  25 + var imgClass = (img.className) ? "class='" + img.className + "' " : "";
  26 + var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
  27 + var imgStyle = "display:inline-block;" + img.style.cssText;
  28 + if (img.align == "left") imgStyle = "float:left;" + imgStyle;
  29 + if (img.align == "right") imgStyle = "float:right;" + imgStyle;
  30 + if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
  31 + var strNewHTML = "<span " + imgID + imgClass + imgTitle;
  32 + strNewHTML += " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";";
  33 + strNewHTML += "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader";
  34 + strNewHTML += "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
  35 + img.outerHTML = strNewHTML;
  36 + i = i - 1;
  37 + }
  38 + }
  39 + }
  40 +
  41 + },
  42 +
  43 + HandleLocationOutside: function()
  44 + {
  45 + if($("#outside_location").is(":visible"))
  46 + {
  47 + $("#job_location_id").removeAttr("disabled");
  48 + $("div#outside_location").hide();
  49 + $("a#other_location_label").html("other");
  50 + }
  51 + else
  52 + {
  53 + $("#job_location_id").attr("disabled", "disabled");
  54 + $("div#outside_location").show();
  55 + $("#job_outside_location").focus();
  56 + $("a#other_location_label").html("pick one from the list");
  57 + }
  58 + },
  59 +
  60 + SendToFriend: {
  61 + showHide: function()
  62 + {
  63 + $("#send-to-friend").slideToggle("slow");
  64 + },
  65 +
  66 + sendMsg: function()
  67 + {
  68 + $("#frm-send-to-friend").ajaxForm(function(responseText) {
  69 + if (responseText == "0")
  70 + {
  71 + var msg = "Your message could not be sent. Did you enter both addresses?";
  72 + $("#send-to-friend-response").css({ color: "red" });
  73 + }
  74 + else
  75 + {
  76 + var msg = "Your message was sent. Let's hope it doesn't get marked as spam!";
  77 + $("#frm-send-to-friend").clearForm();
  78 + $("#send-to-friend-response").css({ color: "green" });
  79 + }
  80 + $("#send-to-friend-response").html(msg);
  81 + });
  82 + }
  83 + },
  84 +
  85 + ReportSpam: function(url, job_id)
  86 + {
  87 + $.ajax({
  88 + type: "POST",
  89 + url: url,
  90 + data: "job_id=" + job_id,
  91 + success: function(msg) {
  92 + $("#report_spam_response").html(msg);
  93 + $("#report_spam_response").css({ color: "green" });
  94 + }
  95 + });
  96 + },
  97 +
  98 + DeactivateLink: function()
  99 + {
  100 +
  101 + var url = Jobber.jobber_admin_url+'deactivate/';
  102 + Jobber.Deactivate(url, Jobber.job_id);
  103 + },
  104 +
  105 + ActivateLink: function()
  106 + {
  107 +
  108 + var url = Jobber.jobber_admin_url+'activate/';
  109 + Jobber.Activate(url, Jobber.job_id, 0);
  110 +
  111 + },
  112 +
  113 + Activate: function(url, job_id, is_first_page)
  114 + {
  115 + $.ajax({
  116 + type: "POST",
  117 + url: url,
  118 + data: "job_id=" + job_id,
  119 + success: function(msg) {
  120 + if (msg != "0")
  121 + {
  122 + var currentRowId = 'item'+job_id;
  123 + var currentLinkId = 'activateLink'+job_id;
  124 + if(is_first_page == 1)
  125 + {
  126 + $("#"+currentRowId).css({ display: "none" });
  127 + }
  128 + else
  129 + {
  130 + Jobber.job_id = job_id;
  131 + document.getElementById(currentLinkId).setAttribute('onclick', Jobber.DeactivateLink);
  132 + document.getElementById(currentLinkId).onclick = Jobber.DeactivateLink;
  133 + document.getElementById(currentLinkId).innerHTML = '<img src="'+Jobber.jobber_url+'img/icon_deactivate.gif" alt="deactivate" />';
  134 + document.getElementById(currentLinkId).id = 'deactivateLink'+job_id;
  135 + }
  136 + }
  137 + }
  138 + });
  139 + },
  140 +
  141 + Deactivate: function(url, job_id)
  142 + {
  143 + $.ajax({
  144 + type: "POST",
  145 + url: url,
  146 + data: "job_id=" + job_id,
  147 + success: function(msg) {
  148 + if (msg != "0")
  149 + {
  150 + var currentLinkId = 'deactivateLink'+job_id;
  151 + Jobber.job_id = job_id;
  152 + document.getElementById(currentLinkId).setAttribute('onclick', Jobber.ActivateLink);
  153 + document.getElementById(currentLinkId).onclick = Jobber.ActivateLink;
  154 + document.getElementById(currentLinkId).innerHTML = '<img src="'+Jobber.jobber_url+'img/icon_accept.gif" alt="activate" />';
  155 + document.getElementById(currentLinkId).id = 'activateLink'+job_id;
  156 + }
  157 + }
  158 + });
  159 + }
  160 + }
  161 +})(jQuery);
  162 +
126 public/javascripts/min/components.js
... ... @@ -0,0 +1,126 @@
  1 +/* ---- Compressing ./public/javascripts/components/apply-form.js ----- */
  2 +$j(document).ready(function() {
  3 + if($j("#apply_online").notOnPage()){ return; }
  4 +
  5 + // expand form
  6 + $j("#apply_online_now a").click(function() {
  7 +
  8 + $j('#apply_online').slideToggle("slow");
  9 + $j('#apply_name').focus();
  10 + window.location.href = '#apply';
  11 +
  12 + return false;
  13 + });
  14 +
  15 + // hide form
  16 + $j("#apply_online .cancel").click(function() {
  17 + $j('#apply_online').slideUp("slow");
  18 + // window.location.href = '';
  19 + return false;
  20 + });
  21 +
  22 +
  23 +});
  24 +
  25 +/* ---- Compressing ./public/javascripts/components/flash.js ----- */
  26 +$j(document).ready(function() {
  27 + $j(".flash a.close-text").click(function() {
  28 + $j(this).parents(".flash").fadeOut();
  29 + });
  30 +});
  31 +
  32 +/* ---- Compressing ./public/javascripts/components/job-posts.js ----- */
  33 +$j(document).ready(function() {
  34 + if($j(".job-posts").notOnPage()){ return; }
  35 +
  36 + $j(".job-posts tr").mouseover(function() {$j(this).addClass("over");}).mouseout(function() {$j(this).removeClass("over");});
  37 + $j(".job-posts tr:odd").addClass("alt");
  38 +});
  39 +
  40 +/* ---- Compressing ./public/javascripts/components/publish_form.js ----- */
  41 +$j(document).ready(function()
  42 +{
  43 + if($j("#publish_form").notOnPage()){ return; }
  44 +
  45 + if($j("#job_title").onPage())
  46 + {
  47 + $j('#title').focus();
  48 + }
  49 +
  50 + // if (BrowserDetect.browser != "Explorer")
  51 + // {
  52 + // $j("#publish_form").validate({
  53 + // rules: {
  54 + // job_company: { required: true },
  55 + // job_title: { required: true },
  56 + // job_description: { required: true },
  57 + // job_poster_email: { required: true }
  58 + // }
  59 + // });
  60 + // }
  61 +});
  62 +
  63 +/* ---- Compressing ./public/javascripts/components/search_form.js ----- */
  64 +$j(document).ready(function()
  65 +{
  66 + if($j("#search_form").notOnPage()){ return; }
  67 +
  68 + // setup search form progress bar
  69 + $j('#indicator').ajaxStart(function() {
  70 + $j(this).show();
  71 + }).ajaxStop(function() {
  72 + $j(this).hide();
  73 + });
  74 +
  75 + // handle ajax search form
  76 + $j("#search_form").ajaxForm({
  77 + data: {ajax: "true"},
  78 + target: "#search_results",
  79 + success: function() {
  80 + if($j("#search_form #keywords").val().length > 0)
  81 + {
  82 + $j(".page-content").hide();
  83 + $j("#search_results").show();
  84 + }
  85 + else
  86 + {
  87 + $j("#search_results").hide();
  88 + $j(".page-content").show();
  89 + }
  90 + }
  91 + });
  92 +
  93 + // handle clearing search form and hiding results
  94 + $j(".clear-search").livequery("click", function() {
  95 + $j("#search_form #keywords").val("");
  96 + $j("#search_results").hide();
  97 + $j(".page-content").show();
  98 + });
  99 +
  100 + // perform keyword search
  101 + $j("#search_form #keywords").bind("perform_search", function() {
  102 +
  103 + $this = $j(this);
  104 + searchVal = $this.val();
  105 +
  106 + if(searchVal.length < 2 || searchVal == $this.attr("title"))
  107 + {
  108 + $j("#search_results").hide();
  109 + $j(".page-content").show();
  110 + }
  111 + else
  112 + {
  113 + $j("#search_form").trigger("submit");
  114 + }
  115 + });
  116 +
  117 + // bind form for autosubmit
  118 + new Form.Element.Observer("keywords", 0.5, function() {
  119 + $j("#search_form #keywords").trigger("perform_search");
  120 + });
  121 +
  122 + // initialize search on page load
  123 + $j("#search_form #keywords").trigger("perform_search");
  124 +
  125 +});
  126 +
2,740 public/javascripts/min/jquery.ext.js
... ... @@ -0,0 +1,2740 @@
  1 +/* ---- Compressing ./public/javascripts/jquery.ext/dimensions.js ----- */
  2 +/*
  3 + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
  4 + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
  5 + *
  6 + * $LastChangedDate: 2007-03-27 23:29:43 +0200 (Di, 27 Mrz 2007) $
  7 + * $Rev: 1601 $
  8 + */
  9 +
  10 +jQuery.fn._height = jQuery.fn.height;
  11 +jQuery.fn._width = jQuery.fn.width;
  12 +
  13 +/**
  14 + * If used on document, returns the document's height (innerHeight)
  15 + * If used on window, returns the viewport's (window) height
  16 + * See core docs on height() to see what happens when used on an element.
  17 + *
  18 + * @example $("#testdiv").height()
  19 + * @result 200
  20 + *
  21 + * @example $(document).height()
  22 + * @result 800
  23 + *
  24 + * @example $(window).height()
  25 + * @result 400
  26 + *
  27 + * @name height
  28 + * @type Object
  29 + * @cat Plugins/Dimensions
  30 + */
  31 +jQuery.fn.height = function() {
  32 + if ( this[0] == window )
  33 + return self.innerHeight ||
  34 + jQuery.boxModel && document.documentElement.clientHeight ||
  35 + document.body.clientHeight;
  36 +
  37 + if ( this[0] == document )
  38 + return Math.max( document.body.scrollHeight, document.body.offsetHeight );
  39 +
  40 + return this._height(arguments[0]);
  41 +};
  42 +
  43 +/**
  44 + * If used on document, returns the document's width (innerWidth)
  45 + * If used on window, returns the viewport's (window) width
  46 + * See core docs on height() to see what happens when used on an element.
  47 + *
  48 + * @example $("#testdiv").width()
  49 + * @result 200
  50 + *
  51 + * @example $(document).width()
  52 + * @result 800
  53 + *
  54 + * @example $(window).width()
  55 + * @result 400
  56 + *
  57 + * @name width
  58 + * @type Object
  59 + * @cat Plugins/Dimensions
  60 + */
  61 +jQuery.fn.width = function() {
  62 + if ( this[0] == window )
  63 + return self.innerWidth ||
  64 + jQuery.boxModel && document.documentElement.clientWidth ||
  65 + document.body.clientWidth;
  66 +
  67 + if ( this[0] == document )
  68 + return Math.max( document.body.scrollWidth, document.body.offsetWidth );
  69 +
  70 + return this._width(arguments[0]);
  71 +};
  72 +
  73 +/**
  74 + * Returns the inner height value (without border) for the first matched element.
  75 + * If used on document, returns the document's height (innerHeight)
  76 + * If used on window, returns the viewport's (window) height
  77 + *
  78 + * @example $("#testdiv").innerHeight()
  79 + * @result 800
  80 + *
  81 + * @name innerHeight
  82 + * @type Number
  83 + * @cat Plugins/Dimensions
  84 + */
  85 +jQuery.fn.innerHeight = function() {
  86 + return this[0] == window || this[0] == document ?
  87 + this.height() :
  88 + this.css('display') != 'none' ?
  89 + this[0].offsetHeight - (parseInt(this.css("borderTopWidth")) || 0) - (parseInt(this.css("borderBottomWidth")) || 0) :
  90 + this.height() + (parseInt(this.css("paddingTop")) || 0) + (parseInt(this.css("paddingBottom")) || 0);
  91 +};
  92 +
  93 +/**
  94 + * Returns the inner width value (without border) for the first matched element.
  95 + * If used on document, returns the document's Width (innerWidth)
  96 + * If used on window, returns the viewport's (window) width
  97 + *
  98 + * @example $("#testdiv").innerWidth()
  99 + * @result 1000
  100 + *
  101 + * @name innerWidth
  102 + * @type Number
  103 + * @cat Plugins/Dimensions
  104 + */
  105 +jQuery.fn.innerWidth = function() {
  106 + return this[0] == window || this[0] == document ?
  107 + this.width() :
  108 + this.css('display') != 'none' ?
  109 + this[0].offsetWidth - (parseInt(this.css("borderLeftWidth")) || 0) - (parseInt(this.css("borderRightWidth")) || 0) :
  110 + this.height() + (parseInt(this.css("paddingLeft")) || 0) + (parseInt(this.css("paddingRight")) || 0);
  111 +};
  112 +
  113 +/**
  114 + * Returns the outer height value (including border) for the first matched element.
  115 + * Cannot be used on document or window.
  116 + *
  117 + * @example $("#testdiv").outerHeight()
  118 + * @result 1000
  119 + *
  120 + * @name outerHeight
  121 + * @type Number
  122 + * @cat Plugins/Dimensions
  123 + */
  124 +jQuery.fn.outerHeight = function() {
  125 + return this[0] == window || this[0] == document ?
  126 + this.height() :
  127 + this.css('display') != 'none' ?
  128 + this[0].offsetHeight :
  129 + this.height() + (parseInt(this.css("borderTopWidth")) || 0) + (parseInt(this.css("borderBottomWidth")) || 0)
  130 + + (parseInt(this.css("paddingTop")) || 0) + (parseInt(this.css("paddingBottom")) || 0);
  131 +};
  132 +
  133 +/**
  134 + * Returns the outer width value (including border) for the first matched element.
  135 + * Cannot be used on document or window.
  136 + *
  137 + * @example $("#testdiv").outerWidth()
  138 + * @result 1000
  139 + *
  140 + * @name outerWidth
  141 + * @type Number
  142 + * @cat Plugins/Dimensions
  143 + */
  144 +jQuery.fn.outerWidth = function() {
  145 + return this[0] == window || this[0] == document ?
  146 + this.width() :
  147 + this.css('display') != 'none' ?
  148 + this[0].offsetWidth :
  149 + this.height() + (parseInt(this.css("borderLeftWidth")) || 0) + (parseInt(this.css("borderRightWidth")) || 0)
  150 + + (parseInt(this.css("paddingLeft")) || 0) + (parseInt(this.css("paddingRight")) || 0);
  151 +};
  152 +
  153 +/**
  154 + * Returns how many pixels the user has scrolled to the right (scrollLeft).
  155 + * Works on containers with overflow: auto and window/document.
  156 + *
  157 + * @example $("#testdiv").scrollLeft()
  158 + * @result 100
  159 + *
  160 + * @name scrollLeft
  161 + * @type Number
  162 + * @cat Plugins/Dimensions
  163 + */
  164 +jQuery.fn.scrollLeft = function() {
  165 + if ( this[0] == window || this[0] == document )
  166 + return self.pageXOffset ||
  167 + jQuery.boxModel && document.documentElement.scrollLeft ||
  168 + document.body.scrollLeft;
  169 +
  170 + return this[0].scrollLeft;
  171 +};
  172 +
  173 +/**
  174 + * Returns how many pixels the user has scrolled to the bottom (scrollTop).
  175 + * Works on containers with overflow: auto and window/document.
  176 + *
  177 + * @example $("#testdiv").scrollTop()
  178 + * @result 100
  179 + *
  180 + * @name scrollTop
  181 + * @type Number
  182 + * @cat Plugins/Dimensions
  183 + */
  184 +jQuery.fn.scrollTop = function() {
  185 + if ( this[0] == window || this[0] == document )
  186 + return self.pageYOffset ||
  187 + jQuery.boxModel && document.documentElement.scrollTop ||
  188 + document.body.scrollTop;
  189 +
  190 + return this[0].scrollTop;
  191 +};
  192 +
  193 +/**
  194 + * Returns the location of the element in pixels from the top left corner of the viewport.
  195 + *
  196 + * For accurate readings make sure to use pixel values for margins, borders and padding.
  197 + *
  198 + * @example $("#testdiv").offset()
  199 + * @result { top: 100, left: 100, scrollTop: 10, scrollLeft: 10 }
  200 + *
  201 + * @example $("#testdiv").offset({ scroll: false })
  202 + * @result { top: 90, left: 90 }
  203 + *
  204 + * @example var offset = {}
  205 + * $("#testdiv").offset({ scroll: false }, offset)
  206 + * @result offset = { top: 90, left: 90 }
  207 + *
  208 + * @name offset
  209 + * @param Object options A hash of options describing what should be included in the final calculations of the offset.
  210 + * The options include:
  211 + * margin: Should the margin of the element be included in the calculations? True by default.
  212 + * If set to false the margin of the element is subtracted from the total offset.
  213 + * border: Should the border of the element be included in the calculations? True by default.
  214 + * If set to false the border of the element is subtracted from the total offset.
  215 + * padding: Should the padding of the element be included in the calculations? False by default.
  216 + * If set to true the padding of the element is added to the total offset.
  217 + * scroll: Should the scroll offsets of the parent elements be included in the calculations?
  218 + * True by default. When true, it adds the total scroll offsets of all parents to the
  219 + * total offset and also adds two properties to the returned object, scrollTop and
  220 + * scrollLeft. If set to false the scroll offsets of parent elements are ignored.
  221 + * If scroll offsets are not needed, set to false to get a performance boost.
  222 + * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
  223 + * chain will not be broken and the result will be assigned to this object.