// JS Last Modified Time: Sun, 28 Oct 2012 12:06:42 GMT



$(window).load(function () {
$("a[data-rel*='lightbox'], a.lightbox, a[rel*=lightbox]").colorbox({transition:"fade", opacity:0.7, speed:100});

$('html').on('click', 'a[rel*=external]', function(event) {
event.preventDefault();
window.open(this.href);
return true;
});

$('html').on('click', 'a[rel*=print]', function(event) {
event.preventDefault();
window.print();
});

 $('[disabled]').click(function(e) {
// Below breaks add to cart buttons when disabled for variations!

 $disabled_msg = $('.disabled_msg');
 if ($disabled_msg.length > 0) {
 $disabled_msg.fadeIn('slow');
 window.setTimeout('$(".disabled_msg").fadeOut("slow");', (1000 * 5)); // Display message for 5 seconds if a message exists
 }
 return false;
 });

$('html').on('click', null, function(event) {
var $target = $(event.target);
if ($target.parents('a').length > 0) {
$target = $target.parents('a');
}

 var click_analytics = $target.attr('data-click-analytics');
 if (typeof click_analytics != 'undefined') {
 do_analytics_track(click_analytics);
}

if ( (event.which != 1) && (event.which != 0) && (event.which != undefined) )
return true;

if ($target.is('a')) {
var hash_href = $target.attr('data-hash-href');
if (typeof hash_href != 'undefined') {
window.location.hash = hash_href;
}
}

var click_show = $target.attr('data-click-show');
if (typeof click_show != 'undefined') {
$(click_show).each(function(i,element) {
if ($(element).hasClass('hidden'))
$(element).removeClass('hidden');
else
$(element).show();
});
}

var click_hide = $target.attr('data-click-hide');
if (typeof click_hide != 'undefined') {
$(click_hide).each(function(i,element) {
$(element).addClass('hidden');
});
}

 var click_toggle = $target.attr('data-click-toggle');
 if (typeof click_toggle != 'undefined') {
 event.preventDefault(); // Prevent page jumping to the top but still allows propagation to continue
 var toggle_speed = $target.attr('data-toggle-speed');
 if (typeof toggle_speed == 'undefined') toggle_speed = 'slow';
 $(click_toggle).stop(true, true).slideToggle(toggle_speed);
 }

// if click target has data-ajax-click set as "module:method", send this to ajax_factory
 var ajax_act = $target.attr('data-ajax-click');
if (typeof ajax_act == 'undefined') {
return true;
}
var act_split = ajax_act.split(':');
if (act_split.length != 2) {
return true;
}
event.preventDefault();
var options=new Object;
 var ajax_loading_target = $target.attr('data-ajax-loading-target');
if (typeof ajax_loading_target != 'undefined') {
options['shroud']=ajax_loading_target;
}
if ($target.attr('href') != undefined) {
options['url']=$target.attr('href');
}
$target.ajax_factory(act_split[0], act_split[1], options);
return true;
});

 $('html').on('submit', 'form', function(event) {
$(event.target).find('.error').removeClass('error');
$(event.target).find('.validation_error').remove();

if ($(this).attr('data-analytics-submit') != undefined) {
do_analytics_track($(this).attr('data-analytics-submit'));
}

 var ajax_act = $(event.target).attr('data-ajax-submit');
if ( (typeof ajax_act == 'undefined') || ($(event.target).attr('data-ajax-submit-from') == 'change') ) {
 ajax_act = $(event.target).attr('data-ajax-change-submit');
}
$(event.target).removeAttr('data-ajax-submit-from');
// if form has data-ajax-submit or data-ajax-change-submit set as "module:method", send this to ajax_factory
if (typeof ajax_act == 'undefined') {
return true;
}
var act_split = ajax_act.split(':');
if (act_split.length != 2) {
return true;
}
event.preventDefault();
var options=new Object;
 ajax_loading_target = $(event.target).attr('data-ajax-loading-target');
if (typeof ajax_loading_target != 'undefined') {
options['shroud']=ajax_loading_target;
}
options['url']=$(event.target).attr('action');
 var ajax_submit_target = $(event.target).attr('data-ajax-submit-target');
if (typeof ajax_submit_target != 'undefined') {
$(ajax_submit_target).ajax_factory(act_split[0], act_split[1], options);
} else {
$(event.target).ajax_factory(act_split[0], act_split[1], options);
}
return true;
});

 $('html').on('click', 'a.submit_button', function(event) {
if ( (event.which != 1) && (event.which != 0) && (event.which != undefined) )
return true;
event.preventDefault();
if ($(event.target).parents('form').find('button.submit_real').length > 0)
 $(event.target).parents('form').find('button.submit_real').click();
else
 $(event.target).parents('form').submit();
});

 $('html').on('change', null, function(event) {
function set_waiting_over() {
// remove fade on change target
$('[data-please-wait="true"],.please_wait').each(function(i,element) {
if ($(element).attr('data-select-disabled')!='disabled')
$(element).removeAttr('disabled');
$(element).removeAttr('data-please-wait');
$(element).removeAttr('data-select-disabled');
$(element).animate({opacity:1}, 500, function(){
$(this).removeClass('please_wait');
});
});
}

function set_select_please_wait(selector) {
// fade out change target
$(selector).addClass('please_wait').css('opacity',0.5);
$(selector).attr('data-please-wait', 'true');
$(selector).each(function(i,element) {
if ($(element).attr('disabled')=='disabled')
$(element).attr('data-select-disabled', 'disabled');
else
$(element).attr('data-select-disabled', '');
$(element).attr('disabled', 'disabled');
if (typeof $(element).attr('data-change-updating-text') != 'undefined') {
if ($(element).is('select'))
$(element).html('<option value="">'+$(element).attr('data-change-updating-text')+'</option>');
else
$(element).html('<p>'+$(element).attr('data-change-updating-text')+'</p>');
}
});
}
if ($(this).attr('data-analytics-change') != undefined) {
do_analytics_track($(this).attr('data-analytics-change'));
}

if ($(event.target).is('select')) {
 var select_show_hide = $(event.target).attr('data-select-show-hide');
if (typeof select_show_hide != 'undefined') {
update_select_show_hide( $(event.target) );
}
}

 var ajax_act = $(event.target).attr('data-ajax-change');
if (typeof ajax_act == 'undefined') {
$parent_form = $(event.target).parents('form');
// if change target's parent form has a data-ajax-change-submit method, submit the form
if ( typeof $parent_form.attr('data-ajax-change-submit') != 'undefined' ) {
$parent_form.attr('data-ajax-submit-from', 'change');
$parent_form.submit();
}
return true;
}
var act_split = ajax_act.split(':');
if (act_split.length != 2) {
return true;
}
 var name = $(event.target).attr('name');

var options=new Object;
 var ajax_loading_target = $(event.target).attr('data-ajax-loading-target');
if (typeof ajax_loading_target != 'undefined') {
options['shroud']=ajax_loading_target;
}
var post_object=new Object;
if ($(event.target).parents('form').length > 0) {
if (typeof $(event.target).attr('data-change-targets') != 'undefined')
set_select_please_wait( $(event.target).attr('data-change-targets') );
post_object['ajax_listener'] = name;
options['post']=post_object;
options['complete']=set_waiting_over;
$(event.target).parents('form').ajax_factory(act_split[0], act_split[1], options );
} else {
post_object[name] = $(event.target).val();
options['post']=post_object;
$(event.target).ajax_factory(act_split[0], act_split[1], options );
}
return true;
});

// Email links using (at) (dot)
email_links();

hash = get_hash();
if (hash.length > 0) {
if (hash.substring(0, 1) == '!' || hash.substring(0, 1) == '/') {
var base_url = hash.replace('!', '');
base_url = base_url.substr(0, base_url.length - base_url.substr(base_url.lastIndexOf('/')).length);
if (base_url.length > 0) {
var $forms = $('form[action="' + base_url + '"]');
var simulate_click_link = null;
var origin_object=new Object;
origin_object['hash_origin']='hash';
if ($forms.length > 0) {
$forms.each(function(i, element) {
if (simulate_click_link == null) {
$(element).data('ajax-post', origin_object);
var link=$(this).find('a[data-hash-href="' + hash + '"]');
if (link.length > 0) {
simulate_click_link = link;
}
}
});
} else {
var link=$('body').find('a[data-hash-href="' + hash + '"]');
if (link.length > 0) {
simulate_click_link=$(link[0]);
simulate_click_link.data('ajax-post', origin_object);
}
}
if (simulate_click_link != null) {
simulate_click_link.trigger('click');
} else {
var remainder = hash.substr(base_url.length + 2);
if ( ($forms.length > 0) && (parseInt(remainder) == remainder) ) {
$forms.each(function(i, element) {
$pagi_input = $(element).find('input[name="page"]');
if ( ($pagi_input.length > 0) && ($('body.submitting').length==0) ) {
$('input[name="page"]').val(remainder);
$('input[name="pagination_page"]').val(remainder);
$(element).submit();
}
});
}
}
}
} else {
set_core_tab(hash);
}
}

// Core Tabs
$('body').on('click', '.core_tabs a', function (e) {
 e.preventDefault();
$tab = $(this).attr('href').replace('#', '');
set_core_tab($tab);
});

$('[data-select-show-hide]').each(function(i,element){
update_select_show_hide($(element));
});
});

