function body_onload() {

	//if userratings are displayed, initialise them
	if ( (typeof(m_bUserRatings) != 'undefined') && (m_bUserRatings == true) ) {
		userRatings_initialise();
	}
}

function body_onresize() {

}
function showToolTip(i_pObject) {
	i_pObject.childNodes[0].style.display = "block";
}

function hideToolTip(i_pObject) {
	i_pObject.childNodes[0].style.display = "none";
}

function submitMainForm(i_sAction, i_sValue) {

	var sMainFormId = document.getElementById("DialogFormId").value;
	var pMainForm = document.getElementById(sMainFormId);
	var pSubmitElement = document.createElement("input");

	pSubmitElement.type = "hidden";
	pSubmitElement.name = "WebProcessAction:" + i_sAction + "_" + i_sValue;

	pMainForm.appendChild(pSubmitElement);

	pMainForm.submit();
}

function showLanguages() {

	var pLanguageSelection = document.getElementById("language-selection");
	pLanguageSelection.style.display = "block";
}

function showSkins() {

	var pSkinSelection = document.getElementById("skin-selection");
	pSkinSelection.style.display = "block";
}


function preloadRollovers() {

	//class "button-holder", "navigation-button-holder"
	var button_left = new Image();
	button_left.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/left_cap.gif";
	var button_middle = new Image();
	button_middle.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/center_stretch.gif";
	var button_right = new Image();
	button_right.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/right_cap.gif";

	var button_left_depressed = new Image();
	button_left_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/left_cap.gif";
	var button_middle_depressed = new Image();
	button_middle_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/center_stretch.gif";
	var button_right_depressed = new Image();
	button_right_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/right_cap.gif";

	//class "button-holder-emphasized", "navigation-button-holder-emphasized"
	var button_left_emphasized = new Image();
	button_left_emphasized.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/left_cap.gif";
	var button_middle_emphasized = new Image();
	button_middle_emphasized.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/center_stretch.gif";
	var button_right_emphasized = new Image();
	button_right_emphasized.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/right_cap.gif";

	var button_left_emphasized_depressed = new Image();
	button_left_emphasized_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/left_cap.gif";
	var button_middle_emphasized_depressed = new Image();
	button_middle_emphasized_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/center_stretch.gif";
	var button_right_emphasized_depressed = new Image();
	button_right_emphasized_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/right_cap.gif";

	//class "home-page-button", "home-page-area-button"
	var home_page_area_button_left = new Image();
	home_page_area_button_left.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/left_cap.gif";
	var home_page_area_button_middle = new Image();
	home_page_area_button_middle.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/center_stretch.gif";
	var home_page_area_button_right = new Image();
	home_page_area_button_right.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/hover/right_cap.gif";

	var home_page_area_button_left_depressed = new Image();
	home_page_area_button_left_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/depressed/left_cap.gif";
	var home_page_area_button_middle_depressed = new Image();
	home_page_area_button_middle_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/depressed/center_stretch.gif";
	var home_page_area_button_right_depressed = new Image();
	home_page_area_button_right_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/activity_buttons/depressed/right_cap.gif";

	//class "severe-button"
	var severe_button_left = new Image();
	severe_button_left.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/severe_button/hover/left_cap.gif";
	var severe_button_middle = new Image();
	severe_button_middle.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/severe_button/hover/center_stretch.gif";
	var severe_button_right = new Image();
	severe_button_right.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/severe_button/hover/right_cap.gif";

	var severe_button_left_depressed = new Image();
	severe_button_left_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/severe_button/depressed/left_cap.gif";
	var severe_button_middle_depressed = new Image();
	severe_button_middle_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/severe_button/depressed/center_stretch.gif";
	var severe_button_right_depressed = new Image();
	severe_button_right_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/severe_button/depressed/right_cap.gif";

	//class "main-nav-update-button"
	var update_button_left = new Image();
	update_button_left.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/update_remote/hover/left_cap.gif";
	var update_button_middle = new Image();
	update_button_middle.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/update_remote/hover/center_stretch.gif";
	var update_button_right = new Image();
	update_button_right.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/update_remote/hover/right_cap.gif";

	var update_button_left_depressed = new Image();
	update_button_left_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/update_remote/depressed/left_cap.gif";
	var update_button_middle_depressed = new Image();
	update_button_middle_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/update_remote/depressed/center_stretch.gif";
	var update_button_right_depressed = new Image();
	update_button_right_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/update_remote/depressed/right_cap.gif";
	
	//class "branding-button"
	var header_button_left = new Image();
	header_button_left.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/header_buttons/hover/left_cap.gif";
	var header_button_middle = new Image();
	header_button_middle.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/header_buttons/hover/center_stretch.gif";
	var header_button_right = new Image();
	header_button_right.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/header_buttons/hover/right_cap.gif";

	var header_button_left_depressed = new Image();
	header_button_left_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/header_buttons/depressed/left_cap.gif";
	var header_button_middle_depressed = new Image();
	header_button_middle_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/header_buttons/depressed/center_stretch.gif";
	var header_button_right_depressed = new Image();
	header_button_right_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/header_buttons/depressed/right_cap.gif";

	//class "help-button-holder"
	var help_button_left = new Image();
	help_button_left.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/help_button_yellow/leftcap_hover.png";
	var help_button_middle = new Image();
	help_button_middle.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/help_button_yellow/center_stretch_hover.png";
	var help_button_right = new Image();
	help_button_right.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/help_button_yellow/rightcap_hover.png";

	var help_button_left_depressed = new Image();
	help_button_left_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/help_button_yellow/leftcap_depressed.png";
	var help_button_middle_depressed = new Image();
	help_button_middle_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/help_button_yellow/centerstretch_depressed.png";
	var help_button_right_depressed = new Image();
	help_button_right_depressed.src = "http://images.harmonyremote.com/EasyZapper/NewUserInterface/Skins/CorporateSkin/images/buttons/help_button_yellow/rightcap_depressed.png";
}

