// product page js
var popupIEFrame = null;
var bundles = new Array();
var _previousAccessoryArea = '';
var prefix='OGB';

function hideDiv(div)
{
    if(div){
      div.style.display='none';
      if (IsIE(7)) {
          document.body.removeChild(popupIEFrame);
          popupIEFrame=null;
      }
    }
}

function showDiv(imgElement,divElement,toleft)
{
    if (!divElement) return;
    var e = imgElement;
    var position = {x:0,y:0};
    var maxRight = 800;
    while (e) {
        position.x += e.offsetLeft;
        position.y += e.offsetTop;
        e = e.offsetParent;
    }        
    if (document.body) {
      maxRight = document.body.clientWidth;
    }
    if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
        position.x -= document.documentElement.scrollLeft;
    }
    else if (document.body && (document.body.scrollTop || document.body.scrollLeft)) {
        position.x -= document.body.scrollLeft;
    }
    else if (window.pageXOffset || window.pageYOffset) {
        position.x -= window.pageXOffset;
    }
    if (toleft) {
      if ((position.x + divElement.offsetWidth) > maxRight) {
        position.x = position.x - divElement.offsetWidth + imgElement.offsetWidth;
      }
      divElement.style.top =  position.y + imgElement.offsetHeight + 'px';
      divElement.style.left = position.x + 'px';
      divElement.style.display = "";
    }
    else {        
      divElement.style.top =  "0px";
      divElement.style.left = "0px";
      divElement.style.display = "";
      divElement.style.top =  position.y + imgElement.offsetHeight + 'px';
      divElement.style.left = position.x - divElement.offsetWidth + imgElement.offsetWidth + 'px';
    }
}      

function SubmitBundle(formid) {
  return function() {
      document['bundleform_' + formid].submit();
      return false;
  }
}

function SelectBundle() {
  var toSelect = $("SelectedBundleID").value;
  var bundleNum;
  var available;
  
  available = 1;
  
  for (var i = 1; i < bundles.length; i++) {
      $("bundleform_" + bundles[i].id).style.display = "none";
      if (bundles[i].id == toSelect) bundleNum = i;
  }
  $("bundleform_" + toSelect).style.display = "block";
  var bform = document["bundleform_" + toSelect];
 
  for (var i = 1; i < bundles[bundleNum].products.length; i++) {
      for (var j = 1; j < bundles[bundleNum].products[i].items.length; j++) {
          if ((bundles[bundleNum].products[i].items[j].id == bform["ItemID" + i].value) && (bundles[bundleNum].products[i].items[j].available == 0)) {
              available = 0;
          }
      }
  }  
  if (available == 1) {
      $("buyButton").onclick = SubmitBundle(toSelect);
      $("buyButton").style.display="";
      $("buyButtonFrame").style.backgroundImage = "url(/gfx/p/" + prefix + "_bottom_right.jpg)";
      $("rrpPrice").style.display = "block";
      $("bigPrice").style.display = "block";
      $("unavailableDiv").style.display = "none";              
      var _dv = $("deliverywithindiv");
      var _dvi = $("deliverywithinimg");
      if (_dv) _dv.style.display = "block";
      if (_dvi) _dvi.style.display = "";
  }
  else {
      $("buyButton").onclick = null;
      $("buyButton").style.display="none";
      $("buyButtonFrame").style.backgroundImage = "url(/gfx/p/" + prefix + "_bottom_right_1.jpg)";
      $("rrpPrice").style.display = "none";
      $("bigPrice").style.display = "none";
      $("unavailableDiv").style.display = "block";
      var _dv = $("deliverywithindiv");
      var _dvi = $("deliverywithinimg");
      if (_dv) _dv.style.display = "none";
      if (_dvi) _dvi.style.display = "none";
  }
  
  UpdatePrices(bundleNum);
  UpdateAccesorys(toSelect);
}

