/* ADD EVENT */
function addEvent(obj,type,fn)
{
	if(obj.addEventListener)
		obj.addEventListener(type,fn,false);
	else if(obj.attachEvent)
	{
		obj["e"+type+fn]=fn;obj[type+fn]=function(){obj["e"+type+fn](window.event);}
		obj.attachEvent("on"+type,obj[type+fn]);
	}
}

/* GET ELEMENTS BY TAG NAMES */
function getElementsByTagNames(list,obj)
{
	if(!obj)var obj=document;
	var tagNames=list.split(',');
	var resultArray=new Array();

	for(var i=0;i<tagNames.length;i++)
	{
		var tags=obj.getElementsByTagName(tagNames[i]);
		for(var j=0;j<tags.length;j++)
		{
			resultArray.push(tags[j]);
		}
	}

	var testNode=resultArray[0];
	if(testNode.sourceIndex)
	{
		resultArray.sort(function(a,b){return a.sourceIndex-b.sourceIndex;});
	}
	else if(testNode.compareDocumentPosition)
	{
		resultArray.sort(function(a,b){return 3-(a.compareDocumentPosition(b)&6);});
	}

	return resultArray;
}

/* ADD CLASS */
function addClass(target,classValue)
{
	var pattern=new RegExp("(^| )"+classValue+"( |$)");
	if(!pattern.test(target.className))
	{
		if(target.className=="")target.className=classValue;
		else target.className+=" "+classValue;
	}

	return true;
}

/* REMOVE CLASS */
function removeClass(target,classValue)
{
	var removedClass=target.className;
	var pattern=new RegExp("(^| )"+classValue+"( |$)");
	removedClass=removedClass.replace(pattern,"$1");
	removedClass=removedClass.replace(/ $/,"");
	target.className=removedClass;return true;
}

/* PRIMARY MENUS */
var togglePrimaryMenus=function(){
var menus;
var toggleMenu=function(e){if(!YAHOO.util.Dom.hasClass(this,"open")){hideAllMenus();YAHOO.util.Dom.addClass(this,"open");}else{YAHOO.util.Dom.removeClass(this,"open");} YAHOO.util.Event.preventDefault(e);}
var hideAllMenus=function(){var menus=document.getElementById("respondent_nav").getElementsByTagName("li");for(var i=0;i<menus.length;i++){YAHOO.util.Dom.removeClass(menus[i],"open");}}
var addHandlers=function(){for(var i=0;i<menus.length;i++){var menuLink=YAHOO.util.Dom.getFirstChild(menus[i]);var menuSpan=YAHOO.util.Dom.getFirstChild(menuLink);YAHOO.util.Event.addListener(menuLink,"click",toggleMenu,menus[i],true);YAHOO.util.Event.addListener(menuLink,"mouseover",function(){YAHOO.util.Dom.addClass(this,"hover");});YAHOO.util.Event.addListener(menuLink,"mouseout",function(){YAHOO.util.Dom.removeClass(this,"hover");});YAHOO.util.Event.addListener(menuSpan,"click",function(e){YAHOO.util.Event.stopPropagation(e);});YAHOO.util.Event.addListener(menuSpan,"mouseover",function(e){YAHOO.util.Dom.addClass(this,"hover");YAHOO.util.Event.stopPropagation(e);});YAHOO.util.Event.addListener(menuSpan,"mouseout",function(e){YAHOO.util.Dom.removeClass(this,"hover");});YAHOO.util.Event.addListener(menus[i],"click",function(e){YAHOO.util.Event.stopPropagation(e);});} YAHOO.util.Event.addListener(document,"click",hideAllMenus);}
return{init:function(){if(!document.getElementById("respondent_nav"))return;menus=YAHOO.util.Dom.getChildren(document.getElementById("respondent_nav"));addHandlers();},hideAllMenus:function(){hideAllMenus();}}}();

/* Code to attach the event */
addEvent(window,'load',togglePrimaryMenus.init);

/**** HELPERS ****/
Math.RandomInteger = function(n, m) {
	if (! m) {m = 1;} // default range starts at 1
	var max = n > m ? n : m; // doesn’t matter which value is min or max
	var min = n === max ? m : n; // min is value that is not max
	var d = max - min + 1; // distribution range
	return Math.floor(Math.random() * d + min);
};

/**** HOMEPAGE IMAGE CYCLING ****/
var first_time = true;

function show_screenshot(i) {
	if (!first_time)
	{
		Effect.Fade  ('screenshot_image', { queue: 'end', afterFinish: function(obj) { $('screenshot_image').hide(); set_screenshot_img(i); } });
		Effect.Appear('screenshot_image', { queue: 'end', beforeStart: function(obj) { } });
	}
	else
	{		
		Effect.Appear('screenshot_image', { queue: 'end', beforeStart: function(obj) { set_screenshot_img(i) } });
		first_time = false;
	}
}

function set_screenshot_img(i) {
	$('screenshot_image').setAttribute('src', '/images/peapod/screenshot-sample-' + i + '.jpg');
}

function show_random_screenshot() {		
	var r = Math.RandomInteger(1, NUM_SCREENS);
	
	if (!first_time)
	{
		var src = $('screenshot_image').getAttribute('src');
		var regex = /images\/peapod\/screenshot-sample-([0-9]*)\.jpg/;
		var current_screen_num = src.match(regex)[1];
		while (r == current_screen_num)
		{
			r = Math.RandomInteger(1, NUM_SCREENS);				
		}				
	}
	
	show_screenshot(r);
	setTimeout(show_random_screenshot, 30000);
}	