function setElementsToEqualizeByCSS(tagName,cssClass,groupSize){
	var elements=$(tagName+'.'+cssClass);
	var count=elements.length;
	if(count==0) return;
	var groupCount=(count-count%groupSize)/groupSize;
	for(var i=0;i<groupCount;i++){
		var group=new Array(groupSize);
		for(var j=0;j<groupSize;j++){
			group[j]=$(elements[i*groupSize+j]);
		}
		equalizeElementsHeigthWithChild(group);
	}
	var lastGroupSize=count-groupSize*groupCount;
	if(lastGroupSize<2) return;
	var group=new Array(lastGroupSize);
	for(var j=0;j<lastGroupSize;j++){
		group[j]=$(elements[count-j-1]);
	}
	equalizeElementsHeigthWithChild(group);
}

function equalizeElementsHeigthWithChild(elements){
	var childGroups=getChildGroups(elements);
	for(var i=0;i<childGroups.length;i++){
		equalizeElementsHeigth(childGroups[i]);
	}
	equalizeElementsHeigth(elements);
}
	
function equalizeElementsHeigth(elements){
	var index=maxHeightElIndex(elements);
	var maxOuterHeight = elements[index].eq(0).outerHeight();
	var maxHeight = elements[index].eq(0).height();
	for(var i=0;i<elements.length;i++){
		if(i==index){
			continue;
		}
		var elOuterHeight = elements[i].eq(0).outerHeight();
		var elHeight = elements[i].eq(0).height();
		var padding = elOuterHeight - elHeight; 
		var height = maxOuterHeight - padding;
		elements[i].css('height',  height ); 
	}
}

function getChildGroups(elements){
	var childCount=maxChildCount(elements);
	var childGroups=new Array(childCount);
	for(var i=0;i<childCount;i++){
		var childGroup=new Array(elements.length);
		for(var j=0;j<elements.length;j++){
			var child=$(elements[j].children()[i]);
			if(child[0].nodeName=='DIV' && child.children().length>0 && child.children()[0].nodeName=='P'){
				childGroup[j]=$(child.children()[0]);
			}else{
				childGroup[j]=$(child);
			}
		}
		childGroups[i]=childGroup;
	}
	return childGroups;
}
	
function maxChildCount(elements){
	var maxChildCount=0;
	for(var i=0;i<elements.length;i++){
		var childCount=elements[i].children().length;
		if(childCount>maxChildCount){
			maxChildCount=childCount;
		}
	}
	return maxChildCount-1;
}

function maxHeightElIndex(elements){
	var index=0;
	var maxHeight=elements[index].eq(0).outerHeight();
	for(var i=1;i<elements.length;i++){
		var heigth=elements[i].eq(0).outerHeight();
		if(heigth>maxHeight){
			maxHeight=heigth;
			index=i;
		}
	}
	return index;
}