//call the function right away. the body onload events screws up logitech's dynamic menues
preloadRollovers();

function buttonRolloverHandler(i_pButtonHolder) {
	
	switch (i_pButtonHolder.className) {

		case "button-holder": {
			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "button-left-cap-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "button-middle-stretch-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "button-right-cap-hover";
			break;
		}

		case "navigation-button-holder": {
			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "navigation-button-left-cap-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "navigation-button-middle-stretch-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "navigation-button-right-cap-hover";
			break;
		}

		case "button-holder-emphasized": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "button-left-cap-emphasized-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "button-middle-stretch-emphasized-hover";			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "button-right-cap-emphasized-hover";
			break;
		}

		case "navigation-button-holder-emphasized": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "navigation-button-left-cap-emphasized-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "navigation-button-middle-stretch-emphasized-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "navigation-button-right-cap-emphasized-hover";
			break;
		}

		case "home-page-area-button": {

			i_pButtonHolder.childNodes[0].className = "home-page-area-button-left-cap-hover";
			i_pButtonHolder.childNodes[1].className = "home-page-area-button-middle-stretch-hover";			
			i_pButtonHolder.childNodes[2].className = "home-page-area-button-right-cap-hover";
			break;
		}

		case "home-page-button": {

			//i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "home-page-button-left-cap-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "home-page-button-middle-stretch-hover";			
			//i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "home-page-button-right-cap-hover";
			break;
		}

		case "severe-button": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "severe-button-left-cap-hover";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "severe-button-middle-stretch-hover";			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "severe-button-right-cap-hover";
			break;
		}

		case "main-nav-update-button": {

			i_pButtonHolder.childNodes[0].className = "main-nav-active-update-button-left-cap-hover";
			i_pButtonHolder.childNodes[1].className = "main-nav-active-update-button-middle-stretch-hover";			
			i_pButtonHolder.childNodes[2].className = "main-nav-active-update-button-right-cap-hover";
			break;
		}

		case "branding-button": {

			i_pButtonHolder.childNodes[0].className = "header-button-left-cap-hover";
			i_pButtonHolder.childNodes[1].className = "header-button-middle-stretch-hover";
			i_pButtonHolder.childNodes[2].className = "header-button-right-cap-hover";
			break;
		}

		case "help-button-holder": {

			i_pButtonHolder.childNodes[0].className = "help-button-left-cap-hover";
			i_pButtonHolder.childNodes[1].className = "help-button-middle-stretch-hover";
			i_pButtonHolder.childNodes[2].className = "help-button-right-cap-hover";
			break;
		}
	}
}

