// Paraspar Ajax Controls Written By Paraspar, Dev Day 2008-2010
var ajaxDirection = '';
// Generic invoke function, can be used for all ajax commands on this page.
// Based on their target, they may have different behaviour
function getScroll(obj) {
	if (document.documentElement.scrollTop == 0 || document.documentElement.scrollTop < getTop('shBsketImage') + 25) {
		return getTop('shBsketImage') + 25;
	}
	else {
		return eval(document.documentElement.scrollTop + 10);
	}
}

function invokeAJAX(url, target, positionT, delay, leftAdjust, ajaxBoxLoaded) {
	if (target == 'ajaxPRODUCTBox') {
		getMyHTMLElement('ajaxPRODUCTBox').src = 'about:blank';
		
		if (leftAdjust != '' && typeof (leftAdjust) != 'undefined') { 
			leftAdjustInt = leftAdjust / 2; 
		}
		//else { leftAdjustInt = 75 }
		
		else {
			leftAdjustInt = 0
		}
		
		if (detectBrowser()=="IE") {
			var div = getMyHTMLElement('ajaxPRODUCTBox');
			//var document.body.scrollTop = 40;
			div.style.top = ((document.documentElement.clientHeight - 410) /2) + document.documentElement.scrollTop + 'px';
			div.style.left = ((document.documentElement.clientWidth) / 2)-360 + "px";
			//document.body.appendChild(div);

		}
		
		else {
		centerObject('ajaxPRODUCTBox', 720, 410, '', getTop(positionT), leftAdjustInt, 0);
		centerObject('ajaxPRODUCTBoxShadow', 720, 410, '', getTop(positionT), leftAdjustInt, 0);
		}
		
		getMyHTMLElement('ajaxPRODUCTBox').src = '/loading.html';
		showDisplayTable('ajaxPRODUCTBoxShadow');
		showDisplayTable('ajaxPRODUCTBox');
		getMyHTMLElement('ajaxPRODUCTBox').src = url;
		//overalybox added
		showDisplayTable('overlayBoxajx');
		getMyHTMLElement('overlayBoxajx').style.width=document.body.clientWidth+ "px";
	    getMyHTMLElement('overlayBoxajx').style.height=document.body.clientHeight+ "px";
		getMyHTMLElement('overlayBoxajx').style.opacity='.5';
		getMyHTMLElement('overlayBoxajx').style.filter = 'alpha(opacity:50)';
		
		initialised = false;
	}
	
	else {
		var req;
		if (ajaxBoxLoaded == true) { parent.document.getElementById(target).innerHTML = '<div class="ajaxLoading"><img src="/images/core/ajaxloader.gif" alt="Please wait, the page is loading..."></div>'; }
		else { document.getElementById(target).innerHTML = '<div class="ajaxLoading"><img src="/images/core/ajaxloader.gif" alt="Please wait, the page is loading..."></div>'; }
		if (target == 'ajaxBASKET') {
			if (ajaxBoxLoaded == true) { centerObject('ajaxBASKET', 500, 250, 560, 100, 0, 0, ajaxBoxLoaded); }
			else { centerObject('ajaxBASKET', 500, 250, 560, 100, 0, 0, ajaxBoxLoaded); }
		}
		ajaxGET(url, target, ajaxBoxLoaded)
	}
}


function ahahDone(req, url, target, positionT, delay) {
	if (req.readyState == 4) { // only if req is "loaded"
		if (req.status == 200) { // only if "OK"
			document.getElementById(target).innerHTML = req.responseText;

			showDisplayTable(target)
			setAndExecute(getMyHTMLElement(target).innerHTML)
		} else {
			document.getElementById(target).innerHTML = "ahah error:\n" + req.statusText;
		}
	}
}


