/* global.js */

var scrollbar = false;


/* initial actions */
window.addEvent('domready', function() {
	
	// email links
	$$('a.email').addEvent('click', function(e) {
		e.stop();
		addy = this.get('href') != '#' ? this.get('href').split('mailto:').join('') : this.get('html');
		noSpam(addy);
	});
	
	// tips
	var tips = new Tips('.tipped', {text: false});
	
	// pull / pop / opt
	//var scrollbar = new ScrollBar('pop-window', 'pop-scroll');
	/*new Drag('content', {
		'modifiers': {y: 'height', x: 'width'},
		'limit': { x:[100], y:[50] },			
		onDrag: function(){
			scr.update();
		}
	});*/
	$('pop').fade('hide');
	$$('a.pull').addEvent('click', function(e) {
		e.stop();
		if (!this.hasClass('current')) doPull(this);
	});
	$$('a.pop').addEvent('click', function(e) {
		e.stop();
		if (!this.hasClass('current')) doPop(this);
	});
	$('pop-close').addEvent('click', function(e) {
		e.stop();
		closePop();
	});
	/*$$('body').addEvent('click', function(e) {
		e.stop();
		closePop();
	});*/
	prepareOpts();
	
	// anchored areas
	//var uri = new URI();
	//openPull(uri.get('fragment'));
	
	// forms
	prepareForms();
	
	// load ads
	/*$$('a.ad img').each(function(item, index, array) {
		new Asset.image(item.get('src'));
	});*/
	
});


/* no spam */
function noSpam(string) {
	window.location = 'mailto:'+string.split('[at]').join('@').split(' ').join('');
}

/* forms */
function prepareForms() {
	var textareas = $$('textarea');
	$$('form.ajax').addEvent('submit', function(e) {
		e.stop();
		$$('body').addClass('wait');
		textareas.each(function(item, i, array) {
			item.fireEvent('focus');
		});
		new Request.HTML({
			url: this.get('action')+'/pop',
			update: this.getParent(),
			onSuccess: function(tree, els, html, js) {
				prepareForms();
				prepareOpts();
				//new Fx.Scroll($(this.get('id')).getParent('div.pop-content')).toTop();
				if (scrollbar) this.getParents('div.pop-content').each(function(item, index) {
					item.fleXcroll.setScrollPos(0, 0);
				});
				$$('body').removeClass('wait');
				//button.set('disabled', true);
				//button.setStyle('color', '#333');
				//button.setStyle('cursor', 'auto');
			}.bind($(this.get('id')))
		}).post(this);
	});
	textareas.each(function(item, i, array) {
		item.addEvent('focus', function(e) {
			if (item.get('value') == item.get('rel')) {
				item.set('value', '');
			}
		});
		item.addEvent('blur', function(e) {
			if (!item.get('value')) {
				item.set('value', item.get('rel'));
			}
		});
		item.fireEvent('blur');
	});
}

/* pull */
function doPull(handle) {
	var rel = handle.get('href').split('/').join('');
	var pull = $('pull');
	var header = $('header');
	var page = $('page');
	var content = $$('.pull-content[rel='+rel+']');
	if (!pull.hasClass('open')) { // already closed
		handle.addClass('selected');
		content.addClass('open');
		pull.addClass('open');
		pull.reveal();
		//page.tween('top', content.measure(function(){return this.getDimensions(true).y + header.getSize().y + 60}));
	} else { // already open
		handle.removeClass('selected');
		pull.removeClass('open');
		pull.dissolve();
		//page.tween('top', 131);
	}
}

/* pop */
function doPop(handle) {
	var rel = handle.get('href').split('/').join('');
	var pop = $('pop');
	var content = $$('.pop-content[rel='+rel+']');
	if (!pop.hasClass('open')) { // already closed
		handle.addClass('selected');
		content.addClass('open');
		$$('body').addClass('blanketed');
		pop.addClass('open');
		pop.fade('in');
		/*if (!scrollbar) scrollbar = new MooScroll({
			'increment' : 20,
			'disabledOpacity' : 0,
			'handleActiveOpacity' : 1
		});*/
		/*if (!scrollbar) {
			$$('.scroll').each(function(item, index) {
				new Scrollbar(item, {
					buttons: false
				});
			});
			scrollbar = true;
		}*/
		/*if (!scrollbar) scrollbar = new Scrollbar('pop-window', {
			buttons: false
		});*/
		if (!scrollbar) {
			content.setStyle('overflow', 'hidden');
			fleXenv.initByClass.delay(500, null, 'scroll');
			scrollbar = true;
		}
	}
}

function closePop() {
	var pop = $('pop');
	if (pop.hasClass('open')) {
		$$('body').removeClass('blanketed');
		$$('a.pop.selected').removeClass('selected');
		pop.removeClass('open');
		pop.fade('out');
	}
}

/* opt */
function prepareOpts() {
	$$('a.opt').addEvent('click', function(e) {
		e.stop();
		doOpt(this)
	});
}

function doOpt(opt) {
	var parent = opt.getParent();
	parent.getChildren('a.opt').removeClass('selected');
	opt.addClass('selected');
	doOptMode(opt);
	if (parent.get('rel')) {
		doOptInput(opt);
	}
}
function doOptMode(opt) {
	var rel = opt.get('rel');
	$$('.mode').setStyle('display', 'none');
	$$('.mode[rel='+rel+']').setStyle('display', 'block');
	if (scrollbar) fleXenv.updateScrollBars();
}
function doOptInput(opt) {
	var rel = opt.getParent().get('rel');
	$(rel).set('value', opt.get('rel'));
}


