/* Planet SARK Scripts */

var planetsark = {};

$(document).ready(function() {
	planetsark.ui.nav();
	planetsark.ui.dailyquote();
	planetsark.ui.bullets();
	planetsark.ui.rainbowtext();
	planetsark.behavior.externalLinks();
	if ( /MSIE ((5\.5)|[6])/.test(navigator.userAgent) && navigator.platform == 'Win32' ) {
		planetsark.iehelper.fixPngs(); // help ie6 render transparent pngs correctly
	}
});

planetsark.config = {
	blankSrc: 'http://planetsark.com/images/spacer.gif'
};

planetsark.ui = {
	nav: function () { // flip navigation images on rollover
		$('img.swap').hover(
			function(){
				if($(this).attr('src').indexOf('_on') == -1) {
					var newSrc = $(this).attr('src').replace('_off','_on');
					$(this).attr('src',newSrc);
				}
			},
			function(){
				if($(this).attr('src').indexOf('_on') != -1)	{
					var oldSrc = $(this).attr('src').replace('_on','_off');
					$(this).attr('src',oldSrc);
				}
			}
		);
	},
	
	dailyquote: function() { //swap daily quote with welcome message on rollover
		$('#welcome').hover(
			function() {
				$(this).find('.dailyquote').fadeOut(500);
				$(this).find('.welcomemsg').fadeIn(500);
			},
			function() {
				$(this).find('.welcomemsg').fadeOut(500);
				$(this).find('.dailyquote').fadeIn(500);
			}
		);
	},
	
	bullets: function() { //randomly assign bullets to list items
		var numberOfBullets = 23;
		$('li.bullet').each(function(){
			var styleNumber = Math.floor( Math.random() * (numberOfBullets + 1) );
			var styleName = 'bstyle' + styleNumber;
			$(this).addClass(styleName);
		});

	},
	
	rainbowtext: function()	{ //randomly assigns colors to words in selected strings
		var numberOfStyles = 12;
		$('.rainbow').each(function(){
			var text = $(this).text();
			var rainbowText = text.split(' ');
			var finalText = '';
			for (i=0; i<rainbowText.length; i++)	{
				var thisWord = rainbowText[i];
				var styleNumber = Math.floor( Math.random() * (numberOfStyles + 1) );
				var styleName = 'tstyle' + styleNumber;
				finalText = finalText + '<span class="' + styleName + '">' + thisWord + ' </' + 'span>';
			}
			$(this).html(finalText);
		});
	}
};

planetsark.behavior = {
  externalLinks: function() {
    $('a[rel="external"]').click(function(){
        window.open(this.href);
        return false;
    });
  }
};

planetsark.iehelper = {
	fixPngs: function() {
		var type, background_image, background_repeat;

		$('.pngfix').each(function() {
			type = this.tagName.toLowerCase();

			if ( type == 'input' || type == 'img' ) {
				if ( (type == 'input' && this.getAttribute('type') == 'image') || this.src.toLowerCase().search(/\.png$/) ) {
					planetsark.iehelper.fixPng(this);
					$(this).bind('propertychange', function() {
						planetsark.iehelper.fixPng(this);
					});
				}
			}

			background_image = $(this).css('background-image');

			if ( background_image.toLowerCase().search(/\.png"\)$/) < 0 ) return;

			background_image = background_image.substring(5, background_image.length-2);
			background_repeat = $(this).css('background-repeat');
			this.style.background = 'none';

			if ( background_repeat == 'no-repeat' ) {
				this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + background_image + "', sizingMethod='crop')";
			} else {
				this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + background_image + "', sizingMethod='scale')";
			}
		});
	},

	fixing: false,
	fixPng: function(obj) {
		if ( planetsark.iehelper.fixing ) return;

		planetsark.iehelper.fixing = true;

		var src = obj.src;

		if ( new RegExp(planetsark.config.blankSrc).test(src) ) {
			planetsark.iehelper.fixing = false;
			return;
		}

		obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src  + "', sizingMethod='image')";

		$(obj).bind('beforeprint', function(imgObjSrc) {
			return function() {
				this.src = imgObjSrc;
			}
		}(obj.src));

		$(obj).bind('afterprint', function() {
			this.src = planetsark.config.blankSrc;
		});

		obj.src = planetsark.config.blankSrc;
		planetsark.iehelper.fixing = false;
	}
};
