﻿// JScript File
    // 1-1-1   
    //        (
    //            first 1 - license option
    //            second 1 - no dbs (0-none)
    //            third - no of edition (0-none)
    //        )
    var priceList = new Array();
    //workstation 
    //pure xml 
    priceList["1-0-0"]= new Array();
    priceList["1-0-0"]["list_price"] = "$700";
    priceList["1-0-0"]["pay_price"] = "$455";
    priceList["1-0-0"]["save"] = "35%";
    //xml with one editor, no db
    priceList["1-0-1"]= new Array();
    priceList["1-0-1"]["list_price"] = "$1,000";
    priceList["1-0-1"]["pay_price"] = "$655";
    priceList["1-0-1"]["save"] = "34.50%";
    //xml with  1 db, 1 editor
    priceList["1-1-1"]= new Array();
    priceList["1-1-1"]["list_price"] = "$1,300";
    priceList["1-1-1"]["pay_price"] = "$995";
    priceList["1-1-1"]["save"] = "23.46%";
    //xml with  2 db, 1 editor
    priceList["1-2-1"]= new Array();
    priceList["1-2-1"]["list_price"] = "$2,000";
    priceList["1-2-1"]["pay_price"] =  "$1,550";
    priceList["1-2-1"]["save"] = "22.50%";
    //xml with  3 db, 1 editor
    priceList["1-3-1"]= new Array();
    priceList["1-3-1"]["list_price"] = "$2,700";
    priceList["1-3-1"]["pay_price"] = "$2,105";
    priceList["1-3-1"]["save"] = "22.04%";
    //xml with  4 db, 1 editor
    priceList["1-4-1"]= new Array();
    priceList["1-4-1"]["list_price"] = "$3,400";
    priceList["1-4-1"]["pay_price"] = "$2,660";
    priceList["1-4-1"]["save"] = "21.76%";
    //xml with  5 db, 1 editor
    priceList["1-5-1"]= new Array();
    priceList["1-5-1"]["list_price"] = "$4,100";
    priceList["1-5-1"]["pay_price"] = "$3,215";
    priceList["1-5-1"]["save"] = "21.59%";
    //xml with  6 db, 1 editor
    priceList["1-6-1"]= new Array();
    priceList["1-6-1"]["list_price"] = "$4,800";
    priceList["1-6-1"]["pay_price"] = "$3,770";
    priceList["1-6-1"]["save"] = "21.46%";
    //xml with  7 db, 1 editor
    priceList["1-7-1"]= new Array();
    priceList["1-7-1"]["list_price"] = "$5,500";
    priceList["1-7-1"]["pay_price"] = "$4,325";
    priceList["1-7-1"]["save"] = "21.36%";
    //xml with  8 db, 1 editor
    priceList["1-8-1"]= new Array();
    priceList["1-8-1"]["list_price"] = "$6,200";
    priceList["1-8-1"]["pay_price"] = "$4,880";
    priceList["1-8-1"]["save"] = "21.29%";
    
    //server license 
    //pure xml (not available for server)
    //xml with one editor, no db
    priceList["2-0-1"]= new Array();
    priceList["2-0-1"]["list_price"] = "$2,100";
    priceList["2-0-1"]["pay_price"] = "$1,890";
    priceList["2-0-1"]["save"] = "10.00%";
    //xml with  1 db, 1 editor
    priceList["2-1-1"]= new Array();
    priceList["2-1-1"]["list_price"] = "$5,200";
    priceList["2-1-1"]["pay_price"] = "$4,680";
    priceList["2-1-1"]["save"] = "10.00%";
    //xml with  2 db, 1 editor
    priceList["2-2-1"]= new Array();
    priceList["2-2-1"]["list_price"] = "$7,300";
    priceList["2-2-1"]["pay_price"] =  "$6,570";
    priceList["2-2-1"]["save"] = "10.00%";
    //xml with  3 db, 1 editor
    priceList["2-3-1"]= new Array();
    priceList["2-3-1"]["list_price"] = "$9,400";
    priceList["2-3-1"]["pay_price"] =  "$8,460";
    priceList["2-3-1"]["save"] = "10.00%";
    //xml with  4 db, 1 editor
    priceList["2-4-1"]= new Array();
    priceList["2-4-1"]["list_price"] = "$11,500";
    priceList["2-4-1"]["pay_price"] =  "$10,350";
    priceList["2-4-1"]["save"] = "10.00%";
    

    function SelectDB(thisObj) {        
        var license = 1;
        var selected_db_no = 0;
        var selected_editor = 0;
        var re = /package/i;       
        var editor_value = 0;
         var prefix = thisObj.id.substr(0, 2);
        
        if (prefix == "ws")
            license = 1;
            
        if (prefix == "sl")
            license = 2;     
                    
        var thisCollection =  getCheckedDBCollection(["ws_oracle", "ws_db2", "ws_sqlserver", "ws_sybase", "ws_informix", "ws_postgresql", "ws_mysql"]);
         
         if (license == 2)
            thisCollection =  getCheckedDBCollection(["sl_oracle", "sl_db2", "sl_sqlserver", "sl_sybase"]);
        
        if (thisObj.checked && document.getElementById(prefix + "_editor").value == 0)
            document.getElementById(prefix + "_editor").selectedIndex = 1;
        
        
        //if at least one db selected, then editor will set to ss as default
        if (thisCollection.length > 0 && document.getElementById(prefix + "_editor").value == 0)
        {
            alert("you have to choose one editor if there's at least one data source selected.");
            document.getElementById(prefix + "_editor").selectedIndex = 1;
        }
        
         if (license == 1) {
                document.getElementById("ws_ds_checked_length").value = thisCollection.length;           
                document.getElementById("ws_ds_checked_list").value = retrieveCollectionList(thisCollection); 
           
            }
          else {
                document.getElementById("sl_ds_checked_length").value = thisCollection.length;
                document.getElementById("sl_ds_checked_list").value = retrieveCollectionList(thisCollection); 
            }
            
            
   
            
        selected_db_no = thisCollection.length;
        
        

        //if workstation, reset ws_list_price, ws_save, ws_pay_price
        
        
        
        //if workstation package, reset...
        //if server, reset sl_list_price, sl_save, sl_pay_price
        //if server package, reset ..
        if (license == 1)
            editor_value = document.getElementById("ws_editor").value;
        else
            editor_value = document.getElementById("sl_editor").value;
            
        resetPrice(prefix, license, thisCollection.length, editor_value);
      }
      
      