function buttonRolloutHandler(i_pButtonHolder) {
	
	switch (i_pButtonHolder.className) {

		case "button-holder": {
			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "button-left-cap";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "button-middle-stretch";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "button-right-cap";
			break;
		}

		case "navigation-button-holder": {
			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "navigation-button-left-cap";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "navigation-button-middle-stretch";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "navigation-button-right-cap";
			break;
		}

		case "button-holder-emphasized": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "button-left-cap-emphasized";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "button-middle-stretch-emphasized";			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "button-right-cap-emphasized";
			break;
		}

		case "navigation-button-holder-emphasized": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "navigation-button-left-cap-emphasized";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "navigation-button-middle-stretch-emphasized";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "navigation-button-right-cap-emphasized";
			break;
		}

		case "home-page-area-button": {

			i_pButtonHolder.childNodes[0].className = "home-page-area-button-left-cap";
			i_pButtonHolder.childNodes[1].className = "home-page-area-button-middle-stretch";			
			i_pButtonHolder.childNodes[2].className = "home-page-area-button-right-cap";
			break;
		}

		case "home-page-button": {

			//i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "home-page-button-left-cap";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "home-page-button-middle-stretch";			
			//i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "home-page-button-right-cap";
			break;
		}

		case "severe-button": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "severe-button-left-cap";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "severe-button-middle-stretch";			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "severe-button-right-cap";
			break;
		}

		case "main-nav-update-button": {

			i_pButtonHolder.childNodes[0].className = "main-nav-active-update-button-left-cap";
			i_pButtonHolder.childNodes[1].className = "main-nav-active-update-button-middle-stretch";			
			i_pButtonHolder.childNodes[2].className = "main-nav-active-update-button-right-cap";
			break;
		}

		case "branding-button": {

			i_pButtonHolder.childNodes[0].className = "header-button-left-cap";
			i_pButtonHolder.childNodes[1].className = "header-button-middle-stretch";
			i_pButtonHolder.childNodes[2].className = "header-button-right-cap";
			break;
		}

		case "help-button-holder": {

			i_pButtonHolder.childNodes[0].className = "help-button-left-cap";
			i_pButtonHolder.childNodes[1].className = "help-button-middle-stretch";
			i_pButtonHolder.childNodes[2].className = "help-button-right-cap";
			break;
		}
	}
}

function buttonPressDownHandler(i_pButtonHolder) {
	
	switch (i_pButtonHolder.className) {

		case "button-holder": {
			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "button-left-cap-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "button-middle-stretch-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "button-right-cap-depressed";
			break;
		}

		case "navigation-button-holder": {
			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "navigation-button-left-cap-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "navigation-button-middle-stretch-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "navigation-button-right-cap-depressed";
			break;
		}

		case "button-holder-emphasized": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "button-left-cap-emphasized-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "button-middle-stretch-emphasized-depressed";			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "button-right-cap-emphasized-depressed";
			break;
		}

		case "navigation-button-holder-emphasized": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "navigation-button-left-cap-emphasized-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "navigation-button-middle-stretch-emphasized-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "navigation-button-right-cap-emphasized-depressed";
			break;
		}

		case "home-page-area-button": {

			i_pButtonHolder.childNodes[0].className = "home-page-area-button-left-cap-depressed";
			i_pButtonHolder.childNodes[1].className = "home-page-area-button-middle-stretch-depressed";			
			i_pButtonHolder.childNodes[2].className = "home-page-area-button-right-cap-depressed";
			break;
		}

		case "home-page-button": {

			//i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "home-page-button-left-cap-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "home-page-button-middle-stretch-depressed";			
			//i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "home-page-button-right-cap-depressed";
			break;
		}

		case "severe-button": {

			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0].className = "severe-button-left-cap-depressed";
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].className = "severe-button-middle-stretch-depressed";			
			i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0].className = "severe-button-right-cap-depressed";
			break;
		}

		case "main-nav-update-button": {

			i_pButtonHolder.childNodes[0].className = "main-nav-active-update-button-left-cap-depressed";
			i_pButtonHolder.childNodes[1].className = "main-nav-active-update-button-middle-stretch-depressed";			
			i_pButtonHolder.childNodes[2].className = "main-nav-active-update-button-right-cap-depressed";
			break;
		}

		case "branding-button": {

			i_pButtonHolder.childNodes[0].className = "header-button-left-cap-depressed";
			i_pButtonHolder.childNodes[1].className = "header-button-middle-stretch-depressed";
			i_pButtonHolder.childNodes[2].className = "header-button-right-cap-depressed";
			break;
		}

		case "help-button-holder": {

			i_pButtonHolder.childNodes[0].className = "help-button-left-cap-depressed";
			i_pButtonHolder.childNodes[1].className = "help-button-middle-stretch-depressed";
			i_pButtonHolder.childNodes[2].className = "help-button-right-cap-depressed";
			break;
		}
	}
}


//keep the events of disabled buttons here so they can be recovered if enabled
var ButtonEvents = new Object();

function enableButton(i_pButtonHolder) {
	enableDisableButton(i_pButtonHolder, true);
}

//create mouse actions for a button
function setMouseActions(i_pButtonHolder, i_pAction, i_pValue) {
	i_pButtonHolder.onmousedown  = function () {buttonPressDownHandler(i_pButtonHolder);}
	i_pButtonHolder.onmouseover  = function () {buttonRolloverHandler(i_pButtonHolder);}
	i_pButtonHolder.onmouseout  = function () {buttonRolloutHandler(i_pButtonHolder);}
	i_pButtonHolder.onmouseup = function() {submitMainForm(i_pAction, i_pValue);}
}

function disableButton(i_pButtonHolder) {
	enableDisableButton(i_pButtonHolder, false);
}

