var pngfix;

// Define Broadway
Broadway = { version:'1.0.0', processing:false, timeoutId:0 };
Broadway.taxPromo = { processing:false };
Broadway.shoppingCart = { processing:false };
Broadway.siteSearch = { processing:false };
Broadway.navigation = { processing:false };
Broadway.broadvision = { processing:false };

Broadway.showSpinner = function(target,xOff,yOff) {
	if(!xOff) xOff = 0;
	if(!yOff) yOff = 0;

	var spinner = $('div.spinner-loader');
	var obj = $(target);
	var objPos = Position.get(obj.context);

	var x = objPos.left + xOff;
	var y = objPos.top + yOff;

	spinner.css('top',  parseInt(y) + 'px');
	spinner.css('left', parseInt(x) + 'px');
	spinner.show();
};
$(document).ready(function() {
	$('div.spinner-loader').hide();
});

Broadway.clearProcessing = function() {
	clearTimeout(Broadway.timeoutId);
	$('div.spinner-loader').hide();
	Broadway.processing = false;
};

Broadway.setProcessing = function(fn) {
	Broadway.processing = true;
	Broadway.processingFn = fn;
	Broadway.timeoutId = window.setTimeout(Broadway.clearProcessing,8000);
};

// Add an item to the cart
// obj = { packageid: ##, itemid:## }
Broadway.shoppingCart.addItem = function(obj) {
	if(Broadway.processing) return;
	Broadway.setProcessing(this);

	var data = { packageid:obj.packageid, itemid:obj.itemid, quantity:1 };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=addToCart', Broadway.shoppingCart.addItem_response, data);
};
Broadway.shoppingCart.addItem_response = function() {
	document.location.href = '/ShoppingCart';
};

// cart item counter
Broadway.shoppingCart.setCartCounter = function() {
	if(Broadway.processing) return;
	Broadway.setProcessing(this);

	$("#header-shopping-cart").fadeOut('fast');
	http('GET','/com/Ajax/VisitorAjax.cfc?method=getCartItemCount', Broadway.shoppingCart.setCartCounter_response);
};
Broadway.shoppingCart.setCartCounter_response = function(obj) {
	Broadway.clearProcessing();

	var t = new String(obj.ordersummary.quantity);
	$("#header-cart-qty").html('[' + t.trim() + ']');
	$("#header-shopping-cart").fadeIn('normal');
	if(Broadway.shoppingCart.updateSummary) {
		$('.checkout-cart-item').remove();
		$('table#checkout-cart').append(obj.cartitems);
		Broadway.shoppingCart.updateSummary(obj);
		$('div#checkout-cart-dontmiss').html(obj.dontmiss);
		$('div#checkout-cart-upsell').html(obj.upsell);
	}
	if($('div.cart-loader')) $('div.cart-loader').hide();
};
$(document).ready(function() {
	if($('div.cart-loader')) $('div.cart-loader').hide();
	Broadway.shoppingCart.setCartCounter();
});

// siteSearch Ajax request
Broadway.siteSearch.process = function(obj) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	$('span.form-error-reason').remove();
	$('label').removeClass('form-error');

	while((obj.tagName != 'FORM') && (obj.tagName != 'BODY')) obj = obj.parentNode;
	if((typeof(obj) == 'undefined') || (obj.tagName != 'FORM')) return(false);

	if((obj.search.value.trim() == 'enter search text') || !obj.search.value.trim()) return(false);

	http('POST', '/com/Ajax/FormsAjax.cfc?method=siteSearch', Broadway.siteSearch._process_response, obj);
	return(false);
};

// siteSearch Ajax response
Broadway.siteSearch._process_response = function(obj) {
	var s = '';
	var item = '';

	Broadway.siteSearch.processing = false;
	if(obj.status && (obj.status == 'ok')) {
		window.location.href = '/Browse-Oreck-Products';
	} else {
		$('#header-search-input input').val('enter search text');
		$('#header-search-input input').blur();
		$('#notifications').html("<span class='alert'>Something wasn't quite right.</span> &nbsp; Invalid characters in entry. &nbsp; Please try again.");
		$('#notifications').slideDown('fast');
		$('#notifications').animate({marginLeft: 0}, 3000, function () {
			$('#notifications').slideUp('fast');
		});		
	}
};

