var ns4 = (document.layers);
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
var fTLSum=0;
var sTLName="";
var sTLSKU="";

function getAbsX(node)
{
	var rv = 0;
	if (node.offsetParent != null)
	{
		rv = node.offsetLeft;
		rv += getAbsX(node.offsetParent);
	}
	else
	{
  		return node.offsetLeft;
	}
	if (rv >= 0)
		return rv;
    else
    	return 0;
}

function getAbsY(node)
{
	var rv = 0;
	if (node.offsetParent != null)
	{
	    rv = node.offsetTop;
		rv += getAbsY(node.offsetParent);
	}
	if (rv >= 0)
		return rv;
    else
    	return 0;
}

function ShowPopup(hoveritem,popup)
{
 hp = document.getElementById(popup);
 hp.style.left = getAbsX(hoveritem) + 18;
 hp.style.top = getAbsY(hoveritem);
 hp.style.visibility = "Visible";
}

function HidePopup(popup)
{
 hp = document.getElementById(popup);
 hp.style.visibility = "Hidden";
}

 
function DoShow(objMenu)
{
 if(ns4) {document.layers[objMenu].visibility = "show";} 	// Netscape 4
 else if(ie4) {document.all[objMenu].style.visibility = "visible";}	// Explorer 4
 else if(ie5 || ns6) {document.getElementById(objMenu).style.display='';}	// W3C - Explorer 5+ and Netscape 6+
}

function DoHide(objMenu)
{
 if(ns4) {document.layers[objMenu].visibility = "hide";}		// Netscape 4
 else if(ie4) {document.all[objMenu].style.visibility = "hidden";} 	// Explorer 4
 else if(ie5 || ns6) {document.getElementById(objMenu).style.display='none';} 	// W3C - Explorer 5+ and Netscape 6+
}

function TLToggleCheck(oElement) 
{ 
 oElement.checked = !oElement.checked;
 DoCalcTL();
} 

function DoSelectTab(iPart)
{
 if (iPart=="1") 
 {
  DoHide('tabAdd1');
  DoShow('tabNew1');
  
  document.getElementById("tab1").className = "cell_Tab1Active";
  document.getElementById("tab2").className = "cell_Tab2Inactive";
 }
 else {
  DoHide('tabNew1');
  DoShow('tabAdd1');
  document.getElementById("tab1").className = "cell_Tab1Inactive";
  document.getElementById("tab2").className = "cell_Tab2Active";
 } 
 DoCalcTL();
}
 
function getCookieTL()
{
 var nameEQ = "ut=";
 var ca = document.cookie.split(';');
 for(var i=0;i < ca.length;i++) {
  var c = ca[i];
  while (c.charAt(0)==' ') c = c.substring(1,c.length);
  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
 }
 return null;
}


function EditCheckbox(iCheckboxID)
{
 if (iCheckboxID=="10") 
 { 
  if (document.TLBuy.cbTLDeluxe.checked) {if (document.TLBuy.edTLDeluxeCount.value<1) document.TLBuy.edTLDeluxeCount.value=1;}
  else document.TLBuy.edTLDeluxeCount.value="";
 } 

 if (iCheckboxID=="220") 
 { 
 
  if (document.TLBuy.cbTLAdd.checked) 
  {
   if ((document.TLBuy.edTLAdd1.value<1) || (document.TLBuy.edTLAdd2.value<1)) 
   {
    document.TLBuy.edTLAdd1.value=1;
    document.TLBuy.edTLAdd2.value=2;
   } 
  }
  else {document.TLBuy.edTLAdd1.value=""; document.TLBuy.edTLAdd2.value="";}
 } 
 
 DoCalcTL();
}

function EditQuantity(iEditboxID)
{
 if ((iEditboxID=="10") || (iEditboxID=="0")) 
 {
  document.TLBuy.cbTLDeluxe.checked = document.TLBuy.edTLDeluxeCount.value>0;
 }
 

 if ((iEditboxID=="220") || (iEditboxID=="0")) 
 {
  document.TLBuy.cbTLAdd.checked = (document.TLBuy.edTLAdd1.value>0) && (document.TLBuy.edTLAdd2.value>0);
 }

 DoCalcTL();
}

function FormatSum(fSum)
{
 if (fSum == "") return "";
 fRes = Math.round(fSum*100)/100;
 fRes = fRes.toString();
 if (fRes.charAt(fRes.length-2) == ".") fRes=fRes+"0";
 if (fRes.indexOf(".")<0) fRes=fRes+".00";
 return fRes;
}

