// select fields
var objFields = new Array('sel_organizations','sel_marketers','sel_participants');

// submit buttons
var objSubmit = new Array('sub_organizations','sub_marketers','sub_participants');

// default links
var defLinks = new Array('http://www.activenetwork.com/organizations.htm','http://www.activemarketinggroup.com','http://www.active.com');

// number of images to rotate through
var backgroundImageCount = 5;

function homeConstr() {
	// drop down boxes
	attachHomeListeners();

	// background image
	randomBackground();

	// shorten the length of news links
	shortenNews();
}

function randomBackground() {
	var num = Math.floor(Math.random()*backgroundImageCount);

	// div container w/background
	var objDivContainer = ge('body_header_content');

	var backgroundLoc = img_basedir + 'images/home/background_' + num + '.jpg';
	var objBackground = new Image();
	objBackground.src = backgroundLoc;
	objDivContainer.style.background = 'url(' + backgroundLoc + ') 4px 0 no-repeat';
}

function attachHomeListeners() {
	if (window.addEventListener) { // moz
		for (var i=0; i<objSubmit.length; i++) {
			ge(objSubmit[i]).setAttribute('offset',i);
			ge(objSubmit[i]).addEventListener('click', urlForward, false);
		}
	}
	else { // ie
		for (var i=0; i<objSubmit.length; i++) {
			ge(objSubmit[i]).setAttribute('offset',i);
			ge(objSubmit[i]).attachEvent('onclick', urlForward);
		}
	}
}

function urlForward(e) {
	var box_offset;
	var field_selected;
	var new_url;

	e[e_moz] ? box_offset = e[e_moz].getAttribute(offset) : box_offset = e[e_ie][offset];

	field_selected = ge(objFields[box_offset]).selectedIndex;
	if (field_selected > 0) {
		new_url = ge(objFields[box_offset]).options[field_selected].value;
	}
	else {
		new_url = defLinks[box_offset];
	}
	location.href = new_url;
}

function concatenateByWord(str, len, sep) {
	var wordArr;
	var newWords;
	var maxLengthChars = 75;
	var curLength = 0;
	wordArr = str.split(sep);

	newWords = '';
	for (var i=0; i<wordArr.length; i++) {
		curLength += wordArr[i].length;
		if (curLength > maxLengthChars) {
			newWords += '...';
			break;
		}
		else {
			newWords += wordArr[i] + ' ';
		}
	}
	return newWords;
}

function shortenNews() {
	var objPress;
	objPress = ge('press');

	if (objPress) {
		// get headers
		var headersArr;
		headersArr = objPress.getElementsByTagName('h3');

		var headerLink;

		// each header
		if (headersArr) {
			for (var i=0; i<headersArr.length; i++) {
				// get link
				headerLink = headersArr[i].getElementsByTagName('a');
				if (headerLink.length > 0) {
					headerLink[0].innerHTML = concatenateByWord(headerLink[0].innerHTML, 12, ' ');
				}
			}
		}
	}
}