function enableDisableButton(i_pButtonHolder, i_bEnable) {

	if(i_pButtonHolder == null) return;
	
	var cn = i_pButtonHolder.className;
	
	if(i_bEnable && cn.indexOf("disabled") < 0) return;
	if(i_bEnable == false && cn.indexOf("disabled") > 0) return;

	//handle the events first
	if(i_bEnable){
		//if disabled has any of the functions defined we should keep them as well
		//but for now skip this check. only recover functions for previously disabled buttons.
		var onmousedown = ButtonEvents[i_pButtonHolder.id + 'onmousedown'];
		var onmouseup = ButtonEvents[i_pButtonHolder.id + 'onmouseup'];
		var onmouseover = ButtonEvents[i_pButtonHolder.id + 'onmouseover'];
		var onmouseout  = ButtonEvents[i_pButtonHolder.id + 'onmouseout'];		

		if(onmousedown != undefined && onmousedown != null) 
			i_pButtonHolder.onmousedown = onmousedown;
		
			
		if(onmouseup != undefined && onmouseup != null) 
			i_pButtonHolder.onmouseup = onmouseup;
			

		if(onmouseover != undefined && onmouseover != null)
			i_pButtonHolder.onmouseover = onmouseover;
	
	
		if(onmouseout != undefined && onmouseout != null)
			i_pButtonHolder.onmouseout = onmouseout;
	}else{
	
	
		ButtonEvents[i_pButtonHolder.id + 'onmousedown'] = i_pButtonHolder.onmousedown;
		ButtonEvents[i_pButtonHolder.id + 'onmouseup'] = i_pButtonHolder.onmouseup;
		ButtonEvents[i_pButtonHolder.id + 'onmouseover'] = i_pButtonHolder.onmouseover;
		ButtonEvents[i_pButtonHolder.id + 'onmouseout'] = i_pButtonHolder.onmouseout;

		i_pButtonHolder.onmousedown = function(){}
		i_pButtonHolder.onmouseup = function(){}
		i_pButtonHolder.onmouseover = function(){}
		i_pButtonHolder.onmouseout = function(){}			
	}	
	
	//handle the classnames
//	for(var i = 0; i < nodes.length; i++){
//		var cn = nodes[i].className;
//		
//		if(i_bEnable){
//			cn = cn.replace(/-disabled/, '');
//		}else{
//			cn = cn + '-disabled';			
//		}
//		
//		nodes[i].className = cn;
//	}
	//Above code moved to new function.
	enableDisableTextInClassName(i_pButtonHolder, i_bEnable);
	
			
}

//Enable or disable a button
function enableDisableTextInClassName(i_pButtonHolder, i_bEnable) {
	var nodes = new Array(
		i_pButtonHolder,
		i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[0].childNodes[0],
		i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0],
		i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[1].childNodes[0].childNodes[0],
		i_pButtonHolder.childNodes[0].childNodes[0].childNodes[0].childNodes[2].childNodes[0]
	);
	
		//handle the classnames
		for(var i = 0; i < nodes.length; i++){
			var cn = nodes[i].className;
			
			if(i_bEnable){
				cn = cn.replace(/-disabled/, '');
			}else{
				//in case we are hovering on the button, remove that from the class name first
				cn = cn.replace(/-hover/, '');
				cn = cn + '-disabled';			
			}
			
			nodes[i].className = cn;
	}
}

function getRequest() {

	var mr=null;
	try {
		mr=new ActiveXObject("Msxml2.XMLHTTP");
	} catch(A) {
		try {
			mr=new ActiveXObject("Microsoft.XMLHTTP");
		} catch(B) {
			mr=null;
		}
	}
	if(!mr) {
		if(typeof XMLHttpRequest!="undefined") {
			mr=new XMLHttpRequest();
		}
	} 
	return mr;
}

function keepAlive( url, interval, repeat ) {
	keepAliveContainer = setInterval("hitURL( '" + url + "', '" + repeat + "')", interval);
}

function hitURL( url, repeat ) {
	
	
	if ( ( keepAliveIteration > repeat ) ){
		clearInterval( keepAliveContainer );
		return;
	}
	
	if(0 == keepAliveIteration){//dont hit the server on first call.
		keepAliveIteration += 1;
		return;
		}
	
				
	var pXMLHTTPRequest = getRequest();						
	if(pXMLHTTPRequest && pXMLHTTPRequest.readyState!=0) {						
		pXMLHTTPRequest.abort();
	}		

	pXMLHTTPRequest.open("GET", url, true);
	pXMLHTTPRequest.onreadystatechange = function() {
		if(pXMLHTTPRequest.readyState == 4 && pXMLHTTPRequest.status == 200) {			
			respHandler(pXMLHTTPRequest.responseXML);
		}
	};
	
	pXMLHTTPRequest.send(null);
	
}

function respHandler(respXML){
	
	keepAliveIteration += 1;	
	
}