function ajaxGET(pageName, divID, ajaxBoxLoaded) {
	currentHeight = 0
	var xmlhttp = false;
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } }
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } }
	if (!xmlhttp && window.createRequest) { try { xmlhttp = window.createRequest(); } catch (e) { xmlhttp = false; } }
	xmlhttp.open("GET", pageName, true); xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2005 00:00:00 GMT");
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4) {
			if (ajaxBoxLoaded == true) {
				parent.getMyHTMLElement(divID).innerHTML = xmlhttp.responseText; parent.showDisplayTable(divID);
				if (divID == 'ajaxBASKET') {
					//Daeheon - added to same width as holder_BASKETHEADER  and position
					getMyHTMLElement('ajaxBASKET').style.left = ((document.body.offsetWidth - getMyHTMLElement('holder_BASKETHEADER').offsetWidth) / 2) + 274 + "px";
					getMyHTMLElement('ajaxBASKET').style.width = getMyHTMLElement('holder_BASKETHEADER').clientWidth + 'px';
					//
					parent.getMyHTMLElement('headerBASKETtext').innerHTML = parent.getMyHTMLElement('newBASKETsummary').innerHTML;
					parent.getMyHTMLElement('basketSummaryMenu').innerHTML = parent.getMyHTMLElement('basketSummaryMenuNew').innerHTML;
					setTimeout("parent.hideDisplayTable('ajaxBASKET')", 5000);
					if (getMyHTMLElement('addToBasketInProdDropdown1') != null) hideDisplayTable('addToBasketInProdDropdown1')
					if (getMyHTMLElement('goToBasketInProdDropdown1') != null) showDisplayTable('goToBasketInProdDropdown1')
					if (getMyHTMLElement('productAddedInProdDropdown1') != null) showDisplayTable('productAddedInProdDropdown1')
					//Javascript Error (#209706) - Alejandro Genesio - 18/11/2010
					if (getMyHTMLElement('img_add_to_basket1') != null) //For some reason the following elemnt does not exist in Gadgetee anymore
						getMyHTMLElement('img_add_to_basket1').src = '/images/buttons/add.gif'
				}
			}
			else {
				getMyHTMLElement(divID).innerHTML = xmlhttp.responseText; //showDisplayTable(divID);
				if (divID == 'captcha') { document.getElementById('submit_captcha').src = '/images/'+local_site+'/buttons/addcomment.gif'; if (jumpPage == "1") { document.getElementById('captcha_code').focus(); } }
				if (divID  != 'filterOptionsOnLeft'){ showDisplayTable(divID); }
				//Change made by Alejandro Genesio 03 June 2011 for Quick Order Form - START
				if(typeof(skuIndex) != 'undefined'){
				if (divID == 'showItemAdded'+skuIndex) {
					if(document.getElementById('img' + skuIndex)){
						document.getElementById('tdimg' + skuIndex).innerHTML = document.getElementById('img' + skuIndex).value;
					}
					if(document.getElementById('price' + skuIndex)){
						document.getElementById('tdprice' + skuIndex).innerHTML = document.getElementById('price' + skuIndex).value;
					}
				}
				}
				//Change made by Alejandro Genesio 03 June 2011 for Quick Order Form - END
				if (divID == 'ajaxCustomerComments') { hideDisplayTable('ajaxCustomerCommentsOverlay') }
		    //REM -- Links on Home Page Tabs (#277125) - Harinda Samaratunga - 09/02/2012 13:39
	            //if (divID == 'homedesc_1' || divID == 'homedesc_2' || divID == 'homedesc_3' || divID == 'homedesc_4' || divID == 'homedesc_5' || divID == 'homedesc_6') { getMyHTMLElement('productContentHomePage').innerHTML = getMyHTMLElement(divID).innerHTML; hideDisplayTable('ajaxHomeOverlay'); getMyHTMLElement('productContentHomePage').innerHTML = '<div id="homeTabslider"><ul>' + getMyHTMLElement(divID).innerHTML + '</ul></div>'; $("#homeTabslider").productSlider(); }
	            if (divID == 'homedesc_1' || divID == 'homedesc_2' || divID == 'homedesc_3' || divID == 'homedesc_4' || divID == 'homedesc_5' || divID == 'homedesc_6') { getMyHTMLElement('productContentHomePage').innerHTML = getMyHTMLElement(divID).innerHTML; hideDisplayTable('ajaxHomeOverlay'); getMyHTMLElement('productContentHomePage').innerHTML = '<div id="homeTabslider"><ul>' + getMyHTMLElement(divID).innerHTML + '</ul></div>' + '<div>' + getMyHTMLElement('homedesc_catdesc_' + divID.replace('homedesc_','')).innerHTML + '</div>'; $("#homeTabslider").productSlider(); }
	            //REM -- Links on Home Page Tabs (#277125) - Harinda Samaratunga - 09/02/2012 13:39


				if (divID == 'ajaxBASKET') {
					getMyHTMLElement('ajaxBASKET').style.left = ((document.body.offsetWidth - getMyHTMLElement('holder_BASKETHEADER').offsetWidth) / 2) + 328 + "px";
					getMyHTMLElement('ajaxBASKET').style.width = 300 + 'px';
					getMyHTMLElement('headerBASKETtext').innerHTML = getMyHTMLElement('newBASKETsummary').innerHTML;
					getMyHTMLElement('basketSummaryMenu').innerHTML = getMyHTMLElement('basketSummaryMenuNew').innerHTML;
					
					setTimeout("hideDisplayTable('ajaxBASKET')", 5000);
					if (getMyHTMLElement('addToBasketInProdDropdown1') != null) hideDisplayTable('addToBasketInProdDropdown1')
					if (getMyHTMLElement('goToBasketInProdDropdown1') != null) showDisplayTable('goToBasketInProdDropdown1')
					if (getMyHTMLElement('productAddedInProdDropdown1') != null) showDisplayTable('productAddedInProdDropdown1')
					//Javascript Error (#209706) - Alejandro Genesio - 18/11/2010
					if (getMyHTMLElement('img_add_to_basket1') != null) //For some reason the following elemnt does not exist in Gadgetee anymore
						getMyHTMLElement('img_add_to_basket1').src = '/images/buttons/add.gif'
				}
				
				if (divID == 'filterOptionsOnLeft') {
				
					showDisplayTable('productDataHeader')
					showDisplayTable('productDataFooter')
					showDisplayTable('productDataOnPage')
					showDisplayTable('productDataOnPageLeft')
					showDisplayTable('productDataOnPageRight')
				
				//alert(getMyHTMLElement('filterOptionsOnLeft').innerHTML)
				//alert(getMyHTMLElement('productDataOnPageViaAjax').innerHTML)
				
				if (getMyHTMLElement('ajaxFacetResults') != null) {
					if (getMyHTMLElement('ajaxFacetResults').innerHTML != '') {
						getMyHTMLElement('facetMiddleBlock').innerHTML = getMyHTMLElement('ajaxFacetResults').innerHTML;}	 
					}	


				
					if (ajaxDirection == 'right') {
						getMyHTMLElement('productDataOnPageLeft').innerHTML = getMyHTMLElement('productDataOnPageViaAjax').innerHTML;
						getMyHTMLElement('productDataOnPageViaAjax').innerHTML = '';
						slideListingsGo('left', 77)
						ajaxDirection = '';
						//alert('right')
					}
					else if (ajaxDirection == 'left') {
						//alert(getMyHTMLElement('productDataOnPageViaAjax').innerHTML)
						getMyHTMLElement('productDataOnPageRight').innerHTML = getMyHTMLElement('productDataOnPageViaAjax').innerHTML;
						getMyHTMLElement('productDataOnPageViaAjax').innerHTML = '';
						slideListingsGo('right', 77)
						ajaxDirection = '';
						//alert('left')
					}
					else if (ajaxDirection == '') {
						if (getMyHTMLElement('productDataOnPageViaAjax') == null) {
							// No results, so undo facet choice and message
							if (getMyHTMLElement('giftFinderDisplayUnit') == null) {
							hideDisplayTable('productDataOnPageOverlay')
							getMyHTMLElement('productDataOnPageOverlayMessage').innerHTML = getMyHTMLElement('ajaxNoResultsMessage').innerHTML;
							showPopupForFacets('productDataOnPageOverlayMessage', 300, 150)
							facetChoice(prev_facetName, prev_facetValue, prev_executeFacet)
							}
							else{
							hideDisplayTable('productDataHeader')
							hideDisplayTable('productDataFooter')
							hideDisplayTable('productDataOnPage')
							hideDisplayTable('productDataOnPageLeft')
							hideDisplayTable('productDataOnPageRight')
							hideDisplayTable('productDataOnPageOverlay')
							}
						}
						else {
							// Results exist so show them
							getMyHTMLElement('productDataOnPage').innerHTML = getMyHTMLElement('productDataOnPageViaAjax').innerHTML;
							getMyHTMLElement('productDataOnPageViaAjax').innerHTML = '';
							hideDisplayTable('productDataOnPageOverlay')
							getMyHTMLElement('productDataHeader').innerHTML = getMyHTMLElement('productDataHeaderAjax').innerHTML;
							getMyHTMLElement('productDataFooter').innerHTML = getMyHTMLElement('productDataFooterAjax').innerHTML;
							getMyHTMLElement('facetResultsOnListingsPage').innerHTML = getMyHTMLElement('facetResultsOnListingsPageAjax').innerHTML;
						}
					}
					if (getMyHTMLElement('topSectionForCategories') != null) {
						hideDisplayTable('topSectionForCategories');
					}
					if (getMyHTMLElement('topSectionForCategories2') != null) {
						hideDisplayTable('topSectionForCategories2');
					}
					if (getMyHTMLElement('normalProductsTotal') != null && getMyHTMLElement('ajaxProductsTotal') != null) {
						getMyHTMLElement('normalProductsTotal').innerHTML = '(' + getMyHTMLElement('ajaxProductsTotal').innerHTML + ')';
					}
					if (getMyHTMLElement('giftFinderDisplayUnit') != null) {
					showDisplayTable('topSectionForCategories');
					}
					
					//(getMyHTMLElement('ajaxProducts_RangeMin').innerHTML, getMyHTMLElement('ajaxProducts_RangeMax').innerHTML, getMyHTMLElement('ajaxProducts_Currency').innerHTML)
				}
			}
		}
	}
	xmlhttp.send(null)
}

