/* JS for /visualdxIndivdual/index.jsp online purchase page */

var pkgDetailsWindow = null;
var level = "n/a";

function newWindow(theURL,winName,features) {
   if (pkgDetailsWindow != null)
      pkgDetailsWindow.close();
   pkgDetailsWindow = window.open(theURL,winName,features);
}

function checkOut(pkg, offer) {
   document.getElementById("selectProductForm:packageId").value = pkg;
   document.getElementById("selectProductForm:offerId").value = offer;
   document.getElementById("selectProductForm:isFreeTrial").value = false;
   document.getElementById("selectProductForm:selectProductAction").click();
}

function selectTrial(pkg) {
   document.getElementById("selectProductForm:packageId").value = pkg;
   document.getElementById("selectProductForm:offerId").value = 9;
   document.getElementById("selectProductForm:isFreeTrial").value = true;
   document.getElementById("selectProductForm:selectProductAction").click();
}

function tooltip(link, msg) {
   var div = document.getElementById("tooltip");
   div.innerHTML = msg;
   div.style.visibility = "visible";
   div.style.display = "block";
   div.style.position = "absolute";
   div.style.left = Number(calcOffset(link, "offsetLeft") - 5) + "px";
   div.style.top = Number(calcOffset(link, "offsetTop") - 25) + "px";
}

function hideTooltip() {
   var div = document.getElementById("tooltip");
   div.innerHTML = "";
   div.style.visibility = "hidden";
   div.style.display = "none";
}

function calcOffset(element, property) {
   var propValue = 0;
   var result = 0;
   while (element) {
      propValue = element[property];
      result += propValue;
      element = element.offsetParent;
   }
   return result - propValue;  // subtract the element itself
}

function updatePricing() {
   var offer = 1;
   var proceed = true;
 
   if (level == "edu") {
      offer = 3;
      //offer = document.getElementById("stuLevel").value;
      //if (offer == 0) {
      //   alert("Unable to update pricing.\nPlease select your Student/Trainee Status and try again.");
      //   proceed = false;
      //}
   }
   //if everything checks out, update prices.
   if (proceed) {
      var numPkgs = document.getElementById("selectProductForm:numPkgs").value;
      var numOffers = document.getElementById("selectProductForm:numOffers").value;
      for (var i=0; i < numPkgs; i++) {
         for (var j=1; j <= numOffers; j++) {
            var div = document.getElementById(i+"-"+j);
            if (div) {
               if ((j == 1 && offer == 1) || (j == 2 && offer = 3)) {
                  div.style.visibility = "visible";
                  div.style.display = "block";
               } else {
                  div.style.visibility = "hidden";
                  div.style.display = "none";
               }
            }
         }
      }
   }
}

// choose no discount
function doChooseNone() {
   level = "n/a";
   document.getElementById("stuLevel").selectedIndex = 0;
   updatePricing();
   var div = document.getElementById("affiliateLabel");
   if (div) {
      div.style.visibility = "visible";
      div.style.display = "block";
   }
}


// choose student/trainee status
function doChooseStudent() {
   level="edu";

   //if (document.getElementById("stuLevel").selectedIndex == 0) {
   //   level="n/a";
   //} else {
   //   level="edu";
   //}
   updatePricing();
   hideAffiliateLabel();
}

// select type of student/trainee
function doSelectStudentType() {
   if (this.selectedIndex != 0) {
      document.getElementById("eduBtn").checked = true;
      level = "edu";
   } else {
      document.getElementById("naBtn").checked = true;
      level = "n/a";
   }
   updatePricing();
   hideAffiliateLabel();
}

function initChoices() {
   doChooseNone();
   document.getElementById("naBtn").checked = true;
   document.getElementById("eduBtn").checked = false;
   level = "n/a";
}

function hideAffiliateLabel() {
   var div = document.getElementById("affiliateLabel");
   if (div) {
      div.style.visibility = "hidden";
      div.style.display = "none";
   }
}
