// ******************************************************************************************************
// A J A X    B A S K E T     F U N C T I O N S

// ----------------------------------------------------------------------------- _AJAX_refreshBasketHeaderTotal()

function getBasketTotal() {
	var url = '/core_2/core_AJAX/EventListener.asp?getBasket=true'
	var oAJAXAddToBasket = new AjaxXMLDelegate(url, readBasketTotal);
	oAJAXAddToBasket.Fetch();
}


function readBasketTotal(url, oXML) {
	updateBasketTotal(oXML);
}


function updateBasketTotal(oXML) {
	var iBasketItemCount = oXML.getElementsByTagName('basket_totalitem_count')[0].firstChild.data;
	var iBasketTotal = oXML.getElementsByTagName('basket_price_total')[0].firstChild.data;
	var sItems = " Item";
	if (iBasketItemCount != 1) {sItems=sItems + "s"}

	var oBasketItems = getObject("oBasketItems")
	if(oBasketItems) {
		oBasketItems.innerHTML = iBasketItemCount + sItems + " ";
	}
	var oBasketPrice = getObject("oBasketPrice")
	if(oBasketPrice) {
		oBasketPrice.innerHTML = "&#163;" + parseFloat(iBasketTotal).toFixed(2)+ " ";
	}

	var oRightNavBasketItems = getObject("oRightNavBasketItems")
	if(oRightNavBasketItems) {
		oRightNavBasketItems.innerHTML = iBasketItemCount + sItems + " ";
	}
	var oRightNavBasketPrice = getObject("oRightNavBasketPrice")
	if(oRightNavBasketPrice) {
		oRightNavBasketPrice.innerHTML = "&#163;" + parseFloat(iBasketTotal).toFixed(2)+ " ";
	}
}



/* ************************************************************************************************
   GENERIC GET OBJECT
*/

function getObject(nameStr) {
	var ie  = (document.all);
	var ns4 = document.layers? true : false;
	var dom = document.getElementById && !document.all ? true : false;

	if (dom) {
	    return document.getElementById(nameStr);
	} else if (ie) {
	    return document.all[nameStr];
	} else if (ns4) {
	    return document.layers[nameStr];
	}
}


/* ************************************************************************************************
   GENERIC TRIM OBJECT
*/

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}



/* ************************************************************************************************
   BUTTON EFFECTS
*/
function mouseOverImg(oEl) {
	if (oEl.src.indexOf('_disabled.gif') == -1) {
		oEl.src = oEl.src.replace('.gif','_over.gif');
	}
}

function mouseOutImg(oEl) {
	if (oEl.src.indexOf('_disabled.gif') == -1) {
		oEl.src = oEl.src.replace('_over.gif','.gif');
	}
}

function toggleButton(oEl, iState) {
	if (parseInt(iState) == 1) {
		if (oEl.src.indexOf('_disabled.gif') > -1) {
			oEl.src = oEl.src.replace('_disabled.gif','.gif');
		}
	} else {
		if (oEl.src.indexOf('_disabled.gif') == -1) {
			oEl.src = oEl.src.replace('.gif','_disabled.gif');
		}
	}
}




/* ************************************************************************************************
   PRODUCT FUNCTIONS
*/
var sLastID = ''
var sLastStockLabel = ''


function swapImg(sPath, sEl) {
	var oEl = $(sEl);

	if (oEl.src.indexOf(sEl + 'b.jpg') > 1) {
		oEl.src = sPath + '/' + sEl + '.jpg';
	} else {
		oEl.src = sPath + '/' + sEl + 'b.jpg';
	}
}

function selectVariant(oEl, sAddTobasketBtn, sProductID, sVariantID, iSize, sColour, iPrice, sStockLabel, sBackOrderDate, iStock) {


	oAJAXBasket.hideBasket();

	if (oEl.src.indexOf('_unchecked.gif') == -1) {
		oEl.src = '/PUBLIC/IMAGES/GRID/' + sStockLabel + '_unchecked.gif';
		toggleButton(getObject(sAddTobasketBtn),0);
	} else {
		oEl.src = '/PUBLIC/IMAGES/GRID/' + sStockLabel + '_checked.gif';
		toggleButton(getObject(sAddTobasketBtn),1);
	}

	if ( (sLastID != oEl.id) && (sLastID.length > 0) ) {
		getObject(sLastID).src = '/PUBLIC/IMAGES/GRID/' + sLastStockLabel + '_unchecked.gif';
	}

	sLastID = oEl.id
	sLastStockLabel = sStockLabel

	var oForm = document.forms['frmProductGrid']

	oForm.elements['varPrice'].value = iPrice;
	oForm.elements['variantid'].value = sVariantID;
	oForm.elements['item_product_colour'].value = sColour;
	oForm.elements['item_product_size'].value = iSize;
	oForm.elements['item_backorder_date'].value = sBackOrderDate;
}

function showBackorderWarning(sMsg) {
	alert('Change to a layer message\n' + sMsg)
}

function add_basket() {
	sProd = document.forms['frmProductGrid'].elements['prod'].value;
	var oEl = getObject('buttonAdd_' + sProd)

	if (oEl.src.indexOf('_disabled.gif') == -1) {
		oAJAXBasket.positionBasket();
		oAJAXBasket.AJAX_AddtoBasket(sProd);
	} else {
		alert('Change to a layer message and allow customisation of message.\nPlease select a size and colour option from the grid above.');
	}
}




/* ************************************************************************************************
   SEARCH FUNCTIONS
*/
function searchCatalogue() {
	var reBlank = /^\s*$/;
	var oForm = document.forms['frmSearch'];

	if (reBlank.test(oForm.elements['sSearchPhrase'].value)) {
		alert("You need to enter a product code or search text.");
		oForm.elements['sSearchPhrase'].value='';
		oForm.elements['sSearchPhrase'].focus();
	} else {
		oForm.action = '/search/' + oForm.elements['sSearchPhrase'].value;
		//window.location.href = '/search/' + oForm.elements['sSearchPhrase'].value;
	}
}



/* ************************************************************************************************
   NEWSLETTER FUNCTIONS
*/
function emailSubmitCheck(oForm)
{
	var oEmail = oForm.elements['up_gi_email_address'];
	if (oEmail.value.length == 0){
		alert("Please enter your email address.")
		oEmail.focus();
		return false;
	}
	var reEmail=/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	var isEmail=reEmail.test(oEmail.value);
	if (isEmail==false){
		alert ('Sorry, you need to enter a valid email address.');
		oEmail.focus();
		return false;
	}
	//alert("Thank you! We will add your email address to our subscription list.")
}


/* ************************************************************************************************
   HierMenus V6 INIT
*/

if(window.event + "" == "undefined") event = null;
function HM_f_PopUp(){return false};
function HM_f_PopDown(){return false};


//function reguserSubmitCheck(sEmail, bOptOut1)
//{
//	if (bOptOut1 == 1)
//	{
//		alert("Thanks " +  sEmail + " - your registered email address is already on our subscription list!\n\n[To remove yourself from our subscription list, please go to your account area.]");
//		return false;
//	}
//	else
//	{
//		alert("Thank you! We will add " + sEmail + " to our subscription list.");
//	}
//}


function OpenStandardCMPopup(sCMPage){
 	var cm_win;
   	var sPage;
	sPage='/pages/cm/cm_popup.asp?sCCPage=' + sCMPage;
	cm_win = window.open(sPage,sCMPage,'location=no,scrollbars=yes,resizable=yes,width=600,height=500,left=100,top=100');
    cm_win.focus();
}