if (document.getElementById && document.getElementsByTagName) {
	addLoadEvent(campaignHover);
	addLoadEvent(filterOnClick);
	addLoadEvent(filterItems);
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

function campaignHover() {
	if (document.getElementById("campaign-page")) {
		var items = document.getElementById("campaign-items").getElementsByTagName("li");
		hoverItem(items);
		var items = document.getElementById("banners").getElementsByTagName("li");
		hoverItem(items);
	}
}

function hoverItem(items) {
	var item;
	for (i = 0; i < items.length; i++) {
		item = items[i];
		if (item.parentNode.className != "usp") {
			item.onmouseover = function() {
				this.style.cursor = "pointer";
				this.id = this.id + "hover";
			}
			item.onmouseout = function() {
				this.id = "";
			}

			// Use Prototype to check if the bg-image already has a <a> wrapper, otherwise we have to fix that the whole area is clickable. Added 2008-12-15 by Holger Berg, fix for webmetrics.
			var itemW = 0; var itemH = 0; var sLink;
			var thisItemLinks = item.getElementsByTagName("a");
			if (itemW < 1) {
				itemW = $(item).getWidth();
				itemH = $(item).getHeight();
			}
			if (thisItemLinks.length == 1) {
				sLink = thisItemLinks[0].href;
				$(item).insert( {bottom:'<div style="position:absolute; z-index:4; left:0px; top:0px; "><a href="' + sLink + '"><img src="/blank.gif" style="border:none" width="' + itemW + '" height="' + itemH + '" /></a></div>'} );
			}
		}
	}		
}

function checkQueryString(qsProperty) {
	qs = window.location.search.substring(1);
	qs = qs.split("&");
	for (i=0; i<qs.length; i++) {
		qsProperties = qs[i].split("=");
		if (qsProperties[0] == qsProperty) {
			return qsProperties[1];
		}
	}
}

function filterOnClick() {
	if (document.getElementById('campaign-form')) {
		var radioButtons = document.getElementById('campaign-form').getElementsByTagName("input");
		for (i = 0; i < radioButtons.length; i++) {
			radioButtons[i].onclick = function() {
				filterItems("click");
			}
		}
	}
}

function filterItems(init) {
	if (document.getElementById('campaign-form') && document.getElementById('campaign-items')) {
		var campaignForm = document.getElementById('campaign-form');
		var campaignItems = document.getElementById('campaign-items').getElementsByTagName('li');
		var selectedOption; var campaignItems;
		
		// If there is a querystring value for cf-option in URL; check that option in the form
		if (init != "click") {
			if (checkQueryString("cf-option") != null) {
				var checkedOption = checkQueryString("cf-option").toLowerCase();
				for (i = 0; i < campaignForm.elements.length; i++) {
					if (campaignForm.elements[i].id.indexOf(checkedOption) > -1){
						campaignForm.elements[i].checked = true;
						selectedOption = campaignForm.elements[i].id;
					} else {
						campaignForm.elements[i].checked = false;
					}
				}
			}
		}
		
		// Run through the form to find the selected option
		for (i = 0; i < campaignForm.elements.length; i++) {
			if (campaignForm.elements[i].checked == true) {
				selectedOption = campaignForm.elements[i].id;
			}
		}
		if (selectedOption != "cf-all") {
			for (i=0; i < campaignItems.length; i++){
				if (campaignItems[i].className.indexOf(selectedOption) > -1) {
					if (campaignItems[i].className.indexOf(" hidden") > -1) {
						campaignItems[i].className = campaignItems[i].className.split(" hidden")[0];					
					}
				} else {
					if (campaignItems[i].className.indexOf(" hidden") == -1) {
						campaignItems[i].className += " hidden";
					}
				}
			}
		} else {
			for (i=0; i < campaignItems.length; i++){
				if (campaignItems[i].className.indexOf(" hidden") > -1) {
					campaignItems[i].className = campaignItems[i].className.split(" hidden")[0];
				}
			}			
		}
	}	
}

function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
                tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
        var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
        for (i = 0, j = 0; i < elsLen; i++) {
                if ( pattern.test(els[i].className) ) {
                        classElements[j] = els[i];
                        j++;
                }
        }
        return classElements;
}


