function googlecartWidgetLoaded()
{
    var gcb = getElementsByClass(document,"googlecart-widget-checkout","td");

	var div1 = document.createElement("div");
	div1.style.textAlign = 'center';
	div1.innerHTML = '<input type="button" value="Checkout in INR" onclick="javascript:ebscheckout();" style="width:150px;color:white;font-size:0.8em;background-color: rgb(50,100,200);font-weight:bold;"><br><span style="color:gray;font-size:0.7em">Supports Netbanking</span><br>&nbsp;';

	if (gcb[0].firstChild) {
		gcb[0].insertBefore(div1,gcb[0].firstChild);
	} else {
		gcb[0].appendChild(div1);
	}
}
function googlecartBeforeAdd(item, index, newQuantity, opt_node) {
  if (newQuantity>1)
    return false;
  return true;
}
function googlecartAfterRemove(item, index) {
  processCart();
}
function googlecartAfterAdd(item, index) {
  processCart();
}
function ebscheckout() {
	var items = googlecart.getItems();
	var depf = document.ebspmtfrm;
    for (i=0; i<items.length;i++) {
	    var item = items[i];
	    depf.description.value += item.getTitle();
	    if (i<items.length-1)
	    	depf.description.value += "\n";
	}
	depf.amount_usd.value = googlecart.getSubtotal();
	depf.submit();
}

var prefix = '**';
var suffix = ' OFF ** ';
function removeSavings() {
  var items = googlecart.getItems();
  for (i=0; i<items.length;i++) {
    var item = items[i];
    var title = item.getTitle();
    var idx = title.indexOf(suffix);
    if (idx != -1) {
      item.setTitle(title.substring(idx+suffix.length));
      var dct = parseFloat(title.substring(prefix.length,idx))/100.00;
      item.setPricePerUnit(item.getPricePerUnit()/(1-dct));
    }
  }
}
function applySavings() {
  var begindct = 20;
  var maxdct   = 40;
  var incrdct  = 05;
  var items = googlecart.getItems();
  for (i=0,j=0; i<items.length;i++) {
    var item = items[i];
    if (!item.isMarkedForRemoval()) {
      var dct = begindct+(j-1)*incrdct;
      if (j>0) {
        var title = item.getTitle();
        var dctamt = parseInt(item.getPricePerUnit()*dct)/100.00;
        item.setTitle(prefix+dct+'% ($'+dctamt+') '+suffix+title);
        item.setPricePerUnit(item.getPricePerUnit()-dctamt);
      }
      if (dct<maxdct) j++;
    }
  }
}
function processCart() {
  removeSavings();
  var items = googlecart.getItems();
  items.sort(sortItemsByPrice);
  applySavings();
  googlecart.saveCartAndRefreshWidget();
}
function sortItemsByPrice(a,b) {
  var x = a.getPricePerUnit();
  var y = b.getPricePerUnit();
  return ((x < y) ? 1 : ((x > y) ? -1 : 0));
}


function getElementsByClass(node,searchClass,tag) {
    var classElements = new Array();
    var els = node.getElementsByTagName(tag); // use "*" for all elements
    var pattern = new RegExp('\\b'+searchClass+'\\b');
    for (var i = 0; i < els.length; i++)
         if ( pattern.test(els[i].className) )
             classElements[classElements.length] = els[i];
    return classElements;
}

function imgcb(imgcbid) {
  var imgelem = document.getElementById(imgcbid);
  if (imgelem.src.indexOf('spacer') != -1)
    imgelem.src = 'Images/check.gif';
  else
    imgelem.src = 'Images/spacer.gif';
}

