Event.observe(window,'load',function(){
	
	initContent($$('#content .module .content'));
	loadContent($('filler'));
	initPages();
	var featureImages;
	initFeatureImages();
	
	$('body').delegators('click', {
		'a': anchorLinks
	});
	
});

function anchorLinks(event)
{
	var element = event.element();
	link = element.href.substr(0,element.href.search(/(.com|.net|.org|.edu|.us|.local)/));
	domain = String(window.location);
	// If link is outside current domain, open it in a new window
	if (domain.indexOf(link) == -1) {
		element.target = 'fuegoRelated';
	}
}

function test()
{
	alert('test');
}

function initContent(elems)
{
	if (elems) {
		for (i=0,il=elems.length;i<il;i++) {
			loadContent(elems[i]);
		}
	}
}

function loadContent(elem)
{
	if (elem) {
		elem.hide();
		elem.setStyle({
			top: '50%',
			marginTop: '-'+((elem.getHeight())/2)+'px'
		});
		Effect.Appear(elem,{duration: .4});
	}
}

function initPages()
{
	var pages;
	if ($('paginated')) {
		if (moreLinkURI = $('body').select('.content a[href$="publications_center"]')[0]) moreLink = '<a href="'+moreLinkURI+'">View&nbsp;All</a>';
		else moreLink = '';
		if (pages = $('paginated').select('.page')) {
			$('paginated').insert('<div id="toggle_pages"><span class="toggle" id="toggle_previous">&laquo;</span><span class="indicator">&nbsp;&nbsp;<span id="currentpage">1</span>/'+pages.length+'&nbsp;&nbsp;</span><span class="toggle" id="toggle_next">&raquo;</span>'+moreLink+'</div>');
			Event.observe($('toggle_next'),'click',function()
			{
				togglePages(pages);
			});
			Event.observe($('toggle_previous'),'click',function()
			{
				togglePages(pages,1);
			});
			loadContent(pages[0]);
		}
	}
}

function initFeatureImages()
{
	if (featureImages = $('module_feature_images')) {
		featureImages = featureImages.select('img');
		if (featureImages.length > 1) {
			for (i=0,il=featureImages.length-1;i<il;i++) {
				featureImages[i].hide();
			}
			featureImages[il].addClassName('selected');
			setInterval('toggleFeatureImages()',10000);
		}
	}
}

function toggleFeatureImages()
{
	if (featureImages) {
		for (i=0,il=featureImages.length;i<il;i++) {
			if (featureImages[i].hasClassName('selected')) current = i;
		}
		next = current + 1;
		if (next == featureImages.length) {
			next = 0;
		}
		Effect.Appear(featureImages[next],{duration:.4});
		featureImages[next].addClassName('selected');
		Effect.Fade(featureImages[current],{duration:.4});
		featureImages[current].removeClassName('selected');
	}
}

function togglePages(pages,previous)
{
	if (previous) {
		current = parseInt($('currentpage').innerHTML,0)-1;
		previous = current - 1;
		if (current == 0) {
			previous = pages.length-1;
		}
		pages[current].hide();
		loadContent(pages[previous]);
		$('currentpage').innerHTML = previous+1;
	} else {
		next = parseInt($('currentpage').innerHTML,0);
		current = next - 1;
		if (next == pages.length) {
			next = 0;
		}
		pages[current].hide();
		loadContent(pages[next]);
		$('currentpage').innerHTML = next+1;
	}
}

function initDistributors()
{
	var element = $("country");
	Event.observe(element,"change", function()
	{
		toggleCountry(element.value);
	}, true);
}

function toggleCountry(val)
{
	if ($('choose_distributor').visible()) Effect.Fade('choose_distributor',{duration:.4});
	var tB = $('distributor_controls').select('.states_wrapper');
	if (val == '') {
		for (i=0,il=tB.length;i<il;i++) {
			tB[i].hide();
		}
	}
	//turn on the main country, hide others
	var tA = $('distributor_results').select('.country_list');
	hasStates = false;
	hasCountry = false;
	for(var i=0;i<tA.length;i++){
		tA[i].hide();
		if(tA[i].id == ('country_'+val)){
			hasCountry = true;
			tA[i].show();
			for(var j=0;j<tB.length;j++){
				tB[j].hide();
				
				if(tB[j].id == ('states_'+val+'_wrapper')){
					tB[j].show();
					
					var element = $('states_'+val);
					toggleState(element,val);
				
					Event.observe(element,"change", function()
					{
						toggleState(element,val);
					}, true);
					hasStates = true;
				}
			}
			// If no states, do effect for single "state"
			if (!hasStates) {
				loadContent(tA[i].down('.state'));
			}
		}
	}
	if (!hasCountry) {
		if (!$('choose_distributor').visible()) Effect.Appear('choose_distributor',{duration:.4});
	}
}

function toggleState(elem,country)
{
	state = elem.value;
	var tA = $("country_"+country).select(".state");
	for(i=0;i<tA.length;i++){
		if (tA[i].visible()) Effect.Fade(tA[i],{duration:.4});
		if(tA[i].hasClassName("s_"+state)){
			loadContent(tA[i]);
		}
	}
}


function validateForm(f)
{
	var tA = validate(f,'',false);
	if(tA == true){
		/*
		if(BrowserDetect.browser != undefined){
			$('debug').value = BrowserDetect.browser + '_' + BrowserDetect.version + '_' + BrowserDetect.OS;
		}
		*/
		
		var sendVars = new Object();
		
		//loop through my form and set values aiight
		var formA = $(f).getElements();
		for(var i=0;i<formA.length;i++){
			sendVars[formA[i].id] = formA[i].value;
		}
		
		var obj = $('form_contact');
		var url = '/gateway/ajax';
		
		//onComplete		: handler.bind(this),
		
		var myAjax = new Ajax.Updater(
			obj,
			url, 
			{
				method			: 'post', 
				parameters		: formatPost(sendVars),
				evalScripts 	: true
			}
		);
		
		
	}else{
		var items = $(f).select('label');
		for(var i=0;i<items.length;i++){
			items[i].removeClassName("error");
		}
	}

	if(tA.length > 0)
	{
		for(var i=0;i<tA.length;i++){
			tA[i].field.up().previousSiblings()[0].addClassName("error");
		}
	}
}

function resetForm(f)
{
	var items = $(f).select('label');
	for(var i=0;i<items.length;i++){
		items[i].removeClassName("error");
	}
	
	$(f).reset();
}

function formatPost(obj){
	var ret = "";
	var c = 0;
	for(var i in obj){
		if(c > 0){
			ret += "&";
		}		
		ret += i + "=" + obj[i];
		c++;
	}
	return ret;
}

