/**
 * Humanique main javascript
 *
 * this contains all the main javascripts
*/

function initPage()
{
	eqHeight();
	
	// kidsactions
	setup_kidsactions();
	
	// carrousel
	setup_carousel();
}
$(document).ready(initPage);

function setup_kidsactions()
{
	$("div.banner").click(function() {
		href = $(this).find("a:eq(0)").attr("href");
		document.location = href;
	});
	
	$("div.banner").find("img.cmsmenu").click(function(event) {
		event.preventDefault();
		event.stopPropagation();
	});
}

function setup_carousel()
{
	$('.gallery').cycle({ 
		fx:     'fade', 
	    speed:   1000, 
	    timeout: 6000,
	    //pause: 1,
	    pager:  '.nav',
	    slideExpr: '.item',
	    pagerAnchorBuilder: function(index, DOMelement) {
			return '<li><a href="#"><span>' + (index + 1) + '</span></a></li>'; 
		},
		activePagerClass: 'active',
		updateActivePagerLink: function(pager, currSlide, clsName) {
			$(pager).each(function() {
				$(this).find('li').removeClass(clsName).filter('li:eq('+currSlide+')').addClass(clsName);
			});
		}
	});
}

function nav2(url)
{
	document.location=url; return false;
}

function eqHeight(){
	
	var _rowEl =[];
	
	var _row = document.getElementsByTagName('div');
	
	for(var i=0; i < _row.length; i++){
		if(_row[i].className.indexOf('three-cols') != -1)
			
			_rowEl.push(_row[i]);
	}
	for(var j=0; j < _rowEl.length; j++)
	{
		_box = _rowEl[j].getElementsByTagName('div');
		var _boxEl =[];
		for (var k = 0; k < _box.length; k++) {
			if (_box[k].className.indexOf('eqh') != -1) 
				_boxEl.push(_box[k]);
		}
		var _h = 0;
		for (var m = 0; m < _boxEl.length; m++){
			_boxEl[m].style.height='auto';
		}
		for (var m = 0; m < _boxEl.length; m++){
			if(_boxEl[m].offsetHeight>_h)
			_h = _boxEl[m].offsetHeight - 10;
		}
		for (var r = 0; r < _boxEl.length; r++){
			_boxEl[r].style.height = _h + 'px';
		}
	}
	setTimeout("eqHeight()",500)
}

function help_open(helpid)
{
	el = document.getElementById(helpid);
	el.style.display = "block";
}

function help_close(helpid)
{
	el = document.getElementById(helpid);
	el.style.display = "none";
}

function help_move(event,helpid)
{
	var scrollTop = 0;
	if (document.body.scrollTop > 0) {
		scrollTop = document.body.scrollTop;
	}
	else {
		scrollTop = document.documentElement.scrollTop;
	}

	if (event.pageX) {
		// !msie
		xPos = event.pageX;
		yPos = event.pageY;
	}
	else {
		// msie
		xPos = window.event.clientX;
		yPos = window.event.clientY;


		xPos += document.body.scrollLeft;
		yPos += scrollTop;
	}

	el = document.getElementById(helpid);

	var right = xPos + 20 + el.offsetWidth;
	var bottom = yPos + 20 + el.offsetHeight;
	var up = false;
	var left = false;

	if (typeof(window.innerWidth) == "number") {
		if (right > window.innerWidth && window.innerWidth > el.offsetWidth) {
			left = true;
		}
		
		if (bottom > (window.innerHeight + scrollTop) && window.innerHeight > el.offsetHeight) {
			up = true;
		}
	}
	else {
		if (right > document.documentElement.clientWidth && document.documentElement.clientWidth > el.offsetWidth) {
			left = true;
		}
		if (bottom > (document.documentElement.clientHeight + scrollTop) && document.documentElement.clientHeight > el.offsetHeight) {
			up = true;
		}
	}

	if (left) {
		el.style.left = (xPos - 20 - el.offsetWidth) + "px";
	}
	else {
		el.style.left = xPos + 20 + "px";
	}
	if (up) {
		if (typeof(window.innerHeight) == "number") {
			el.style.top = ((window.innerHeight - 10 - el.offsetHeight) + scrollTop) + "px";
		}
		else {
			el.style.top = ((document.documentElement.clientHeight - 10 - el.offsetHeight) + scrollTop) + "px";
		}
	}
	else {
		el.style.top  = yPos + 10 + "px";
	}
}

/**
 * Validate an emailaddress
 *
 * uses http://en.wikipedia.org/wiki/E-mail_address as reference
 */
function validate_email(email)
{
	var parts = email.split(/@/);

	if (parts.length != 2) {
		// not composed of local part and domain part
		return false;
	}

	var local_part = parts[0];
	var domain_part = parts[1];


	// check the local part

	var reg = /^([A-Za-z0-9!#\$%\*\/\?\|\^\{\}`~&'+\-=_.]+)$/;

	if (reg.test(local_part)) {
		if (local_part.indexOf("..") >= 0) {
			// double dot in local part
			return false;
		}
		if (local_part.indexOf(".") == 0) {
			// dot at start of local part
			return false;
		}
		if (local_part.lastIndexOf(".") == local_part.length-1) {
			// dot at end of local part
			return false;
		}
	}
	else {
		reg = /^\"([^\"]+)\"$/;

		if (!reg.test(local_part)) {
			// failed escaped local part
			return false;
		}
	}


	// check the domain part

	reg = /^[[]([0-9:.]+)[]]$/;
	
	if ((domain_part == "") || (domain_part == "[]")) {
		// invalid domain part
		return false;
	}
	else if (reg.test(domain_part)) {
		// check the ip address

		// (still missing)
	}
	else {
		// check the labels

		var labels = domain_part.split(/[.]/);
		reg = /^([A-Za-z0-9-]+)$/;

		var i;
		for(i=0; i < labels.length; i++) {
			var label = labels[i];

			if (label == "") {
				// empty label
				return false;
			}
			if (!reg.test(label)) {
				// invalid characters
				return false;
			}
			if (label.indexOf("-") == 0) {
				// hyphen at start of label
				return false;
			}
			if (label.lastIndexOf("-") == label.length-1) {
				// hyphen at end of label
				return false;
			}
		}
	}

	return true;
}

function form_remove_file(iname, no_previous_text)
{
	$("#" + iname + "_previous").html(no_previous_text);
	$("#" + iname + "_delete_id").attr("value","yes");
	$('#' + iname + '_remove').hide();

	return false;
}

function form_add_file(iname)
{
	$("#" + iname + "_delete_id").attr("value","no");

	return false;
}

function outgoing_link(href, target, name)
{
	if (target != '') {
		window.open(href, target);
		return false;
	}

	if (name == '') {
		name = escape(href);

		if (name.indexOf("http%3A//") == 0) {
			name = name.substring(9);
		}
		else if (name.indexOf("https%3A//") == 0) {
			name = name.substring(10);
		}
	}

	if (pageTracker) {
		pageTracker._trackPageview('/outgoing/' + name);
	}

	return true;
}
