/*
 * @descrition: Makes elements have the same height
 * @author: David Sole
 * @copyright: Mobile Electronics Australia. All rights reserved
 */

Array.prototype.unique = function () {
	var r = new Array();
	o:for(var i = 0, n = this.length; i < n; i++)
	{
		for(var x = 0, y = r.length; x < y; x++)
		{
			if(r[x]==this[i])
			{
				continue o;
			}
		}
		r[r.length] = this[i];
	}
	return r;
}

;(function($){
	$.fn.sameheight = function(op) {
		var groups = new Array();
		for( var i = 0; i < this.length; i++ )
		{
			var $e = $(this[i]);
			var id = $e.id;
			var classes = $e.attr('class').split(' ');
			for( var c = 0; c < classes.length; c++ )
			{
				if (classes[c].match( /^sameheight-([0-9a-z]+)$/ ))
				{
					groups[groups.length] = classes[c];
				}
			}
		}
		
		groups = groups.unique();
		
		for( var i = 0; i < groups.length; i++ )
		{
			var maxHeight = 0;
			var elems = this.filter("."+groups[i]);
			elems.each( function(i,v) {
				var h = $(v).height();
				if( maxHeight <= h )
				{
					maxHeight = h;
				}
				});

			elems.height(maxHeight);
		}

	};
	
	var fc = $.fn.fixcols;
})(jQuery);