// siteSearch Ajax response
Broadway.siteSearch.reSort = function(obj) {
	Broadway.siteSearch.processing = false;
	while((obj.tagName != 'FORM') && (obj.tagName != 'BODY')) obj = obj.parentNode;
	if((typeof(obj) == 'undefined') || (obj.tagName != 'FORM')) return(false);
	var s1 = obj.sortOptions.value.replace(/_x20_/g,'-');
	var s2 = s1.replace(/ /g,'-');
	var s3 = s2.replace(/\(/g,'');
	var s4 = s3.replace(/\)/g,'');
	var sortFinal = s4;

	window.location.href =  '/' + sortFinal + obj.virtualPath.value + '/';
};

Broadway.siteSearch.addAttributeSearch = function(a,v) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	var params = { attribute:a, value:v };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=addAttributeSearch', Broadway.siteSearch.addAttributeSearch_response, params);
};

Broadway.siteSearch.addAttributeSearch_response = function(obj) {
	window.location.reload();
};

Broadway.siteSearch.delAttributeSearch = function(a,v) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	var params = { attribute:a, value:v };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=delAttributeSearch', Broadway.siteSearch.delAttributeSearch_response, params);
};

Broadway.siteSearch.delAttributeSearch_response = function(obj) {
	window.location.reload();
};

Broadway.siteSearch.setPriceRange = function(pr) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	var params = { priceRange:pr };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=setPriceRange', Broadway.siteSearch.setPriceRange_response, params);
};

Broadway.siteSearch.setPriceRange_response = function(obj) {
	window.location.reload();
};

Broadway.siteSearch.delPriceRange = function() {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	http('GET','/com/Ajax/VisitorAjax.cfc?method=delPriceRange', Broadway.siteSearch.delPriceRange_response);
};

Broadway.siteSearch.delPriceRange_response = function(obj) {
	window.location.reload();
};

Broadway.siteSearch.browseProducts = function(a,v) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	var params = { attribute:a, value:v };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=browseProducts', Broadway.siteSearch.browseProducts_response, params);
};

Broadway.siteSearch.browseProducts_response = function(obj) {
	window.location.href = '/Browse-Oreck-Products';
};

Broadway.navigation.setSortOrder = function(obj) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	var params = { sortOption:obj };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=setSortOrder', Broadway.navigation.setSortOrder_response, params);
};

Broadway.navigation.setSortOrder_response = function(obj) {
	window.location.reload();
};

Broadway.navigation.setItemsPerPage = function(obj) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	var params = { items:obj };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=setItemsPerPage', Broadway.navigation.setItemsPerPage_response, params);
};

Broadway.navigation.setItemsPerPage_response = function(obj) {
	window.location.reload();
};

Broadway.navigation.setCurrentPage = function(obj) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	var params = { page:obj };
	http('POST','/com/Ajax/VisitorAjax.cfc?method=setCurrentPage', Broadway.navigation.setCurrentPage_response, params);
};

Broadway.navigation.setCurrentPage_response = function(obj) {
	window.location.reload();
};

Broadway.navigation.incPage = function(obj) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	http('GET','/com/Ajax/VisitorAjax.cfc?method=incPage', Broadway.navigation.incPage_response);
};

Broadway.navigation.incPage_response = function(obj) {
	window.location.reload();
};

Broadway.navigation.decPage = function(obj) {
	if(Broadway.siteSearch.processing) return;
	Broadway.siteSearch.processing = true;

	http('GET','/com/Ajax/VisitorAjax.cfc?method=decPage', Broadway.navigation.decPage_response);
};

Broadway.navigation.decPage_response = function(obj) {
	window.location.reload();
};

