﻿//// JScript File
var
  PriceXML;


function InitPriceList(RequestUrl)
{
//	var requestUrl =   "LicensePrice.aspx?ProductID="+ProductID+"&CouponID="+CouponID+"&LicenseKey="+LicenseKeyID;
//	var requestUrl =   "http://webzoo.license.comarchive.com/LicensePrice.aspx?ProductID="+ProductID+"&CuponLicenseKeyID="+CouponLicenseKeyID;
//	var requestUrl =   "http://www.comarchive.com/php/exchange_data.php?ProductID="+ProductID+"&CouponLicenseKeyID="+CouponLicenseKeyID;

	CreateXMLHTTP();
	
	// If browser supports XMLHTTPRequest object
	if(XMLHTTP)
	{
		//Setting the event handler for the response
		XMLHTTP.onreadystatechange = GetPriceListResponse;
		
		//Initializes the request object with GET (METHOD of posting), 
		//Request URL and sets the request as asynchronous.
		XMLHTTP.open("GET", RequestUrl,  true);
		
		//Sends the request to server
		XMLHTTP.send(null);		
	}
}

function InitUpgradePriceList(RequestUrl)
{
//	var requestUrl =   "LicensePrice.aspx?ProductID="+ProductID+"&CouponID="+CouponID+"&LicenseKey="+LicenseKeyID;
//	var requestUrl =   "http://webzoo.license.comarchive.com/LicensePrice.aspx?UpgradeProductID="+ProductID+"&CuponLicenseKeyID="+CouponLicenseKeyID;
//	var requestUrl =   "http://www.comarchive.com/php/exchange_data.php?UpgradeProductID="+ProductID+"&CouponLicenseKeyID="+CouponLicenseKeyID;
	CreateXMLHTTP();
	
	// If browser supports XMLHTTPRequest object
	if(XMLHTTP)
	{
		//Setting the event handler for the response
		XMLHTTP.onreadystatechange = GetPriceListResponse;
		
		//Initializes the request object with GET (METHOD of posting), 
		//Request URL and sets the request as asynchronous.
		XMLHTTP.open("GET", RequestUrl,  true);
		
		//Sends the request to server
		XMLHTTP.send(null);		
	}
}


function GetPriceListResponse()
{
	// To make sure receiving response data from server is completed
	
	if(XMLHTTP.readyState == 4)
	{
		//Valid Response is received
		if(XMLHTTP.status == 200)
		{			
			UpdateGetPriceList(XMLHTTP.responseXML.documentElement);
		}
		else //something is wrong 
		{
			alert("Could not retreive data from the server" );
		}
	}
	else
	{
	}
}

function GetVolumeDiscount(Seats, Year, Currency)
{
  intNormalPrice = GetPrice(1,Year, Currency);
  intPrice = GetPrice(Seats, Year, Currency);
  return (intNormalPrice*Seats)-intPrice;
}

function GetDiscount(Seats, Year, Currency)
{
    if (Seats == 0)
    {
      return "0";
    }
    
    x = PriceXML.getElementsByTagName("ProductInformation");
    PriceMode = GetInnerText(x[0].getElementsByTagName("PriceMode")[0]);
    x=PriceXML.getElementsByTagName("PriceDefinition");
    var xmlYear = 1;
    var xmlMinSeats = 2;
    var xmlMaxSeats = 3;
    var xmlCurrency = 5;
    
    for (i=0;i<x.length;i++)
    {
       xmlYear = parseInt(GetInnerText(x[i].getElementsByTagName("Year")[0]));
       xmlMaxSeats = parseInt(GetInnerText(x[i].getElementsByTagName("MaxSeats")[0]));
       xmlMinSeats = parseInt(GetInnerText(x[i].getElementsByTagName("MinSeats")[0]));
       xmlCurrency = parseInt(GetInnerText(x[i].getElementsByTagName("Currency")[0]));
      
       if (Year == xmlYear && Seats <= xmlMaxSeats && Seats > xmlMinSeats && Currency == xmlCurrency)
       {
         if (PriceMode == "1")
         {
           var price;
           price = 0;
           if (GetInnerText(x[i].getElementsByTagName("Discount")[0]) > 0)
           {
             price = Seats * parseFloat(GetInnerText(x[i].getElementsByTagName("Price")[0]));
             price = (price * (parseInt(GetInnerText(x[i].getElementsByTagName("Discount")[0])) /100))
           }
           return price;
         }
         
         if (PriceMode == "2")
         {
           var price;
           price = 0;
           if (GetInnerText(x[i].getElementsByTagName("Discount")[0]) > 0)
           {
             price = GetInnerText(x[i].getElementsByTagName("Price")[0]);
             price = (price * (parseInt(GetInnerText(x[i].getElementsByTagName("Discount")[0])) /100))
           }
           
           return price;
         }
         
       }
    }
}




function GetPrice(Seats, Year, Currency)
{
    if (Seats == 0)
    {
      return "0";
    }
    
    x = PriceXML.getElementsByTagName("ProductInformation");
    PriceMode = GetInnerText(x[0].getElementsByTagName("PriceMode")[0]);
    x=PriceXML.getElementsByTagName("PriceDefinition");
    var xmlYear = 1;
    var xmlMinSeats = 2;
    var xmlMaxSeats = 3;
    var xmlCurrency = 5;
    
    for (i=0;i<x.length;i++)
    {
       xmlYear = parseInt(GetInnerText(x[i].getElementsByTagName("Year")[0]));
       xmlMaxSeats = parseInt(GetInnerText(x[i].getElementsByTagName("MaxSeats")[0]));
       xmlMinSeats = parseInt(GetInnerText(x[i].getElementsByTagName("MinSeats")[0]));
       xmlCurrency = parseInt(GetInnerText(x[i].getElementsByTagName("Currency")[0]));
      
       if (Year == xmlYear && Seats <= xmlMaxSeats && Seats > xmlMinSeats && Currency == xmlCurrency)
       {
         if (PriceMode == "1")
         {
           var price;
           price = Seats * parseFloat(GetInnerText(x[i].getElementsByTagName("Price")[0]));
           if (GetInnerText(x[i].getElementsByTagName("Discount")[0]) > 0)
           {
            
             price = price - (price * (parseInt(GetInnerText(x[i].getElementsByTagName("Discount")[0])) /100))
           }
           return price;
         }
         
         if (PriceMode == "2")
         {
           var price;
           price = GetInnerText(x[i].getElementsByTagName("Price")[0]);
           if (GetInnerText(x[i].getElementsByTagName("Discount")[0]) > 0)
           {
             price = price - (price * (parseInt(GetInnerText(x[i].getElementsByTagName("Discount")[0])) /100))
           }
           return price;
         }
         
       }
    }
}

function UpdateGetPriceList(ClientNode)
{
    if(ClientNode!=null)
    {
        PriceXML = ClientNode;
	AjaxDone();
    }
}

function CreateXMLHTTP()
{
	
	try
	{
		XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			XMLHTTP = null;
		}
	}
	//Creating object in Mozilla and Safari 
	if(!XMLHTTP && typeof XMLHttpRequest != "undefined") 
	{
		XMLHTTP = new XMLHttpRequest();
	}
}

function GetInnerText (node)
{
	 return (node.textContent || node.innerText || node.text) ;
}