function update_select_show_hide($element) {
var select_show_hide = $element.data('select-show-hide');
var val = $element.val();
var all_hideables = new Array();
var show_these = new Array();
for (var key in select_show_hide) {
all_hideables.push( select_show_hide[key] );
if (val == key) {
show_these.push( select_show_hide[key] );
}
}
for (var hide_key in all_hideables) {
var hideable = all_hideables[hide_key];
if (show_these.indexOf(hideable) == -1) {
$(hideable).addClass('hidden');
} else {
if ($(hideable).hasClass('hidden'))
$(hideable).removeClass('hidden');
else
$(hideable).show();
}
}
}

function set_core_tab($tab) {
$('.core_tabs li').removeClass('sel');
$('.core_tabs li.' + $tab).addClass('sel');
$('.core_tabs_wrapper div.core_tabs_div').addClass('hidden');
$('.core_tabs_wrapper div.core_tabs_div.' + $tab).removeClass('hidden');

 
}

function is_defined($var) {
 return (typeof $var == 'undefined' ? false : true);
}


if ( !('placeholder' in document.createElement('input'))) {
 $('input[placeholder]').each(function() {
 default_text($(this), $(this).attr('placeholder'));
 });
}

function default_text(element, default_text) {
$(document).on('focus', element, function (event) {
 if ($(event.target).val() == default_text) $(event.target).val('');
 });
$(document).on('blur', element, function (event) {
 if ($(event.target).val() == '') $(event.target).val(default_text);
 });
if ($(element).val() == '') $(element).val(default_text);
}

function clean_num(num, def) {
var original = num;
 if (isNaN(num)) var num = new String(num);
 if (typeof def == 'undefined') def = 0;
 num = parseFloat(num.replace(/[^0-9]/g, ''));
 if (num.length == 0 || isNaN(num)) {
 return def;
 } else {
var leading_zeros = new String(num);
while (leading_zeros.length < original.length) {
leading_zeros='0' + leading_zeros;
}
if (leading_zeros == original) {
return leading_zeros;
}
 return num;
 }
}

function clean_dec(id) {
 var num = $('#' + id).val();
 num = num.replace(/[^0-9^.]/g, '');
 $('#' + id).val(num);
}


function number_format(dec) {
 dec = Math.round(dec * 100) / 100;
 num = dec.toString();
 num_arr = num.split(".");
 if (typeof num_arr[1] == 'undefined' || num_arr[1].length < 2) {
 if (typeof num_arr[1] == 'undefined' || num_arr[1].length == 0) {
 num_arr[1] = '00';
 } else {
 num_arr[1] += '0';
 }
 }
 dec = parseInt(num_arr[0]) + '.' + num_arr[1];
 return dec;
}

function get_hash() {
if (window.location.hash) {
$hash = window.location.hash.replace('#', '');
} else {
$hash = false;
}
return $hash;
}

function bookmark() {
 if (window.opera) {
 if ($("a.jqbookmark").attr("rel") != "") {
 $("a.jqbookmark").attr("rel", "sidebar");
 }
 }

 $("a.jqbookmark").click(function (event) {
 event.preventDefault();
 var url = this.href;
 var title = this.title;

 if (window.sidebar) { // Mozilla Firefox Bookmark
 window.sidebar.addPanel(title, url, "");
 } else if (window.external) { // IE Favorite
 window.external.AddFavorite(url, title);
 } else if (window.opera) { // Opera 7+
 return false; // do nothing
 } else {
 alert('Unfortunately, this browser does not support the requested action, please bookmark this page manually.');
 }
 });
}

function email_links() {
$('a[rel*=email]').each(function() {
this.href = this.href.replace('em:', 'mailto:').replace('(at)', '@').replace(/\(dot\)/g, '.');
});
}

if (typeof console == "undefined" || typeof console.log == "undefined") var console = { log: function() {} };


$('body').on('keyup', 'input.core_int_field', function(e) {
var clean_val = $(this).val();
if (clean_val != '') {
 clean_val = clean_num(clean_val);
 $(this).val(clean_val);
}
});


function do_analytics_track(url) {
 if (typeof(_gaq) !== 'undefined') {
 _gaq.push(['_trackPageview', url]);
 }
}

var main_captcha;
var secondary_captchas;
var recaptcha_key;
var recaptcha_options;

function clone_captcha(secondary) {
var $clone = $('#'+main_captcha).clone(true, true);
$clone.find('[id]').each(function() {
//$(this).attr('id', $(this).attr('id') + '_' + n);
});
$( '#'+secondary ).html( $clone.html() );
}

function clone_captchas() {
for (var c=0; c < secondary_captchas.length; c++) {
clone_captcha(secondary_captchas[c]);
}
}

function create_recaptcha(key, element, options) {
if (typeof main_captcha == 'undefined') {
main_captcha = element;
secondary_captchas = new Array();
options.callback = clone_captchas;
recaptcha_key = key;
recaptcha_options = options;
Recaptcha.create(key, element, options);
Recaptcha.old_finish_reload = Recaptcha.finish_reload;
Recaptcha.finish_reload = function(a, b, c, d) {
// change Recaptcha's finish_reload to also call clone secondary captchas (as no callback!)
Recaptcha.old_finish_reload(a, b, c, d);
clone_captchas();
};
} else {
secondary_captchas.push(element);
}
}