// **** BROADVISION STUFF ****
Broadway.broadvision.addLink = function(bvIndex) {
	if(Broadway.broadvision.processing) return;
	Broadway.broadvision.processing = true;

	var obj = { bvIndex:bvIndex };
	http('POST','/com/Ajax/BroadvisionAjax.cfc?method=addLink', Broadway.broadvision.addLink_response, obj);
};

Broadway.broadvision.addLink_response = function(obj) {
	window.location.reload();
};

Broadway.broadvision.bonusLink = function(bvIndex) {
	if(Broadway.broadvision.processing) return;
	Broadway.broadvision.processing = true;

	var obj = { bvIndex:bvIndex };
	http('POST','/com/Ajax/BroadvisionAjax.cfc?method=bonusLink', Broadway.broadvision.bonusLink_response, obj);
};

Broadway.broadvision.bonusLink_response = function(obj) {
	window.location.reload();
};

Broadway.broadvision.replaceLink = function(bvIndex,cartLine) {
	if(Broadway.broadvision.processing) return;
	Broadway.broadvision.processing = true;

	var obj = { bvIndex:bvIndex };
	if(typeof(cartLine) != 'undefined') obj.cartLine = 1;
	http('POST','/com/Ajax/BroadvisionAjax.cfc?method=replaceLink', Broadway.broadvision.replaceLink_response, obj);
};

Broadway.broadvision.replaceLink_response = function(obj) {
	window.location.reload();
};

pngfix = function(selector) {
	if($.browser.msie && parseInt($.browser.version, 10) < 7) DD_belatedPNG.fix(selector);
};

$(document).ready(function () {
	$("#header-shopping-cart").hover(function(){ //shopping cart rollover effect//
			$(this).children("a").children("span").css({'padding-bottom':'6px','border':'0','border-bottom':'3px','border-style':'solid','border-color':'#3FBBEF'});
		}, function() { $(this).children("a").children("span").css({'padding-bottom':'9px','border-bottom':'0px'});
	});
	$(".faq-content").slideUp("fast");
	$("#steamit-faq ul li h3").click(function () {
    	$(this).next(".faq-content").slideToggle("slow"); 
    }).toggle(
		function(){
			$(this).css('background','url(/assets/img/Steam-It/green2_faq-opened.gif)  0px 6px no-repeat');	
		},
		function(){
			$(this).css('background','url(/assets/img/Steam-It/green2_faq-closed.gif)  3px 4px no-repeat');	
		}
	);
	$("#proshield-faq ul li h3").click(function () {
    	$(this).next(".faq-content").slideToggle("slow"); 
    }).toggle(
		function(){
			$(this).css('background','url(/assets/img/Air-ProShield-Plus/faq_open.gif)  0px 6px no-repeat');	
		},
		function(){
			$(this).css('background','url(/assets/img/Air-ProShield-Plus/faq_closed.gif)  2px 4px no-repeat');	
		}
	);
	$("#product-registration ul li").hover(function(){
		$(this).addClass("product-registration-hover");
		}, function() {$(this).removeClass("product-registration-hover");
	});
	$("#product-registration ul li").click(function(){
		window.location=$(this).find("a").attr("href");
		return false;
	});
		$('a[rel="external"]').click( function() {
        window.open( $(this).attr('href') );
        return false;
    });
   	$(".category-grid-3-wide-no-sidebar > li:nth-child(3n)").addClass("last");
   	$(".category-grid-3-wide-w-sidebar > li:nth-child(3n)").addClass("last");
   	$(".category-grid-3-wide-w-2sidebar > li:nth-child(3n)").addClass("last");
   	$(".category-grid-4-wide-no-sidebar > li:nth-child(4n)").addClass("last");
   	$(".category-grid-4-wide-w-sidebar > li:nth-child(4n)").addClass("last");
   	$("a#show-customer-release").click(function(){
   		$("#testimonial-customer-release div.hidden").slideToggle("fast");
   	});
});	

// if string trim function are not present, then add them
$(document).ready(function() {
	if(typeof(String.trim) == 'undefined') {
		String.prototype.trim = function() {
			return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"");
		}
	};

if(typeof(String.fulltrim) == 'undefined') {
		String.prototype.fulltrim = function() {
			return this.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"").replace(/\s+/g," ");
		}
	};
});