function centerObject(divID, width, height, forceLeft, forceTop, adjustLeft, adjustTop, ajaxBoxLoaded) {
	// if the ajax data is in a separate document then reference the parent document
	if (ajaxBoxLoaded == true) {
		if (forceLeft != '') { parent.getMyHTMLElement(divID).style.left = forceLeft + 'px'; }
		else { parent.getMyHTMLElement(divID).style.left = (parent.document.body.offsetWidth - width) / 2 + adjustLeft + 'px'; }
		if (forceTop != '') { parent.getMyHTMLElement(divID).style.top = forceTop + 'px'; }
		else { parent.getMyHTMLElement(divID).style.top = ((parent.document.body.offsetHeight - height) / 2) + adjustTop + 'px' } //+ document.documentElement.scrollTop;}
	}
	// if the ajax data is in a same DOM object then reference the DOM
	else {
		if (forceLeft != '') { getMyHTMLElement(divID).style.left = forceLeft + 'px'; }
		else { getMyHTMLElement(divID).style.left = (parent.document.body.offsetWidth - width) / 2 + adjustLeft + 'px'; }
		if (forceTop != '') { getMyHTMLElement(divID).style.top = forceTop + 'px'; }
		else { getMyHTMLElement(divID).style.top = ((parent.document.body.offsetHeight - height) / 2) + adjustTop + 'px' } //+ document.documentElement.scrollTop;}
	}
}

function setAndExecute(divID) {
	var div = document.getElementById(divID);
	var x = div.getElementsByTagName("script");
	for (var i = 0; i < x.length; i++) {
		eval(x[i].text);
	}
}

