var slidingScales = null,
	TweenWait = 500;
window.addEvent("load", function() {
	$$("div.updatevalues span.adjust a").addEvent("click", function(e) {
		e.preventDefault();
		reCalculate(this);
	});
	
	$$("div.updatevalues input").addEvent("blur", function(e) {
		e.preventDefault();
		reCalculate(this);
	});
	
	if($("socialbar"))
	{
		$("socialbar").addEvent("mouseenter", function(e) {
			toggleSocialBar(false);
		});
		
		$("socialbar").addEvent("mouseleave", function(e) {
			toggleSocialBar(true);
		});
	}
	
	/**slidingScales = $$("div.scale div.gradient", "div.scale div.static", "div.scalelarge div.static");
	slidingScales.each(function(item) {
		item.orgWidth = item.getStyle("width");
		item.setStyle("width", "0%");
	});
	
	slidingScales.each(function(item) {
		new Fx.Tween(item, {duration: TweenWait}).start("width", parseInt(item.getParent("div").getSize().x * (item.orgWidth.toInt()/100)));
	});
	.delay(1500);*/
});

var timer = null;
function reCalculate(aObj) {
	
	if(aObj.getParent("span.adjust"))
		var input = aObj.getParent("span.adjust").getPrevious("input");
	else
		var input = aObj;

	var direction = aObj.className;
	oInput = input;
	num = oInput.value;
	oInputClass = oInput.get("class");

	if(direction == "plus")
		val = 1;
	else if(direction == "minus")
		val = -1;
	else 
		val = 0;
	
	if (timer != null)
		clearTimeout(timer);
	
	if (Math.floor(num).toString() == num.toString()) {
		oInput.value = parseInt(num).limit(1, 200) + val + ",0";
	} else {
		num = num.replace(/\,/g, '.');
		num = Math.round(parseFloat(num)*10)/10;
		oInput.value = number_format(Math.round(num*10 + val)/10, 1, ",", " ");
	}
	
	if(oInputClass == "weight" && $("weight_right"))
		$("weight_right").value = oInput.value;
	else if(oInputClass == "waist" && $("waist_right"))
		$("waist_right").value = oInput.value;	
	else if($("weightcontainer") && oInputClass == "weight_right" && $("weightcontainer").getFirst("input"))
		$("weightcontainer").getFirst("input").value = oInput.value;
	else if($("waistcontainer") && oInputClass == "waist_right" && $("waistcontainer").getFirst("input"))
		$("waistcontainer").getFirst("input").value = oInput.value;
			
	timer = setTimeout("submitForm('" + oInputClass + "');", 500);
}

function number_format( number, decimals, dec_point, thousands_sep ) {
    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep,
    	dec = (typeof dec_point == "undefined") ? '.' : dec_point,
    	s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec),
    	abs = Math.abs(n).toFixed(prec),
    	_, i;
 
    if (abs >= 1000) {
		_ = abs.split(/\D/);
		i = _[0].length % 3 || 3;
		_[0] = s.slice(0,i + (n < 0)) + _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
		s = _.join(dec);
	} else
		s = s.replace('.', dec);
	return s;
}

function submitForm(inputClassID) 
{
	var date = "";

	if(inputClassID == "weight_right" || inputClassID == "waist_right")
	{
		var weight = $("weight_right");
		var waist = $("waist_right");
	}
	else if(inputClassID == "weight" || inputClassID == "waist") 
	{
		if($$(".measurements-date"))
			date = $$(".measurements-date")[0].innerHTML;
		
		var weight = $("weightcontainer").getFirst("input");
		var waist = $("waistcontainer").getFirst("input");
	}
	
	if(weight && waist)
		doAjaxJSON("/util/FormInterface.aspx?form=changeMeasurements", "weight=" + weight.value + "&waist=" + waist.value + "&date=" + date);
	
	/*
	var form = $(inputID).getParent("form");
	form.addEvent("submit", function(e) {
		if(e)
			e.stop();
		this.send();
	});
	form.fireEvent('submit');
	*/
}

function toggleSocialBar(isExpanded)
{
	if(isExpanded == false)
	{
		$$("div#socialbar .minimized")[0].fade("0");
		/**$$("div#socialbar .expanded")[0].set("opacity", "0");*/
		$$("div#socialbar .expanded")[0].setStyle("display","block");
		$$("div#socialbar .minimized")[0].setStyle("display","none");
		$$("div#socialbar .expanded")[0].fade("1");
	}
	else
	{
		$$("div#socialbar .expanded")[0].fade("0");
		/**$$("div#socialbar .minimized")[0].set("opacity", "0");*/
		$$("div#socialbar .expanded")[0].setStyle("display","none");
		$$("div#socialbar .minimized")[0].setStyle("display","block");
		$$("div#socialbar .minimized")[0].fade("1");
	}		
}