function UpdateAccesorys(BundleID) {
  if((_previousAccessoryArea) && (_previousAccessoryArea != '')) {
      $(_previousAccessoryArea).style.display = 'none';
      _previousAccessoryArea =  '';
      $('accessorylink').style.display = 'none';              
  }
  var _currentAccessory = $("BundleAccessorys" + BundleID);
  if(_currentAccessory != null) {
      _currentAccessory.style.display = 'block';
      _previousAccessoryArea = "BundleAccessorys" + BundleID;
      $('accessorylink').style.display = '';
  }
}

function InitializeAccessoryArea() {
  var _selectedBundleID = $("InitialBundleID");
  if(_selectedBundleID != null) {
      var _toSelect = _selectedBundleID.value
      if(_toSelect != null) {
          UpdateAccesorys(_toSelect);
      }
  }  
}

function ChangeItem(bundleid, productid, attributename) {
  var bundleNum;
  var productNum;
  var itemSelected;
  var selectedItem;
  var itemNum;
  var available;
  
  available = 1;
  
  for (var i = 1; i < bundles.length; i++) 
  {
      if (bundles[i].id == bundleid) bundleNum = i;
  }
     
  for (var i = 1; i < bundles[bundleNum].products.length; i++) 
  {
      if (bundles[bundleNum].products[i].id == productid) productNum = i;
  }
  
  for (var i = 1; i < bundles[bundleNum].products[productNum].items.length; i++) 
  {
      itemSelected = 1;
      for (var j = 1; j < bundles[bundleNum].products[productNum].items[i].attributes.length; j++) 
      {
          if ($("attribute_" + bundleid + "_" + productid + "_" + bundles[bundleNum].products[productNum].items[i].attributes[j].name).value
              != bundles[bundleNum].products[productNum].items[i].attributes[j].val) 
          {
              itemSelected = 0;
          }
      }
      if (itemSelected == 1) { selectedItem = bundles[bundleNum].products[productNum].items[i]; itemNum = i; break;}
  }
  
  $("itemName_" + bundleid + "_" + productid).innerHTML = selectedItem.title;
  var bform = document["bundleform_" + bundleid];
  bform["ItemID" + productNum].value = selectedItem.id;
    
  for (var i = 1; i < bundles[bundleNum].products.length; i++) {
      for (var j = 1; j < bundles[bundleNum].products[i].items.length; j++) {
          if ((bundles[bundleNum].products[i].items[j].id == bform["ItemID" + i].value) && (bundles[bundleNum].products[i].items[j].available == 0)) {
              available = 0;
          }
      }
  }
  
  if (available == 1) {
      $("buyButton").onclick = SubmitBundle(bundleid);
      $("buyButton").style.display="";
      $("buyButtonFrame").style.backgroundImage = "url(/gfx/p/" + prefix + "_bottom_right.jpg)";
      $("rrpPrice").style.display = "block";
      $("bigPrice").style.display = "block";
      $("unavailableDiv").style.display = "none";
      var _dv = $("deliverywithindiv");
      var _dvi = $("deliverywithinimg");
      if (_dv) _dv.style.display = "block";
      if (_dvi) _dvi.style.display = "";
  }
  else {
      $("buyButton").onclick = null;
      $("buyButton").style.display="none";
      $("buyButtonFrame").style.backgroundImage = "url(/gfx/p/" + prefix + "_bottom_right_1.jpg)";
      $("rrpPrice").style.display = "none";
      $("bigPrice").style.display = "none";
      $("unavailableDiv").style.display = "block";
      var _dv = $("deliverywithindiv");
      var _dvi = $("deliverywithinimg");
      if (_dv) _dv.style.display = "none";
      if (_dvi) _dvi.style.display = "none";
  }  
  UpdatePrices(bundleNum);
}