$(function () {
	pngfix('.pngfix');
	pngfix('.pngfix-inside img');
});

$(document).ready(function() {
	(function($) {
		$.extend({
			add2cart: function(source_id, target_id, callback) {
				var source = $('#' + source_id );
				var target = $('#' + target_id );
				var shadow = $('#' + source_id + '_shadow');
				if(!shadow.attr('id')) {
					$('body').prepend('<div id="'+source.attr('id')+'_shadow" style="display: none; background-color: #ddd; border: solid 1px darkgray; position: static; top: 0px; z-index: 100000;">&nbsp;</div>');
					var shadow = $('#'+source.attr('id')+'_shadow');
				}
				if(!shadow) {
					alert('Cannot create the shadow div');
				}
				shadow.width(source.css('width')).height(source.css('height')).css('top', source.offset().top).css('left', source.offset().left).css('opacity', 0.5).show();
				shadow.css('position', 'absolute');
				shadow.animate( { width: target.innerWidth(), height: target.innerHeight(), top: target.offset().top, left: target.offset().left }, { duration: 400 } )
					.animate( { opacity: 0 }, { duration: 100, complete: callback } );
			},

			redirect: function(url) { window.location.href = url; return url; },
			// Returns the basename of a path
			basename: function(path) {
				var t = path.split('/');
				return t[t.length] === '' && s || t.slice(0, t.length).join('/');
			},
			// Returns the filename of a path
			filename: function(path) { return path.split('/').pop(); },
			fileExtension: function(s) {
				var tokens = s.split('.');
				return tokens[tokens.length-1] || false;
			}
		});
	})(jQuery);
});


function getPosition(obj) {
	var posX = obj.position().left;
	var posY = obj.position().top;
	while(obj.offsetParent().context.nodeName != 'BODY') {
    posX += obj.offsetParent().position().left;
    posY += obj.offsetParent().position().top;
    obj = obj.offsetParent();
	}
	return({top:parseInt(posY),left:parseInt(posX)});
}

var Position = (function() {
	function resolveObject(s) {
		if(document.getElementById && document.getElementById(s)!=null) {
			return document.getElementById(s);
		} else if(document.all && document.all[s]!=null) {
			return document.all[s];
		} else if(document.anchors && document.anchors.length && document.anchors.length>0 && document.anchors[0].x) {
			for(var i=0; i<document.anchors.length; i++) {
				if(document.anchors[i].name==s) return(document.anchors[i]);
			}
		}
	}
	
	var pos = {};
	pos.$VERSION = 1.0;
	
	pos.set = function(o,left,top) {
		if(typeof(o)=="string") o = resolveObject(o);
		if(o==null || !o.style) return(false);
		if(typeof(left)=="object") {
			var pos = left;
			left = pos.left;
			top = pos.top;
		}

		o.style.left = left + "px";
		o.style.top = top + "px";
		return(true);
	};
	
	pos.get = function(o) {
		var fixBrowserQuirks = true;
		if(typeof(o)=="string") o = resolveObject(o);
		if(o==null) return(null);
		
		var left = 0;
		var top = 0;
		var width = 0;
		var height = 0;
		var parentNode = null;
		var offsetParent = null;

		offsetParent = o.offsetParent;
		var originalObject = o;
		var el = o; // "el" will be nodes as we walk up, "o" will be saved for offsetParent references
		while(el.parentNode!=null) {
			el = el.parentNode;
			if(el.offsetParent==null) {
			}	else {
				var considerScroll = true;
				if(fixBrowserQuirks && window.opera) {
					if(el==originalObject.parentNode || el.nodeName=="TR") {
						considerScroll = false;
					}
				}
				if(considerScroll) {
					if(el.scrollTop && el.scrollTop>0) top -= el.scrollTop;
					if (el.scrollLeft && el.scrollLeft>0) left -= el.scrollLeft;
				}
			}
			if(el == offsetParent) {
				left += o.offsetLeft;
				if(el.clientLeft && el.nodeName!="TABLE") left += el.clientLeft;
				top += o.offsetTop;
				if (el.clientTop && el.nodeName!="TABLE") top += el.clientTop;
				o = el;
				if(o.offsetParent==null) {
					if(o.offsetLeft) left += o.offsetLeft;
					if(o.offsetTop) top += o.offsetTop;
				}
				offsetParent = o.offsetParent;
			}
		}

		if(originalObject.offsetWidth) width = originalObject.offsetWidth;
		if(originalObject.offsetHeight) height = originalObject.offsetHeight;
		
		return({'left':left, 'top':top, 'width':width, 'height':height});
	};
	
	pos.getCenter = function(o) {
		var c = this.get(o);
		if(c==null) { return(null); }
		c.left = c.left + (c.width/2);
		c.top = c.top + (c.height/2);
		return(c);
	};
	
	return(pos);
})();

