// JavaScript Document

q = jQuery.noConflict();

q(document).ready( function () {
	// jQuery code here.
	// Drawers
	manageDrawers( q("div.drawer") );
	// Solutions durables navigation
	secondaryNav("div#block-41", 25);
	secondaryNav("div#block-42", 30);
	// Front page left block FX
	iteration = 0;
	textLoop();
	setInterval ("textLoop()", 8000);
	
	// Typography block in front page
	typographyLoop()
	setInterval ("typographyLoop()", 8000);
	
} );

function manageDrawers (drawer) {
	q(drawer).each( function () {
		var drawerLabel = q("div.drawer-front", this).html();
		var reg = new RegExp ('</?span[^>]*?>', 'gi');
		drawerLabel = drawerLabel.replace(reg, "");
		var reg = new RegExp ('</?img[^>]*?>', 'gi');
		drawerLabel = drawerLabel.replace(reg, "");
		q("#icms-canvas-leftcolumn div.icms-blockcontent ul.areas:first").append("<li>" + drawerLabel + "</li>");
		var drawerText = q("div.drawer-content", this).text();
		if (drawerText != "void") {
			q("img.button", this)
			.attr("src", "/themes/mobiligo/images/button-plus-orange.gif")
			.css("cursor", "pointer")
			.click(
				function () {
					var theDrawer = q(this).closest("div.drawer").contents().filter("div.drawer-content");
					if (q(theDrawer).hasClass('open') == true ) {
						q(theDrawer).slideUp("fast").removeClass('open');
					} else {
						q("div.drawer-content").not(theDrawer).removeClass('open').slideUp("fast");
						q(theDrawer).addClass('open').slideDown("slow");
					}
			} );
		}
	} );
}

function secondaryNav (block, baseid) {
	var get = getUrlVars();
	var offset = get.pageid - baseid;
	q(block + " a:eq(" + offset + ")").addClass("current").removeAttr("href");
}


// Read a page's GET URL variables and return them as an associative array.
// Taken from http://snipplr.com/view.php?codeview&id=799
function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++) {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

// Get the text for the requested Heading 4, until next h4
// Used in front page
function textLoop() {
	iteration++;
	animSpeed = 500;
	if ( q("#block-22 div.icms-blockcontent h4").length <= iteration ) {
		iteration = 0;
	}
	var stuff = showMeTheText(iteration, "#block-22 div.icms-blockcontent h4:eq(" + iteration + ")");
	q("#block-22 div.icms-blockcontent > *").animate({opacity : 0}, animSpeed, "linear", function () {
		q(this).hide();
		q(stuff).show().animate({opacity : 1}, animSpeed);
	} )
}

function showMeTheText ( iteration, title) {
	nextTitle = "#block-22 div.icms-blockcontent h4:eq(" + ++iteration + ")";
	content = "*";
	var stuff = q(title).add(title + " *").add(title + " + " + content + ":not(" + nextTitle + " + " + content + ")");
	return (stuff);
}

// Showing a text box at random in Typography block. Not reusing the former code because this is much better.
function typographyLoop() {
	var container = q('#icms-page-toprightblocks .rotary');
	var images = q('img', container).not(':last');
	var topImage = q('img:last', container);
	var r = Math.floor(Math.random() * images.length);
	q(images).filter(':eq('+r+')').css('opacity', 0).appendTo(container).animate({opacity: 1}, 500);
	q(topImage).animate({opacity: 0}, 500);
}