function sendEmailAFriend() {
	var sURL = 'ajx_emailafriend.asp?pf_id=' + document.emailafriendform.pf_id.value + '&recipient_name=' + document.emailafriendform.recipient_name.value + '&recipient_email=' + document.emailafriendform.recipient_email.value + '&sender_name=' + document.emailafriendform.sender_name.value + '&sender_email=' + document.emailafriendform.sender_email.value + '&email_message=' + document.emailafriendform.email_message.value
	previousContentEmail = getMyHTMLElement('emailAfriendTEXT').innerHTML
	invokeAJAX(sURL, 'emailAfriendTEXT', '', '', '', '', false)
}




/*function sendEmailYourWishlist() {
	var newEmailBody = checkBreakLines(document.emailaYourWishlist.email_message);
	var sURL = 'ajx_emailafriend.asp?pf_id=' + document.emailaYourWishlist.pf_id.value + '&recipient_name=' + document.emailaYourWishlist.recipient_name.value + '&recipient_email=' + document.emailaYourWishlist.recipient_email.value + '&sender_name=' + document.emailaYourWishlist.sender_name.value + '&sender_email=' + document.emailaYourWishlist.sender_email.value + '&email_message=' + newEmailBody + '&fromwishlist=1&wishlistlink=' + document.emailaYourWishlist.wishlistlink.value;
	previousContentEmail2 = getMyHTMLElement('emailYourWishlistTEXT').innerHTML
	previousContentEmail = '';
	invokeAJAX(sURL, 'emailYourWishlistTEXT', '', '', '', '', false)
}*/

function sendEmailYourWishlist() {

   // alert('kjfslkdjfslkjfsd' + document.emailaYourWishlist.recipient_email.value);

    var newEmailBody = checkBreakLines(document.emailaYourWishlist.email_message);
    var sURL = 'ajx_emailWishlist.asp?recipient_email=' + document.emailaYourWishlist.recipient_email.value + '&sender_name=' + document.emailaYourWishlist.sender_name.value + '&sender_email=' + document.emailaYourWishlist.sender_email.value + '&email_message=' + document.emailaYourWishlist.email_message.value;

   // alert(sURL);
    
    previousContentEmail = getMyHTMLElement('emailYourWishlistTEXT').innerHTML
    invokeAJAX(sURL, 'emailYourWishlistTEXT', '', '', '', '', false)
}


function ajaxEmailWishlistBack() {
    if (typeof (previousContentEmail) != 'undefined') {        
        if (previousContentEmail != '') {
            getMyHTMLElement('emailYourWishlistTEXT').innerHTML = previousContentEmail;
        }      
        document.getElementById('recipient_email').value = '';
    }
}


function checkBreakLines(campo) {
	var sel = campo.value;
	var fin = '';
	while (sel.substring(sel.length - 1, sel.length) == ' ') {
		sel = sel.substring(0, sel.length - 1);
		fin += ' ';
	}
	return sel.replace(new RegExp('\\n', 'g'), '|new_line|') + fin;
}
function ajaxEmailAFriendBack() {
	if (typeof (previousContentEmail) != 'undefined') {
		if (previousContentEmail != '') {
			getMyHTMLElement('emailAfriendTEXT').innerHTML = previousContentEmail;
		}
		if (previousContentEmail2 != '') {
			getMyHTMLElement('emailYourWishlistTEXT').innerHTML = previousContentEmail2;
		}
		document.getElementById('recipient_name').value = '';
		document.getElementById('recipient_email').value = '';
	}
}

var currentSearchAutoCompleteSelection = 0;
var currentSearchAutoCompletePhrase = "";

function checkKeyAndActOnIt(e) {
	var key;
	if (window.event) {
		key = window.event.keyCode;     //IE
	}
	else {
		key = e.which;     //firefox
	}
	// Only attempt selection if results exist:
	if (getMyHTMLElement('SearchDrop').childNodes.length > 0) {
		if (getMyHTMLElement('SearchDrop').childNodes[0].childNodes.length > 0) {
			// If customer presses the down arrow then act on this.
			if (key == 40) {
				// If there is nothing selected, then select the first node
				if (currentSearchAutoCompleteSelection <= 0) {
					// If the selected node is the header, determined by it's class, then skip it.
					if (getMyHTMLElement('SearchDrop').childNodes[0].childNodes[0].className == "header") {
						getMyHTMLElement('SearchDrop').childNodes[0].childNodes[1].className = "selected_search";
						currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection + 2;
					}
					else {
						getMyHTMLElement('SearchDrop').childNodes[0].childNodes[0].className = "selected_search";
						currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection + 1;
					}
				}
				// If there is something selected then select the next one
				else {
					if (getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection].className == "header") {
						getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection - 1].className = ""
						getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection + 1].className = "selected_search";
						currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection + 2;
					}
					else {
						if (currentSearchAutoCompleteSelection < getMyHTMLElement('SearchDrop').childNodes[0].childNodes.length) {
							getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection - 1].className = ""
							getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection].className = "selected_search"
							currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection + 1;
						}
					}
				}
			}
			// If the customer presses an up arrow, then act on this.
			else if (key == 38) {
				if (currentSearchAutoCompleteSelection > 1) {
					currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection - 1;
					if (getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection - 1].className == "header") {
						getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection].className = ""
						if (currentSearchAutoCompleteSelection != 1) {
							getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection - 2].className = "selected_search"
						}
						currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection - 1;
					}
					else {
						getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection].className = ""
						getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection - 1].className = "selected_search"
					}
				}
			}
			// If the customer presses the enter key. act on this.
			else if (key == 13) {
				if (currentSearchAutoCompleteSelection > 0) {
					getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection - 1].onclick();
				}
			}
			else {
				clearSearchDrop()
				currentSearchAutoCompleteSelection = 0
			}
		}
	}
}

