// <![CDATA[
/* jquery.ratioresize - PeexMe common JavaScript
 * Copyright (C) 2009 MEETIC
 * 
 * date: 20100111
 * version 0.1
 * 
 * required JS library:
 * JQuery library : /javascript/inc/jquery.js
 * 
 */
 
(function($) {
	$.fn.ratioresize = function(opts) {

		// build main options before element iteration
		var opts = $.extend({
				maxThumbWidth		: 56,
				maxThumbHeight	: 56
			}, opts);
		
		//vars
		var maxThumbWidth				= opts.maxThumbWidth;
		var maxThumbHeight			= opts.maxThumbHeight;
		var newThumbWidth, newThumbHeight, thumbWidth, thumbHeight;
		var newThumbMarginTop		= parseInt($(this).css("margin-top"));
		var newThumbMarginLeft	= parseInt($(this).css("margin-left"));
		
		function initvars(){
			newThumbWidth				= maxThumbWidth;
			newThumbHeight			= maxThumbHeight;
			thumbWidth					= 0;
			thumbHeight					= 0;
		}
		
		function resizenow(o){
			initvars();
			
			newThumbMarginTop		= 0;
			newThumbMarginLeft	= 0;

			//alert($(o).width() + " / " + $(o).height());
			
			//$(o).height("").width("");
			thumbWidth = $(o).width();
			thumbHeight = $(o).height();
			
			var ratio = thumbWidth / thumbHeight;

			//alert(ratio);
			
			if(ratio > 1){ // landscape
				newThumbHeight = Math.round(maxThumbHeight / ratio);
				newThumbMarginTop = Math.round(newThumbMarginTop + (maxThumbHeight - newThumbHeight) /2);
			}
			else if(ratio < 1){ // portrait
				newThumbWidth = Math.round(ratio * maxThumbWidth);
				newThumbMarginLeft = Math.round(newThumbMarginLeft + (maxThumbWidth - newThumbWidth) /2);
			}
			else if(ratio == 1){ // square
				// no change
			}
			
			$(o)
				.css({
					marginLeft: newThumbMarginLeft + "px",
					marginRight: newThumbMarginLeft + "px",
					marginTop: newThumbMarginTop + "px"
				})
				.width(newThumbWidth)
				.height(newThumbHeight)
				.fadeIn();
		}
	
		// iterate each matched element
		return this.each(function(){
			//$(this).hide();
			
			if ($.browser.msie && parseInt($.browser.version) <= 6){
				$(this)
					.width(maxThumbWidth)
					.height(maxThumbHeight)
					.fadeIn();
				return false;
			}
			
			if($(this).width()){ //already loaded
				var _this = this;
				//timeout: IE hack
				setTimeout(function(){
					resizenow(_this);
				}, 10);
			}
			else { //not ready yet
				$(this).load(function(){
					resizenow(this);
				});
			}
			
			$(this).attr({
				oncontextmenu: "return false"
			});
		});
	};

})(jQuery);

/*******************************/
$(document).ready(function(){

	$(".ratioresize_pusprofile").ratioresize({maxThumbWidth:76,maxThumbHeight:76}); //76x76
	$(".ratioresize_vote").ratioresize({maxThumbWidth:120,maxThumbHeight:120}); //120x120
	$(".ratioresize_votesmall").ratioresize({maxThumbWidth:56,maxThumbHeight:56}); //56x56
	$(".ratioresize_searchresult").ratioresize({maxThumbWidth:76,maxThumbHeight:76}); //76x76
	$(".ratioresize_rightnow").ratioresize({maxThumbWidth:80,maxThumbHeight:80}); //80x80
	$(".ratioresize_profilelast").ratioresize({maxThumbWidth:80,maxThumbHeight:80}); //80x80
	$(".ratioresize_pushprofileright").ratioresize({maxThumbWidth:105,maxThumbHeight:105}); //105x105
	$(".ratioresize_vote_profile").ratioresize({maxThumbWidth:120,maxThumbHeight:120}); //120x120
	$(".backofficeimg").ratioresize({maxThumbWidth:120,maxThumbHeight:120}); //120x120
	$(".rf_lefttopmemberphoto_img_2").ratioresize({maxThumbWidth:146,maxThumbHeight:146}); //76x76

	$(".ratioresize_applifb").ratioresize({maxThumbWidth:200,maxThumbHeight:230}); //76x76	

});

/* EOF */
// ]]>