/*
 * mooWinOpen 1.0 - Javascript
 * By Mario Zambon (http://www.urbangap.com)
 * Copyright (c) 2008 cody urbangap
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/

function moowinbox() {
	var w =  400
	//var h = 250
	var t = 500
	var overlayOpacity = 0.8
	
	var overlay, fx, container, boxCenter, btClose, topBox, topInt
	var opener = $$('a.opener')
	var page = opener.getProperty('href')
	var err  = 'Problemi nel caricamento'
	
	$(document.body).adopt(
		$$([
			overlay = new Element('div', {id: 'overlay'}).addEvent('click', close),
			container = new Element('div', {id: 'container'})
		]).setStyle('display', 'none')
	)
	boxCenter = new Element('div', {id: 'boxCenter'}).inject(container)
	btClose = new Element('div', {id: 'btClose'}).inject(container)


	fx = {
		overlay: new Fx.Tween(overlay, {property: 'opacity', duration: t}).set(0),
		container: new Fx.Tween(container, {property: 'opacity', duration: t}).set(0)
	}

	opener.addEvent('click', $lambda(false))
	opener.addEvent('click', open)
	btClose.addEvent('click', close)
	
	
	function open() {
		position()
		
		overlay.setStyle('display', '')
		fx.overlay.start(overlayOpacity)

		container.setStyle('display', '')
		fx.container.start(1);

		loadReq()
	}
	
	function close() {
		//overlay.setStyle('display', 'none')
		fx.overlay.start(0)

		//container.setStyle('display', 'none')
		fx.container.set(0)
	}
	
	function position() {
		overlay.setStyles({
			top: 0,
			height: window.getHeight()
		})
		topBox = window.getScrollTop() + (window.getHeight() /8)
		topInt = topBox.toInt()

		container.setStyles({
			top: topInt, 
			width: w, 
			//height: h, 
			marginLeft: -(w/2), 
			display: ''
		})		
	}
	
	var req = new Request.HTML({
		url: page, 
		method:'get',
		onSuccess: function(html) {
			deleteCont()
			boxCenter.adopt(html)
		},
		onFailure: function() {
			boxCenter.set('text', err)
		}
	})
	
	function deleteCont() { 
		boxCenter.set('text', '')
	}
	
	function loadReq() {
		req.send()		
	}
	
}
window.addEvent('domready', moowinbox)