function clearSearchDrop() {
	if (currentSearchAutoCompleteSelection > 0) {
		getMyHTMLElement('SearchDrop').childNodes[0].childNodes[currentSearchAutoCompleteSelection - 1].className = "";
		currentSearchAutoCompleteSelection = 0
	}
}

//THIS FUNCTION CREATED FOR SEARCH DROPDWON USE ONLY - Daeheon Kim - 29/10/2009//
function SearchDropTable(tableToShow, position, leftPos, topPos, leftAdj, topAdj, e) {

	if (currentSearchAutoCompletePhrase != getMyHTMLElement('searchINPUT').value) {

		ajaxGET('/ajx_search.asp?site=' + getMyHTMLElement('searchINPUTsite').value + '&searchterm=' + getMyHTMLElement('searchINPUT').value, 'SearchDrop', false)

		if (everythingLoaded == true) {
			if (detectBrowser() == "IE") {
				topAdj = topAdj;
				var lyr = getMyHTMLElement(tableToShow);
				lyr.style.right = (document.body.offsetWidth / 2) - 408 + "px";
				lyr.style.top = 87 + "px";
				showDisplayTable(tableToShow)
			}
			else {
				var lyr = getMyHTMLElement(tableToShow);
				lyr.style.left = (getLeft(position) + leftAdj-3) + "px";
				lyr.style.top = (getTop(position) + topAdj) + "px";
				showDisplayTable(tableToShow)
			}

		}
		else {
			var lyr = getMyHTMLElement(tableToShow);
			lyr.style.left = (getLeft(position) + leftAdj) + "px";
			lyr.style.top = (getTop(position) + topAdj) + "px";
			showDisplayTable(tableToShow)
		}

		currentSearchAutoCompletePhrase = getMyHTMLElement('searchINPUT').value
		currentSearchAutoCompleteSelection = 0
	}
	checkKeyAndActOnIt(e)

}
//THIS FUNCTION CREATED FOR SEARCH DROPDWON USE ONLY - Daeheon Kim - 29/10/2009 -- ends//

function changeReviewsOrder(url) {
	ajaxGET(url, 'ajaxCustomerComments', false);
}

// Validates form fields immediately
function ajaxValidate(fieldname, rule1, rule2) {
	switch (rule1 + ',' + rule2) {
		case "REGISTRATION,FIRSTNAME": checkQualifier(fieldname, 1, 35, "text"); break;
		case "REGISTRATION,SURNAME": checkQualifier(fieldname, 1, 35, "text"); break;
		case "REGISTRATION,EMAIL": checkQualifier(fieldname, 6, 50, "email"); break;
		case "REGISTRATION,PHONE": checkQualifier(fieldname, 8, 15, "phone"); break;
		case "REGISTRATION,MOBILE": checkQualifier(fieldname, 0, 15, "phone"); break;
		//default:ajaxGET('/ajx_validate.asp?data=' + getMyHTMLElement(fieldname).value + '&rule1=' + rule1 + '&rule2=' + rule2,fieldname + '_icon',false); 
	}
}

function checkQualifier(fieldname, min, max, rule) {
	var finalValidation = true
	fieldnameLength = (getMyHTMLElement(fieldname).value).length
	if (fieldnameLength < min || fieldnameLength > max) { finalValidation = false; }
	if (rule == 'email') {
		if (getMyHTMLElement(fieldname).value.indexOf('@') == -1) { finalValidation = false; }
		if (getMyHTMLElement(fieldname).value.indexOf('.') == -1) { finalValidation = false; }
	}
	if (rule == 'phone') {
		checkValue = getMyHTMLElement(fieldname).value
		checkValue
	}
	//Return a tick or cross
	if (finalValidation == true) {
		//getMyHTMLElement(fieldname + '_icon').innerHTML = '<img src="/images/buttons/tick_yes.jpg">'
	}
	else {
		//getMyHTMLElement(fieldname + '_icon').innerHTML = '<img src="/images/buttons/tick_no.jpg">'
	}

}