function SelectItem(ItemID) 
{
  var bundleNum;
  var productNum;
  var itemNum = -1;
 
  var bundleID;
  var productID;
  
  var selectedItem;

  var available;
  
  available = 1;
  
  for (var i = 1; i < bundles.length; i++) 
  {
      for (var j = 1; j < bundles[i].products.length; j++) 
      {
          for (var k = 1; k < bundles[i].products[j].items.length; k++) 
          {
            if(ItemID == bundles[i].products[j].items[k].id)
            {
                itemNum     = k;
                bundleNum   = i;
                productNum  = j;
                
                bundleID    = bundles[i].id;
                productID   = bundles[bundleNum].products[i].id;
                
                selectedItem = bundles[i].products[j].items[k];
                
                //
                // Set Attributes
                //
                for(m=1; m<selectedItem.attributes.length;m++)
                {
                    $("attribute_"+bundleID+"_"+productID+"_"+selectedItem.attributes[m].name).value = selectedItem.attributes[m].val;
                    $("comboInputattribute_"+bundleID+"_"+productID+"_"+selectedItem.attributes[m].name).value = selectedItem.attributes[m].val;
                    
                }                
                break;
            }
          }
          
          if(itemNum > 0)
          {
            break;
          }
      }
      
      if(itemNum > 0)
      {
        break;
      }      
  }
     
    if(itemNum <0)
    {
     return;
    }
        
  $("itemName_" + bundleID + "_" + productID).innerHTML = selectedItem.title;
  var bform = document["bundleform_" + bundleID];

  $("ItemID" + productNum).value = selectedItem.id;
    
    
  for (var i = 1; i < bundles[bundleNum].products.length; i++) {
      for (var j = 1; j < bundles[bundleNum].products[i].items.length; j++) {
          if ((bundles[bundleNum].products[i].items[j].id == $("ItemID" + i).value) && (bundles[bundleNum].products[i].items[j].available == 0)) {
              available = 0;
          }
      }
  }
  
  if (available == 1) {
      $("buyButton").onclick = SubmitBundle(bundleID);
      $("buyButton").style.display="";
      $("buyButtonFrame").style.backgroundImage = "url(/gfx/p/" + prefix + "_bottom_right.jpg)";
      $("rrpPrice").style.display = "block";
      $("bigPrice").style.display = "block";
      $("unavailableDiv").style.display = "none";
      var _dv = $("deliverywithindiv");
      var _dvi = $("deliverywithinimg");
      if (_dv) _dv.style.display = "block";
      if (_dvi) _dvi.style.display = "";
  }
  else {
      $("buyButton").onclick = null;
      $("buyButton").style.display="none";
      $("buyButtonFrame").style.backgroundImage = "url(/gfx/p/" + prefix + "_bottom_right_1.jpg)";
      $("rrpPrice").style.display = "none";
      $("bigPrice").style.display = "none";
      $("unavailableDiv").style.display = "block";
      var _dv = $("deliverywithindiv");
      var _dvi = $("deliverywithinimg");
      if (_dv) _dv.style.display = "none";
      if (_dvi) _dvi.style.display = "none";
  }  
  UpdatePrices(bundleNum);
}




function InitializePrice(BundleID) 
{
  var bundleNum;
  for (var i = 1; i < bundles.length; i++) {
      if (bundles[i].id == BundleID) bundleNum = i;
  }  
  UpdatePrices(bundleNum);
}

