/* PurplePen.com behaviors */

var purplepen = {};

$(document).ready(function(){
	purplepen.forms.placeholder();
	purplepen.images.zoom();
	if ( /MSIE ((5\.5)|[6])/.test(navigator.userAgent) && navigator.platform == 'Win32' ) {
		purplepen.ie.fixPngs();
	}
});

purplepen.config = {
	blankSrc: '/wp-content/themes/purplepen2/images/spacer.gif'
};

purplepen.forms = {
	placeholder: function() {
		var search = $('#s');
		var keyword = search.val();
		if (keyword == '')	{
			search.val('Search');
			search.addClass('placeholder');
		}
		search.bind('focus', function() {
			search.val('');
			search.removeClass('placeholder');
		});
		search.bind('blur', function() {
			if (search.val() == '')	{
				search.val('Search');
				search.addClass('placeholder');
			}
		});
	}
};

purplepen.images = {
	zoom: function() {
		$('.projectImages a').bind('click', function() {
			var imgSrc = $(this).attr('href');
			$('body').append('<img src="' + imgSrc + '" alt="" id="zoomed" />');
			$('#zoomed').bind('click', function(){
				$(this).remove();
			});
			return false;
		});
	}
};

purplepen.ie = {
	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$/) ) {
					purplepen.ie.fixPng(this);
					$(this).bind('propertychange', function() {
						purplepen.ie.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 ( purplepen.ie.fixing ) return;

		purplepen.ie.fixing = true;

		var src = obj.src;

		if ( new RegExp(purplepen.config.blankSrc).test(src) ) {
			purplepen.ie.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 = purplepen.config.blankSrc;
		});

		obj.src = purplepen.config.blankSrc;
		purplepen.ie.fixing = false;
	}
}