//Add next() and prev() to dojo.query return type,
//which is dojo.NodeList. These are primitive versions,
//they do not support doing a query filter on their results.


dojo.mixin(dojo.NodeList.prototype, {
        next: function(){
                var result = dojo.NodeList();
                this.forEach(function(node){
                        var next = node.nextSibling;
                        while(next && next.nodeType != 1){
                                next = next.nextSibling;
                        }
                        if(next){
                                result.push(next);
                        }
                });
                return result;
        },
        prev: function(){
                var result = dojo.NodeList();
                this.forEach(function(node){
                        var prev = node.previousSibling;
                        while(prev && prev.nodeType != 1){
                                prev = prev.previousSibling;
                        }
                        if(prev){
                                result.push(prev);
                        }
                });
                return result;
        }
});


dojo.addOnLoad(function(){

	dojo.query('div.toggle-wrap').addClass("hidden");
	dojo.query('div.toggle-wrap-open').removeClass("hidden");

	dojo.query('h2.toggle').connect('onclick',function(e){
		dojo.query(this).next().toggleClass('hidden');
		dojo.query(this).toggleClass('toggle-open');
		e.preventDefault();
		return false;
	});

	dojo.query('p.services a').connect('onclick',function(){
		dojo.query(this.parentNode.parentNode.parentNode).toggleClass('filter-results-active');
		dojo.query(this.parentNode).next().toggleClass('hidden');

		var childNodes = this.childNodes;
		for (var i in childNodes) {
			if (
				(childNodes[i].tagName != undefined)
				&& (childNodes[i].tagName.toLowerCase() == 'span')
			) {
				dojo.query(this.childNodes[i]).toggleClass('hidden');
			}
		}
		return false;
	});


	dojo.query('#text-size a').connect('onclick',function(){
		if(dojo.hasClass(this,'big')){
			dojo.query(this).removeClass('big').addClass('big-active');
			dojo.query('#text-size .small-active').removeClass('small-active').addClass('small');
			dojo.query('body').addClass("font-size1");
		}
		else if(dojo.hasClass(this,'big-active')){
			dojo.query(this).removeClass('big-active').addClass('bigger-active');
			dojo.query('#text-size .small').removeClass('small-active').removeClass('small').addClass('small2');

			dojo.query('body').removeClass("font-size1").addClass("font-size2");
		}
		else if(dojo.hasClass(this,'bigger-active')){
			dojo.query('#text-size .small').removeClass('small2-active').removeClass('small-active').removeClass('small').addClass('small2');
			dojo.query('#text-size .small2-active').removeClass('small2-active').removeClass('small-active').removeClass('small').addClass('small2');
		}
		else if(dojo.hasClass(this,'small')){
			dojo.query(this).removeClass('small').addClass('small-active');
			dojo.query('#text-size .big-active').removeClass('bigger-active').removeClass('big-active').addClass('big');

			dojo.query('body').removeClass("font-size1");
		}
		else if(dojo.hasClass(this,'small-active')){
			dojo.query(this).removeClass('small-active').addClass('small');
			dojo.query('#text-size .big-active').removeClass('big').addClass('big-active');
		}
		else if(dojo.hasClass(this,'small2')){
			dojo.query(this).removeClass('small').removeClass('small2').removeClass('small-active').addClass('small2-active');
			dojo.query('#text-size .bigger-active').removeClass('bigger-active').addClass('big');

			dojo.query('body').removeClass("font-size2").addClass("font-size1");
		}
		else if(dojo.hasClass(this,'small2-active')){
			dojo.query(this).removeClass('small').removeClass('small2').removeClass('small2-active').addClass('small-active');
			dojo.query('#text-size .bigger-active').removeClass('bigger-active').addClass('big');

			dojo.query('body').removeClass("font-size1");
		}
	});
	dojo.query('#main-message p.close a').connect('onclick',function(){
		dojo.query('#main-message').addClass('hidden');
		dojo.query('html').removeClass('message');
		return false;
	});

	if (dojo.query('#submenu li a.s-active').coords({includeScroll:true})[0] != undefined) {
		var height = dojo.query('#submenu li a.s-active').coords({includeScroll:true})[0].h;
		if (height > 40) {
			dojo.query('#submenu li a.s-active').addClass("active2");
		}
	}
	dojo.query('#submenu li:first-child').addClass("first");
	dojo.query('#submenu li:last-child').addClass("last");
	dojo.query('#submenu li ul li.first').removeClass("first");
	dojo.query('#submenu li ul li.last').removeClass("last");

	dojo.query('#filter-menu li').connect('onclick',function(){
		dojo.query('div.help').addClass("help-open");
	});
	dojo.query('#filter-menu p.primary button').connect('onclick',function(){
		dojo.query('div.help').removeClass("help-open");
	});

});