function UpdatePrices(bundleNum) {
  var itemSelected;
  var selectedItem;
  var itemNum;
  var totalprice;
  var totalvat;
  var bundleid;
  var productid;
  var total;
  var totalrrp;
  var deliverymin_value;
  var deliverymax_value;

  totalprice = 0;totalvat = 0;totalrrp = 0;deliverymin_value = 0;deliverymax_value = 0;

  bundleid = bundles[bundleNum].id;
  for (var k = 1; k < bundles[bundleNum].products.length; k++) {
      productid = bundles[bundleNum].products[k].id;
      
      for (var i = 1; i < bundles[bundleNum].products[k].items.length; i++) {
          itemSelected = 1;
          for (var j = 1; j < bundles[bundleNum].products[k].items[i].attributes.length; j++) {
              if ($("attribute_" + bundleid + "_" + productid + "_" + bundles[bundleNum].products[k].items[i].attributes[j].name).value
                  != bundles[bundleNum].products[k].items[i].attributes[j].val) itemSelected = 0;
          }
          if (itemSelected == 1) { 
              selectedItem = bundles[bundleNum].products[k].items[i]; 
              itemNum = i;
              totalprice += selectedItem.price;
              totalvat += selectedItem.pricevat;
              totalrrp += selectedItem.rrp + selectedItem.rrpvat;
              if (selectedItem.deliverymin > deliverymin_value) {
                deliverymin_value = selectedItem.deliverymin;
              }
              if (selectedItem.deliverymax > deliverymax_value) {
                deliverymax_value = selectedItem.deliverymax;
              }
          }
      }
  }

  if((bundles[bundleNum].discountAmount != 0) && (bundles[bundleNum].discountAmount < totalprice)) {   
      totalvat -= bundles[bundleNum].discountAmount * totalvat / totalprice; 
      totalprice -=  bundles[bundleNum].discountAmount;
  }
  else if((bundles[bundleNum].discountPercent != 0) && (bundles[bundleNum].discountPercent < 100)) {
      totalprice  -=  (totalprice * bundles[bundleNum].discountPercent / 100);
      totalvat    -=  (totalvat * bundles[bundleNum].discountPercent / 100);
  }
  
  if (totalvat > 0) {
      total = totalprice + totalvat;
      $("priceBig").innerHTML = total.toFixed(2);
      $("priceRRP").innerHTML = totalrrp.toFixed(2);

      if (totalrrp > (total * 1.05)) {
          $("rrpPrice").style.visibility = "visible";
      }
      else {
          $("rrpPrice").style.visibility = "hidden";
      }
  }
  else {
      $("priceBig").innerHTML = totalprice.toFixed(2);
      $("priceRRP").innerHTML = totalrrp.toFixed(2);
      
      if (totalrrp > (totalprice * 1.05)) {
          $("rrpPrice").style.visibility = "visible";
      }
      else {
          $("rrpPrice").style.visibility = "hidden";
      }
  }
  var _dv = $("deliverywithindiv");
  var _dvi = $("deliverywithinimg");
  if ((_dv) && (_dvi)) {  
      if ((deliverymax_value == 0) && (deliverymin_value == 0)) {
        _dv.style.display = "none";
        _dvi.style.display = "none";
        return;
      }
      var _text = '';
      if ((bundleid == 123207) || (bundleid == 109891))
      {
        _text = "Delivery within 8 - 11 working days";
      }
      else
      {      
          if ((deliverymax_value == deliverymin_value) || (deliverymax_value == 0)) {
            _text = "Delivery up to " + deliverymin_value + " working days";
          }
          else if ((deliverymax_value == 0) && (deliverymin_value > 0)) {
            _text = "Delivery up on " + deliverymin_value + " working days";
          }
          else if (deliverymin_value < deliverymax_value) {
            _text = "Delivery within " + deliverymin_value + " - " + deliverymax_value + " working days";
          }
          else {
            _text = "DELIVERY within " + deliverymin_value + " - " + deliverymax_value + " working days";
          }
      }
      if (document.all) {
        _dv.innerText = _text;
      }
      else {
        _dv.textContent = _text;
      }
  }
}

function on_min(el) 
{
  el.style.backgroundColor = "#f2f2f2";
  el.style.border = "1px solid #ccc";
}

function on_mou(el) 
{
  el.style.backgroundColor = "#fff";
  el.style.border = "1px solid #fff";
}

function on_share(e) 
{
    var u=getUrl(e);
    if (u!="")
    {
        window.open(u,'_blank');
    }
    return false;
}

