//
// common.js
//

// Author: Colin Jaggs
// Date: 6th October 2004
// Description: Common JS functions use throughout the site

// common variables
var popUpWin = false;

// close any existing popup windows
function closePopups()
{
	if (popUpWin) popUpWin.close();
}

function popUpPage(url)
{
	if (popUpWin.open) popUpWin.close();
	
	popUpWin = window.open(url, "popupwin", "width=650,height=500,scrollbars=1,toolbar=1")
}

// generic popup image function - opens a set width and height and displays the image as passed in through imagePath at the full width and height specified
function popUpImage(imagePath, width, height, windowTitle, scroll)
{
	windowTitle = windowTitle || "Fair Trade Frog";
	closePopups();
	popUpWin = window.open("", "popupwin", "width=" + width + ",height=" + height + ",left=" +( (screen.width / 2) - (width / 2)) + ",top=" + ((screen.height / 2) - (height / 2)) + ",scrollbars=" + ((scroll) ? 1 : 0));
	popUpWin.document.open();
	popUpWin.document.write("<html><head><title>" + windowTitle + "</title></head><body bottommargin=0 topmargin=0 leftmargin=0 rightmargin=0 marginwidth=0 marginheight=0><table border=0 cellspacing=0 cellpadding=0 width=100% height=100%><tr><td align=center valign=middle><img src='" + imagePath + "' alt='" + windowTitle + "'></td></tr></table></body></html>");
	popUpWin.document.close();
}

// cross browser function to find an element by id
function objectById(id)
{ 
	if (document.getElementById) return document.getElementById(id); 
	else if (document.all) return document.all[id]; 
	else if (document.layers) return document.layers[id]; 
} 

function quickSearchCatchEnter(e)
{
	if (e.keyCode == 13)
	{
		quickSearchGo();
		return false;
	}
	else return true;
}

function quickSearchGo()
{
	var url = HTTPHost + "/search-results";
	if ((document.forms[0].quickSearch.value != "") && (document.forms[0].quickSearch.value != "Keyword Search")) url += "?a=" + document.forms[0].quickSearch.value;
	location.href = url;
}


function ExhibitionSearchCatchEnter(e) {
    if (e.keyCode == 13) {
        ExhibitionSearchGo();
        return false;
    }
    else return true;
}

function ExhibitionSearchGo() {
    var url = HTTPHost + "/exhibitors/exhibitors-AtoZ";
    if ((document.forms[0].ExhibitorsSearch.value != "") && (document.forms[0].ExhibitorsSearch.value != "Keyword Search")) url += "?Text=" + document.forms[0].ExhibitorsSearch.value;
    location.href = url;
    window.scrollTo(0, 920)
}

function ClearExhibitionSearch() {
    var url = HTTPHost + "/exhibitors/exhibitors-AtoZ";
    location.href = url;
}



// textbox focus and blur events (change active css)
function focusTxt(obj) { obj.className = obj.className + " Selected"; }
function blurTxt(obj) { obj.className = obj.className.replace(" Selected", ""); }

function showCV2Help()
{
	if (objectById('checkoutCV2Help').style.display == "none") objectById('checkoutCV2Help').style.display = "";
	else objectById('checkoutCV2Help').style.display = "none";
}

// change manufacturer selection in product search
function changeManufacturer(sender)
{
	// determine url without the current attribute filter, and append the new value if one is selected
	eval("var url = baseUrl.replace(/&Manufacturer=[0-9]+/, \"\")");
	if (sender.selectedIndex > 0) url += "&Manufacturer=" + sender.options[sender.selectedIndex].value;
	location.href = url;
}

// change attribute selection in product search
function changeAttributeFilter(sender, keyName)
{
	// determine url without the current attribute filter, and append the new value if one is selected
	eval("var url = baseUrl.replace(/&P." + keyName + "=[0-9]+/, \"\")");
	if (sender.selectedIndex > 0) url += "&P." + keyName + "=" + sender.options[sender.selectedIndex].value;
	location.href = url;
}

function changeRPP(sender, defaultRPP)
{
	// determine url without the RPP selection
	eval("var url = baseUrl.replace(/&RPP=[0-9]+/, \"\")");
	if (sender.options[sender.selectedIndex].value != defaultRPP) url += "&RPP=" + sender.selectedIndex;
	location.href = url;
}

function changeSortBy(sender, defaultSort)
{
	// determine url without the sort by selection
	eval("var url = baseUrl.replace(/&Sort=[0-9]+/, \"\")");
	if (sender.options[sender.selectedIndex].value != defaultSort) url += "&Sort=" + sender.selectedIndex;
	location.href = url;
}