function TLGetPrice(iLicenseCount)
{
 iLicenseCount = parseInt(iLicenseCount);
 if (isNaN(iLicenseCount)) iLicenseCount=0;
 if (iLicenseCount<1) return 0;
 
 iSum = 24.95;
 if (iLicenseCount > 100) {iSum+=(iLicenseCount-100)*2.95; iLicenseCount=100};
 if (iLicenseCount > 20) {iSum+=(iLicenseCount-20)*4.95; iLicenseCount=20};
 if (iLicenseCount > 5) {iSum+=(iLicenseCount-5)*6.95; iLicenseCount=5};
 if (iLicenseCount > 1) {iSum+=(iLicenseCount-1)*9.95; iLicenseCount=1};
 
 return iSum;
}

function GetNextAddonPrice(iAddonsAdded)
{
 iRes = 0;
 if (iAddonsAdded==0) iRes=10;
 if (iAddonsAdded==1) iRes=7;
 if (iAddonsAdded==2) iRes=5;
 if (iAddonsAdded==3) iRes=3;
 
 iCount=parseInt(document.TLBuy.edTLDeluxeCount.value);
 if (isNaN(iCount)) iCount=0;
 if (iCount<1) iRes+=1.95;
 
 // discount add-ons on volume order
 if (iCount>1) iRes*=TLGetPrice(iCount)/TLGetPrice(1);
 
 return iRes;
}

