You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(15) |
Dec
(68) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(131) |
Feb
(95) |
Mar
(114) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(22) |
Apr
(10) |
May
(19) |
Jun
(43) |
Jul
(4) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
From: <zn...@us...> - 2009-06-02 08:57:41
|
Revision: 901 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=901&view=rev Author: znz Date: 2009-06-02 08:57:34 +0000 (Tue, 02 Jun 2009) Log Message: ----------- update RELEASE_DATE Modified Paths: -------------- trunk/crackerjack/lib/crackerjack/info.rb Modified: trunk/crackerjack/lib/crackerjack/info.rb =================================================================== --- trunk/crackerjack/lib/crackerjack/info.rb 2009-06-02 08:57:11 UTC (rev 900) +++ trunk/crackerjack/lib/crackerjack/info.rb 2009-06-02 08:57:34 UTC (rev 901) @@ -55,7 +55,7 @@ # version VERSION = "2.1.1" # release date - RELEASE_DATE = "2009-05-29" + RELEASE_DATE = "2009-06-02" # copyright notice COPYRIGHT_NOTICE =<<EOCN This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-06-02 08:57:17
|
Revision: 900 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=900&view=rev Author: znz Date: 2009-06-02 08:57:11 +0000 (Tue, 02 Jun 2009) Log Message: ----------- edit comment form moves to bottom Modified Paths: -------------- trunk/viewsite/app/controllers/compare_logs_controller.rb trunk/viewsite/app/views/compare_logs/show.html.erb Modified: trunk/viewsite/app/controllers/compare_logs_controller.rb =================================================================== --- trunk/viewsite/app/controllers/compare_logs_controller.rb 2009-06-02 08:56:45 UTC (rev 899) +++ trunk/viewsite/app/controllers/compare_logs_controller.rb 2009-06-02 08:57:11 UTC (rev 900) @@ -47,4 +47,12 @@ end end end + + private + + def set_editable + @editable = true + end + + before_filter :set_editable, :only => [:show, :update] end Modified: trunk/viewsite/app/views/compare_logs/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_logs/show.html.erb 2009-06-02 08:56:45 UTC (rev 899) +++ trunk/viewsite/app/views/compare_logs/show.html.erb 2009-06-02 08:57:11 UTC (rev 900) @@ -44,19 +44,7 @@ <b>Compare status:</b> <%=h @compare_log.to_status %> </p> -<%- end -%> -<%- if true -%> - <%- form_for(@compare_log) do |f| -%> - <%= f.error_messages %> - - <p> - <%= f.label :comment %><br /> - <%= f.text_area :comment, :size => "80x5" %><br /> - <%= f.submit 'Update' %> - </p> - <%- end -%> -<%- else -%> <p> <b>Comment:</b> <%=h @compare_log.comment %> @@ -84,3 +72,17 @@ </tr> </table> <%- end -%> + +<%- if @editable -%> + <%- form_for(@compare_log) do |f| -%> + <%= f.error_messages %> + + <p> +<!-- + <%= f.label :comment %><br /> +--> + <%= f.text_area :comment, :size => "80x4" %> + <%= f.submit 'Update' %> + </p> + <%- end -%> +<%- end -%> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-06-02 08:56:54
|
Revision: 899 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=899&view=rev Author: znz Date: 2009-06-02 08:56:45 +0000 (Tue, 02 Jun 2009) Log Message: ----------- unlimit comment Modified Paths: -------------- trunk/viewsite/app/models/compare_log.rb Modified: trunk/viewsite/app/models/compare_log.rb =================================================================== --- trunk/viewsite/app/models/compare_log.rb 2009-06-02 08:56:23 UTC (rev 898) +++ trunk/viewsite/app/models/compare_log.rb 2009-06-02 08:56:45 UTC (rev 899) @@ -23,14 +23,6 @@ # validates_presence_of :c_out_log, :c_err_log # can be empty validates_inclusion_of :compare_status, :in => 0...STATUS_MAX - #validates_length_of :comment, :maximum => 1000 - validates_each :comment do |record, attr, value| - count = record.comment_was.to_s.split(//).size + 1000 - if count < value.to_s.split(//).size - record.errors.add attr, "is too long (maximum is #{count} characters)" - end - end - delegate :test_name, :to => :system_call delegate :default_compare?, :to => :system_call This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-06-02 08:56:42
|
Revision: 898 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=898&view=rev Author: znz Date: 2009-06-02 08:56:23 +0000 (Tue, 02 Jun 2009) Log Message: ----------- save added/deleted rows/columns to session cookies Modified Paths: -------------- trunk/viewsite/app/controllers/compare_results_controller.rb trunk/viewsite/app/views/compare_results/index.html.erb trunk/viewsite/public/javascripts/application.js Modified: trunk/viewsite/app/controllers/compare_results_controller.rb =================================================================== --- trunk/viewsite/app/controllers/compare_results_controller.rb 2009-06-02 08:55:52 UTC (rev 897) +++ trunk/viewsite/app/controllers/compare_results_controller.rb 2009-06-02 08:56:23 UTC (rev 898) @@ -7,28 +7,44 @@ :order => "hostname ASC, kernel_version ASC, testcases_version ASC", } opts[:col] = opts[:row].dup - @selected_tab = nil @custom_table = false @distro_title = "Difference between Distributions" @vanilla_title = "Difference between Distributions and Vanilla Kernels" - [:row, :col].each do |key| - case params[key] + if params[:row] == params[:col] + case params[:col] when 'all' @selected_tab = :all @title = "All Kernels" when /\d/ + @selected_tab = nil + when '!d' + @selected_tab = :vanilla + @title = @vanilla_title + else + @selected_tab = :distro + @title = @distro_title + end + end + if @selected_tab + [:row, :col].each do |key| + value = cookies["#{@selected_tab}_#{key}"] + if value && /\d/ !~ params[key] + params[key] = value + end + end + end + [:row, :col].each do |key| + case params[key] + when 'all' + when /\d/ @custom_table = true ids = params[key].split(/\D+/).map{|s|s.to_i} opts["#{key}_ids"] = ids opts[key][:conditions] = ["id in (?)", ids] opts[key].delete(:order) when '!d' - @selected_tab = :vanilla - @title = @vanilla_title opts[key][:conditions] = ["distribution_kernel = ?", false] else - @selected_tab = :distro - @title = @distro_title opts[key][:conditions] = ["distribution_kernel = ?", true] end end Modified: trunk/viewsite/app/views/compare_results/index.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/index.html.erb 2009-06-02 08:55:52 UTC (rev 897) +++ trunk/viewsite/app/views/compare_results/index.html.erb 2009-06-02 08:56:23 UTC (rev 898) @@ -2,15 +2,11 @@ <div class="ui-tabs"> <ul class="ui-tabs-nav"> - <li<%= tab_class(:distro) %>><%= link_to @distro_title, cjk_path %></li> - <li<%= tab_class(:vanilla) %>><%= link_to @vanilla_title, :row => '!d', :col => '!d' %></li> + <li<%= tab_class(:distro) %>><%= link_to @distro_title, cjk_path, :class => :distro %></li> + <li<%= tab_class(:vanilla) %>><%= link_to @vanilla_title, { :row => '!d', :col => '!d' }, :class => :vanilla %></li> <%- if false -%> <li<%= tab_class(:all) %>><%= link_to 'All Kernels', :row => 'all', :col => 'all' %></li> <%- end -%> -<%- if @custom_table -%> - <li class="ui-tabs-selected"><%= link_to 'Customized', :row => params[:row], :col => params[:col] %></li> -<%- end -%> - <li id="permalink_container" style="display:none"><%= link_to 'Permalink', { :row => nil, :col => nil }, { :id => "permalink" } %></li> </ul> <div class="ui-tabs-panel"> Modified: trunk/viewsite/public/javascripts/application.js =================================================================== --- trunk/viewsite/public/javascripts/application.js 2009-06-02 08:55:52 UTC (rev 897) +++ trunk/viewsite/public/javascripts/application.js 2009-06-02 08:56:23 UTC (rev 898) @@ -2,18 +2,16 @@ // This file is automatically included by javascript_include_tag :defaults App = {}; -App.use_ajax = false; +App.use_ajax = true; App.updatePermalink = function() { + var col_ids = App.getIds(".col_name"); + var row_ids = App.getIds(".row_name"); + var selected_tab = jQuery(".ui-tabs-selected a").attr("class"); + jQuery.cookie(selected_tab + "_col", col_ids); + jQuery.cookie(selected_tab + "_row", row_ids); if (!App.permalink_base) { - App.permalink_base = jQuery("#permalink").attr("href"); - } - var href = App.permalink_base + '?col=' + App.getIds(".col_name") + '&row=' + App.getIds(".row_name"); - if (!App.use_ajax) { - location.href = href; return; } - jQuery("#permalink").attr("href", href); - jQuery("#permalink_container").show(); }; App.removeRow = function(row_id) { var row_name = jQuery.trim(jQuery('#row_name_' + row_id).html()); @@ -66,12 +64,6 @@ if (col_add.selectedIndex < 0) return; var option = col_add.options[col_add.selectedIndex]; var col = option.value; - if (!App.use_ajax) { - // add dummy - $("<span style='display:none' class='col_name' id='"+col+"'></span>").insertAfter("#compare_results"); - App.updatePermalink(); - return; - } var row = App.getIds(".row_name"); jQuery.get(window.location.pathname, { col: col, row: row }, function(text) { try { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-06-02 08:56:07
|
Revision: 897 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=897&view=rev Author: znz Date: 2009-06-02 08:55:52 +0000 (Tue, 02 Jun 2009) Log Message: ----------- add jquery.cookie.js Modified Paths: -------------- trunk/viewsite/app/views/layouts/application.html.erb Added Paths: ----------- trunk/viewsite/public/javascripts/jquery.cookie.js Modified: trunk/viewsite/app/views/layouts/application.html.erb =================================================================== --- trunk/viewsite/app/views/layouts/application.html.erb 2009-06-02 08:55:23 UTC (rev 896) +++ trunk/viewsite/app/views/layouts/application.html.erb 2009-06-02 08:55:52 UTC (rev 897) @@ -11,10 +11,12 @@ <link rel="canonical" href="<%=h @canonical_url %>" /> <%- end -%> <%= javascript_include_tag "jquery-1.3.2.min" %> + <%= javascript_include_tag "jquery.cookie" %> <%#= javascript_include_tag :defaults %> <%= javascript_include_tag "application" %> </head> <body> + <h2 class="header"> <%- if "crackerjack.good-day.net" == request.host -%> <%= link_to "Functional", "http://test.kernel.org/tko/compose_query.cgi" %> Added: trunk/viewsite/public/javascripts/jquery.cookie.js =================================================================== --- trunk/viewsite/public/javascripts/jquery.cookie.js (rev 0) +++ trunk/viewsite/public/javascripts/jquery.cookie.js 2009-06-02 08:55:52 UTC (rev 897) @@ -0,0 +1,96 @@ +/** + * Cookie plugin + * + * Copyright (c) 2006 Klaus Hartl (stilbuero.de) + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + */ + +/** + * Create a cookie with the given name and value and other optional parameters. + * + * @example $.cookie('the_cookie', 'the_value'); + * @desc Set the value of a cookie. + * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); + * @desc Create a cookie with all available options. + * @example $.cookie('the_cookie', 'the_value'); + * @desc Create a session cookie. + * @example $.cookie('the_cookie', null); + * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain + * used when the cookie was set. + * + * @param String name The name of the cookie. + * @param String value The value of the cookie. + * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. + * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. + * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. + * If set to null or omitted, the cookie will be a session cookie and will not be retained + * when the the browser exits. + * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). + * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). + * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will + * require a secure protocol (like HTTPS). + * @type undefined + * + * @name $.cookie + * @cat Plugins/Cookie + * @author Klaus Hartl/kla...@st... + */ + +/** + * Get the value of a cookie with the given name. + * + * @example $.cookie('the_cookie'); + * @desc Get the value of a cookie. + * + * @param String name The name of the cookie. + * @return The value of the cookie. + * @type String + * + * @name $.cookie + * @cat Plugins/Cookie + * @author Klaus Hartl/kla...@st... + */ +jQuery.cookie = function(name, value, options) { + if (typeof value != 'undefined') { // name and value given, set cookie + options = options || {}; + if (value === null) { + value = ''; + options.expires = -1; + } + var expires = ''; + if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { + var date; + if (typeof options.expires == 'number') { + date = new Date(); + date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); + } else { + date = options.expires; + } + expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE + } + // CAUTION: Needed to parenthesize options.path and options.domain + // in the following expressions, otherwise they evaluate to undefined + // in the packed version for some reason... + var path = options.path ? '; path=' + (options.path) : ''; + var domain = options.domain ? '; domain=' + (options.domain) : ''; + var secure = options.secure ? '; secure' : ''; + document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); + } else { // only name given, get cookie + var cookieValue = null; + if (document.cookie && document.cookie != '') { + var cookies = document.cookie.split(';'); + for (var i = 0; i < cookies.length; i++) { + var cookie = jQuery.trim(cookies[i]); + // Does this cookie string begin with the name we want? + if (cookie.substring(0, name.length + 1) == (name + '=')) { + cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); + break; + } + } + } + return cookieValue; + } +}; \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-06-02 08:55:38
|
Revision: 896 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=896&view=rev Author: znz Date: 2009-06-02 08:55:23 +0000 (Tue, 02 Jun 2009) Log Message: ----------- change title of compare results view Modified Paths: -------------- trunk/viewsite/app/controllers/compare_results_controller.rb trunk/viewsite/app/views/compare_results/index.html.erb Modified: trunk/viewsite/app/controllers/compare_results_controller.rb =================================================================== --- trunk/viewsite/app/controllers/compare_results_controller.rb 2009-05-29 09:07:32 UTC (rev 895) +++ trunk/viewsite/app/controllers/compare_results_controller.rb 2009-06-02 08:55:23 UTC (rev 896) @@ -9,6 +9,8 @@ opts[:col] = opts[:row].dup @selected_tab = nil @custom_table = false + @distro_title = "Difference between Distributions" + @vanilla_title = "Difference between Distributions and Vanilla Kernels" [:row, :col].each do |key| case params[key] when 'all' @@ -22,11 +24,11 @@ opts[key].delete(:order) when '!d' @selected_tab = :vanilla - @title = "Vanilla Kernels" + @title = @vanilla_title opts[key][:conditions] = ["distribution_kernel = ?", false] else @selected_tab = :distro - @title = "Distribution Kernels" + @title = @distro_title opts[key][:conditions] = ["distribution_kernel = ?", true] end end Modified: trunk/viewsite/app/views/compare_results/index.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-29 09:07:32 UTC (rev 895) +++ trunk/viewsite/app/views/compare_results/index.html.erb 2009-06-02 08:55:23 UTC (rev 896) @@ -2,8 +2,8 @@ <div class="ui-tabs"> <ul class="ui-tabs-nav"> - <li<%= tab_class(:distro) %>><%= link_to 'Distribution Kernels', cjk_path %></li> - <li<%= tab_class(:vanilla) %>><%= link_to 'Vanilla Kernels', :row => '!d', :col => '!d' %></li> + <li<%= tab_class(:distro) %>><%= link_to @distro_title, cjk_path %></li> + <li<%= tab_class(:vanilla) %>><%= link_to @vanilla_title, :row => '!d', :col => '!d' %></li> <%- if false -%> <li<%= tab_class(:all) %>><%= link_to 'All Kernels', :row => 'all', :col => 'all' %></li> <%- end -%> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-29 09:08:03
|
Revision: 895 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=895&view=rev Author: znz Date: 2009-05-29 09:07:32 +0000 (Fri, 29 May 2009) Log Message: ----------- update RELEASE_DATE Modified Paths: -------------- trunk/crackerjack/lib/crackerjack/info.rb Modified: trunk/crackerjack/lib/crackerjack/info.rb =================================================================== --- trunk/crackerjack/lib/crackerjack/info.rb 2009-05-29 09:07:08 UTC (rev 894) +++ trunk/crackerjack/lib/crackerjack/info.rb 2009-05-29 09:07:32 UTC (rev 895) @@ -55,7 +55,7 @@ # version VERSION = "2.1.1" # release date - RELEASE_DATE = "2009-05-26" + RELEASE_DATE = "2009-05-29" # copyright notice COPYRIGHT_NOTICE =<<EOCN This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-29 09:07:34
|
Revision: 894 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=894&view=rev Author: znz Date: 2009-05-29 09:07:08 +0000 (Fri, 29 May 2009) Log Message: ----------- use tab and do not use ajax to update customized URL Modified Paths: -------------- trunk/viewsite/app/controllers/compare_results_controller.rb trunk/viewsite/app/helpers/compare_results_helper.rb trunk/viewsite/app/views/compare_results/index.html.erb trunk/viewsite/app/views/layouts/application.html.erb trunk/viewsite/public/javascripts/application.js trunk/viewsite/public/stylesheets/application.css Modified: trunk/viewsite/app/controllers/compare_results_controller.rb =================================================================== --- trunk/viewsite/app/controllers/compare_results_controller.rb 2009-05-29 09:06:25 UTC (rev 893) +++ trunk/viewsite/app/controllers/compare_results_controller.rb 2009-05-29 09:07:08 UTC (rev 894) @@ -7,19 +7,25 @@ :order => "hostname ASC, kernel_version ASC, testcases_version ASC", } opts[:col] = opts[:row].dup + @selected_tab = nil + @custom_table = false [:row, :col].each do |key| case params[key] when 'all' + @selected_tab = :all @title = "All Kernels" when /\d/ + @custom_table = true ids = params[key].split(/\D+/).map{|s|s.to_i} opts["#{key}_ids"] = ids opts[key][:conditions] = ["id in (?)", ids] opts[key].delete(:order) when '!d' + @selected_tab = :vanilla @title = "Vanilla Kernels" opts[key][:conditions] = ["distribution_kernel = ?", false] else + @selected_tab = :distro @title = "Distribution Kernels" opts[key][:conditions] = ["distribution_kernel = ?", true] end Modified: trunk/viewsite/app/helpers/compare_results_helper.rb =================================================================== --- trunk/viewsite/app/helpers/compare_results_helper.rb 2009-05-29 09:06:25 UTC (rev 893) +++ trunk/viewsite/app/helpers/compare_results_helper.rb 2009-05-29 09:07:08 UTC (rev 894) @@ -1,2 +1,7 @@ module CompareResultsHelper + def tab_class(tab) + if @selected_tab == tab + ' class="ui-tabs-selected"' + end + end end Modified: trunk/viewsite/app/views/compare_results/index.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-29 09:06:25 UTC (rev 893) +++ trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-29 09:07:08 UTC (rev 894) @@ -1,15 +1,19 @@ <%- @title ||= 'Kernels' -%> -<ul> - <li><%= link_to 'Distribution Kernels', cjk_path %></li> - <li><%= link_to 'Vanilla Kernels', :row => '!d', :col => '!d' %></li> +<div class="ui-tabs"> +<ul class="ui-tabs-nav"> + <li<%= tab_class(:distro) %>><%= link_to 'Distribution Kernels', cjk_path %></li> + <li<%= tab_class(:vanilla) %>><%= link_to 'Vanilla Kernels', :row => '!d', :col => '!d' %></li> <%- if false -%> - <li><%= link_to 'All Kernels', :row => 'all', :col => 'all' %></li> + <li<%= tab_class(:all) %>><%= link_to 'All Kernels', :row => 'all', :col => 'all' %></li> <%- end -%> +<%- if @custom_table -%> + <li class="ui-tabs-selected"><%= link_to 'Customized', :row => params[:row], :col => params[:col] %></li> +<%- end -%> <li id="permalink_container" style="display:none"><%= link_to 'Permalink', { :row => nil, :col => nil }, { :id => "permalink" } %></li> </ul> - +<div class="ui-tabs-panel"> <%- all = ExecuteResult.all -%> <table style="margin: 1em"> <tr> @@ -63,3 +67,5 @@ </tr> </table> +</div> +</div> Modified: trunk/viewsite/app/views/layouts/application.html.erb =================================================================== --- trunk/viewsite/app/views/layouts/application.html.erb 2009-05-29 09:06:25 UTC (rev 893) +++ trunk/viewsite/app/views/layouts/application.html.erb 2009-05-29 09:07:08 UTC (rev 894) @@ -10,6 +10,9 @@ <%- if @canonical_url -%> <link rel="canonical" href="<%=h @canonical_url %>" /> <%- end -%> + <%= javascript_include_tag "jquery-1.3.2.min" %> + <%#= javascript_include_tag :defaults %> + <%= javascript_include_tag "application" %> </head> <body> <h2 class="header"> @@ -22,9 +25,6 @@ <%= link_to "Crackerjack", :controller => "compare_results", :action => "index", :row => '!d', :col => '!d' %> <%= link_to "[About Page]", :controller => "document", :action => "index_en" %> - <%= javascript_include_tag "jquery-1.3.2.min" %> - <%#= javascript_include_tag :defaults %> - <%= javascript_include_tag "application" %> </h2> <h1><%=h @title %></h1> Modified: trunk/viewsite/public/javascripts/application.js =================================================================== --- trunk/viewsite/public/javascripts/application.js 2009-05-29 09:06:25 UTC (rev 893) +++ trunk/viewsite/public/javascripts/application.js 2009-05-29 09:07:08 UTC (rev 894) @@ -2,11 +2,16 @@ // This file is automatically included by javascript_include_tag :defaults App = {}; +App.use_ajax = false; App.updatePermalink = function() { if (!App.permalink_base) { App.permalink_base = jQuery("#permalink").attr("href"); } var href = App.permalink_base + '?col=' + App.getIds(".col_name") + '&row=' + App.getIds(".row_name"); + if (!App.use_ajax) { + location.href = href; + return; + } jQuery("#permalink").attr("href", href); jQuery("#permalink_container").show(); }; @@ -37,6 +42,12 @@ if (row_add.selectedIndex < 0) return; var option = row_add.options[row_add.selectedIndex]; var row = option.value; + if (!App.use_ajax) { + // add dummy + $("<span style='display:none' class='row_name' id='row_"+row+"'></span>").insertAfter("#compare_results"); + App.updatePermalink(); + return; + } var col = App.getIds(".col_name"); jQuery.get(window.location.pathname, { col: col, row: row }, function(text) { try { @@ -55,6 +66,12 @@ if (col_add.selectedIndex < 0) return; var option = col_add.options[col_add.selectedIndex]; var col = option.value; + if (!App.use_ajax) { + // add dummy + $("<span style='display:none' class='col_name' id='"+col+"'></span>").insertAfter("#compare_results"); + App.updatePermalink(); + return; + } var row = App.getIds(".row_name"); jQuery.get(window.location.pathname, { col: col, row: row }, function(text) { try { Modified: trunk/viewsite/public/stylesheets/application.css =================================================================== --- trunk/viewsite/public/stylesheets/application.css 2009-05-29 09:06:25 UTC (rev 893) +++ trunk/viewsite/public/stylesheets/application.css 2009-05-29 09:07:08 UTC (rev 894) @@ -20,6 +20,7 @@ text-decoration: none; } +/* scaffold */ body { background-color: #fff; color: #333; } .fieldWithErrors { @@ -57,3 +58,15 @@ font-size: 12px; list-style: square; } + +/* Tabs +----------------------------------*/ +.ui-tabs { padding: .2em; zoom: 1; } +.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; } +.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; background-color: #ccc } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-29 09:06:34
|
Revision: 893 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=893&view=rev Author: znz Date: 2009-05-29 09:06:25 +0000 (Fri, 29 May 2009) Log Message: ----------- editable compare_log.comment Modified Paths: -------------- trunk/viewsite/app/controllers/compare_logs_controller.rb trunk/viewsite/app/models/compare_log.rb trunk/viewsite/app/views/compare_logs/show.html.erb trunk/viewsite/public/stylesheets/application.css trunk/viewsite/test/unit/compare_log_test.rb Modified: trunk/viewsite/app/controllers/compare_logs_controller.rb =================================================================== --- trunk/viewsite/app/controllers/compare_logs_controller.rb 2009-05-26 09:39:41 UTC (rev 892) +++ trunk/viewsite/app/controllers/compare_logs_controller.rb 2009-05-29 09:06:25 UTC (rev 893) @@ -22,4 +22,29 @@ format.xml { render :xml => @compare_log } end end + + # PUT /compare_logs/1 + # PUT /compare_logs/1.xml + def update + @compare_log = CompareLog.find(params[:id]) + + comment = params[:compare_log][:comment] + @compare_log.comment = comment + + respond_to do |format| + if @compare_log.save + flash[:notice] = 'compare_log was successfully updated.' + format.html { redirect_to(@compare_log) } + format.xml { head :ok } + else + format.html { + @a_execute_log = @compare_log.a_execute_log + @b_execute_log = @compare_log.b_execute_log + render :action => "show" + } + format.xml { render :xml => @compare_log.errors, :status => :unprocessable_ent +ity } + end + end + end end Modified: trunk/viewsite/app/models/compare_log.rb =================================================================== --- trunk/viewsite/app/models/compare_log.rb 2009-05-26 09:39:41 UTC (rev 892) +++ trunk/viewsite/app/models/compare_log.rb 2009-05-29 09:06:25 UTC (rev 893) @@ -23,6 +23,14 @@ # validates_presence_of :c_out_log, :c_err_log # can be empty validates_inclusion_of :compare_status, :in => 0...STATUS_MAX + #validates_length_of :comment, :maximum => 1000 + validates_each :comment do |record, attr, value| + count = record.comment_was.to_s.split(//).size + 1000 + if count < value.to_s.split(//).size + record.errors.add attr, "is too long (maximum is #{count} characters)" + end + end + delegate :test_name, :to => :system_call delegate :default_compare?, :to => :system_call Modified: trunk/viewsite/app/views/compare_logs/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-26 09:39:41 UTC (rev 892) +++ trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-29 09:06:25 UTC (rev 893) @@ -1,5 +1,6 @@ <%- @title = "Compare Log" -%> +<%- unless @compare_log.invalid? -%> <p> <b>A result:</b> <%=link_to h(@a_execute_log.execute_result.to_summary), @a_execute_log %> @@ -43,13 +44,26 @@ <b>Compare status:</b> <%=h @compare_log.to_status %> </p> +<%- end -%> +<%- if true -%> + <%- form_for(@compare_log) do |f| -%> + <%= f.error_messages %> + + <p> + <%= f.label :comment %><br /> + <%= f.text_area :comment, :size => "80x5" %><br /> + <%= f.submit 'Update' %> + </p> + <%- end -%> +<%- else -%> <p> <b>Comment:</b> <%=h @compare_log.comment %> </p> +<%- end -%> -<%- if false -%> +<%- if !@compare_log.invalid? && @a_execute_log && @b_execute_log -%> <table border="1"> <tr> <th>A execute log</th> Modified: trunk/viewsite/public/stylesheets/application.css =================================================================== --- trunk/viewsite/public/stylesheets/application.css 2009-05-26 09:39:41 UTC (rev 892) +++ trunk/viewsite/public/stylesheets/application.css 2009-05-29 09:06:25 UTC (rev 893) @@ -19,3 +19,41 @@ a { text-decoration: none; } + +body { background-color: #fff; color: #333; } + +.fieldWithErrors { + padding: 2px; + background-color: red; + display: table; +} + +#errorExplanation { + width: 400px; + border: 2px solid red; + padding: 7px; + padding-bottom: 12px; + margin-bottom: 20px; + background-color: #f0f0f0; +} + +#errorExplanation h2 { + text-align: left; + font-weight: bold; + padding: 5px 5px 5px 15px; + font-size: 12px; + margin: -7px; + background-color: #c00; + color: #fff; +} + +#errorExplanation p { + color: #333; + margin-bottom: 0; + padding: 5px; +} + +#errorExplanation ul li { + font-size: 12px; + list-style: square; +} Modified: trunk/viewsite/test/unit/compare_log_test.rb =================================================================== --- trunk/viewsite/test/unit/compare_log_test.rb 2009-05-26 09:39:41 UTC (rev 892) +++ trunk/viewsite/test/unit/compare_log_test.rb 2009-05-29 09:06:25 UTC (rev 893) @@ -1,8 +1,9 @@ require 'test_helper' class CompareLogTest < ActiveSupport::TestCase - # Replace this with your real tests. - test "the truth" do - assert true + test "too long is invalid" do + log = CompareLog.first + log.comment = " "*10000 + assert log.invalid? end end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-26 09:39:50
|
Revision: 892 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=892&view=rev Author: znz Date: 2009-05-26 09:39:41 +0000 (Tue, 26 May 2009) Log Message: ----------- update RELEASE_DATE Modified Paths: -------------- trunk/crackerjack/lib/crackerjack/info.rb Modified: trunk/crackerjack/lib/crackerjack/info.rb =================================================================== --- trunk/crackerjack/lib/crackerjack/info.rb 2009-05-26 09:39:20 UTC (rev 891) +++ trunk/crackerjack/lib/crackerjack/info.rb 2009-05-26 09:39:41 UTC (rev 892) @@ -55,7 +55,7 @@ # version VERSION = "2.1.1" # release date - RELEASE_DATE = "2009-05-19" + RELEASE_DATE = "2009-05-26" # copyright notice COPYRIGHT_NOTICE =<<EOCN This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-26 09:39:31
|
Revision: 891 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=891&view=rev Author: znz Date: 2009-05-26 09:39:20 +0000 (Tue, 26 May 2009) Log Message: ----------- hide link to all kernels Modified Paths: -------------- trunk/viewsite/app/views/compare_results/index.html.erb Modified: trunk/viewsite/app/views/compare_results/index.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-26 09:38:58 UTC (rev 890) +++ trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-26 09:39:20 UTC (rev 891) @@ -3,7 +3,9 @@ <ul> <li><%= link_to 'Distribution Kernels', cjk_path %></li> <li><%= link_to 'Vanilla Kernels', :row => '!d', :col => '!d' %></li> +<%- if false -%> <li><%= link_to 'All Kernels', :row => 'all', :col => 'all' %></li> +<%- end -%> <li id="permalink_container" style="display:none"><%= link_to 'Permalink', { :row => nil, :col => nil }, { :id => "permalink" } %></li> </ul> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-26 09:39:07
|
Revision: 890 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=890&view=rev Author: znz Date: 2009-05-26 09:38:58 +0000 (Tue, 26 May 2009) Log Message: ----------- add permalink after changed Modified Paths: -------------- trunk/viewsite/app/views/compare_results/index.html.erb trunk/viewsite/public/javascripts/application.js Modified: trunk/viewsite/app/views/compare_results/index.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-26 09:38:28 UTC (rev 889) +++ trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-26 09:38:58 UTC (rev 890) @@ -4,8 +4,10 @@ <li><%= link_to 'Distribution Kernels', cjk_path %></li> <li><%= link_to 'Vanilla Kernels', :row => '!d', :col => '!d' %></li> <li><%= link_to 'All Kernels', :row => 'all', :col => 'all' %></li> + <li id="permalink_container" style="display:none"><%= link_to 'Permalink', { :row => nil, :col => nil }, { :id => "permalink" } %></li> </ul> + <%- all = ExecuteResult.all -%> <table style="margin: 1em"> <tr> Modified: trunk/viewsite/public/javascripts/application.js =================================================================== --- trunk/viewsite/public/javascripts/application.js 2009-05-26 09:38:28 UTC (rev 889) +++ trunk/viewsite/public/javascripts/application.js 2009-05-26 09:38:58 UTC (rev 890) @@ -2,15 +2,25 @@ // This file is automatically included by javascript_include_tag :defaults App = {}; +App.updatePermalink = function() { + if (!App.permalink_base) { + App.permalink_base = jQuery("#permalink").attr("href"); + } + var href = App.permalink_base + '?col=' + App.getIds(".col_name") + '&row=' + App.getIds(".row_name"); + jQuery("#permalink").attr("href", href); + jQuery("#permalink_container").show(); +}; App.removeRow = function(row_id) { var row_name = jQuery.trim(jQuery('#row_name_' + row_id).html()); jQuery("#row_add").append("<option value='" + row_id+">" + row_name + "</option>"); jQuery('#row_' + row_id).remove(); + App.updatePermalink(); }; App.removeCol = function(col_id) { var col_name = jQuery.trim(jQuery('#col_name_' + col_id).html()); jQuery("#col_add").append("<option value='" + col_id+">" + col_name + "</option>"); jQuery('.col_' + col_id).remove(); + App.updatePermalink(); }; App.getIds = function(css){ var ids = []; @@ -34,6 +44,7 @@ var delete_col_buttons = jQuery("#deleteColButtons"); jQuery(matched[0]).insertBefore(delete_col_buttons); jQuery(option).remove(); + App.updatePermalink(); } catch(e) { alert(e); } @@ -53,6 +64,7 @@ jQuery(e).before(matched[i]); }); jQuery(option).remove(); + App.updatePermalink(); } catch(e) { alert(e); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-26 09:38:41
|
Revision: 889 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=889&view=rev Author: znz Date: 2009-05-26 09:38:28 +0000 (Tue, 26 May 2009) Log Message: ----------- use jquery instead of prototype.js Modified Paths: -------------- trunk/viewsite/app/views/compare_results/index.html.erb trunk/viewsite/app/views/layouts/application.html.erb trunk/viewsite/public/javascripts/application.js Modified: trunk/viewsite/app/views/compare_results/index.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-26 09:37:48 UTC (rev 888) +++ trunk/viewsite/app/views/compare_results/index.html.erb 2009-05-26 09:38:28 UTC (rev 889) @@ -11,11 +11,11 @@ <tr> <th>A</th> <td><%= collection_select :row, :add, all - @rows, :id, :display_name%></td> - <td><button onclick="App.addRow($('row_add'))">Add</button></td> + <td><button onclick="App.addRow('row_add')">Add</button></td> <th>B</th> <td><%= collection_select :col, :add, all - @cols, :id, :display_name%></td> - <td><button onclick="App.addCol($('col_add'))">Add</button></td> + <td><button onclick="App.addCol('col_add')">Add</button></td> </tr> </table> Modified: trunk/viewsite/app/views/layouts/application.html.erb =================================================================== --- trunk/viewsite/app/views/layouts/application.html.erb 2009-05-26 09:37:48 UTC (rev 888) +++ trunk/viewsite/app/views/layouts/application.html.erb 2009-05-26 09:38:28 UTC (rev 889) @@ -22,7 +22,9 @@ <%= link_to "Crackerjack", :controller => "compare_results", :action => "index", :row => '!d', :col => '!d' %> <%= link_to "[About Page]", :controller => "document", :action => "index_en" %> - <%= javascript_include_tag :defaults %> + <%= javascript_include_tag "jquery-1.3.2.min" %> + <%#= javascript_include_tag :defaults %> + <%= javascript_include_tag "application" %> </h2> <h1><%=h @title %></h1> Modified: trunk/viewsite/public/javascripts/application.js =================================================================== --- trunk/viewsite/public/javascripts/application.js 2009-05-26 09:37:48 UTC (rev 888) +++ trunk/viewsite/public/javascripts/application.js 2009-05-26 09:38:28 UTC (rev 889) @@ -3,99 +3,58 @@ App = {}; App.removeRow = function(row_id) { - var row_name = $('row_name_' + row_id).innerHTML.strip(); - $("row_add").insert("<option value='" + row_id+">" + row_name + "</option>"); - var row = $('row_' + row_id); - row.remove(); + var row_name = jQuery.trim(jQuery('#row_name_' + row_id).html()); + jQuery("#row_add").append("<option value='" + row_id+">" + row_name + "</option>"); + jQuery('#row_' + row_id).remove(); }; App.removeCol = function(col_id) { - var col_name = $('col_name_' + col_id).innerHTML.strip(); - $("col_add").insert("<option value='" + col_id+">" + col_name + "</option>"); - $$('.col_' + col_id).each(function(e){ - e.remove(); - }) + var col_name = jQuery.trim(jQuery('#col_name_' + col_id).html()); + jQuery("#col_add").append("<option value='" + col_id+">" + col_name + "</option>"); + jQuery('.col_' + col_id).remove(); }; App.getIds = function(css){ - var ids = $$(css).map(function(e){ - return e.id.gsub(/[^0-9]+/, "") - }).join("."); - if (ids.empty()) { + var ids = []; + jQuery(css).each(function(i,e){ + ids.push(e.id.match(/[0-9]+/g)); + }) + if (ids.length == 0) { return 0; } - return ids; + return ids.join("."); }; -App.addRow = function(row_add) { +App.addRow = function(row_add_id) { + var row_add = jQuery("#"+row_add_id)[0]; if (row_add.selectedIndex < 0) return; var option = row_add.options[row_add.selectedIndex]; var row = option.value; var col = App.getIds(".col_name"); - var ajaxRequest = new Ajax.Request( - window.location.pathname, - { - method: 'get', - parameters: { - col: col, - row: row - }, - onComplete: function(originalRequest){ - try { - var text = originalRequest.responseText; - App.text = text; - var matched = text.match('<tr id="row_'+row+'">[\\s\\S]+?</tr>'); - var compare_results = $("compare_results"); - var delete_col_buttons = $("deleteColButtons"); - delete_col_buttons.remove(); - compare_results.insert(matched[0]); - compare_results.insert(delete_col_buttons); - option.remove(); - } catch(e) { - alert(e); - } + jQuery.get(window.location.pathname, { col: col, row: row }, function(text) { + try { + var matched = text.match('<tr id="row_'+row+'">[\\s\\S]+?</tr>'); + var delete_col_buttons = jQuery("#deleteColButtons"); + jQuery(matched[0]).insertBefore(delete_col_buttons); + jQuery(option).remove(); + } catch(e) { + alert(e); } }); }; -App.addCol = function(col_add) { +App.addCol = function(col_add_id) { + var col_add = jQuery("#"+col_add_id)[0]; if (col_add.selectedIndex < 0) return; var option = col_add.options[col_add.selectedIndex]; var col = option.value; var row = App.getIds(".row_name"); - var ajaxRequest = new Ajax.Request( - window.location.pathname, - { - method: 'get', - parameters: { - col: col, - row: row - }, - onComplete: function(originalRequest){ - try { - var text = originalRequest.responseText; - App.text = text; - var matched = []; - text.scan('<(t[hd]) class="col_'+col+'[ \"][\\s\\S]+?</\\1>', - function(e){matched.push(e[0])}); - var compare_results = $("compare_results"); - $A(compare_results.rows).each(function(row, idx){ - var row = $(row); - var cells = row.cells; - var last_cell = cells[cells.length-1]; - if (last_cell.className == "delete_row") { - last_cell.remove(); - } else { - last_cell = false; - } - console.log(row); - console.log(idx); - console.log(matched[idx]); - row.insert(matched[idx]); - if (last_cell) { - row.insert(last_cell); - } - }); - option.remove(); - } catch(e) { - alert(e); - } + jQuery.get(window.location.pathname, { col: col, row: row }, function(text) { + try { + var matched = text.match('<(t[hd]) class="col_'+col+'[ \"][\\s\\S]+?</\\1>', 'g'); + jQuery("#col_names :last").after(matched.shift()); + jQuery(".delete_row").each(function(i,e){ + jQuery(e).before(matched[i]); + }); + jQuery(option).remove(); + } catch(e) { + alert(e); } }); }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-26 09:37:58
|
Revision: 888 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=888&view=rev Author: znz Date: 2009-05-26 09:37:48 +0000 (Tue, 26 May 2009) Log Message: ----------- import jquery Added Paths: ----------- trunk/viewsite/public/javascripts/jquery-1.3.2.min.js Added: trunk/viewsite/public/javascripts/jquery-1.3.2.min.js =================================================================== --- trunk/viewsite/public/javascripts/jquery-1.3.2.min.js (rev 0) +++ trunk/viewsite/public/javascripts/jquery-1.3.2.min.js 2009-05-26 09:37:48 UTC (rev 888) @@ -0,0 +1,19 @@ +/* + * jQuery JavaScript Library v1.3.2 + * http://jquery.com/ + * + * Copyright (c) 2009 John Resig + * Dual licensed under the MIT and GPL licenses. + * http://docs.jquery.com/License + * + * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) + * Revision: 6246 + */ +(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); +/* + * Sizzle CSS Selector Engine - v0.9.3 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-26 09:37:34
|
Revision: 887 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=887&view=rev Author: znz Date: 2009-05-26 09:37:22 +0000 (Tue, 26 May 2009) Log Message: ----------- link to tko only if primary site Modified Paths: -------------- trunk/viewsite/app/views/layouts/application.html.erb Modified: trunk/viewsite/app/views/layouts/application.html.erb =================================================================== --- trunk/viewsite/app/views/layouts/application.html.erb 2009-05-26 09:36:56 UTC (rev 886) +++ trunk/viewsite/app/views/layouts/application.html.erb 2009-05-26 09:37:22 UTC (rev 887) @@ -13,10 +13,12 @@ </head> <body> <h2 class="header"> +<%- if "crackerjack.good-day.net" == request.host -%> <%= link_to "Functional", "http://test.kernel.org/tko/compose_query.cgi" %> <%= link_to "Performance", "http://test.kernel.org/tko/machine_benchmark.cgi" %> +<%- end -%> <%= link_to "Crackerjack", :controller => "compare_results", :action => "index", :row => '!d', :col => '!d' %> <%= link_to "[About Page]", :controller => "document", :action => "index_en" %> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-26 09:37:07
|
Revision: 886 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=886&view=rev Author: znz Date: 2009-05-26 09:36:56 +0000 (Tue, 26 May 2009) Log Message: ----------- invalid link when controller != compare_results or action != index Modified Paths: -------------- trunk/viewsite/app/views/layouts/application.html.erb Modified: trunk/viewsite/app/views/layouts/application.html.erb =================================================================== --- trunk/viewsite/app/views/layouts/application.html.erb 2009-05-19 10:35:24 UTC (rev 885) +++ trunk/viewsite/app/views/layouts/application.html.erb 2009-05-26 09:36:56 UTC (rev 886) @@ -17,7 +17,7 @@ <%= link_to "Performance", "http://test.kernel.org/tko/machine_benchmark.cgi" %> - <%= link_to "Crackerjack", :row => '!d', :col => '!d' %> + <%= link_to "Crackerjack", :controller => "compare_results", :action => "index", :row => '!d', :col => '!d' %> <%= link_to "[About Page]", :controller => "document", :action => "index_en" %> <%= javascript_include_tag :defaults %> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-19 10:35:32
|
Revision: 885 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=885&view=rev Author: znz Date: 2009-05-19 10:35:24 +0000 (Tue, 19 May 2009) Log Message: ----------- update RELEASE_DATE Modified Paths: -------------- trunk/crackerjack/lib/crackerjack/info.rb Modified: trunk/crackerjack/lib/crackerjack/info.rb =================================================================== --- trunk/crackerjack/lib/crackerjack/info.rb 2009-05-19 10:34:59 UTC (rev 884) +++ trunk/crackerjack/lib/crackerjack/info.rb 2009-05-19 10:35:24 UTC (rev 885) @@ -55,7 +55,7 @@ # version VERSION = "2.1.1" # release date - RELEASE_DATE = "2009-05-12" + RELEASE_DATE = "2009-05-19" # copyright notice COPYRIGHT_NOTICE =<<EOCN This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-19 10:35:10
|
Revision: 884 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=884&view=rev Author: znz Date: 2009-05-19 10:34:59 +0000 (Tue, 19 May 2009) Log Message: ----------- show comments in compare_results/show Modified Paths: -------------- trunk/viewsite/app/views/compare_results/show.html.erb Modified: trunk/viewsite/app/views/compare_results/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/show.html.erb 2009-05-19 10:34:34 UTC (rev 883) +++ trunk/viewsite/app/views/compare_results/show.html.erb 2009-05-19 10:34:59 UTC (rev 884) @@ -62,6 +62,7 @@ <th>Syscall</th> <th>Test name</th> <th>Compare result</th> + <th>Comment</th> </tr> <%- @syscall_list.each do |syscall_number, syscall_name| -%> <%- compare_logs = @compare_logs_hash[syscall_number] -%> @@ -87,6 +88,9 @@ <td<%= compare_log.to_style %>> <%= link_to h(compare_log.to_status), compare_log %> </td> + <td> + <%=h compare_log.comment %> + </td> <%- if index != compare_logs.size-1 -%> </tr> <tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-19 10:34:44
|
Revision: 883 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=883&view=rev Author: znz Date: 2009-05-19 10:34:34 +0000 (Tue, 19 May 2009) Log Message: ----------- add filters of other status Modified Paths: -------------- trunk/viewsite/app/controllers/compare_results_controller.rb trunk/viewsite/app/views/compare_results/show.html.erb Modified: trunk/viewsite/app/controllers/compare_results_controller.rb =================================================================== --- trunk/viewsite/app/controllers/compare_results_controller.rb 2009-05-19 10:34:05 UTC (rev 882) +++ trunk/viewsite/app/controllers/compare_results_controller.rb 2009-05-19 10:34:34 UTC (rev 883) @@ -62,15 +62,31 @@ :order => "system_calls.syscall_number ASC, system_calls.test_name ASC", :include => [:system_call], } - case params[:q] - when "SAME" - opts[:conditions] = ["compare_status = ?", CompareLog::STATUS_OK] - when "!SAME" - opts[:conditions] = ["compare_status <> ?", CompareLog::STATUS_OK] - when "DIFF" - opts[:conditions] = ["compare_status = ?", CompareLog::STATUS_NG] - when "!DIFF" - opts[:conditions] = ["compare_status <> ?", CompareLog::STATUS_NG] + if q = params[:q] + if /\A!/ =~ q + q = $' + op = "<>" + else + op = "=" + end + status = nil + case q + when "SAME" + status = CompareLog::STATUS_OK + when "DIFF" + status = CompareLog::STATUS_NG + when "ERROR" + status = CompareLog::STATUS_ERROR + when "A_NOT_FOUND" + status = CompareLog::STATUS_A_NOT_FOUND + when "B_NOT_FOUND" + status = CompareLog::STATUS_B_NOT_FOUND + when "NONSENSE" + status = CompareLog::STATUS_NONSENSE + end + if op && status + opts[:conditions] = ["compare_status #{op} ?", status] + end end @compare_logs = @compare_result.compare_logs.find(:all, opts) @compare_logs_hash = Hash.new{|h,k|h[k]=[]} Modified: trunk/viewsite/app/views/compare_results/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/show.html.erb 2009-05-19 10:34:05 UTC (rev 882) +++ trunk/viewsite/app/views/compare_results/show.html.erb 2009-05-19 10:34:34 UTC (rev 883) @@ -41,16 +41,20 @@ </li> </ul> -<ul> - <li><%= link_to "all", compare_result_path(@compare_result, :filter => nil) %></li> - <li> - <%= link_to "SAME", compare_result_path(@compare_result, :q => "SAME") %>, - <%= link_to "not SAME", compare_result_path(@compare_result, :q => "!SAME") %> - </li> - <li> - <%= link_to "DIFF", compare_result_path(@compare_result, :q => "DIFF") %>, - <%= link_to "not DIFF", compare_result_path(@compare_result, :q => "!DIFF") %> - </li> +<ul class="filter_list"> + <li><%= link_to "all", compare_result_path(@compare_result, :q => nil) %></li> + <li><%= link_to "SAME", compare_result_path(@compare_result, :q => "SAME") %></li> +<!-- + <li><%= link_to "not SAME", compare_result_path(@compare_result, :q => "!SAME") %></li> +--> + <li><%= link_to "DIFF", compare_result_path(@compare_result, :q => "DIFF") %></li> +<!-- + <li><%= link_to "not DIFF", compare_result_path(@compare_result, :q => "!DIFF") %></li> +--> + <li><%= link_to "ERROR", compare_result_path(@compare_result, :q => "ERROR") %></li> + <li><%= link_to "A not found", compare_result_path(@compare_result, :q => "A_NOT_FOUND") %></li> + <li><%= link_to "B not found", compare_result_path(@compare_result, :q => "B_NOT_FOUND") %></li> + <li><%= link_to "nonsense", compare_result_path(@compare_result, :q => "NONSENSE") %></li> </ul> <table border="1"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-19 10:34:13
|
Revision: 882 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=882&view=rev Author: znz Date: 2009-05-19 10:34:05 +0000 (Tue, 19 May 2009) Log Message: ----------- hide execute log and link to execute log Modified Paths: -------------- trunk/viewsite/app/views/compare_logs/show.html.erb Modified: trunk/viewsite/app/views/compare_logs/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-19 10:33:39 UTC (rev 881) +++ trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-19 10:34:05 UTC (rev 882) @@ -2,13 +2,13 @@ <p> <b>A result:</b> - <%=h @a_execute_log.execute_result.to_summary %> + <%=link_to h(@a_execute_log.execute_result.to_summary), @a_execute_log %> </p> <p> <p> <b>B result:</b> - <%=h @b_execute_log.execute_result.to_summary %> + <%=link_to h(@b_execute_log.execute_result.to_summary), @b_execute_log %> </p> <p> @@ -49,6 +49,7 @@ <%=h @compare_log.comment %> </p> +<%- if false -%> <table border="1"> <tr> <th>A execute log</th> @@ -68,3 +69,4 @@ </td> </tr> </table> +<%- end -%> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-19 10:33:51
|
Revision: 881 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=881&view=rev Author: znz Date: 2009-05-19 10:33:39 +0000 (Tue, 19 May 2009) Log Message: ----------- remove unused files Removed Paths: ------------- trunk/viewsite/Capfile trunk/viewsite/config/deploy.rb Deleted: trunk/viewsite/Capfile =================================================================== --- trunk/viewsite/Capfile 2009-05-12 09:54:33 UTC (rev 880) +++ trunk/viewsite/Capfile 2009-05-19 10:33:39 UTC (rev 881) @@ -1,3 +0,0 @@ -load 'deploy' if respond_to?(:namespace) # cap2 differentiator -Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } -load 'config/deploy' \ No newline at end of file Deleted: trunk/viewsite/config/deploy.rb =================================================================== --- trunk/viewsite/config/deploy.rb 2009-05-12 09:54:33 UTC (rev 880) +++ trunk/viewsite/config/deploy.rb 2009-05-19 10:33:39 UTC (rev 881) @@ -1,76 +0,0 @@ -set :application, "crackerjack-viewsite" -set :repository, "http://crackerjack.svn.sourceforge.net/svnroot/crackerjack/trunk/testtools/viewsite" - -set :user, "crackerjack" -# If you aren't deploying to /u/apps/#{application} on the target -# servers (which is the default), you can specify the actual location -# via the :deploy_to variable: -# set :deploy_to, "/var/www/#{application}" - -# If you aren't using Subversion to manage your source code, specify -# your SCM below: -#set :scm, :subversion -#set :scm_user, "Your SCM user name" -#set :scm_password, "Your SCM Password" - -set :use_sudo, false -set :default_environment, { - "PATH" => "/home/kazu/opt:/home/kazu/opt/ruby18/bin:$PATH", -} - -crackerjack_viewsite = "crackerjack.good-day.net" -#crackerjack_viewsite = "localhost" -set :crackerjack_testcases_version, "20080225h" -role :app, crackerjack_viewsite -role :web, crackerjack_viewsite -role :db, crackerjack_viewsite, :primary => true - -task :after_update_code do - #compared_symlink - results_symlink - secret_symlink - extract_testcases - #send_uncommitted -end - -#set :compared_dir, "#{deploy_to}/#{shared_dir}/compared" -set :results_dir, "#{deploy_to}/#{shared_dir}/results" -set :secret_txt, "#{deploy_to}/#{shared_dir}/secret.txt" - -#task :compared_symlink do -# run "mkdir -p #{compared_dir}" -# run "ln -sf #{compared_dir} #{release_path}/data/compared" -#end - -task :results_symlink do - run "mkdir -p #{results_dir}" - run "ln -sf #{results_dir} #{release_path}/data/results" -end - -task :secret_symlink do - run "ln -sf #{secret_txt} #{release_path}/config/" -end - -task :extract_testcases do - archive = "public/download/testcases-#{crackerjack_testcases_version}.tar.bz2" - run [ - "cd #{release_path}/data", - "VER=`tar --bzip2 -xf ../#{archive} --to-stdout testcases/VERSION`", - "ln -s $VER/testcases testcases", - "mkdir $VER", - "cd $VER", - "tar --bzip2 -xf ../../#{archive}", - "cd ..", - ].join(" && ") -end - -task :send_uncommitted do - %w"script/spin".each do |uncommited| - put(File.read(uncommited), "#{release_path}/#{uncommited}", :mode => 0755) - end -end - -task :remove_compared do - run "ls -ald #{deploy_to}/#{shared_dir}/results/*/*/compared" - run "rm -r #{deploy_to}/#{shared_dir}/results/*/*/compared" -end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-12 09:54:34
|
Revision: 880 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=880&view=rev Author: znz Date: 2009-05-12 09:54:33 +0000 (Tue, 12 May 2009) Log Message: ----------- update RELEASE_DATE Modified Paths: -------------- trunk/crackerjack/lib/crackerjack/info.rb Modified: trunk/crackerjack/lib/crackerjack/info.rb =================================================================== --- trunk/crackerjack/lib/crackerjack/info.rb 2009-05-12 09:54:11 UTC (rev 879) +++ trunk/crackerjack/lib/crackerjack/info.rb 2009-05-12 09:54:33 UTC (rev 880) @@ -55,7 +55,7 @@ # version VERSION = "2.1.1" # release date - RELEASE_DATE = "2009-05-11" + RELEASE_DATE = "2009-05-12" # copyright notice COPYRIGHT_NOTICE =<<EOCN This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-12 09:54:24
|
Revision: 879 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=879&view=rev Author: znz Date: 2009-05-12 09:54:11 +0000 (Tue, 12 May 2009) Log Message: ----------- colorize diff (output of default-compare) Modified Paths: -------------- trunk/viewsite/app/helpers/compare_logs_helper.rb trunk/viewsite/app/models/compare_log.rb trunk/viewsite/app/models/system_call.rb trunk/viewsite/app/views/compare_logs/show.html.erb Modified: trunk/viewsite/app/helpers/compare_logs_helper.rb =================================================================== --- trunk/viewsite/app/helpers/compare_logs_helper.rb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/helpers/compare_logs_helper.rb 2009-05-12 09:54:11 UTC (rev 879) @@ -1,2 +1,32 @@ module CompareLogsHelper + private + + def diff_colorize_or_h(diff, condition) + if condition && /\A---/ =~ diff + diff_colorize(diff) + else + "<pre>#{h(diff)}</pre>" + end + end + + def diff_colorize(diff) + out = [%Q!<pre style="background-color:#EEEEEE; color:black">!] + diff.each_line do |line| + case line + when /^[\-+]{3}/, /^\w/ + color = "gray" + when /^@/ + color = "#FFFFCC" + when /^-/ + color = "#FFCCCC" + when /^\+/ + color = "#CCFFCC" + else + color = "snow" + end + out << %Q!<span style="display: block; width: 100%; background-color:#{color}">#{h(line)}</span>! + end + out << "</pre>" + out + end end Modified: trunk/viewsite/app/models/compare_log.rb =================================================================== --- trunk/viewsite/app/models/compare_log.rb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/models/compare_log.rb 2009-05-12 09:54:11 UTC (rev 879) @@ -24,6 +24,7 @@ validates_inclusion_of :compare_status, :in => 0...STATUS_MAX delegate :test_name, :to => :system_call + delegate :default_compare?, :to => :system_call def to_status case compare_status Modified: trunk/viewsite/app/models/system_call.rb =================================================================== --- trunk/viewsite/app/models/system_call.rb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/models/system_call.rb 2009-05-12 09:54:11 UTC (rev 879) @@ -7,6 +7,12 @@ # validates_presence_of :syscall_number # null ok validates_presence_of :syscall_name + def default_compare? + testcases = Pathname.new(RAILS_ROOT) + "data/testcases" + compare = testcases + test_name + "compare" + !compare.executable? + end + def compare_path testcases = Pathname.new(RAILS_ROOT) + "data/testcases" compare = testcases + test_name + "compare" Modified: trunk/viewsite/app/views/compare_logs/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-12 09:54:11 UTC (rev 879) @@ -32,12 +32,12 @@ <p> <b>C out log:</b> </p> -<pre><%=h @compare_log.c_out_log %></pre> +<%= diff_colorize_or_h(@compare_log.c_out_log, @compare_log.default_compare?) %> <p> <b>C err log:</b> </p> -<pre><%=h @compare_log.c_err_log %></pre> +<%= diff_colorize_or_h(@compare_log.c_err_log, @compare_log.default_compare?) %> <p> <b>Compare status:</b> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-11 11:42:57
|
Revision: 878 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=878&view=rev Author: znz Date: 2009-05-11 11:42:48 +0000 (Mon, 11 May 2009) Log Message: ----------- update RELEASE_DATE Modified Paths: -------------- trunk/crackerjack/lib/crackerjack/info.rb Modified: trunk/crackerjack/lib/crackerjack/info.rb =================================================================== --- trunk/crackerjack/lib/crackerjack/info.rb 2009-05-11 11:42:26 UTC (rev 877) +++ trunk/crackerjack/lib/crackerjack/info.rb 2009-05-11 11:42:48 UTC (rev 878) @@ -55,7 +55,7 @@ # version VERSION = "2.1.1" # release date - RELEASE_DATE = "2009-04-29" + RELEASE_DATE = "2009-05-11" # copyright notice COPYRIGHT_NOTICE =<<EOCN This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <zn...@us...> - 2009-05-11 11:42:38
|
Revision: 877 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=877&view=rev Author: znz Date: 2009-05-11 11:42:26 +0000 (Mon, 11 May 2009) Log Message: ----------- remove links to btrax Modified Paths: -------------- trunk/viewsite/app/helpers/report_helper.rb trunk/viewsite/app/models/system_call.rb trunk/viewsite/app/views/compare_results/show.html.erb trunk/viewsite/app/views/report/results.html.erb trunk/viewsite/app/views/system_calls/show.html.erb Modified: trunk/viewsite/app/helpers/report_helper.rb =================================================================== --- trunk/viewsite/app/helpers/report_helper.rb 2009-04-30 04:05:04 UTC (rev 876) +++ trunk/viewsite/app/helpers/report_helper.rb 2009-05-11 11:42:26 UTC (rev 877) @@ -89,30 +89,6 @@ end end - cache_file = Pathname.new(RAILS_ROOT) + "tmp/cache/btrax_list.html" - uri = URI.parse("http://btrax.good-day.net/200812/2.6.18-92.1.18.el5-btrax/html/list.html") - unless cache_file.exist? - Rails.logger.info "fetch #{uri}" - cache_file.open("wb") do |out| - out.write uri.read - end - end - TEST_NAME_TO_LINK = {} - cache_file.open do |f| - f.read.scan(/<a href=([\'\"]?)(.+?)\1>\.\/(.+?)\/top\.html<\/a>/) do - link, sysname = $2, $3 - TEST_NAME_TO_LINK[sysname] = uri + link - end - end - TEST_NAME_TO_LINK.freeze - - # return link to BTRAX Coverage Result - def link_to_btrax(test_name) - if TEST_NAME_TO_LINK.key?(test_name) - link_to "(BTRAX Coverage Result)", TEST_NAME_TO_LINK[test_name].to_s - end - end - # return attributes selected by result type def result_to_style(result) case result Modified: trunk/viewsite/app/models/system_call.rb =================================================================== --- trunk/viewsite/app/models/system_call.rb 2009-04-30 04:05:04 UTC (rev 876) +++ trunk/viewsite/app/models/system_call.rb 2009-05-11 11:42:26 UTC (rev 877) @@ -81,12 +81,4 @@ return false end end - - def btrax? - ReportHelper::TEST_NAME_TO_LINK.key?(test_name) - end - - def btrax_url - ReportHelper::TEST_NAME_TO_LINK[test_name].to_s - end end Modified: trunk/viewsite/app/views/compare_results/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_results/show.html.erb 2009-04-30 04:05:04 UTC (rev 876) +++ trunk/viewsite/app/views/compare_results/show.html.erb 2009-05-11 11:42:26 UTC (rev 877) @@ -79,9 +79,6 @@ <%- system_call = compare_log.system_call -%> <td> <%= link_to h(system_call.test_name), system_call %> -<%- if system_call.btrax? -%> - <%= link_to "(BTRAX Coverage Result)", system_call.btrax_url %> -<%- end -%> </td> <td<%= compare_log.to_style %>> <%= link_to h(compare_log.to_status), compare_log %> Modified: trunk/viewsite/app/views/report/results.html.erb =================================================================== --- trunk/viewsite/app/views/report/results.html.erb 2009-04-30 04:05:04 UTC (rev 876) +++ trunk/viewsite/app/views/report/results.html.erb 2009-05-11 11:42:26 UTC (rev 877) @@ -48,7 +48,6 @@ <%- results.each_with_index do |(syscall_name, result), idx| -%> <td> <%= link_to_source syscall_name %> - <%= link_to_btrax syscall_name %> </td> <td <%=result_to_style result%>> <%= link_to_log result, syscall_name %> Modified: trunk/viewsite/app/views/system_calls/show.html.erb =================================================================== --- trunk/viewsite/app/views/system_calls/show.html.erb 2009-04-30 04:05:04 UTC (rev 876) +++ trunk/viewsite/app/views/system_calls/show.html.erb 2009-05-11 11:42:26 UTC (rev 877) @@ -35,9 +35,6 @@ <p> <b>Test name:</b> <%=h @system_call.test_name %> -<%- if @system_call.btrax? -%> - <%= link_to "(BTRAX Coverage Result)", @system_call.btrax_url %> -<%- end -%> </p> <p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |