
google.load("jquery", "1.3.1");

// Safely inject CSS3 and give the search results a shadow
var cssObj = 
{
	'box-shadow'			: '5px 5px 5px #000000',	// Added when CSS3 is standard
	'-webkit-box-shadow' : '5px 5px 5px #000000',	// Safari
	'-moz-box-shadow'		: '5px 5px 5px #000000'		// Firefox 3.5+
};

//------------------------------------------------------------------------------
function NewWindow(url, name, width, height, scroll)
{
	var left				= (screen.width	- width	) / 2;
	var top				= (screen.height	- height	) / 2;
	var windowProps	= "height=" + height
								+ ",width=" + width
								+ ",top=" + top
								+ ",left=" + left
								+ ",scrollbars=" + scroll
								+ ",resizable";

	top.newWin = window.open(url, name, windowProps)
} // NewWindow
//------------------------------------------------------------------------------
function ValidateContactDetails()
{
	var d					= document.frmMain;
	var objError		= null;
	var strErrorMsg	= "The following fields are required:\n\n";
	var strErrorFlds	= "";
	
	if (d.txtName.value.length == 0)
	{
		if (objError == null)
			objError = d.txtName;
		strErrorFlds += "- Name\n";
	}
	
	if (d.txtTitle.value.length == 0)
	{
		if (objError == null)
			objError = d.txtTitle;
		strErrorFlds += "- Title\n";
	}
	
	if (d.txtCompany.value.length == 0)
	{
		if (objError == null)
			objError = d.txtCompany;
		strErrorFlds += "- Company\n";
	}
	
	if (d.txtPhone.value.length == 0)
	{
		if (objError == null)
			objError = d.txtPhone;
		strErrorFlds += "- Phone\n";
	}

	if (d.txtEmail.value.length == 0)
	{
		if (objError == null)
			objError = d.txtEmail;
		strErrorFlds += "- Email\n";
	}

	if (strErrorFlds.length > 0)
	{
		alert(strErrorMsg + strErrorFlds);
		objError.focus();
		return false;
	}
	
	return true;
} // ValidateContactDetails
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
function onchange_selCountries(BaseURL, CC)
{
	var aryBaseURLParts	= BaseURL.split("/");
	var aryURLParts		= location.href.split("/");
	var numParts			= aryURLParts.length;
	var numCountryIndex	= numParts - aryBaseURLParts.length;
	
	aryURLParts[numCountryIndex]	= CC;
	aryURLParts.length				= numCountryIndex + 1;
	
	location.href = aryURLParts.join("/")+"/redir.asp";
} // onchange_selCountries
//------------------------------------------------------------------------------
function onclick_btnSubmitContactDetails()
{
	if (!ValidateContactDetails())
		return false;

	document.frmMain.PAG_Command.value = "SUBMIT_CONTACT_DETAILS";
	document.frmMain.submit();
} // onclick_btnSubmitContactDetails
//------------------------------------------------------------------------------
function onclick_JumpTo(TopMenuItemID, LeftSubMenuLinkLvl1ID, LeftSubMenuLinkLvl2ID, LeftSubMenuLinkLvl3ID, RightSubMenuLinkLvl1ID, URL)
{
	if (URL == "#")
	{
		alert("Coming soon!");
		return false;
	}

	var d = document.frmMain;
	
	d.TopMenuItemID.value				= TopMenuItemID;
	d.LeftSubMenuLinkLvl1ID.value		= LeftSubMenuLinkLvl1ID;
	d.LeftSubMenuLinkLvl2ID.value		= LeftSubMenuLinkLvl2ID;
	d.LeftSubMenuLinkLvl3ID.value		= LeftSubMenuLinkLvl3ID;
	d.RightSubMenuLinkLvl1ID.value	= RightSubMenuLinkLvl1ID;
	d.JumpToURL.value						= URL;
	d.PAG_Command.value					= "JUMPTO";

	d.submit();
} // onclick_JumpTo
//------------------------------------------------------------------------------
function onclick_lnkJumpTo(url, useNewWindow)
{
	if (url.length == 0)
		return;

	if (useNewWindow)
		NewWindow(url, "", screen.width, screen.height, "yes");
	else
		location.href = url;
} // onclick_lnkJumpTo
//------------------------------------------------------------------------------
function onclick_lnkNewWindow(URL)
{
	var screenW, screenH;
	if (screen)
	{
		screenW = screen.width; 
		screenH = screen.height;
	}
	else if (window.screen)
	{
		screenW = window.screen.width; 
		screenH = window.screen.height;
	}
	var w		= 800;
	var h		= 600;
	var numX = ((screenW - w) / 2);
	var numY	= ((screenH - h) / 2);
		
	var strFeatures = "";
	strFeatures += "width="		+ w		+ ",";
	strFeatures += "height="	+ h		+ ",";
	strFeatures += "left="		+ numX	+ ",";
	strFeatures += "top="		+ numY	+ ",";
	strFeatures += "resizable=1,";
	strFeatures += "scrollbars=1,";
	strFeatures += "status=1,";
	strFeatures += "titlebar=1,";
	strFeatures += "toolbar=1";
	
	window.open(URL, null, strFeatures); 
} // onclick_lnkNewWindow
//------------------------------------------------------------------------------
function onclick_lnkViewImage(DialogURL, ImageURL)
{
	var url = DialogURL;
	url += "?ImageURL=" + ImageURL;

	NewWindow(url, "ViewImage", 800, 600, "yes")
} // onclick_lnkViewImage
//------------------------------------------------------------------------------
function onevent_DoAjaxSearch(CallbackURL, TriggerXMLFilePath, DivNameSuffix, SearchString)
{
	if (SearchString.length == 0)
	{
		// Hide the suggestions box
		$("#divSearchSuggestions" + DivNameSuffix).fadeOut();
		$("#divTriggers").fadeIn();
	}
	else
	{
		$("#divTriggers").fadeOut();

		var blnHighlightSearchString = document.getElementById("chkHighlightSearchString").checked;

		// Do the search
		var strXML = '<Command cmd="Search" TriggerXMLFilePath="' + TriggerXMLFilePath + '" DivNameSuffix="' + DivNameSuffix + '" SearchString="' + SearchString + '" HighlightSearchString="' + blnHighlightSearchString + '"/>';
		AJAX_CallServer(CallbackURL, 'XMLIN=' + AJAX_UrlEncode(strXML), ProcessCmd_Search);
	}
} // onevent_DoAjaxSearch
//------------------------------------------------------------------------------
function onmouseover_ChangeCursor(Cursor)
{
	document.body.style.cursor = Cursor;
} // onmouseover_ChangeCursor
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
function ProcessCmd_Search(oXML)
{
	var errorNode = oXML.getElementsByTagName("error");
	if (errorNode.length > 0)
	{
		alert("ProcessCmd_Search: " + errorNode.getAttribute("desc"));
		return;
	}

	// Get the values we need
	var resultsNode			= oXML.documentElement;
	var strDivNameSuffix		= resultsNode.getAttribute("DivNameSuffix");
	
	if (isMoz || isSafari)
	{
		var strResultsTableHTML	= AJAX_SerializeXML(resultsNode);
	}
	else
	{
		var strResultsTableHTML	= resultsNode.xml;
	}
	
	// Add the shadow
	$("#divSearchResults").css(cssObj);

	// Show the suggestions box
	$("#divSearchSuggestions" + strDivNameSuffix).fadeIn();
	$("#divSearchSuggestions" + strDivNameSuffix).html(strResultsTableHTML);
} // ProcessCmd_Search
//------------------------------------------------------------------------------