function getUrl(e) 
{
    var date = new Date()
    var ticks = date.getTime()
    var u;
    var t;
    u=encodeURIComponent(document.location.href);
    t=encodeURIComponent(document.title);
    if (e.id=='amyspace') {
        return "http://www.myspace.com/Modules/PostTo/Pages/?u=" + u + "&amp;t=" + t;
    }
    else if (e.id=='adelicious') {
        return "http://delicious.com/save?v=5&amp;noui&amp;jump=close&url="+u+"&amp;title="+t;
    }
    else if (e.id=='agoogle') {
        return "http://www.google.com/bookmarks/mark?op=add&amp;bkmk=" +u+ "&amp;title="+t+"&amp;annotation=";
    }
    else if (e.id=='astumbleupon') {
        return "http://www.stumbleupon.com/submit?url=" +u+ "&amp;title="+t;
    }
    else if (e.id=='adigg') {
        return "http://digg.com/submit?phase=2&amp;url="+u+"&amp;title="+t;
    }
    else if (e.id=='afacebook') {
        return "http://www.facebook.com/sharer.php?u="+u+"&amp;t="+t;
    }
    else if (e.id=='alive') {
        return "http://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct="+ticks+"&rver=1.0.944.1&wp=MBI&wlcxt=title&wreply=https:%2F%2Fskydrive.live.com%2Fsharefavorite.aspx%2F.SharedFavorites%3F%3Fmarklet%3D1%26mkt%3Den-us%26url%3D"+u+"%26title%3D"+t+"&lc=1033&id=250206";
    }
    else if (e.id=='abookmark') {
        if(window.opera) {
            e.href=document.location.href;
            e.title=document.title;
            e.rel='sidebar';
        } 
        else {
            bookmarkInternal(document.location.href,document.title);
        }
    }
    return "";
}

function bookmarkInternal(url, title) 
{
    // user agent sniffing is bad in general, but this is one of the times 
    // when it's really necessary
    var ua=navigator.userAgent.toLowerCase();
    var isKonq=(ua.indexOf('konqueror')!=-1);
    var isSafari=(ua.indexOf('webkit')!=-1);
    var isMac=(ua.indexOf('mac')!=-1);
    var buttonStr=isMac?'Command/Cmd':'CTRL';

    if(window.external && (!document.createTextNode ||
      (typeof(window.external.AddFavorite)=='unknown'))) {
        // IE4/Win generates an error when you
        // execute "typeof(window.external.AddFavorite)"
        // In IE7 the page must be from a web server, not directly from a local 
        // file system, otherwise, you will get a permission denied error.
        window.external.AddFavorite(url, title); // IE/Win
    } else if(isKonq) {
      alert('You need to press CTRL + B to bookmark our site.');
    } else if(window.opera) {
      void(0); // do nothing here (Opera 7+)
    } else if(window.home || isSafari) { // Firefox, Netscape, Safari, iCab
      if (window.sidebar) {
        window.sidebar.addPanel(title, url,"");
      }
      else {
        alert('You need to press '+buttonStr+' + D to bookmark our site.');
      }
    } else if(!window.print || isMac) { // IE5/Mac and Safari 1.0
      alert('You need to press Command/Cmd + D to bookmark our site.');    
    } else {
      alert('In order to bookmark this site you need to do so manually '+
        'through your browser.');
    }
}

// zoom js
var imageSelected = 1;  
var imageProductMinSizeDiv = 0;
var images      = new Array();    
var zoomImages  = new Array();
var isZoom      = false;

var loadingImage  = new Image();
    loadingImage.src = "/gfx/loader3.gif";
    loadingImage.style.top = 155;
    loadingImage.style.left = 0;     

var buttonZoomIn  = new Image();
    buttonZoomIn.title = "Zoom In";
  
var buttonZoomOut  = new Image();
    buttonZoomOut.title = "Zoom Out";