// REM -- New function added by DD based on DM code for images
function slideListingsGo(direction, amount) {
	currentContainerValue = parseInt(getMyHTMLElement('productDataOnPageContainer').style.marginLeft);
	if (direction == 'left') {
		if (currentContainerValue <= -50) {
			getMyHTMLElement('productDataOnPageContainer').style.marginLeft = currentContainerValue + amount + 'px'
			slideListingsGoTimeout = setTimeout("slideListingsGo('" + direction + "',77)", 15);
		}
		else {
			getMyHTMLElement('productDataOnPage').innerHTML = getMyHTMLElement('productDataOnPageLeft').innerHTML;
			getMyHTMLElement('productDataOnPageContainer').style.marginLeft = '-770px';
			getMyHTMLElement('productDataHeader').innerHTML = getMyHTMLElement('productDataHeaderAjax').innerHTML;
			getMyHTMLElement('productDataFooter').innerHTML = getMyHTMLElement('productDataFooterAjax').innerHTML;
			getMyHTMLElement('facetResultsOnListingsPage').innerHTML = getMyHTMLElement('facetResultsOnListingsPageAjax').innerHTML;
			getMyHTMLElement('facetResultsOnListingsPageAjax').innerHTML = '';
			hideDisplayTable('productDataOnPageOverlay')
			//clearTimeout(slideListingsGoTimeout)
		}
	}
	if (direction == 'right') {
		//alert(currentContainerValue)
		//alert(currentContainerValue + " -- " + direction)
		if (currentContainerValue >= -1540) {
			getMyHTMLElement('productDataOnPageContainer').style.marginLeft = currentContainerValue + (amount * -1) + 'px'
			slideListingsGoTimeout = setTimeout("slideListingsGo('" + direction + "',77)", 15);
		}
		else {
			getMyHTMLElement('productDataOnPage').innerHTML = getMyHTMLElement('productDataOnPageRight').innerHTML;
			getMyHTMLElement('productDataOnPageContainer').style.marginLeft = '-770px';
			getMyHTMLElement('productDataHeader').innerHTML = getMyHTMLElement('productDataHeaderAjax').innerHTML;
			getMyHTMLElement('productDataFooter').innerHTML = getMyHTMLElement('productDataFooterAjax').innerHTML;
			getMyHTMLElement('facetResultsOnListingsPage').innerHTML = getMyHTMLElement('facetResultsOnListingsPageAjax').innerHTML;
			getMyHTMLElement('facetResultsOnListingsPageAjax').innerHTML = '';
			hideDisplayTable('productDataOnPageOverlay')
			//clearTimeout(slideListingsGoTimeout)
		}
	}
}

function showPopupForFacets(divTag, width, height) {

	//set size
	getMyHTMLElement(divTag).style.width = width + 'px';
	getMyHTMLElement(divTag).style.height = height + 'px';

	//set position
	getMyHTMLElement(divTag).style.left = ((document.documentElement.clientWidth - width) / 2) + 75 + 'px';
	getMyHTMLElement(divTag).style.top = ((document.documentElement.clientHeight - height) / 2) + document.documentElement.scrollTop + 'px';

	showPopup(divTag)
}

//Post code International functions.
var oPAFAJAX;
var oPAFAJAX_Del;
function InitPAFCall() {
	var sCountry;
	if (getMyHTMLElement("Country") != null)
	{ sCountry = getMyHTMLElement("Country").value; }

	if (getMyHTMLElement("IDCountry") != null)
	{ sCountry = getMyHTMLElement("IDCountry").value; }
	sCountry = sCountry.substr(0, sCountry.indexOf("|", 0));
	releasePAFAjax();
	InvokePAFAjax(sCountry);
}

function InitPAFCall_Del() {
	var sCountry;
	if (getMyHTMLElement("del_Country") != null)
	{ sCountry = getMyHTMLElement("del_Country").value; }

	sCountry = sCountry.substr(0, sCountry.indexOf("|", 0));
	releasePAFAjax_del();
	InvokePAFAjax_Del(sCountry);
}

function InvokePAFAjax(sCountry) {
	//resetAddressfields();
	if (sCountry == 'UK') {
		oPAFAJAX = new PCAInternationalAutoComplete(sCountry, "ENG", getMyHTMLElement("ajax_postcode"), getMyHTMLElement("address1"), retrievePAFDetails);
		oPAFAJAX.UseRoyalMailPremiseData = true;
	}
}

function InvokePAFAjax_Del(sCountry) {
	//resetAddressfields_del();
	if (sCountry == 'UK') {
		oPAFAJAX_Del = new PCAInternationalAutoComplete(sCountry, "ENG", getMyHTMLElement("del_ajax_postcode"), getMyHTMLElement("del_address1"), retrievePAFDetails_del);
		oPAFAJAX_Del.UseRoyalMailPremiseData = true;
	}
}

function releasePAFAjax() {
	if (typeof (oPAFAJAX) == "object") {
		//resetAddressfields();
		oPAFAJAX.UseRoyalMailPremiseData = false;
		oPAFAJAX = '';
	}
}

function releasePAFAjax_del() {
	if (typeof (oPAFAJAX_Del) == "object") {
		//resetAddressfields_del();
		oPAFAJAX_Del.UseRoyalMailPremiseData = false;
		oPAFAJAX_Del = '';
	}
}

function resetAddressfields() {
	getMyHTMLElement("ajax_postcode").value = '';
	getMyHTMLElement("address1").value = '';
	getMyHTMLElement("address2").value = '';
	getMyHTMLElement("address4").value = '';
	getMyHTMLElement("address5").value = '';
	getMyHTMLElement("postcode").value = '';
	//getMyHTMLElement("PAFAjax_proc").style.display = 'none';
}