//      function getCheckedDBCollection() {
//       var dbCollection = ["ws_oracle", "ws_db2", "ws_sqlserver", "ws_sybase"]; 
//       var dbCheckedCollection = new Array();

//       for (var thisIndex in dbCollection) {
//           if (document.getElementById(dbCollection[thisIndex]).checked)
//               dbCheckedCollection.push(dbCollection[thisIndex]);
//       }
//            
//       return(dbCheckedCollection);
//      }
      
      
 
    function SelectDS(thisObj) {
        var license = 1; //default as workstation
        var selected_db_no = 1; //default as 1 db
        var prefix = thisObj.id.substr(0,2);
        
        if (prefix == "sl")
            license = 2;
         var checkedDSCollection =  getCheckedDBCollection(["ws_edifact", "ws_x12", "ws_iata", "ws_eancom", "ws_flat","ws_informix", "ws_postgresql", "ws_mysql"]);
         
         if (license == 2)
            checkedDSCollection =  getCheckedDBCollection(["sl_edifact", "sl_x12", "sl_iata", "sl_eancom", "sl_flat"]);
           if (license == 1) {
                document.getElementById("ws_ds_checked_length").value = checkedDSCollection.length;           
                document.getElementById("ws_ds_checked_list").value = retrieveCollectionList(checkedDSCollection); 
           
            }
          else {
                document.getElementById("sl_ds_checked_length").value = checkedDSCollection.length;
                document.getElementById("sl_ds_checked_list").value = retrieveCollectionList(checkedDSCollection); 
            }
            

         if (checkedDSCollection.length == 0) {
            alert("At least one Data Source is required");
            thisObj.checked = true;
            return;
            }
         var package_key; 
         if (checkedDSCollection.length >= 3) {
            package_key = eval(license) + "-" + "6";
           // document.getElementById(prefix + "_warning").innerHTML = "You can purchase Bundle/Package for only " + priceList[package_key]["pay_price"];
         }
        // else
           // document.getElementById(prefix + "_warning").innerHTML = "";
          
          
          
         resetPrice(prefix, license, checkedDSCollection.length);
    
    }
         
      
      function retrieveCollectionList(checkedDSCollection) {
        var thisList = "";
        for (var thisObj in checkedDSCollection)
            thisList = thisList + "," + document.getElementById(checkedDSCollection[thisObj]).value;
        return(thisList.substr(1, thisList.length-1));
      }
      
      
      function getCheckedDBCollection(collectionList) {
           var dsCheckedCollection = new Array();
           for (var thisIndex in collectionList) 
               if (document.getElementById(collectionList[thisIndex]).checked)
                   dsCheckedCollection.push(collectionList[thisIndex]);
            return(dsCheckedCollection);
      }
      
      function resetPrice(prefix, license, dbSelected, editor) {
        var key;
        
        if (editor == 0)
            key = license + "-" + dbSelected + "-" + "0";
        else
            key = license + "-" + dbSelected + "-" + "1";
        document.getElementById(prefix + "_list_price").innerHTML = priceList[key]["list_price"];
        document.getElementById(prefix + "_save").innerHTML = priceList[key]["save"];
        document.getElementById(prefix + "_pay_price").innerHTML = priceList[key]["pay_price"];
        
        //for promotion
        if (document.getElementById(prefix + "_editor").selectedIndex == 1 && key == "1-0-1") {
            document.getElementById(prefix + "_list_price").innerHTML = "$1,395";
            document.getElementById(prefix + "_save").innerHTML = "24.73%";
            document.getElementById(prefix + "_pay_price").innerHTML = "$1,050";
        }
            
        
      }
      
      function SelectCPU(thisObj) {
      
        if (thisObj.value == 2) {
            alert("For orders of more than 3 CPU licenses, please contact our Enterprise Sales Team at (800) 477-6473 (Ext. 4488) or (781) 280-4488.");
            thisObj.selectedIndex = 0;
         }
      }
     