function recaptcha_reload() {
if (typeof main_captcha != 'undefined') {
if ($('#' + main_captcha).length == 0) {
// main captcha has been removed from page, so promote secondary captcha and create it
if (secondary_captchas.length > 0) {
main_captcha = secondary_captchas.shift();
Recaptcha.create(recaptcha_key, main_captcha, recaptcha_options);
}
}
}
Recaptcha.reload();
}

;(function($) {

// USAGE:
//
// $(selector).ajax_factory(module, method, options)
//
// if selector(s) are anchors, query string parameters are added to the options.post object
// if selector(s) are forms, form inputs are added to the options.post object
// if selector(s) are input, select or textarea, form input is added to the options.post object
//
// module->method() should use the core php class ajax_factory, and call (variously)
//
// ajax_factory::add_update_html( html );
// ajax_factory::add_inject_html( selector, position, html );
// ajax_factory::add_remove_html( selector );
// ajax_factory::add_return( key, value );
// ajax_factory::add_error_message( message );
//
// OPTIONS:
//
// url:url to post to. If set, ajax_factory will additionally POST window_location which is the current window.location
//
// origin:the ID of the originating selector
//
// shroud:selector containing an element to be shrouded during the request
//
// post:object containing parameters to be POSTed to module->method()
//
// pre_complete:function(success_boolean):void
//called after a valid module->method() response is retrieved
//
// dom_replace:function(dom_element, replace_with_html):boolean
//called before DOM replacement occurs of any elements added through ajax_factory::add_update()
//if the return value is true, the callback has handled the replacement, if false, then ajax_factory should perform DOM replacement of the element
//
// dom_empty:function(dom_element):jquery_element
//called if an element added through ajax_factory::add_update() does not exist in the DOM, passes the dangling dom element
//returns jquery element(s) to be replaced by ajax_factory, or null if no further action required
//
// 'return':function(return_object):void
//passes a javascript object composed of elements added through ajax_factory::add_return()
//
// error:function(message):void
//passes error messages, either from ajax_factory::add_error_message() or if the module->method() response is mangled or $.ajax() failed
//
// complete:function(success_boolean):void
//called after the module->method() response has been handled. Will not be called if the response is mangled or $.ajax() failed

$.fn.ajax_factory = function(module, ajax_act, options) {
if (!module) {
console.log('no module specified for ajax factory');
} else {
var opts;
if (typeof options == 'undefined')
opts = $.extend({}, $.fn.ajax_factory.defaults, {});
else {
if (typeof options.post == 'undefined') {
options.post = new Object;
}
opts = $.extend({}, $.fn.ajax_factory.defaults, options || {});
}

 $(this).each(function() {
if ($(this).attr('data-analytics-ajax') != undefined) {
do_analytics_track($(this).attr('data-analytics-ajax'));
}
if ( ($(this).attr('data-ajax-post') != undefined) || ($(this).data('ajax-post') != undefined) ) {
var data_object = $(this).data('ajax-post');
if (typeof data_object == 'undefined') {
data_object = $(this).attr('data-ajax-post');
}
if (typeof data_object == 'object') {
for (var key in data_object) {
if (typeof data_object[key] == 'object') {
for (var index in data_object[key]) {
opts.post[key + '['+index+']'] = data_object[key][index];
}
} else {
opts.post[key] = data_object[key];
}
}
} else
if (typeof data_object == 'string') {
var equals_pos = data_object.indexOf('=');
if (equals_pos != -1 ) {
opts.post[data_object.substring(0, equals_pos)] = data_object.substring(equals_pos+1);
}
}
}
var radios = new Array();
var multis = new Array();

function add_input_element_value(element) {
var name = $(element).attr('name');
var val = $(element).val();
if ( (typeof name != 'undefined') && (name != '') && (name != null) ) {
if ($(element).attr('type') == 'checkbox') {
// force empty checkbox submissions to be 0
if ( $(element).attr('checked') != 'checked') {
val = '0';
}
}
else
if ( $(element).attr('type') == 'radio' ) {
// flag radio submissions that are unchecked so that they can be submitted with an empty value rather than unsubmitted
if ($(element).attr('checked') != 'checked') {
radios.push(name);
name = undefined;
}
}
else
if ( $(element).is('select') ) {
if (name.indexOf('[]') != -1) {
var base_name = name.replace('[]', '');
for (var o=0; o < $(element)[0].options.length; o++) {
opts.post[base_name + '[' + o + ']'] = undefined;
}
}
}
}
if (typeof name != 'undefined') {
if (name.indexOf('[]') != -1) {
// multi select/checkbox
if (typeof multis[name] == 'undefined') {
multis[name] = new Array();
}
if (val == null)
val = '0';
var vals = new String(val).split(',');
var base_name = name.replace('[]', '');
for (var v=0; v < vals.length; v++) {
opts.post[ base_name + '[' + multis[name].length + ']' ] = vals[v];
multis[name].push(vals[v]);
}
} else {
opts.post[name] = val;
}
}
}

if ($(this).is('a')) {
if (this.href.indexOf('?') != -1) {
this.href.replace( new RegExp('([^?=&]+)(=([^&]*))?', 'g'),
 function($0, $1, $2, $3) { opts.post[$1] = $3; }
 );
}
} else
if ( $(this).is('input') || $(this).is('select') || $(this).is('textarea') ) {
add_input_element_value( this );
} else
if ($(this).is('form')) {
$(this).find('input,select,textarea').each(function(i,element) {
add_input_element_value(element);
});
}
// submit unchecked radio buttons as empty value
for (var r=0; r < radios.length; r++) {
if (typeof opts.post[ radios[r] ] == 'undefined' ) {
opts.post[ radios[r] ] = '';
}
}
if ($(this).attr('id') != undefined) {
opts.post['ajax_origin'] = $(this).attr('id');
} else
if (typeof(opts.post['ajax_origin']) == 'undefined') {
opts.post['ajax_origin'] = '(undefined)';
}
});
opts.post['module'] = module;
opts.post['ajax_act'] = ajax_act;
$.fn.ajax_factory.do_queue(opts);
 }
};

// internal queue

$.fn.ajax_factory.current_opts = null;
$.fn.ajax_factory.submitting = false;
$.fn.ajax_factory.submission_queue = new Array();

$.fn.ajax_factory.do_next_ajax_submission = function() {
if ( !$.fn.ajax_factory.submitting && ($.fn.ajax_factory.submission_queue.length > 0) ) {
$.fn.ajax_factory.submitting = true;
$.fn.ajax_factory.current_opts = $.fn.ajax_factory.submission_queue.shift();
$('body').addClass('submitting');
if ($.fn.ajax_factory.current_opts.shroud != null) {
var $shrouding = $($.fn.ajax_factory.current_opts.shroud);
if ($shrouding.length == 0) {
alert('Shroud element '+$.fn.ajax_factory.current_opts.shroud+' not found');
}
var $shroud_height = $shrouding.height();
var $shroud_width = $shrouding.width();
var $shroud_position = $shrouding.offset();
$('body').append('<div class="ajax_loading_shroud"><span class="ajax_loading_icon"></span></div>');
$('.ajax_loading_shroud').css('position','absolute').css('left',$shroud_position.left).css('top',$shroud_position.top).css('width',$shroud_width).css('height',$shroud_height);
$('.ajax_loading_icon').css('position','relative').css('left',($shroud_width/2)-16).css('top',($shroud_height/2)-16);
}
var url = window.location.pathname;
if ($.fn.ajax_factory.current_opts.url != null) {
$.fn.ajax_factory.current_opts.post['window_location'] = window.location.pathname;
url = $.fn.ajax_factory.current_opts.url;
}
if ((url == '#') || (url==''))
url = '/'; // otherwise IE will bork with a json_error
if ($.jsonp) {
$.jsonp({url:url,
 success:$.fn.ajax_factory.handle_json_response,
 error:$.fn.ajax_factory.handle_json_error,
 data: $.fn.ajax_factory.current_opts.post,
 cache:false,
 callbackParameter:'jsonp_callback'
}
 );
} else {
$.ajax({url:url,
 global: false,
 async: true,
 type: 'POST',
 dataType: 'json',
 cache: false,
 data: $.fn.ajax_factory.current_opts.post,
 success: $.fn.ajax_factory.handle_json_response,
 error: $.fn.ajax_factory.handle_json_error
}
 );
}
}
};

$.fn.ajax_factory.do_queue = function(opts) {
$.fn.ajax_factory.submission_queue.push(opts);
$.fn.ajax_factory.do_next_ajax_submission();
};

// DOM replacement - table rows are handled specially

$.fn.ajax_factory.do_replace_html = function(el, html, tag_type, id) {
if (el)
{
var newEl;
if (el.tagName=='TR') {
if (tag_type != 'tr') {
alert('Cannot replace <tr> with <'+tag_type+'>');
}
l=el.cells.length;
for (i=0; i < l; i++) {
el.cells[0].style.display='inline';
try {
 el.deleteCell(0);
}
catch (exception) {
 el.deleteCell();
}
}
// build <td>/<th>s (!)
var cellStart=html.indexOf('<t');
while (cellStart != -1) {
var theCellStart=cellStart+2;
var tagType='t'+html.substring(theCellStart, theCellStart+1);
var tagOpenEnd=html.indexOf('>', theCellStart);
cellStart=-1;
if (tagOpenEnd!=-1) {
var tagClose=html.indexOf('</'+tagType, tagOpenEnd);
if (tagClose!=-1) {
var cellHTML=html.substring(tagOpenEnd+1, tagClose);
var cellTag;
if (tagType=='td') {
cellTag=el.insertCell(-1);
}
else {
cellTag=document.createElement('th');
el.appendChild(cellTag);
}
// set tag attributes...
var attributeStart=theCellStart+2;
var keyStart=html.indexOf('="', attributeStart);
while ((keyStart != -1) && (keyStart < tagOpenEnd)){
var keyEnd=html.indexOf('"', keyStart+2);
if (keyEnd==-1)
keyStart=-1;
else {
var key=html.substring(attributeStart, keyStart);
var value=html.substring(keyStart+2, keyEnd);
if (key=='class') {
cellTag.className=value;
}
else
if (key=='style') {
cellTag.style.cssText=value;
}
else {
if (key=='colspan') {
key='colSpan';
}
cellTag.setAttribute(key, value);
}
attributeStart = keyEnd+2;
keyStart=html.indexOf('="', attributeStart);
}
}
cellTag.innerHTML=cellHTML;
cellStart=html.indexOf('<t', tagClose);
}
}
}
newEl=el.cloneNode(true);
}
else {
if (tag_type.toUpperCase() == el.nodeName) {
newEl=el.cloneNode(true);
} else {
if ( (typeof id == 'undefined') || (id == '') )
newEl=$('<'+tag_type+' />')[0];
else
newEl=$('<'+tag_type+' id="'+id+'" />')[0];
newEl.style.cssText = el.style.cssText;
newEl.className = el.className;

for (var i = 0; i < el.attributes.length; i++) {
 var attrib = el.attributes[i];
 if (attrib.specified == true) {
if ((attrib.name != 'style') && (attrib.name != 'class')) {
newEl.setAttribute(attrib.name, attrib.value);
}
 }
}
}
$(newEl).html(html);
}
if (el.parentNode) {
el.parentNode.replaceChild(newEl, el);
}
else {
el.innerHTML = html;
}
}
};

// callbacks for $.ajax()

$.fn.ajax_factory.handle_json_error = function(jqXHR, textStatus, errorThrown) {
if ($.fn.ajax_factory.current_opts.shroud != null) {
$('.ajax_loading_shroud').remove();
}
console.log('handle_json_error:'+textStatus+' - '+errorThrown);
if ($.fn.ajax_factory.current_opts.error != null)
$.fn.ajax_factory.current_opts.error(errorThrown);
$.fn.ajax_factory.ajax_submitting=false;
$('body').removeClass('submitting');
$.fn.ajax_factory.do_next_ajax_submission();
}

$.fn.ajax_factory.handle_json_response = function(response, textStatus, jqXHR) {
if ($.fn.ajax_factory.current_opts.shroud != null) {
$('.ajax_loading_shroud').remove();
}
if (textStatus != 'success') {
var error_message = $.fn.ajax_factory.current_opts.post['module']+'->'+$.fn.ajax_factory.current_opts.post['ajax_act']+'() yielded textStatus='+textStatus;
console.log(error_message);
if ($.fn.ajax_factory.current_opts.error != null)
$.fn.ajax_factory.current_opts.error(error_message);
}
else if (response == null) {
var error_message = $.fn.ajax_factory.current_opts.post['module']+'->'+$.fn.ajax_factory.current_opts.post['ajax_act']+'() did not return a JSON object from ajax_factory::do_serve()';
console.log(error_message);
if ($.fn.ajax_factory.current_opts.error != null)
$.fn.ajax_factory.current_opts.error(error_message);
}
else {
if (typeof response.success == 'undefined'){
console.log('Invalid response - ajax_factory.json_response.success undefined');
}
else {
if ($.fn.ajax_factory.current_opts.pre_complete != null) {
$.fn.ajax_factory.current_opts.pre_complete(response.success == '1');
}
if (response.success == 1) {
// perform redirect
if ( (typeof response.redirect != 'undefined') &&
 (response.redirect != '')
 ) {
window.location=response.redirect;
} else
{
// remove elements
if (response.remove_elements != '') {
$(response.remove_elements).remove();
}

// update elements
for (var u=0; u < response.update_elements.length; u++) {
var replace_with=response.update_elements[u].html;
var selector;
if ( (typeof response.update_elements[u].id == 'undefined') || (response.update_elements[u].id == '') ) {
selector=response.update_elements[u].tag;
}
else {
selector='#'+response.update_elements[u].id;
}
var elements = null;
if ($(selector).length == 0) {
if ($.fn.ajax_factory.current_opts.dom_empty == null) {
console.log('could not find element: '+response.update_elements[u].tag+'#'+response.update_elements[u].id);
} else {
var new_element_html = '<'+response.update_elements[u].tag;
if (response.update_elements[u].id != '')
new_element_html += ' id="'+response.update_elements[u].id+'"';
for (key in response.update_elements[u].attributes) {
new_element_html += ' '+key+'="'+response.update_elements[u].attributes[key]+'"';
}
new_element_html += ' />';
var jquery_element=$(new_element_html);
jquery_element.append(replace_with);
elements = $.fn.ajax_factory.current_opts.dom_empty( jquery_element[0] );
}
} else {
elements=$(selector);
}
if (elements != null) {
elements.each(function(i,el)
{
for (key in response.update_elements[u].attributes) {
if (key == 'style') {
el.style.cssText = response.update_elements[u].attributes[key];
} else if (key == 'class') {
el.className = response.update_elements[u].attributes[key];
} else if (key != 'id') {
el.setAttribute(key, response.update_elements[u].attributes[key]);
}
}
//console.log('replace '+response.update_elements[u].tag+'#'+el.id);
if ( ($.fn.ajax_factory.current_opts.dom_replace == null) ||
 (!$.fn.ajax_factory.current_opts.dom_replace(el, replace_with))
 ) {
$.fn.ajax_factory.do_replace_html(el, replace_with, response.update_elements[u].tag, response.update_elements[u].id);
}
});
}
}
// inject elements
for (var i=0; i < response.inject_elements.length; i++) {
if ($(response.inject_elements[i].selector).length == 0) {
if ($.fn.ajax_factory.current_opts.dom_empty == null) {
console.log('could not find element: '+response.inject_elements[i].selector);
} else {
elements = $.fn.ajax_factory.current_opts.dom_empty( response.inject_elements[i].selector );
}
} else {
elements = $(response.inject_elements[i].selector);
}
if (elements != null) {
switch (response.inject_elements[i].position) {
case 'append':{ elements.append( response.inject_elements[i].html ); } break;
case 'prepend':{ elements.prepend( response.inject_elements[i].html ); } break;
case 'before':{ elements.before( response.inject_elements[i].html ); } break;
case 'after':{ elements.after( response.inject_elements[i].html ); } break;
default: { console.log('unknown inject position: '+response.inject_elements[i].position); } break;
}
}
}
}
}
else {
if (typeof response.error_message == 'undefined') {
console.log('Invalid response - ajax_factory.json_response.error_message undefined');
}
else {
console.log(response.error_message);
if ($.fn.ajax_factory.current_opts.error != null)
$.fn.ajax_factory.current_opts.error(response.error_message);
}
}
if ( ($.fn.ajax_factory.current_opts['return'] != null) && (typeof response['return'] != null) ) {
$.fn.ajax_factory.current_opts['return'](response['return']);
}
if ($.fn.ajax_factory.current_opts.complete != null) {
$.fn.ajax_factory.current_opts.complete(response.success == '1');
}
}
}
$.fn.ajax_factory.submitting=false;
$('body').removeClass('submitting');
$.fn.ajax_factory.do_next_ajax_submission();
}

// defaults

$.fn.ajax_factory.defaults = {
post:{},
 url:null,
 shroud:null,
 origin:null,
 pre_complete:null,
 complete:null,
 'return':null,
 dom_replace:null,
 error:null,
 dom_empty:null
};

})(jQuery);