function rush(rl,inrval,xr) {
  var aelem = document.getElementById('a_'+rl);
  var inrelem = document.getElementById('inr_'+rl);
  var usdelem = document.getElementById('usd_'+rl);
  var nelem = document.getElementById('n_'+rl);
  var df = document.forms["Buy_"+rl];
  var imgcbelem = document.getElementById('rs_'+rl);
  if (imgcbelem.src.indexOf('Images/check.gif') != -1) 
  { 
    inrelem.innerHTML = Math.round(inrelem.innerHTML-(-0.3*inrval));
    usdelem.innerHTML = Math.round(usdelem.innerHTML-(-0.3*inrval/xr));
    nelem.innerHTML = nelem.innerHTML.replace('package','package - Rush service');
    df.item_name_1.value = df.item_name_1.value + ' - Rush service';
    df.item_price_1.value = usdelem.innerHTML;
  }
  else
  {
    inrelem.innerHTML = Math.round(inrelem.innerHTML-0.3*inrval);
    usdelem.innerHTML = Math.round(usdelem.innerHTML-0.3*inrval/xr);
    nelem.innerHTML = nelem.innerHTML.replace('package - Rush service', 'package');
    df.item_name_1.value = df.item_name_1.value.replace(' - Rush service','');
    df.item_price_1.value = usdelem.innerHTML;
  }
}
function addsvc(rl,idpfx,svcname,amt,xr) {
  var inrelem = document.getElementById('inr_'+rl);
  var usdelem = document.getElementById('usd_'+rl);
  var nelem = document.getElementById('n_'+rl);
  var df = document.forms["Buy_"+rl];
  var imgcbelem = document.getElementById(idpfx+'_'+rl);
  if (imgcbelem.src.indexOf('Images/check.gif') != -1)
  {
    if (svcname.indexOf('?')!=-1)
    {
      var numr = numval(idpfx+'_num'+rl);
      svcname = svcname.replace('?',numr);
      nelem.innerHTML = nelem.innerHTML + ' + '+svcname;
      inrelem.innerHTML = Math.round(inrelem.innerHTML-(-1*amt*numr));
      usdelem.innerHTML = Math.round(usdelem.innerHTML-(-1.02*amt*numr/xr));
      df.item_price_1.value = usdelem.innerHTML;
    }
    else
    {
      nelem.innerHTML = nelem.innerHTML + ' + '+svcname;
      inrelem.innerHTML = Math.round(inrelem.innerHTML-(-1*amt));
      usdelem.innerHTML = Math.round(usdelem.innerHTML-(-1.02*amt/xr));
      df.item_price_1.value = usdelem.innerHTML;
    }
    df.item_name_1.value = nelem.innerHTML;
  } 
  else 
  {
    if (svcname.indexOf('?')!=-1)
    {
      var infoarr = replacewc(' + '+svcname,'',nelem.innerHTML);
      nelem.innerHTML = infoarr[0];
      inrelem.innerHTML = Math.round(inrelem.innerHTML-amt*infoarr[1]);
      usdelem.innerHTML = Math.round(usdelem.innerHTML-1.02*amt*infoarr[1]/xr);
      df.item_price_1.value = usdelem.innerHTML;
    }
    else
    {
      nelem.innerHTML = nelem.innerHTML.replace(' + '+svcname,'');
      inrelem.innerHTML = Math.round(inrelem.innerHTML-amt);
      usdelem.innerHTML = Math.round(usdelem.innerHTML-1.02*amt/xr);
      df.item_price_1.value = usdelem.innerHTML;
    }
    df.item_name_1.value = nelem.innerHTML;
  }
}
function replacewc(fnd,rpl,inp) {
  for (var k=0; k<=9; k++) 
  {
    var fndtemp = fnd.replace('?',''+k);
    if (inp.indexOf(fndtemp)!=-1)
    {
      return new Array(inp.replace(fndtemp,rpl),k);
    }
  }
  return new Array(inp,0);
}
function numval(idx) {
    numelem = document.getElementById(idx);
    numr = parseInt(numelem.value);
    if (isNaN(numr))
    {
      numr = 1;
    }
    else if (numr>3)
    {
      numr = 3;
    }
    numelem.value = numr;
    return numr;
}
