$(".lightbox").lightbox();

$(document).ready(function()
{
    // AUTO POPULATE FIELD VALUES WITH LABELS
    $('#search .txt, #login .txt').labelToValue();

    $('.panel').roundedCorners();

    $.externalLinks();
});

$.externalLinks = function()
{
    $('a[href^=http]:not([href*=' + location.hostname + '])').attr('target', '_blank');
}

$.fn.roundedCorners = function()
{
	var self = this;
	
	self.append('<div class="tl corner"></div><div class="tr corner"></div><div class="br corner"></div><div class="bl corner"></div>');
}

$.fn.equaliseHeights = function()
{
	var self = this;
	var height = 0;

	self.each(function(i)
	{
		height = Math.max($(this).height(), height);
	})
	
	self.css({minHeight:height + 'px'});
	
	return self;
}

$.fn.fixBgPNG = function()
{
    var self = this;

    if ($.browser.msie && $.browser.version < 7)
    {
        var url = self.css('background-image');

        if (url && url != 'none')
        {
            url = url.replace(/^url\(|\)$/g, '');
            
            self.css({
                background: 'transparent',
                filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' + url + ', sizingMethod="crop")'
            });
        }
    }

    return self;
}

/**
	jQuery plugin extension which when chained to a jQuery object for an input field, 
	will hide it's label and set the label text as the field value 
	with an intelligent autohide on focus and re-insert on blur
*/
$.fn.labelToValue = function()
{
	var self = this;

	self.focus(function()
	{
		var field = $(this);
		
		if(field.siblings().hasClass("texthelp")===true)
		{
			var label = $.trim(field.siblings(".texthelp").hide().html());
		}
		else if(this.id)
		{
			var label = $.trim($('label[for="' + this.id + '"]').hide().text());
		}
		else
		{
			return;
		}
	
		if( field.val() == label )
		{
			field
			.val('')
			.css('color', '#000');
		}
		else
		{
			field
			.css('color', '#000');
		}
	})
	.blur(function()
	{
		var field = $(this);
		
		if($(this).siblings().hasClass("texthelp")===true)
		{
			var label = $.trim($(this).siblings(".texthelp").hide().html());
		}
		else if(this.id)
		{
			var label = $.trim($('label[for="' + this.id + '"]').hide().text());
		}
		else
		{
			return;
		}
		
		if( field.val() == label ||  field.val() == '' )
		{
			field
			.val(label)
			.css('color', '#999');
		}
	})
	.blur()
	.parents('form').submit(function(e)
	{
		// trigger the focus event to remove label text from field
		self.focus();
		// remove all bound events
		self.unbind();
	});
	
	return self;
}