// cycle
(function($){var ver="2.88";if($.support==undefined){$.support={opacity:!($.browser.msie)};}function debug(s){if($.fn.cycle.debug){log(s);}}function log(){if(window.console&&window.console.log){window.console.log("[cycle] "+Array.prototype.join.call(arguments," "));}}$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.rev);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,(!opts2.rev&&!opts.backwards));},startTime);}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);return false;case"prev":case"next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,(!opts.rev&&!opts.backwards));}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0;});if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}else{if(opts.backwards){opts.startingSlide=els.length-1;}}if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++){opts.randomMap.push(i);}opts.randomMap.sort(function(a,b){return Math.random()-0.5;});opts.randomIndex=1;opts.startingSlide=opts.randomMap[1];}else{if(opts.startingSlide>=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards){z=first?i<=first?els.length+(i-first):first-i:els.length-i;}else{z=first?i>=first?els.length-(i-first):first-i:els.length-i;}$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;j<els.length;j++){var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w){w=e.offsetWidth||e.width||$e.attr("width");}if(!h){h=e.offsetHeight||e.height||$e.attr("height");}maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst){$($slides[first]).css(opts.cssFirst);}if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="shuffle"?500:250;while((opts.timeout-opts.speed)<buffer){opts.timeout+=opts.speed;}}if(opts.easing){opts.easeIn=opts.easeOut=opts.easing;}if(!opts.speedIn){opts.speedIn=opts.speed;}if(!opts.speedOut){opts.speedOut=opts.speed;}opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.backwards){opts.nextSlide=opts.startingSlide==0?(els.length-1):opts.startingSlide-1;}else{opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;}}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length>1){opts.after[1].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknown transition: ",fx);opts.fxs.splice(i,1);i--;}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false;}}else{if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(p in txs){tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx)){opts.fxs.push(p);}}}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0]);}debug("randomized fx sequence: ",opts.fxs);}return true;}function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount){opts.countdown++;}els[prepend?"unshift":"push"](s);if(opts.els){opts.els[prepend?"unshift":"push"](s);}opts.slideCount=els.length;$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++;}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($s);}if(opts.fit&&opts.width){$s.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager||opts.pagerAnchorBuilder){$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);}if($.isFunction(opts.onAddSlide)){opts.onAddSlide($s);}else{$s.hide();}};}$.fn.cycle.resetState=function(opts,fx){fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this);});$.each(opts.original.after,function(){opts.after.push(this);});var init=$.fn.cycle.transitions[fx];if($.isFunction(init)){init(opts.$cont,$(opts.elements),opts);}};function go(els,opts,manual,fwd){if(manual&&opts.busy&&opts.manualTrump){debug("manualTrump in go(), stopping active transition");$(els).stop(true,true);opts.busy=false;}if(opts.busy){debug("transition active, ignoring new tx request");return;}var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual){return;}if(!manual&&!p.cyclePause&&!opts.bounce&&((opts.autostop&&(--opts.countdown<=0))||(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){if(opts.end){opts.end(opts);}return;}var changed=false;if((manual||!p.cyclePause)&&(opts.nextSlide!=opts.currSlide)){changed=true;var fx=opts.fx;curr.cycleH=curr.cycleH||$(curr).height();curr.cycleW=curr.cycleW||$(curr).width();next.cycleH=next.cycleH||$(next).height();next.cycleW=next.cycleW||$(next).width();if(opts.multiFx){if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};debug("tx firing; currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{if(opts.backwards){var roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0;}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1;}}else{var roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1;}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while((t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,val>=0);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a='<a href="#">'+(i+1)+"</a>";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlide<i);});if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble){$a.bind("click.cycle",function(){return false;});}if(opts.pauseOnPagerHover){$a.hover(function(){opts.$cont[0].cyclePause++;},function(){opts.$cont[0].cyclePause--;});}};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd){hops=c>l?c-l:opts.slideCount-l;}else{hops=c<l?l-c:l+opts.slideCount-c;}return hops;};function clearTypeFix($slides){debug("applying clearType background-color hack");function hex(s){s=parseInt(s).toString(16);return s.length<2?"0"+s:s;}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v.indexOf("rgb")>=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb);};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter){$l.css(opts.cssAfter);}if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={fx:"fade",timeout:4000,timeoutFn:null,continuous:0,speed:1000,speedIn:null,speedOut:null,next:null,prev:null,onPrevNextEvent:null,prevNextEvent:"click.cycle",pager:null,onPagerEvent:null,pagerEvent:"click.cycle",allowPagerClickBubble:false,pagerAnchorBuilder:null,before:null,after:null,end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,autostopCount:0,delay:0,slideExpr:null,cleartype:!$.support.opacity,cleartypeNoBg:false,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0,manualTrump:true,requeueOnImageNotLoaded:true,requeueTimeout:250,activePagerClass:"activeSlide",updateActivePagerLink:null,backwards:false};})(jQuery);
// jQuery Cycle Plugin Transition Definitions
(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after();};};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore={top:h,left:0};opts.cssFirst={top:0};opts.animIn={top:0};opts.animOut={top:-h};};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst={top:0};opts.cssBefore={top:-h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:0-w};};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:-w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;});opts.cssFirst={left:0};opts.cssBefore={top:0};opts.animIn={left:0};opts.animOut={top:0};};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0};opts.animIn={top:0};opts.animOut={left:0};};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;});opts.cssBefore={left:0,top:0,width:0};opts.animIn={width:"show"};opts.animOut={width:0};};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;});opts.cssBefore={left:0,top:0,height:0};opts.animIn={height:"show"};opts.animOut={height:0};};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var i,w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true;}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++){opts.els.push($slides[i]);}for(i=0;i<opts.currSlide;i++){opts.els.push(opts.els.shift());}opts.fxFn=function(curr,next,opts,cb,fwd){var $el=fwd?$(curr):$(next);$(next).css(opts.cssBefore);var count=opts.slideCount;$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){var hops=$.fn.cycle.hopsFromLast(opts,fwd);for(var k=0;k<hops;k++){fwd?opts.els.push(opts.els.shift()):opts.els.unshift(opts.els.pop());}if(fwd){for(var i=0,len=opts.els.length;i<len;i++){$(opts.els[i]).css("z-index",len-i+count);}}else{var z=$(curr).css("z-index");$el.css("z-index",parseInt(z)+1+count);}$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){$(fwd?this:curr).hide();if(cb){cb();}});});};opts.cssBefore={display:"block",opacity:1,top:0,left:0};};$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=next.cycleH;opts.animIn.height=next.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,height:0};opts.animIn={top:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,top:0,height:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=next.cycleW;opts.animIn.width=next.cycleW;});opts.cssBefore={top:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.turnRight=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={top:0,left:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.zoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false,true);opts.cssBefore.top=next.cycleH/2;opts.cssBefore.left=next.cycleW/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};opts.animOut={width:0,height:0,top:curr.cycleH/2,left:curr.cycleW/2};});opts.cssFirst={top:0,left:0};opts.cssBefore={width:0,height:0};};$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false);opts.cssBefore.left=next.cycleW/2;opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};});opts.cssBefore={width:0,height:0};opts.animOut={opacity:0};};$.fn.cycle.transitions.blindX=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.blindY=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();var w=$cont.width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:w};opts.animIn={top:0,left:0};opts.animOut={top:h,left:w};};$.fn.cycle.transitions.growX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=this.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:0};});opts.cssBefore={width:0,top:0};};$.fn.cycle.transitions.growY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=this.cycleH/2;opts.animIn={top:0,height:this.cycleH};opts.animOut={top:0};});opts.cssBefore={height:0,left:0};};$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true,true);opts.cssBefore.left=next.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:curr.cycleW/2,width:0};});opts.cssBefore={top:0,width:0};};$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false,true);opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,height:next.cycleH};opts.animOut={top:curr.cycleH/2,height:0};});opts.cssBefore={left:0,height:0};};$.fn.cycle.transitions.cover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);if(d=="right"){opts.cssBefore.left=-w;}else{if(d=="up"){opts.cssBefore.top=h;}else{if(d=="down"){opts.cssBefore.top=-h;}else{opts.cssBefore.left=w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.uncover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(d=="right"){opts.animOut.left=w;}else{if(d=="up"){opts.animOut.top=-h;}else{if(d=="down"){opts.animOut.top=h;}else{opts.animOut.left=-w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.toss=function($cont,$slides,opts){var w=$cont.css("overflow","visible").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(!opts.animOut.left&&!opts.animOut.top){opts.animOut={left:w*2,top:-h/2,opacity:0};}else{opts.animOut.opacity=0;}});opts.cssBefore={left:0,top:0};opts.animIn={left:0};};$.fn.cycle.transitions.wipe=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.cssBefore=opts.cssBefore||{};var clip;if(opts.clip){if(/l2r/.test(opts.clip)){clip="rect(0px 0px "+h+"px 0px)";}else{if(/r2l/.test(opts.clip)){clip="rect(0px "+w+"px "+h+"px "+w+"px)";}else{if(/t2b/.test(opts.clip)){clip="rect(0px "+w+"px 0px 0px)";}else{if(/b2t/.test(opts.clip)){clip="rect("+h+"px "+w+"px "+h+"px 0px)";}else{if(/zoom/.test(opts.clip)){var top=parseInt(h/2);var left=parseInt(w/2);clip="rect("+top+"px "+left+"px "+top+"px "+left+"px)";}}}}}}opts.cssBefore.clip=opts.cssBefore.clip||clip||"rect(0px 0px 0px 0px)";var d=opts.cssBefore.clip.match(/(\d+)/g);var t=parseInt(d[0]),r=parseInt(d[1]),b=parseInt(d[2]),l=parseInt(d[3]);opts.before.push(function(curr,next,opts){if(curr==next){return;}var $curr=$(curr),$next=$(next);$.fn.cycle.commonReset(curr,next,opts,true,true,false);opts.cssAfter.display="block";var step=1,count=parseInt((opts.speedIn/13))-1;(function f(){var tt=t?t-parseInt(step*(t/count)):0;var ll=l?l-parseInt(step*(l/count)):0;var bb=b<h?b+parseInt(step*((h-b)/count||1)):h;var rr=r<w?r+parseInt(step*((w-r)/count||1)):w;$next.css({clip:"rect("+tt+"px "+rr+"px "+bb+"px "+ll+"px)"});(step++<=count)?setTimeout(f,13):$curr.css("display","none");})();});opts.cssBefore={display:"block",opacity:1,top:0,left:0};opts.animIn={left:0};opts.animOut={left:0};};})(jQuery);

// ColorBox v1.3.15 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+
// Copyright (c) 2010 Jack Moore - jack@colorpowered.com
// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
(function(b,ib){var t="none",M="LoadedContent",c=false,v="resize.",o="y",q="auto",e=true,L="nofollow",m="x";function f(a,c){a=a?' id="'+i+a+'"':"";c=c?' style="'+c+'"':"";return b("<div"+a+c+"/>")}function p(a,b){b=b===m?n.width():n.height();return typeof a==="string"?Math.round(/%/.test(a)?b/100*parseInt(a,10):parseInt(a,10)):a}function U(b){return a.photo||/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i.test(b)}function cb(a){for(var c in a)if(b.isFunction(a[c])&&c.substring(0,2)!=="on")a[c]=a[c].call(l);a.rel=a.rel||l.rel||L;a.href=a.href||b(l).attr("href");a.title=a.title||l.title;return a}function w(c,a){a&&a.call(l);b.event.trigger(c)}function jb(){var b,e=i+"Slideshow_",c="click."+i,f,k;if(a.slideshow&&h[1]){f=function(){F.text(a.slideshowStop).unbind(c).bind(V,function(){if(g<h.length-1||a.loop)b=setTimeout(d.next,a.slideshowSpeed)}).bind(W,function(){clearTimeout(b)}).one(c+" "+N,k);j.removeClass(e+"off").addClass(e+"on");b=setTimeout(d.next,a.slideshowSpeed)};k=function(){clearTimeout(b);F.text(a.slideshowStart).unbind([V,W,N,c].join(" ")).one(c,f);j.removeClass(e+"on").addClass(e+"off")};a.slideshowAuto?f():k()}}function db(c){if(!O){l=c;a=cb(b.extend({},b.data(l,r)));h=b(l);g=0;if(a.rel!==L){h=b("."+G).filter(function(){return (b.data(this,r).rel||this.rel)===a.rel});g=h.index(l);if(g===-1){h=h.add(l);g=h.length-1}}if(!u){u=D=e;j.show();if(a.returnFocus)try{l.blur();b(l).one(eb,function(){try{this.focus()}catch(a){}})}catch(f){}x.css({opacity:+a.opacity,cursor:a.overlayClose?"pointer":q}).show();a.w=p(a.initialWidth,m);a.h=p(a.initialHeight,o);d.position(0);X&&n.bind(v+P+" scroll."+P,function(){x.css({width:n.width(),height:n.height(),top:n.scrollTop(),left:n.scrollLeft()})}).trigger("scroll."+P);w(fb,a.onOpen);Y.add(H).add(I).add(F).add(Z).hide();ab.html(a.close).show()}d.load(e)}}var gb={transition:"elastic",speed:300,width:c,initialWidth:"600",innerWidth:c,maxWidth:c,height:c,initialHeight:"450",innerHeight:c,maxHeight:c,scalePhotos:e,scrolling:e,inline:c,html:c,iframe:c,photo:c,href:c,title:c,rel:c,opacity:.9,preloading:e,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:c,returnFocus:e,loop:e,slideshow:c,slideshowAuto:e,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:c,onLoad:c,onComplete:c,onCleanup:c,onClosed:c,overlayClose:e,escKey:e,arrowKey:e},r="colorbox",i="cbox",fb=i+"_open",W=i+"_load",V=i+"_complete",N=i+"_cleanup",eb=i+"_closed",Q=i+"_purge",hb=i+"_loaded",E=b.browser.msie&&!b.support.opacity,X=E&&b.browser.version<7,P=i+"_IE6",x,j,A,s,bb,T,R,S,h,n,k,J,K,Z,Y,F,I,H,ab,B,C,y,z,l,g,a,u,D,O=c,d,G=i+"Element";d=b.fn[r]=b[r]=function(c,f){var a=this,d;if(!a[0]&&a.selector)return a;c=c||{};if(f)c.onComplete=f;if(!a[0]||a.selector===undefined){a=b("<a/>");c.open=e}a.each(function(){b.data(this,r,b.extend({},b.data(this,r)||gb,c));b(this).addClass(G)});d=c.open;if(b.isFunction(d))d=d.call(a);d&&db(a[0]);return a};d.init=function(){var l="hover",m="clear:left";n=b(ib);j=f().attr({id:r,"class":E?i+"IE":""});x=f("Overlay",X?"position:absolute":"").hide();A=f("Wrapper");s=f("Content").append(k=f(M,"width:0; height:0; overflow:hidden"),K=f("LoadingOverlay").add(f("LoadingGraphic")),Z=f("Title"),Y=f("Current"),I=f("Next"),H=f("Previous"),F=f("Slideshow").bind(fb,jb),ab=f("Close"));A.append(f().append(f("TopLeft"),bb=f("TopCenter"),f("TopRight")),f(c,m).append(T=f("MiddleLeft"),s,R=f("MiddleRight")),f(c,m).append(f("BottomLeft"),S=f("BottomCenter"),f("BottomRight"))).children().children().css({"float":"left"});J=f(c,"position:absolute; width:9999px; visibility:hidden; display:none");b("body").prepend(x,j.append(A,J));s.children().hover(function(){b(this).addClass(l)},function(){b(this).removeClass(l)}).addClass(l);B=bb.height()+S.height()+s.outerHeight(e)-s.height();C=T.width()+R.width()+s.outerWidth(e)-s.width();y=k.outerHeight(e);z=k.outerWidth(e);j.css({"padding-bottom":B,"padding-right":C}).hide();I.click(d.next);H.click(d.prev);ab.click(d.close);s.children().removeClass(l);b("."+G).live("click",function(a){if(!(a.button!==0&&typeof a.button!=="undefined"||a.ctrlKey||a.shiftKey||a.altKey)){a.preventDefault();db(this)}});x.click(function(){a.overlayClose&&d.close()});b(document).bind("keydown",function(b){if(u&&a.escKey&&b.keyCode===27){b.preventDefault();d.close()}if(u&&a.arrowKey&&!D&&h[1])if(b.keyCode===37&&(g||a.loop)){b.preventDefault();H.click()}else if(b.keyCode===39&&(g<h.length-1||a.loop)){b.preventDefault();I.click()}})};d.remove=function(){j.add(x).remove();b("."+G).die("click").removeData(r).removeClass(G)};d.position=function(f,d){function b(a){bb[0].style.width=S[0].style.width=s[0].style.width=a.style.width;K[0].style.height=K[1].style.height=s[0].style.height=T[0].style.height=R[0].style.height=a.style.height}var e,h=Math.max(document.documentElement.clientHeight-a.h-y-B,0)/2+n.scrollTop(),g=Math.max(n.width()-a.w-z-C,0)/2+n.scrollLeft();e=j.width()===a.w+z&&j.height()===a.h+y?0:f;A[0].style.width=A[0].style.height="9999px";j.dequeue().animate({width:a.w+z,height:a.h+y,top:h,left:g},{duration:e,complete:function(){b(this);D=c;A[0].style.width=a.w+z+C+"px";A[0].style.height=a.h+y+B+"px";d&&d()},step:function(){b(this)}})};d.resize=function(b){if(u){b=b||{};if(b.width)a.w=p(b.width,m)-z-C;if(b.innerWidth)a.w=p(b.innerWidth,m);k.css({width:a.w});if(b.height)a.h=p(b.height,o)-y-B;if(b.innerHeight)a.h=p(b.innerHeight,o);if(!b.innerHeight&&!b.height){b=k.wrapInner("<div style='overflow:auto'></div>").children();a.h=b.height();b.replaceWith(b.children())}k.css({height:a.h});d.position(a.transition===t?0:a.speed)}};d.prep=function(m){var c="hidden";function l(s){var p,f,m,c,l=h.length,q=a.loop;d.position(s,function(){function s(){E&&j[0].style.removeAttribute("filter")}if(u){E&&o&&k.fadeIn(100);k.show();w(hb);Z.show().html(a.title);if(l>1){typeof a.current==="string"&&Y.html(a.current.replace(/\{current\}/,g+1).replace(/\{total\}/,l)).show();I[q||g<l-1?"show":"hide"]().html(a.next);H[q||g?"show":"hide"]().html(a.previous);p=g?h[g-1]:h[l-1];m=g<l-1?h[g+1]:h[0];a.slideshow&&F.show();if(a.preloading){c=b.data(m,r).href||m.href;f=b.data(p,r).href||p.href;c=b.isFunction(c)?c.call(m):c;f=b.isFunction(f)?f.call(p):f;if(U(c))b("<img/>")[0].src=c;if(U(f))b("<img/>")[0].src=f}}K.hide();a.transition==="fade"?j.fadeTo(e,1,function(){s()}):s();n.bind(v+i,function(){d.position(0)});w(V,a.onComplete)}})}if(u){var o,e=a.transition===t?0:a.speed;n.unbind(v+i);k.remove();k=f(M).html(m);k.hide().appendTo(J.show()).css({width:function(){a.w=a.w||k.width();a.w=a.mw&&a.mw<a.w?a.mw:a.w;return a.w}(),overflow:a.scrolling?q:c}).css({height:function(){a.h=a.h||k.height();a.h=a.mh&&a.mh<a.h?a.mh:a.h;return a.h}()}).prependTo(s);J.hide();b("#"+i+"Photo").css({cssFloat:t,marginLeft:q,marginRight:q});X&&b("select").not(j.find("select")).filter(function(){return this.style.visibility!==c}).css({visibility:c}).one(N,function(){this.style.visibility="inherit"});a.transition==="fade"?j.fadeTo(e,0,function(){l(0)}):l(e)}};d.load=function(u){var n,c,s,q=d.prep;D=e;l=h[g];u||(a=cb(b.extend({},b.data(l,r))));w(Q);w(W,a.onLoad);a.h=a.height?p(a.height,o)-y-B:a.innerHeight&&p(a.innerHeight,o);a.w=a.width?p(a.width,m)-z-C:a.innerWidth&&p(a.innerWidth,m);a.mw=a.w;a.mh=a.h;if(a.maxWidth){a.mw=p(a.maxWidth,m)-z-C;a.mw=a.w&&a.w<a.mw?a.w:a.mw}if(a.maxHeight){a.mh=p(a.maxHeight,o)-y-B;a.mh=a.h&&a.h<a.mh?a.h:a.mh}n=a.href;K.show();if(a.inline){f().hide().insertBefore(b(n)[0]).one(Q,function(){b(this).replaceWith(k.children())});q(b(n))}else if(a.iframe){j.one(hb,function(){var c=b("<iframe frameborder='0' style='width:100%; height:100%; border:0; display:block'/>")[0];c.name=i+ +new Date;c.src=a.href;if(!a.scrolling)c.scrolling="no";if(E)c.allowtransparency="true";b(c).appendTo(k).one(Q,function(){c.src="//about:blank"})});q(" ")}else if(a.html)q(a.html);else if(U(n)){c=new Image;c.onload=function(){var e;c.onload=null;c.id=i+"Photo";b(c).css({border:t,display:"block",cssFloat:"left"});if(a.scalePhotos){s=function(){c.height-=c.height*e;c.width-=c.width*e};if(a.mw&&c.width>a.mw){e=(c.width-a.mw)/c.width;s()}if(a.mh&&c.height>a.mh){e=(c.height-a.mh)/c.height;s()}}if(a.h)c.style.marginTop=Math.max(a.h-c.height,0)/2+"px";h[1]&&(g<h.length-1||a.loop)&&b(c).css({cursor:"pointer"}).click(d.next);if(E)c.style.msInterpolationMode="bicubic";setTimeout(function(){q(c)},1)};setTimeout(function(){c.src=n},1)}else n&&J.load(n,function(d,c,a){q(c==="error"?"Request unsuccessful: "+a.statusText:b(this).children())})};d.next=function(){if(!D){g=g<h.length-1?g+1:0;d.load()}};d.prev=function(){if(!D){g=g?g-1:h.length-1;d.load()}};d.close=function(){if(u&&!O){O=e;u=c;w(N,a.onCleanup);n.unbind("."+i+" ."+P);x.fadeTo("fast",0);j.stop().fadeTo("fast",0,function(){w(Q);k.remove();j.add(x).css({opacity:1,cursor:q}).hide();setTimeout(function(){O=c;w(eb,a.onClosed)},1)})}};d.element=function(){return b(l)};d.settings=gb;b(d.init)})(jQuery,this);


function hide_show_state_field($country_select_element) {
 var $state_field = $country_select_element.parents('form').find('select[name="state"]').parents('li');
 var $county_field = $country_select_element.parents('form').find('input[name="county"]').parents('li');

var country_name = $country_select_element[0].options[$country_select_element[0].selectedIndex].text;

if (country_name == 'United States') {
 $state_field.show();
 $county_field.hide();
 } else {
 $state_field.hide();
 $county_field.show();
 }
}

$('body').on('change', 'select[name="country"]', function() {
hide_show_state_field( $(this) );
});

$('select[name="country"]').each(function(i,element) {
hide_show_state_field( $(element) );
});

$('body').on('click', '.checkout_wrapper .change_address', function(e) {
 e.preventDefault();
});

$('body').on('click', 'a.add_to_cart_continue', function(e) {
 e.preventDefault();
 $.fn.colorbox.close();
});


$('body').on('mouseenter', '.form_helper', function () {
 element = $(this).attr('id').replace('helper_for_', '');
 $('#helper_tooltip_' + element).stop(true,true).fadeIn('slow');
});
$('body').on('mouseleave', '.form_helper', function () {
 element = $(this).attr('id').replace('helper_for_', '');
 //window.setTimeout('$(\'#helper_tooltip_\' + element).stop(true,true).fadeOut(\'fast\');', 500); // 0.5 Second delay on closing
 $('#helper_tooltip_' + element).stop(true,true).fadeOut('fast');
});





$(document).ready(function () {
 

 $('a[data-rel*=galimage]').click(function (event) {
 event.preventDefault();
 $('#gal_main_img').css('background', 'url(\'' + $(this).attr('href') + '\') center');
 $('#gal_main_img').attr('href', $(this).attr('data'))
 $('#gal_img_text').html($(this).attr('title'));
 });
});

$('body').on('mouseenter', 'label.star_rating', function() {
 current_star = $(this).children('input').val();
 $('label.star_rating').each(function() {
 star_number = $(this).attr('id').replace('star_', '');
 if (star_number <= current_star) {
 $(this).addClass('hovered');
 }
 });
});

$('body').on('mouseleave', 'label.star_rating', function() {
 $('label.star_rating').removeClass('hovered');
});

$('body').on('click', 'label.star_rating', function() {
 $('label.star_rating').removeClass('hovered').removeClass('sel');
 current_star = $(this).children('input').val();
 $('label.star_rating').each(function() {
 star_number = $(this).attr('id').replace('star_', '');
 if (star_number <= current_star) {
 $(this).addClass('sel');
 }
 });
});

if ($('.read_more_button').length > 0) {
$('.read_more_button').click(function(){
$(this).parent().parent().children('.read_more_dots').toggle();
//$(this).parent().parent().children('.read_more_block').fadeToggle();
$(this).parent().children().children('.read_more_block').toggle("slow");
});
}

$(document).ready(function () {
$('a[rel=lightbox]').colorbox({transition:"fade", title: ''});
if ($('div.cars_scroller').length > 0) {
$('div.cars_scroller').jCarouselLite({
btnPrev: '#cars_list_prev',
btnNext: '#cars_list_next',
visible: 4
});
}
});