function DoCalcTL()
{
 fTLDiscount=0;
 fTLSum=0;
 sTLName="";
 sTLSKU="";
 
 fPrice=0;
 fTotal=0;

 
 // TL Deluxe
 sSKU=""; sName=""; fTotal=0; sLabelClass="label_sum";
 iCount=parseInt(document.TLBuy.edTLDeluxeCount.value);
 if (isNaN(iCount)) iCount=0;
 if (iCount<1) {fPrice=24.95; fTotal=0}
 else {
  fTotal = TLGetPrice(iCount);
  fPrice = fTotal/iCount;
  sSKU = "tl_"+iCount;
  
  if (iCount<2) sName="TimeLeft Deluxe: Single user license";
  else sName="TimeLeft Deluxe: "+iCount+" users license";
 };
 
 document.getElementById("lTLDeluxePrice").innerHTML=FormatSum(fPrice);
 document.getElementById("lTLDeluxeTotal").innerHTML=FormatSum(fTotal);
 
 if (sSKU != "") { sTLSKU=sTLSKU+"_"+sSKU; sTLName=sTLName+"; "+sName; fTLSum=fTLSum+fTotal; sLabelClass="label_sum_selected"}
 document.getElementById("lTLDeluxePrice").className = sLabelClass;
 
 
 // Coupon
 sCoupon=document.TLBuy.edTLCoupon.value;
 if (sCoupon!="") {
  sCoupon=sCoupon.toLowerCase();
  sTLSKU=sTLSKU+"_coupon_"+sCoupon; sTLName=sTLName+"; Coupon: "+sCoupon;
  if (sCoupon=="inst04") {fTLDiscount=fTLSum*0.4; fTLSum-=fTLDiscount}
  else if (sCoupon=="discount20") {fTLDiscount=fTLSum*0.2; fTLSum-=fTLDiscount}
  else if (sCoupon=="skulski30") {fTLDiscount=fTLSum*0.3; fTLSum-=fTLDiscount}
  else if (sCoupon=="freg78d") {fTLDiscount=fTLSum*0.601; fTLSum-=fTLDiscount}
  else if (sCoupon=="wntr") {fTLDiscount=fTLSum*0.2; fTLSum-=fTLDiscount}
 };
  
 // All addons
 iAddonsCurrent=0;
 iAddonsCount=0;
 if (document.TLBuy.cbAddAuct.checked) iAddonsCount++;
 if (document.TLBuy.cbAddWeb.checked) iAddonsCount++;
 if (document.TLBuy.cbAddSkins.checked) iAddonsCount++;
 if (document.TLBuy.cbAddWine.checked) iAddonsCount++;
 
 // Auction Watch add-on
 sLabelClass="label_sum";
 fTotal=GetNextAddonPrice(iAddonsCount);
 obj=document.getElementById("lAddAuctTotal");
 if (document.TLBuy.cbAddAuct.checked) {
  fTLDiscount+=GetNextAddonPrice(0)-GetNextAddonPrice(iAddonsCurrent);
  fTotal=GetNextAddonPrice(iAddonsCurrent); iAddonsCurrent++;
  sLabelClass="label_sum_selected"; obj.innerHTML=FormatSum(fTotal);
  fTLSum+=fTotal;
  sTLSKU=sTLSKU+"_au"; sTLName=sTLName+"; Auction Watch add-on";
 }
 else obj.innerHTML="";
 document.getElementById("lAddAuctPrice").className=sLabelClass;
 document.getElementById("lAddAuctPrice").innerHTML=FormatSum(fTotal); 
  
 
 // Export to Web add-on
 sLabelClass="label_sum";
 fTotal=GetNextAddonPrice(iAddonsCount);
 obj=document.getElementById("lAddWebTotal");
 if (document.TLBuy.cbAddWeb.checked) {
  fTLDiscount+=GetNextAddonPrice(0)-GetNextAddonPrice(iAddonsCurrent);
  fTotal=GetNextAddonPrice(iAddonsCurrent); iAddonsCurrent++;
  sLabelClass="label_sum_selected"; obj.innerHTML=FormatSum(fTotal);
  fTLSum+=fTotal;
  sTLSKU=sTLSKU+"_wb"; sTLName=sTLName+"; Export to Web add-on";
 }
 else obj.innerHTML="";
 document.getElementById("lAddWebPrice").className=sLabelClass;
 document.getElementById("lAddWebPrice").innerHTML=FormatSum(fTotal); 


 // Additional skins pack
 sLabelClass="label_sum";
 fTotal=GetNextAddonPrice(iAddonsCount);
 obj=document.getElementById("lAddSkinsTotal");
 if (document.TLBuy.cbAddSkins.checked) {
  fTLDiscount+=GetNextAddonPrice(0)-GetNextAddonPrice(iAddonsCurrent);
  fTotal=GetNextAddonPrice(iAddonsCurrent); iAddonsCurrent++;
  sLabelClass="label_sum_selected"; obj.innerHTML=FormatSum(fTotal);
  fTLSum+=fTotal;
  sTLSKU=sTLSKU+"_sk"; sTLName=sTLName+"; Additional skins pack";
 }
 else obj.innerHTML="";
 document.getElementById("lAddSkinsPrice").className=sLabelClass;
 document.getElementById("lAddSkinsPrice").innerHTML=FormatSum(fTotal); 

  
 // Wine
 sLabelClass="label_sum";
 fTotal=GetNextAddonPrice(iAddonsCount);
 obj=document.getElementById("lAddWineTotal");
 if (document.TLBuy.cbAddWine.checked) {
  fTLDiscount+=GetNextAddonPrice(0)-GetNextAddonPrice(iAddonsCurrent);
  fTotal=GetNextAddonPrice(iAddonsCurrent); iAddonsCurrent++;
  sLabelClass="label_sum_selected"; obj.innerHTML=FormatSum(fTotal);
  fTLSum+=fTotal;
  sTLSKU=sTLSKU+"_wi"; sTLName=sTLName+"; Wine add-on";
 }
 else obj.innerHTML="";
 document.getElementById("lAddWinePrice").className=sLabelClass;
 document.getElementById("lAddWinePrice").innerHTML=FormatSum(fTotal); 

  
 // CD
 sLabelClass="label_sum";
 obj = document.getElementById("lTLCDTotal");
 if (document.TLBuy.cbTLCD.checked) {sTLSKU=sTLSKU+"_cd"; sTLName=sTLName+"; CD-ROM"; fTLSum+=9.95; obj.innerHTML="9.95"; sLabelClass="label_sum_selected";}
 else obj.innerHTML="";
 document.getElementById("lTLCDPrice").className = sLabelClass;

/* 
// TL Pro - Additional licenses
 fTotal=0;
 iCount1 = document.TLBuy.edTLAdd1.value;
 iCount2 = document.TLBuy.edTLAdd2.value;
 fTotal1 = TLGetPrice(iCount1);
 fTotal2 = TLGetPrice(iCount2);
 
 if ((fTotal1!=0) && (fTotal2>fTotal1))
 { 
  fTotal = (fTotal2-fTotal1)*1.05+0.95;
  sTLSKU=sTLSKU+"_wtproadd_"+iCount1+"_"+iCount2; 
  sTLName=sTLName+"; WorkTime Professional additional licenses: from "+iCount1+" to "+iCount2; 
  fTLSum=fTLSum+fTotal;
 }
 document.getElementById("lTLAddTotal").innerHTML=FormatSum(fTotal);
*/

  // show discount
 if (fTLDiscount==0) document.getElementById("lTLDiscount").innerHTML="&nbsp;";
 else document.getElementById("lTLDiscount").innerHTML="You save: $"+FormatSum(fTLDiscount); 
  
 
 // set total 
 obj = document.getElementById("lTLTotal");
 if (fTLSum=="") obj.innerHTML="0.00";
 else obj.innerHTML=FormatSum(fTLSum);
 
 document.TLBuy2.btTLBuy.disabled=false; 
 document.getElementById("lTLPaymentSent").innerHTML="";
}


