function WindowConfirmBox(confirmMsg)
{
    // Provides a window confirm message box.
    if (window.confirm(confirmMsg))
    {
        return true;
    }
    return false;
}

/**************************************************************
    Only allows numbers to be entered.
***************************************************************/
function NumberOnlyOnKeyPressUp(evt)
{
    evt = (evt) ? evt : ((window.event) ? event : null);
    
    if (evt)
    {   
        var iKeyCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
        var strKey = String.fromCharCode(iKeyCode);

        // RegEx to check against.
        var reValidChars = /([0-9])/;

        // RegEx of valid key e.g delete button and enter key.
        var reKeyboardChars = /[\x00\x03\x08\x0D\x16\x18\x1A\x09]/;

        // If it doesn't meet expression stop the key been enabled.
        if ((!reValidChars.test(strKey)) && (!reKeyboardChars.test(strKey)))
        {
            return false;
        }
        return true;
    }
    return false;
}

/**************************************************************
    Checks for an empty space or white space.
***************************************************************/
function isNotEmpty(strInput)
{
	var trim = strInput.replace(/\s*([^\n])\s*/,"$1");
	
	if (trim == '' || trim == ' ')
	{
		return false;
	}
	else
	{
		return true;
	}
}

/***********************************************
    Checks to see whether the value is numeric.
************************************************/
function isNumeric(num)
{
	var chkStr = '0123456789';
	var ok = true;
	
	for (var i = 0; i < num.length; i++)
	{
		if(chkStr.indexOf(num.charAt(i)) == -1)
		{
		    ok = false;
		    break;
		}    
	}
	
	return ok;
}

/***************************************************
    Checks to see whether the email is valid.
****************************************************/
function isValidEmail(strInput)
{
	var regEx = /^([a-zA-Z0-9_\-])+(\.([a-zA-Z0-9_\-])+)*@((\[(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))$/;
	if  (regEx.test(strInput))
	{
		return true;
	}
	else
	{
		return false;
	}
}

/***************************************************
    Creates the start text for the error summary.
****************************************************/
function generateErrorStartText()
{
    var strErrorText = '<p>Please correct the following errors:</p><ul>'
    
    return strErrorText;
}

/***************************************************
    Creates the end text for the error summary.
****************************************************/
function generateErrorEndText()
{
    var strErrorText = '</ul>'
    
    return strErrorText;
}

/***************************************************
    Resets the form and error summary.
****************************************************/
function resetFormAndErrorSummaryGeneric()
{
    document.frmMain2.reset();
    
    var divErrorSummary = document.getElementById('errorSummary');
    
    if (divErrorSummary != null)
    {
        divErrorSummary.style.display = 'none';
    }
}

/***************************************************
    Javascript navigation for posting to next page.
****************************************************/
function navigatePage(pageType, url)
{
    // Set the form action.
    var frm = document.getElementById("frmMain2");
    
    // Submit to the selected page.
    frm.action = url;
    frm.submit();
}


/**************************************************
    Javascript function to change page.
**************************************************/
function DCUKPaging(page)
{
    var frm = document.getElementById('frmMain2');
	if(page != null)
	{
		frm.PageNo.value = page;
		frm.submit();
	}
	else
	{
		var cboPageNo = frm.cboPaging.value;
		frm.PageNo.value = cboPageNo;
		frm.submit();
	}
}

/****************************************************
	Javascript function to add specific size cart.
****************************************************/
function DCUKAddToCart()
{
	var size = document.getElementById('cboDCUKSizes').value;
	
	if (size != '-1')
	{
	    window.location.href = 'shopaddtocart.asp?catalogid=' + size + '&quantity=1';
	}
	else
	{
	    alert('Please select the size you wish to add to cart.');
	}
}

/*******************************************************
	Javascript function to filter specific brand types.
********************************************************/
function DCUKBrandTypeFilter(filterType)
{
    var frm = document.getElementById('frmMain2');
	if(filterType != null)
	{
		frm.PageFilter.value = filterType;
		frm.PageNo.value = 1;
		frm.submit();
	}
	else
	{
		var cboBrandFilter = frm.cboBrandFilter.value;
		frm.PageFilter.value = cboBrandFilter;
		frm.PageNo.value = 1;
		frm.submit();
	}
}

/*******************************************************
	Javascript function to filter specific sizes on product page.
********************************************************/
function DCUKBrandSizeFilter(filterType)
{
    var frm = document.getElementById('frmMain2');
	if(filterType != null)
	{
		frm.SizeFilter.value = filterType;
		frm.PageNo.value = 1;
		frm.submit();
	}
	else
	{
		var cboBrandFilter = frm.cboBrandFilter.value;
		frm.SizeFilter.value = cboBrandFilter;
		frm.PageNo.value = 1;
		frm.submit();
	}
}

/*******************************************************
	Javascript function to filter prices on product page.
********************************************************/
function DCUKBrandPriceFilter(filterType)
{
    var frm = document.getElementById('frmMain2');
	if(filterType != null)
	{
		frm.PriceFilter.value = filterType;
		frm.PageNo.value = 1;
		frm.submit();
	}
	else
	{
		var cboBrandFilter = frm.cboBrandFilter.value;
		frm.PriceFilter.value = cboBrandFilter;
		frm.PageNo.value = 1;
		frm.submit();
	}
}

/*******************************************************
	Javascript function to sort products on product page.
********************************************************/
function DCUKBrandSortFilter(filterType)
{
    var frm = document.getElementById('frmMain2');
	if(filterType != null)
	{
		frm.SortFilter.value = filterType;
		frm.PageNo.value = 1;
		frm.submit();
	}
	else
	{
		var cboBrandFilter = frm.cboBrandFilter.value;
		frm.SortFilter.value = cboBrandFilter;
		frm.PageNo.value = 1;
		frm.submit();
	}
}


/*******************************************************
	Javascript function to filter specific brand types.
********************************************************/
function DCUKBrandFilter(filterType, brandName)
{
    var frm = document.getElementById('frmMain2');
    frm.action = 'display-brands-products.asp?brand=' + brandName;
    
	frm.PageNo.value = 1;
	frm.PageFilter.value = filterType;
	frm.submit();
}

function DCUKBrandImage(brandName)
{
	document.write("Hello")
}