(function($){$.fn.glow=function(){var clookup={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgrey:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",grey:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};function nameToColor(n){return clookup[(""+n).toLowerCase()]||null;}
function re_rgba()
{return new RegExp('rgba\\s*\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\,\\s*([0-9]{1,3})\\s*\\)');}
function re_rgb()
{return new RegExp('rgb\\s*\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)');}
function parseColor(c){var r;var e=new RegExp('#([A-F0-9]{2})([a-fA-F0-9]{2})([A-F0-9]{2})','i');if(r=e.exec(c)){return[parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16)];}
e=new RegExp('#([A-F0-9]{1})([A-F0-9]{1})([A-F0-9]{1})','i');if(r=e.exec(c)){return[parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16),parseInt(r[3]+r[3],16)];}
e=re_rgb();if(r=e.exec(c)){return[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)];}
e=re_rgba();if(r=e.exec(c)){return[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),parseInt(r[4],10)];}
if(r=nameToColor(c)){return parseColor('#'+r);}
if(window.console){console.log('can not parse color '+c);}else{}
return false;}
function colorMatters(c){if(c=="inherit"||c=="transparent"){return false;}
var e=re_rgba();var r=e.exec(c);if(r&&parseInt(r[4],10)==0){return false;}
return true;}
function printColor(r){return'#'+(0x1000000+parseInt(r[0],10)*0x10000+parseInt(r[1],10)*0x100+parseInt(r[2],10)).toString(16).slice(-6);}
function finalBackgroundColor(e){var bg;do{bg=e.css('background-color');if(colorMatters(bg)){return bg;}
bg=e[0].bgColor;if(bg){return bg;}
e=e.parent();}while(e.length>0&&e.get(0).tagName);return arguments[1]||'#FFF';}
function glowItem(duration,steps)
{function glowFunction(){if(step<steps){var c=[0,0,0];for(var i=0;i<3;i++){c[i]=parseInt(srcc[i])+(((parseInt(dstc[i])-parseInt(srcc[i]))/steps)*step);}
elem.css('background-color',printColor(c));step=step+1;setTimeout(glowFunction,timeoutstep);}else{elem.css('background-color',ocol);elem.attr('glowing',0);}}
var elem=$(this);if(elem.attr('glowing')==1){return;}
elem.attr('glowing',1);var ocol=$(elem).css('background-color');var dstc=parseColor(finalBackgroundColor(elem));if(!dstc){return;}
var step=0;var timeoutstep=parseInt(duration/steps,10);glowFunction.call(elem);}
var srcc=parseColor(arguments[0]||'#FFFF99');if(!srcc){return false;}
var duration=arguments[1]||1000;var steps=arguments[2]||50;if(duration<0||!duration){duration=1000;}
if(steps<0||!steps){steps=1;}
$(this).each(function(i,x){glowItem.call(x,duration,steps);});};})(jQuery);


/**
 * MacOS displays small fonts at the size requested.
 * Other OSes don't.
 * This hack allows overrides for Mac to be in the same
 * stylesheet, alongside the styles for other OSes.
 */
$(function () {
	if (navigator.appVersion.indexOf('Mac') >= 0) {
		$('body').addClass('macos');
	}
});