function resetAddressfields_del() {
	getMyHTMLElement("del_ajax_postcode").value = '';
	getMyHTMLElement("del_address1").value = '';
	getMyHTMLElement("del_address2").value = '';
	getMyHTMLElement("del_address4").value = '';
	getMyHTMLElement("del_address5").value = '';
	getMyHTMLElement("del_postcode").value = '';
	//getMyHTMLElement("PAFAjax_proc").style.display = 'none';
}

function MakeaCopy() {
	var ajax_postcode = getMyHTMLElement("ajax_postcode");
	getMyHTMLElement("ajax_postcode").value = ajax_postcode.value.toUpperCase();
	getMyHTMLElement("postcode").value = ajax_postcode.value.toUpperCase();
	/*if (ajax_postcode.value != '' && ajax_postcode.value.length > 4) {							            
	getMyHTMLElement("PAFAjax_proc").style.display = '';
	}
	else { getMyHTMLElement("PAFAjax_proc").style.display = 'none'; }*/
}

function MakeaCopy_del() {
	var del_ajax_postcode = getMyHTMLElement("del_ajax_postcode");
	getMyHTMLElement("del_ajax_postcode").value = del_ajax_postcode.value.toUpperCase();
	getMyHTMLElement("del_postcode").value = del_ajax_postcode.value.toUpperCase();
}

function retrievePAFDetails() {

	var sFirstLine;
	var sSecondLine;

	//Do something with the address
	if (oPAFAJAX.Company != 'undefined') { sFirstLine = oPAFAJAX.Company; } else { sFirstLine = ''; }

	if (sFirstLine != '') {
		getMyHTMLElement("address1").value = sFirstLine;
		if (oPAFAJAX.Line1 != 'undefined') { sSecondLine = oPAFAJAX.Line1 + ', '; } else { sSecondLine = '' }
		if (oPAFAJAX.Line2 != 'undefined') { sSecondLine = sSecondLine + oPAFAJAX.Line2; } else { }
		getMyHTMLElement("address2").value = sSecondLine;
	}
	else {
		if (oPAFAJAX.Line1 != 'undefined') { getMyHTMLElement("address1").value = oPAFAJAX.Line1; } else { getMyHTMLElement("address1").value = '' }
		if (oPAFAJAX.Line2 != 'undefined') { getMyHTMLElement("address2").value = oPAFAJAX.Line2; } else { getMyHTMLElement("address2").value = '' }
	}

	if (oPAFAJAX.City != 'undefined') { getMyHTMLElement("address4").value = oPAFAJAX.City; } else { getMyHTMLElement("address4").value = '' }
	if (oPAFAJAX.State != 'undefined') { getMyHTMLElement("address5").value = oPAFAJAX.State; } else { getMyHTMLElement("address5").value = '' }
	var sPageName = window.location.href;

	if (sPageName.indexOf("yourdetails", 1) > 0) {
		if (getMyHTMLElement("ajax_postcode") != null) { getMyHTMLElement("address1").focus(); }
	}

	if (sPageName.indexOf("yourdetails", 1) > 0) {
		if (getMyHTMLElement("address1") != null) { getMyHTMLElement("address5").focus(); }
	}

	if (sPageName.indexOf("contact_request", 1) > 0) { getMyHTMLElement("email").focus(); }
	if (sPageName.indexOf("delivery", 1) > 0) { getMyHTMLElement("phone").focus(); }
	if (sPageName.indexOf("address_wizard", 1) > 0) { getMyHTMLElement("address5").focus(); }

	//getMyHTMLElement("postcode").value = ajax_postcode.value;    
	//getMyHTMLElement("PAFAjax_proc").style.display = 'none';    
	//document.write (objFinder.postcode);
	//document.write (objFinder.CountryName);
	//document.write (objFinder.Label);
	//document.write (objFinder.Line1);
	//document.write (objFinder.Line2);

	/*Building Buiding name or number 
	Street Street / road etc. 
	Locality Locality / district 
	City City or town name 
	State The state / province etc. 
	Postcode The postcode entered 
	CountryName The name of the country 
	Label The fully formatted mailing label 
	Line1 The first (premise) line of the address 
	Line2 The second (premise) line of the address 
        
	.addressform The container for the address form 
	.addressform .field The text boxes + drop downs on the form 
	.addressform .label The labels to the left of the text boxes 
	.autocomplete The container for the autocomplete box (which appears below the street field) 
	.autocomplete A The text inside the autocomplete box - the street name is in BOLD by default. 
	.autocomplete .item The box that holds each item in the autocomplete box. This is the style that's used by default. 
	.autocomplete .itemhover The box that holds each item in the autocomplete box when the moves moves over it, used for highlighting the item. 
        
	.autocomplete .lastitem The style used by the last item in the autocomplete box. 
	*/

}

