// Paraspar Ajax Controls Written By Paraspar, Dev Day 2008

// Generic invoke function, can be used for all ajax commands on this page.
// Based on their target, they may have different behaviour

//REM -- Add to basket notification (#124369) - Daeheon Kim - 30/04/2009 - getTop value changed 25 to 17
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;
  }
  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('shBsketHldr'),parent.getTop('shBsketHldr')+17,0,0,ajaxBoxLoaded);}
        else{centerObject('ajaxBASKET',500,250,getLeft('shBsketHldr'),getTop('shBsketHldr')+17,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;
    }
    if (delay != undefined) {
    }
  }
}


function ajaxGET(pageName,divID,ajaxBoxLoaded){
    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){
            if (ajaxBoxLoaded==true){
            parent.getMyHTMLElement(divID).innerHTML = xmlhttp.responseText; parent.showDisplayTable(divID);
            if (divID=='ajaxBASKET'){
                parent.getMyHTMLElement('headerBASKETtext').innerHTML = parent.getMyHTMLElement('newBASKETsummary').innerHTML;
                parent.getMyHTMLElement('basketSummaryMenu').innerHTML = parent.getMyHTMLElement('basketSummaryMenuNew').innerHTML;
                setTimeout("parent.hideDisplayTable('ajaxBASKET')",5000);
                }
            }
            else{
            getMyHTMLElement(divID).innerHTML = xmlhttp.responseText; 
            
            if (divID != 'ajaxEditorial'){ showDisplayTable(divID); }
            
            if (divID=='ajaxBASKET'){
                getMyHTMLElement('headerBASKETtext').innerHTML = getMyHTMLElement('newBASKETsummary').innerHTML;
                getMyHTMLElement('basketSummaryMenu').innerHTML = getMyHTMLElement('basketSummaryMenuNew').innerHTML;
                setTimeout("hideDisplayTable('ajaxBASKET')",5000);
                }
            }
            }
        }
    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);
    }
}