﻿var JN = JN || {};
JN.Logo = new (function() {
	var minimized = false,
		logo,
		logoPosition,
		logoSize,
		animationTime = 400;
	addDOMReadyEvent( function() {
		if (J2.isIE6) return;
		logo = document.getElementById("logo");
		logoPosition = {
			top: logo.offsetTop,
			left: logo.offsetLeft
		};
		logoSize = {
			width: logo.offsetWidth,
			height: logo.offsetHeight
		}
		logo.setStyle("left", logoPosition.left);
		logo.setStyle("top", logoPosition.top);
	} );
	addEvent("resize", handleResize, 500);
	
	this.minimize = function(callback) {
		if (minimized) return callback();
		minimized = true;
		if (!logo) return callback();
		logo.animate( {
			left: { 
				to: J2.Window.width() - 350,
				time: animationTime
			}, 
			top: { 
				to: 20,
				time: animationTime
			},
			width: {
				to: 320,
				time: animationTime
			},
			height: {
				to: 95,
				time: animationTime
			}
		}, callback );
	}
	this.reset = function() {
		if (!minimized) return;
		if (!logo) return;
		minimized = false;
		logo.animate( {
			left: { 
				to: logoPosition.left,
				time: animationTime
			}, 
			top: { 
				to: logoPosition.top,
				time: animationTime
			},
			width: {
				to: logoSize.width,
				time: animationTime
			},
			height: {
				to: logoSize.height,
				time: animationTime
			}
		} );
	}
	
	function handleResize() {
		logoPosition = {
			top: J2.Window.height() * 0.45,
			left: J2.Window.width() * 0.15
		};
		if (!minimized) {
			logo.setStyle("top", logoPosition.top);
			logo.setStyle("left", logoPosition.left);
		}
	}
});