// 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

function invokeAJAX(url, target, positionT,delay,leftAdjust,ajaxBoxLoaded) {


  if (target=='ajaxPRODUCTBox'){
    //ajaxPRODUCTBox.src = url;
    getMyHTMLElement('ajaxPRODUCTBox').src  = '';
    getMyHTMLElement('ajaxPRODUCTBox').src  = url;
    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);
    centerObject('ajaxPRODUCTBoxShadow',document.documentElement.clientWidth,(document.documentElement.clientHeight),'',0,leftAdjustInt,0);
	
	document.getElementById("ajaxPRODUCTBoxShadow").style.width = (document.documentElement.clientWidth)-5 + "px";
	document.getElementById("ajaxPRODUCTBoxShadow").style.height = (document.body.clientHeight)  + "px";
	
	//daeheon - fix for upsell light box
	document.getElementById("ajaxPRODUCTBoxShadow").style.top = 0  + "px";
	
	//document.getElementById('ajaxPRODUCTBox').setAttribute("src","test.txt");
	//var foo = url.substr(33,url.length-32)+ ".txt";	
	//alert(url);

    showDisplayTable('ajaxPRODUCTBoxShadow')
    showDisplayTable('ajaxPRODUCTBox')
    
    //document.getElementById('ajaxPRODUCTBox').setAttribute("src",foo);
  }
  else if (target=='ajaxBuyTheLook') {
    getMyHTMLElement('ajaxBuyTheLook').src  = '';
    getMyHTMLElement('ajaxBuyTheLook').src  = url;
    
    getMyHTMLElement('ajaxBuyTheLook').style.top = getTop(positionT) + 'px';
	getMyHTMLElement('ajaxBuyTheLook').style.left = getLeft(positionT) + 'px';

    
    //if (leftAdjust != '' && typeof(leftAdjust) != 'undefined'){leftAdjustInt = leftAdjust/2;}
    //else{leftAdjustInt=75}
    //centerObject('ajaxBuyTheLook',500,250,'',getTop(positionT),leftAdjustInt,0);

	//document.getElementById('ajaxPRODUCTBox').setAttribute("src","test.txt");
	//var foo = url.substr(33,url.length-32)+ ".txt";	
	//alert(url);

    showDisplayTable('ajaxBuyTheLook')

  	//var objBox = getMyHTMLElement('ajaxPRODUCTBox');
	//var objBoxShadow = getMyHTMLElement('ajaxPRODUCTBoxShadow');
//	objBox;
	//objBox.style.top = getTop(positionT) + 'px';
	//objBox.style.left = getLeft(positionT) + 'px';
	//objBox.style.width =  '600px';
	//objBox.style.height =  '355px';
    //objBox.src = '/loading.html';
//	objBoxShadow;
	//objBoxShadow.style.top = getTop(positionT) + 'px';
	//objBoxShadow.style.left = getLeft(positionT) + 'px';
	//objBoxShadow.style.width =  '600px';
	//objBoxShadow.style.height =  '355px';
    //showDisplayTable('ajaxPRODUCTBoxShadow')
    //showDisplayTable('ajaxPRODUCTBox')
//	objBox.style.display = '';
    //objBox.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('shBsketImage')-210,parent.getTop('shBsketImage')+45,0,0,ajaxBoxLoaded);}
        else{centerObject('ajaxBASKET',500,250,getLeft('shBsketImage')-210,getTop('shBsketImage')+45,0,0,ajaxBoxLoaded);}
      }
      ajaxGET(url,target,ajaxBoxLoaded)
        //alert(getMyHTMLElement(target).innerHTML)
        //if (target=='ajaxBASKET'){getMyHTMLELement('headerBASKETtext').innerHTML =
        //if (window.ActiveXObject) {
        //        req = new ActiveXObject("Msxml2.XMLHTTP");
        //req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2005 00:00:00 GMT");
        //}
        //else if (window.XMLHttpRequest) {
        //        req = new XMLHttpRequest();
        //}  
        //if (req != undefined) {
        //        req.onreadystatechange = function() {ahahDone(req, url, target,positionT, delay);};
        //req.open("GET", url, true);
        //req.send("");
        //}
  }
}  

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;
      
      	(target)
      setAndExecute(getMyHTMLElement(target).innerHTML)
    } else {
      document.getElementById(target).innerHTML="ahah error:\n"+req.statusText;
    }
    if (delay != undefined) {
        // setTimeout("invokeAJAX(url,target,positionT,delay)", delay); // resubmit after delay
	    // server should ALSO delay before responding
	    // if (target=='ajaxBASKET'){
    }
  }
}


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; setTimeout("parent.hideDisplayTable('ajaxBASKET')", 5000);
                //hideDisplayTable('addToBasketInProdDropdown1')
                //showDisplayTable('goToBasketInProdDropdown1')
                hideDisplayTable('goToCheckoutInProdDropdown11')
                showDisplayTable('goToCheckoutInProdDropdown21')
                //showDisplayTable('productAddedInProdDropdown1')
                //getMyHTMLElement('img_add_to_basket1').src = '/images/buttons/add.gif'            
            }
            }
            else{
            getMyHTMLElement(divID).innerHTML = xmlhttp.responseText; showDisplayTable(divID);
            if (divID=='ajaxBASKET'){
                getMyHTMLElement('headerBASKETtext').innerHTML = getMyHTMLElement('newBASKETsummary').innerHTML;
                getMyHTMLElement('basketSummaryMenu').innerHTML = getMyHTMLElement('basketSummaryMenuNew').innerHTML;
                setTimeout("hideDisplayTable('ajaxBASKET')", 5000);
                //hideDisplayTable('addToBasketInProdDropdown1')
                //showDisplayTable('goToBasketInProdDropdown1')

                hideDisplayTable('goToCheckoutInProdDropdown11')
                showDisplayTable('goToCheckoutInProdDropdown21')                
                
                //showDisplayTable('productAddedInProdDropdown1')
                //getMyHTMLElement('img_add_to_basket1').src = '/images/buttons/add.gif'                
                }
            }
            }
        }
    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 buyTheLookHover(url){
    invokeAJAX(url, 'ajaxBuyTheLook', 'prodIMAGES',0,0,false);

	getMyHTMLElement('overlayBox2').style.display='block';
	getMyHTMLElement('overlayBox2').style.height= document.body.offsetHeight + 'px';
	getMyHTMLElement('overlayBox2').style.width= document.body.clidenWidth + 'px';
}
