// JavaScript Document

function external(){
	var a = $$('a');
	a.each(function(el){
		if (el.getProperty('rel')=='external'){
			el.setProperty('target', '_blank');
		}
	});
}

function startforms(){
	var forms = $$('form');
	forms.each (function(el){
		el.addEvent('submit', function(e){
			if (!validateForm(el.id)){
				var e = new Event(e);
				e.stop();
			}
		});
	});
	var req_fields = $$('form .req');
	req_fields.each (function(el){
		el.addEvent('blur', function(e){
			Error = verifyField(el.id);
		});
	});
}

function verifyField(id){
	error = '';
	type = '';
	rel_content  = '';
	rel_content = $(id).getProperty('rel');
	if (rel_content){
		if (rel_content.indexOf('email') != -1){
			type = 'email';
		}
		if (type==''){
			type = $(id).getProperty('type');
		}
	}
	switch (type){
		case 'email':
			var value = $(id).value;
			apos = value.indexOf("@");
			dotpos = value.lastIndexOf(".");
			if (apos<1 || dotpos-apos<2){
				error += rel_content + '\n';
			}
			break;
		case 'checkbox':
			if (!$(id).checked){
				error += rel_content + '\n';
			}
			break;
		default:
			var value = $(id).value;
			if (!value){
				if (rel_content){
					error += rel_content + '\n';
				} else {
					alert (rel_content);
					error = true;
				}
			}
			break;
	}
	var p = $(id).getParent();
	if (error){
		p.addClass ('invalid');
		p.removeClass('valid');
		/*var div = new Element('div');
		div.appendText('Error! Please complete this field!');
		div.injectAfter($(id));*/
	} else {
		p.addClass('valid');
		p.removeClass('invalid');
	}
	return error;
}

function validateForm(id){
	main_error = '';
	firstError = '';
	var fields = $$('form#' + id + ' .req');
	for (a=0; a<fields.length; a++){
		Return = verifyField(fields[a].id)
		if (Return){
			main_error += Return;
			firstError = firstError ? firstError : fields[a].id;
		}
	}
	if (main_error){
		$(firstError).focus();
		alert (main_error);
		return false;
	}
	return true;
}

function ie6nav(){
	var links = $$('#navigation li');
	links.each(function(el){
		el.addEvent('mouseover', function(e){
			el.addClass('hover');
		});
		el.addEvent('mouseout', function(e){
			el.removeClass('hover');
		});
	});
}

function _getmap(){
	if ($('gmap')){
		window.addEvent('domready',function(){
			load('gmap');
		});	
		window.addEvent('unload',function(){
			GUnload();
		});	
	}
}

function access(){
	var access = $('accessibility');
	var accesslink = $('accesslink');
	var accesspanel = $('accesspanel');
	if(access){

		var elslide = new Fx.Slide(accesspanel, 
			{
				duration: 600,
				transition: Fx.Transitions.Bounce.easeOut
			}
		);
		elslide.hide();
		accesslink.setStyle('cursor','pointer');
		accesslink.addEvent("click", function(e){
			var event = new Event(e);
			elslide.toggle();
			event.stop();
		});
	}
}

function sliders(){
	var sliders = $$('.slider_head');
	if(sliders.length){
		var elslide = [];
		sliders.each(function(el,index){
			var toslide = el.get('rel');

			elslide[index] = new Fx.Slide(toslide, 
				{
					duration: 500,
					transition: Fx.Transitions.Quad.easeOut
				}
			);
			//console.log(elslide[index]);

			elslide[index].hide();
			el.addEvent("click", function(e){
				var event = new Event(e);
				//console.log('hi');
				elslide[index].toggle();
				event.stop();
			});
		
		});
	}

}

function titles(){
	var url = '/_lib/txt/index.php';
	var titles = $$('#content h2');
	titles.each(function(el){
		var innertext = el.get('text');
		var newspan = new Element('span',{'html':innertext,'class':''});
		el.empty();
		newspan.injectInside(el);
		if (!el.hasClass('ignore')){
			var html = escape(innertext);
			if (el.hasClass('small')){
				html += '&size=23';
			}else if (el.hasClass('xsmall')){
				html += '&size=19';
			}
			var image_url = 'url(' + url + '?text=' + html + ')';
			el.setStyle('background-image', image_url);
			el.setStyle('height', "30px");
		}
	});
}


window.addEvent('domready', function(){
	external();
	startforms();
	ie6nav();
	_getmap();
	access();
	sliders();
	//titles();
});