function retrievePAFDetails_del() {

	var sFirstLine;
	var sSecondLine;

	//Do something with the address
	if (oPAFAJAX_Del.Company != 'undefined') { sFirstLine = oPAFAJAX_Del.Company; } else { sFirstLine = ''; }

	if (sFirstLine != '') {
		getMyHTMLElement("del_address1").value = sFirstLine;
		if (oPAFAJAX_Del.Line1 != 'undefined') { sSecondLine = oPAFAJAX_Del.Line1 + ', '; } else { sSecondLine = '' }
		if (oPAFAJAX_Del.Line2 != 'undefined') { sSecondLine = sSecondLine + oPAFAJAX_Del.Line2; } else { }
		getMyHTMLElement("del_address2").value = sSecondLine;
	}
	else {
		if (oPAFAJAX_Del.Line1 != 'undefined') { getMyHTMLElement("del_address1").value = oPAFAJAX_Del.Line1; } else { getMyHTMLElement("del_address1").value = '' }
		if (oPAFAJAX_Del.Line2 != 'undefined') { getMyHTMLElement("del_address2").value = oPAFAJAX_Del.Line2; } else { getMyHTMLElement("del_address2").value = '' }
	}

	if (oPAFAJAX_Del.City != 'undefined') { getMyHTMLElement("del_address4").value = oPAFAJAX_Del.City; } else { getMyHTMLElement("del_address4").value = '' }
	if (oPAFAJAX_Del.State != 'undefined') { getMyHTMLElement("del_address5").value = oPAFAJAX_Del.State; } else { getMyHTMLElement("del_address5").value = '' }
	//if (getMyHTMLElement("del_ajax_postcode") != null) { getMyHTMLElement("btnSubmitHolder").focus(); }

	var sPageName = window.location.href;
	if (sPageName.indexOf("yourdetails", 1) > 0) {
		if (getMyHTMLElement("del_ajax_postcode") != null) { getMyHTMLElement("del_address1").focus(); }
	}

	if (sPageName.indexOf("yourdetails", 1) > 0) {
		if (getMyHTMLElement("del_address1") != null) { getMyHTMLElement("del_address5").focus(); }
	}

	if (sPageName.indexOf("contact_request", 1) > 0) { getMyHTMLElement("email").focus(); }
	if (sPageName.indexOf("delivery", 1) > 0) { getMyHTMLElement("phone").focus(); }
}

function reFocus_paf(event) {
	if ((event && event.which && event.which == 13) | event.keyCode == 13) {
		if (getMyHTMLElement('ajax_postcode').value != '') {
			getMyHTMLElement('address1').focus();
		}
	}; return false;
}

function reFocus_paf_del(event) {
	if ((event && event.which && event.which == 13) | event.keyCode == 13) {
		if (getMyHTMLElement('del_ajax_postcode').value != '') {
			getMyHTMLElement('del_address1').focus();
		}
	}; return false;
}

function submitForm(e) {
	if ((e && e.which && e.which == 13) | e.keyCode == 13) {
		var srcEl = e.srcElement ? e.srcElement : e.target;
		if (srcEl.id != 'ajax_postcode' && srcEl.id != 'del_ajax_postcode' && srcEl.id != '' && srcEl.id != 'Country' && srcEl.id != 'del_Country' && srcEl.id != 'IDCountry') {
			var sPageName = window.location.href;
			if (sPageName.indexOf("delivery", 1) > 0) {
				goToPayment(2);
				// document.deliveryform.submit();
			}
			else if (sPageName.indexOf("yourdetails", 1) > 0) {
				document.shopperform.submit();
			}
			else {
				document.catform.submit();
			}
		}
		else if (detectBrowser() == "IE" && srcEl.id != 'Country' && srcEl.id != 'del_Country' && srcEl.id != '' && srcEl.id != 'IDCountry') {//For IE

			e.cancelBubble = true;
			e.returnValue = false;
		}
		else {

			if (srcEl.id != '') {//For Firefox and Chrome    
				if (e.preventDefault) e.preventDefault();
				if (e.stopPropagation) e.stopPropagation();
			}
		}
	}
}

function setSlider(minVal,maxVal,minFilter,maxFilter,currency) {

    $("#slider-range").slider({
        range: true,
        min: minVal,
        max: maxVal,
        step: 50,
        values: [minFilter, maxFilter],
        slide: function(event, ui) {
            $("#filter_price_new").val(ui.values[0] + "-" + ui.values[1]);
            getMyHTMLElement('slider-range_min').innerHTML = currency + formatPriceForFacet(ui.values[0]);
            getMyHTMLElement('slider-range_max').innerHTML = currency + formatPriceForFacet(ui.values[1]);
            getMyHTMLElement('normalProductsTotal').innerHTML = ''
        },
        stop: function(event, ui) {
            facetChoice('filter_price', getMyHTMLElement('filter_price_new').value, true);
        }
    });
    $("#filter_price_new").val($("#slider-range").slider("values", 0) +
			"-" + $("#slider-range").slider("values", 1));
			getMyHTMLElement('slider-range_min').innerHTML = currency + formatPriceForFacet($("#slider-range").slider("values", 0));
            getMyHTMLElement('slider-range_max').innerHTML = currency + formatPriceForFacet($("#slider-range").slider("values", 1));

}

function refreshSlider(minFilter,maxFilter,currency) {
$("#slider-range").slider({
        values: [minFilter, maxFilter]
        });
		getMyHTMLElement('slider-range_min').innerHTML = currency + formatPriceForFacet($("#slider-range").slider("values", 0));
        getMyHTMLElement('slider-range_max').innerHTML = currency + formatPriceForFacet($("#slider-range").slider("values", 1));

}

function formatPriceForFacet(value){
    return (value/100).toFixed(2);
}