function DoPaymentMethod()
{
 obj = document.getElementById("lTLPaymentDesc");
 if (document.TLBuy2.selTLPayMethod.selectedIndex==0) obj.innerHTML="Order online by Credit Card (using secure Paypal payment processor)";
 else if (document.TLBuy2.selTLPayMethod.selectedIndex==1) obj.innerHTML="Order online by Credit Card (using secure Element 5 payment processor)";
 else if (document.TLBuy2.selTLPayMethod.selectedIndex==2) obj.innerHTML="Purchase offline by Paper Check, Money Order, Purchase Order - please <a href=\"mailto:info@nestersoft.com?subject=Purchase TimeLeft by check\">contact</a>"
 // bank/wire transfer, check, credit card. 
 
 if (document.TLBuy2.selTLPayMethod.selectedIndex==2) document.TLBuy2.btTLBuy.value="Contact";
 else document.TLBuy2.btTLBuy.value="Buy now!";
 
 document.TLBuy2.btTLBuy.disabled=false;
 document.getElementById("lTLPaymentSent").innerHTML="";
}

function DoCheckoutTL()
{ 
 DoCalcTL();
 if (sTLName=="") {
  alert("Please select product or service");
  return
 }
 
 fTLSum = FormatSum(fTLSum);
 sTLName = sTLName.substring(2);
 sTLSKU = sTLSKU.substring(1)+"_u"+getCookieTL();
 
// alert(sTLSKU+"\n"+sTLName+"\n"+fTLSum); return;
 
 sRef = "[SENT] TL:"+sTLSKU+" Total: "+fTLSum;
 sURL = location.href; sURL = sURL.replace(/-/g,'_'); sURL = sURL.replace(/#/g,'');
 sUT = "http://www.nestersoft.com/ut/ut.php?a=" + sURL + "-" + sRef;

 setTimeout("document.imRefresh.src = sUT;",10);
 
 if (document.TLBuy2.selTLPayMethod.selectedIndex==0)  // paypal
 {
  sUrl="https://www.paypal.com/xclick/business=sales%40nestersoft.com&item_name="+sTLName+"&item_number="+sTLSKU+"&amount="+fTLSum+"&currency_code=USD";
 }
 
 if (document.TLBuy2.selTLPayMethod.selectedIndex==1)  // shareit
 {
  sUrl="https://secure.shareit.com/shareit/checkout.html?PRODUCT[300330949]=1&hidecoupon=1&HADD[300330949][ADDITIONAL1]="+sTLSKU+"&pc=6mtzb&PRODUCTPRICE[300330949]="+fTLSum+"USD%2CN";
 }
 
 if (document.TLBuy2.selTLPayMethod.selectedIndex==2)  // contact
 {
  sUrl="mailto:info@nestersoft.com?subject=Purchase TimeLeft by check"
 }
 location=sUrl;
 document.TLBuy2.btTLBuy.disabled=true;
 document.getElementById("lTLPaymentSent").innerHTML="Please wait...";
}

function Init()
{
 // set predefined sums
 var qs = new Querystring();
 if (qs.contains("set")) 			// page New
 {
  document.TLBuy.edTLDeluxeCount.value = qs.get("tl","");
  document.TLBuy.cbAddAuct.checked = qs.get("au","");
  document.TLBuy.cbAddWeb.checked = qs.get("we","");
  document.TLBuy.cbAddSkins.checked = qs.get("sk","");
  document.TLBuy.cbAddWine.checked = qs.get("wi","");
  document.TLBuy.cbTLCD.checked = qs.get("cd","");
  EditQuantity("0");
 }


 if (location.href.search(/\?add/)>0) 
 { 
  document.TLBuy.cbTL.checked=false; 
  EditCheckbox(10);
  DoSelectTab(2); 
 }
 
 iPos=location.href.search(/\?coupon/);
 if (iPos>0) 
 { 
  sCoupon = location.href.slice(iPos+8);
  document.TLBuy.edTLCoupon.value=sCoupon;
 }
 
 DoCalcTL();
 DoPaymentMethod();
}

