// Paraspar Ajax Controls Written By Paraspar, Dev Day 2008-2010
var ajaxDirection = '';
var previousContentEmail = '';
// 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) {
	//alert(obj);
	if (document.documentElement.scrollTop == 0 || document.documentElement.scrollTop < getTop(obj)+48 ) {
		return getTop(obj)+48;
		//25 change to 48 to be equal to height of main red bar.
	}
	else { 
		return eval(document.documentElement.scrollTop + 150);
		// 10 changed to 0 so that it starts at top of screen because there is no top border/image on the box
	}	
}

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}
    centerObject('ajaxPRODUCTBox',500,250,'',getTop(positionT),leftAdjustInt,0);
    centerObject('ajaxPRODUCTBoxShadow',500,250,'',getTop(positionT),leftAdjustInt,0);
    getMyHTMLElement('ajaxPRODUCTBox').src = '/loading.html';
    showDisplayTable('ajaxPRODUCTBoxShadow')
    showDisplayTable('ajaxPRODUCTBox')
    getMyHTMLElement('ajaxPRODUCTBox').src = url;
	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,parent.getLeft(positionT),parent.getScroll(positionT),0,0,ajaxBoxLoaded);}
        else{centerObject('ajaxBASKET',500,250,getLeft(positionT),getScroll(positionT),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){
    pageName = replaceString(pageName,'&amp;','&')
    currentHeight = 0
    var xmlhttp=false;
    
    try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} 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) {
    		//alert(ajaxBoxLoaded);
    		if (ajaxBoxLoaded == true) {
    			parent.getMyHTMLElement(divID).innerHTML = xmlhttp.responseText; 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);
    				//hideDisplayTable('addToBasketInProdDropdown1')
    				//showDisplayTable('goToBasketInProdDropdown1')
    				///showDisplayTable('productAddedInProdDropdown1')
    				getMyHTMLElement('img_add_to_basket1').src = '/images/buttons/add.gif'
    			}
    		}
    		else {
    			getMyHTMLElement(divID).innerHTML = xmlhttp.responseText;
    			if (divID == 'ajaxEditorial') {
    				SetCentrePosition(document.getElementById(divID).offsetWidth, document.getElementById(divID).offsetHeight, divID);
    				getMyHTMLElement(divID).style.visibility = 'visible';
    			}
    			showDisplayTable(divID);
    		}
    	}
    }
    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 ajaxEmailAFriendBack(){
   if (previousContentEmail !=''){
    getMyHTMLElement('emailAfriendTEXT').innerHTML = previousContentEmail 
    }
}

//THIS FUNCTION CREATED FOR SEARCH DROPDWON USE ONLY - Daeheon Kim - 29/10/2009//

var currentSearchAutoCompleteSelection = 0;
var currentSearchAutoCompletePhrase = ""; 

function checkKeyAndActOnIt(key){

    // Only attempt selection if results exist:
    if (getMyHTMLElement('SearchDropBg') != null){
    if (getMyHTMLElement('SearchDropBg').childNodes.length > 0){
        if (getMyHTMLElement('SearchDropBg').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('SearchDropBg').childNodes[0].childNodes[0].className == "header"){
                        getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[1].className = "selected_search";
                        currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection + 2;
                    }
                    else{
                        getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[0].className = "selected_search";
                        currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection + 1;
                    }
                }
                // If there is something selected then select the next one
                else {
                    if (getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection].className == "header"){
                        getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection-1].className = ""
                        getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection+1].className = "selected_search";
                        currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection + 2;
                    }
                    else{
                    if (currentSearchAutoCompleteSelection < getMyHTMLElement('SearchDropBg').childNodes[0].childNodes.length){
                    getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection-1].className = ""
                    getMyHTMLElement('SearchDropBg').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('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection-1].className == "header"){
                        getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection].className = ""
                        if (currentSearchAutoCompleteSelection != 1){
                            getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection-2].className = "selected_search"
                            }
                        currentSearchAutoCompleteSelection = currentSearchAutoCompleteSelection - 1;
                    }
                    else{
                        getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection].className = ""
                        getMyHTMLElement('SearchDropBg').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('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection-1].onclick();
                }
            }
            else{
                clearSearchDrop()
                currentSearchAutoCompleteSelection = 0
            }
        }
        }
    }
}

function clearSearchDrop(){
    if (currentSearchAutoCompleteSelection > 0){
        getMyHTMLElement('SearchDropBg').childNodes[0].childNodes[currentSearchAutoCompleteSelection-1].className = "";
        currentSearchAutoCompleteSelection = 0
    }
}