function ImageMouseMove(e)
{
    if(isZoom == false) return; 
    var _div     = $("divProductImage");		
	var _img     = $("productImage");	
	var _parentW = _div.offsetWidth; 
    var _parentH = _div.offsetHeight;
       
	var _imgW = _img.offsetWidth; 
    var _imgH = _img.offsetHeight;
    if(((_imgW+ imageProductMinSizeDiv) > _parentW) || ((_imgH + imageProductMinSizeDiv) > _parentH)) {

	    var _eX = 0; 
        var _eY = 0;           	
           
        var _obj = _div;
        do {
            _eX += _obj.offsetLeft;
            _eY += _obj.offsetTop;
        } while (_obj = _obj.offsetParent);	 

        var _imgX = 0; 
        var _imgY = 0;           	
           
        _obj = _img;
        do {
            _imgX += _obj.offsetLeft;
            _imgY += _obj.offsetTop;
        } while (_obj = _obj.offsetParent);	  
        
        var _mouseX = 0;
        var _mouseY=  0;                   
       
        if (!e) var e = window.event;
        if (e.pageX || e.pageY) {
            _mouseX = e.pageX;
            _mouseY = e.pageY;
        }
        else if (e.clientX || e.clientY) {
            _mouseX = e.clientX + document.body.scrollLeft+ document.documentElement.scrollLeft;
            _mouseY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
        } 
      
        _mouseX -= _eX;
        _mouseY -= _eY; 
           		           		                     				    
	    var _x = parseInt(((_imgW - _parentW)/_parentW  * _mouseX) * (-1));
	    var _y = parseInt(((_imgH -_parentH)/_parentH * _mouseY) * (-1));
	    
	    if((_imgW + imageProductMinSizeDiv) > _parentW) {
	        if(_x > 0 ) {_x=0;}
	        else if(_x < ((_imgW - _parentW) * (-1))) {_x=(_imgW - _parentW) * (-1);}
	        _img.style.left = _x+"px";
	    }
	       
	    if((_imgH + imageProductMinSizeDiv) > _parentH) {
            if(_y > 0 ) {_y=0;}
	        else if(_y < ((_imgH - _parentH) * (-1))) {_x=(_imgH - _parentH) * (-1);} 
            _img.style.top =  _y+"px";
	    }
    } 
}

function ImageZoom() {
    if(isZoom == false) {
        if(images[imageSelected].isZoomable == true) 
        {
	        isZoom = true;
	        $("productImage").style.cursor="move";
            $("buttonZoom").src = buttonZoomOut.src;
            SetZoomImage(imageSelected);
        }
	} else {  
		isZoom = false;
		$("productImage").style.cursor="pointer";	
        $("buttonZoom").src = buttonZoomIn.src;
        SetImage(imageSelected);
	}
} 

function ImageLoaded(index) {
    images[index].isLoaded = true;
    if((index == imageSelected) && (isZoom == false)) {
        SetImage(index);
    }
}

function ZoomImageLoaded(index) {
    zoomImages[index].isLoaded = true;
    if((index == imageSelected) && (isZoom == true)) {
        SetZoomImage(index);
    }
} 

function SetImage(index) {
    if(images[index].isLoaded == true) {
        $("productImage").src = images[index].image.src;
        $("productImage").alt = images[index].title;
        $("productImage").style.top    =  parseInt(($("divProductImage").offsetHeight - $("productImage").offsetHeight)/2) + "px";
        $("productImage").style.left   =  0 + "px";  
    } else {
        $("productImage").src = loadingImage.src;
        $("productImage").alt = loadingImage.title;
        $("productImage").style.top    =  parseInt(($("divProductImage").offsetHeight - $("productImage").offsetHeight)/2) + "px";
        $("productImage").style.left   =  0 + "px";         
    }
}

function SetZoomImage(index) {
    if(zoomImages[index].isLoaded == true) {    
        $("productImage").src = zoomImages[index].image.src;
        $("productImage").alt = zoomImages[index].title;   
    } else {
        $("productImage").src = loadingImage.src;
        $("productImage").alt = loadingImage.title;        
    }
}     

function SlideBack() {
    if (imageSelected == 1) 
    {
        imageSelected = images.length - 1;
    } 
    else 
    {
        imageSelected--;
    }
    ResetZoom(); 
    SetZoomBatton(imageSelected); 
    SetImage(imageSelected);
}

function SlideForward() {
    if (imageSelected == images.length - 1) 
    {
        imageSelected = 1;
    } else 
    {
        imageSelected++;
    }
    ResetZoom();
    SetZoomBatton(imageSelected);
    SetImage(imageSelected);
}

function SetZoomBatton(index)
{ 
    if(images[imageSelected].isZoomable == true)
    { 
        $("tdButtonZoom").style.display = "";
    }
    else
    {
        $("tdButtonZoom").style.display = "none";     
    }
}
function ResetZoom()
{
    isZoom = false;
    $("productImage").style.cursor="pointer";
    $("buttonZoom").src = buttonZoomIn.src;
}