var searchTimeOut;
function SearchDropTable(url,tableToShow,position,leftPos,topPos,leftAdj,topAdj,e){

   // alert("url" + url);
//    alert("tableToShow" + tableToShow);
//    alert("position" + position);
//    alert("leftPos" + leftPos);
//   alert("topPos" + topPos);
//    alert("leftAdj" + leftAdj);
//    alert("topAdj" + topAdj);
//    alert("e" + e);
//    alert(searchTimeOut);

    clearTimeout(searchTimeOut)
    if (currentSearchAutoCompletePhrase != getMyHTMLElement('searchINPUT').value){
        urlFriendlyPhrase = getMyHTMLElement('searchINPUT').value
        urlFriendlyPhrase = js_URLEncode(urlFriendlyPhrase)
        url = replaceString(url,'replace_searchterm',urlFriendlyPhrase)
        
        searchTimeOut = setTimeout("SearchDropTable_Main('" + url + "','" + tableToShow+"','" + position+"'," + leftAdj+"," + topAdj+")",500)
        currentSearchAutoCompletePhrase = getMyHTMLElement('searchINPUT').value
        currentSearchAutoCompleteSelection = 0
    }
    var key;
    if(window.event){key = window.event.keyCode;}else{key = e.which;}
	checkKeyAndActOnIt(key)
}

function js_URLEncode(url){
    url = replaceString(url,"$","%24")
    url = replaceString(url,"&","%26")
    url = replaceString(url,"+","%2B")
    url = replaceString(url,",","%2C")
    url = replaceString(url,"/","%2F")
    url = replaceString(url,":","%3A")
    url = replaceString(url,";","%3B")
    url = replaceString(url,"=","%3D")
    url = replaceString(url,"?","%3F")
    url = replaceString(url,"@","%40")
    return url;
}

function SearchDropTable_Main(url,tableToShow,position,leftAdj,topAdj){

    ajaxGET(url,'SearchDrop',false)

    if (everythingLoaded == true)
    {
	        if (detectBrowser() == "IE") {
			    topAdj = topAdj;
			    var lyr = getMyHTMLElement(tableToShow);
				//lyr.style.left =(getLeft(position) + leftAdj )+ "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)	
		    }
	    }
	    else {
		    var lyr = getMyHTMLElement(tableToShow);
		    //lyr.style.left =(getLeft(position) + leftAdj )+ "px";
		    //lyr.style.top = (getTop(position) + topAdj) + "px";
			
		    showDisplayTable(tableToShow)
	    }
}
//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){
	
	//alert (amount)
    currentContainerValue = parseInt(getMyHTMLElement('productDataOnPageContainer').style.marginLeft);
			
	if (direction == 'left') {
		
	    if (currentContainerValue <= -40){
	        getMyHTMLElement('productDataOnPageContainer').style.marginLeft = currentContainerValue + amount + 'px'
	        slideListingsGoTimeout = setTimeout("slideListingsGo('" + direction + "',40)", 15);
	    }
	    else {
    	    getMyHTMLElement('productDataOnPage').innerHTML = getMyHTMLElement('productDataOnPageLeft').innerHTML;
    	    getMyHTMLElement('productDataOnPageContainer').style.marginLeft = '-759px';
    	    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') {
		

	    if (currentContainerValue >= -1468){
	        getMyHTMLElement('productDataOnPageContainer').style.marginLeft = currentContainerValue + (amount*-1) + 'px'
	        slideListingsGoTimeout = setTimeout("slideListingsGo('" + direction + "',40)", 15);
	    }
	    else {
    	    getMyHTMLElement('productDataOnPage').innerHTML = getMyHTMLElement('productDataOnPageRight').innerHTML;
    	    getMyHTMLElement('productDataOnPageContainer').style.marginLeft = '-759px';
    	    getMyHTMLElement('productDataHeader').innerHTML = getMyHTMLElement('productDataHeaderAjax').innerHTML;
    	    getMyHTMLElement('productDataFooter').innerHTML = getMyHTMLElement('productDataFooterAjax').innerHTML;
            getMyHTMLElement('facetResultsOnListingsPage').innerHTML = getMyHTMLElement('facetResultsOnListingsPageAjax').innerHTML;
            getMyHTMLElement('facetResultsOnListingsPageAjax').innerHTML = '';
    	    hideDisplayTable('productDataOnPageOverlay')

	    }
	}
	
	
}

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)
}


// COMPARISON CODE

//ajaxGET(pageName,divID,ajaxBoxLoaded){

//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));   
    if (sCountry == 'GB')
    {
        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();    
    oPAFAJAX = new PCAInternationalAutoComplete(sCountry, "ENG", getMyHTMLElement("ajax_postcode"), getMyHTMLElement("address1"), retrievePAFDetails);
    oPAFAJAX.UseRoyalMailPremiseData = true;    
}

function InvokePAFAjax_Del(sCountry) {
    resetAddressfields_del();
    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 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 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();
            }
        }
    }
}

//
