﻿// JScript File


//Module level variablse
var _strContentPage = "ctl00_ContentPlaceHolder1_";
var _strRepeaterCtrl = "ctl00_ContentPlaceHolder1_rptQuickOrder_ctl";
var _strSkuList = "";
var _strDataMsg = "";
var _lngRecCount = 0;


/*
    Name        :       addSpotOnItemsToCart
    Purpose     :       Saves SpotOn items to the cart
    Author      :       ToddH (Baudville) - 6/9/2009
*/
function addSpotOnItemsToCart() {
    var blnNoError = true; 
    var strDataSent = "data=";
    var strDataToSave = "";
    var inv = "";
    var strDomain = getElementId(_strContentPage + 'hidDomain').value;
    var intPrograms = getElementId(_strContentPage + 'rntbProgramsQty_text').value;
    var intBallots = getElementId(_strContentPage + 'rntbBallotsQty_text').value;
    var intTokenBoxes = getElementId(_strContentPage + 'rntbTokenBoxesQty_text').value;
    var intTokens = getElementId(_strContentPage + 'rntbTokensQty_text').value;
    
    var hidSite = document.getElementById('ctl00_ContentPlaceHolder1_hidSiteUrl');
	 var strHttpserver = "";
	 if (hidSite == null) {
		  strHttpServer = document.getElementById('ctl00_ContentPlaceHolder1_hidDomain').value;
	 } else {
		  strHttpServer = hidSite.value
	 }
    
    if (intPrograms != null && intPrograms > 0) {
        strDataToSave += '70180||' + intPrograms + 'þ'; // 70180 real part - temp holder
        inv = '70180';
    }
    if (intBallots != null && intBallots > 0) {
        strDataToSave += '70181||' + intBallots + 'þ'; // 70181 real part - temp certificate
        inv = '70181';
    }
    if (intTokenBoxes != null && intTokenBoxes > 0) {
        strDataToSave += '70183||' + intTokenBoxes + 'þ'; // 70183 real part - temp ribbons
        inv = '70183';
    }    
    if (intTokens != null && intTokens > 0) {
        strDataToSave += '70184||' + intTokens + 'þ'; // 70184 real part - temp tokens
        inv = '70184';
    }
   
    if (strDataToSave.length > 0) {
        strDataSent += strDataToSave;
        saveSkuData(strDataSent);
        if (_strDataMsg != "saved") {
            blnNoError = false;
        }
    } else {
        blnNoError = false;
        radalert("Please enter a quantity next to the item(s) you wish to add to your cart." ,300,150,'No Items Selected');
    }
    
    if (blnNoError) {
        //window.location = strDomain + "/shopping-cart";
        ChangePage(strHttpServer + 'dialogs/aov.aspx?inv=' + inv)
    }
    return blnNoError;
    
}


/*
    Name        :       displayOnOff
    Purpose     :       Determines if things are shown or hidden.
    Author      :       JohnD (Baudville) - 11/5/2008
*/

function displayOnOff(strDisplayType) {


  var hidItems = document.getElementById(_strContentPage + 'hidItems');

   var spnQ = document.getElementById('spnQty');
   var spnD = document.getElementById('spnDesc');
   var spnP = document.getElementById('spnPrice');
   var intRows = document.getElementById(_strContentPage + 'hidQORows').value;
   
        hidItems.value = 0
   for (i=1;i<=intRows;i++) {
        var strCtrlId = i;
        
        if (i < 9) {
            strCtrlId = "0" + i;
        } 
        var tbx = document.getElementById(_strRepeaterCtrl + strCtrlId + '_tbxInvtId');
        if (tbx != null) {
            if (tbx.value.length > 0) {
                var intQty = $find(_strRepeaterCtrl + strCtrlId + '_radTbxQty').get_value();
                
                if (intQty != null) {
                    hidItems.value=1;
                    break;
                }
            }
        }
    }
   
   
   switch (strDisplayType) {
   
    case "on": spnQ.style.display="inline";
               spnD.style.display="inline";
               spnP.style.display="inline";
               break;
    case "off": 
    
    
    
                if (hidItems.value==0) {
                spnQ.style.display="none";
                spnD.style.display="none";
                spnP.style.display="none";
                }
                break;
    }

}

/*
    Name        :       saveSkuData
    Purpose     :       Saves the contents of the quick order form to the database
    Author      :       JohnD (Baudville) - 11/5/2008
*/
function saveSkuData(strDataSent) {
  var hidDomain = document.getElementById(_strContentPage + 'hidDomain');
  var objHTTP = GetXmlHttpObject();
   var szURL = "/dialogs/xmlcallback.aspx?dlg=qocartsave";
  var szHttpMethod = "POST";
  
  _strDataMsg = "";
  
  objHTTP.open(szHttpMethod, szURL, false);
  objHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  objHTTP.setRequestHeader("Content-length", strDataSent.length);
  objHTTP.setRequestHeader("Connection", "close");
  
  if (_intFireFoxVers >= 3 || _intFireFoxVers == 2) {
  objHTTP.onload = function(){
            if (objHTTP.readyState == 4 || objHTTP.readyState == "complete") {
                var hidSite = document.getElementById('hidSiteUrl');
                var strHttpserver = "";
                if (hidSite == null) {
                    strHttpServer = hidDomain.value;
                } else {
                    strHttpServer = hidSite.value
                }
                var strXmlReturn = objHTTP.responseText;
                strXmlReturn = strXmlReturn.replace("<Response><item>", "");
                strXmlReturn = strXmlReturn.replace("</item></Response>", "");
                strXmlReturn = strXmlReturn.replace('<?xml version="1.0" ?>', '');

                if (strXmlReturn.indexOf('Error') > - 1) {
                    if (document.getElementById(_strContentPage + 'hidShowInternal').value == 1) {
                        radalert(strXmlReturn,500,500,'Xml Error');
                    }
                } else {
                    _strDataMsg = strXmlReturn;
                }
              }
           }
  objHTTP.send(strDataSent);
  } else {
  objHTTP.onreadystatechange = function(){
            if (objHTTP.readyState == 4 || objHTTP.readyState == "complete") {
                var hidSite = document.getElementById('hidSiteUrl');
                var strHttpserver = "";
                if (hidSite == null) {
                    strHttpServer = hidDomain.value;
                } else {
                    strHttpServer = hidSite.value
                }
                var strXmlReturn = objHTTP.responseText;
                strXmlReturn = strXmlReturn.replace("<Response><item>", "");
                strXmlReturn = strXmlReturn.replace("</item></Response>", "");
                strXmlReturn = strXmlReturn.replace('<?xml version="1.0" ?>', '');

                if (strXmlReturn.indexOf('Error') > - 1) {
                    if (document.getElementById(_strContentPage + 'hidShowInternal').value == 1) {
                        radalert(strXmlReturn,500,500,'Xml Error');
                    }
                } else {
                    _strDataMsg = strXmlReturn;
                }
              }
           }
  objHTTP.send(strDataSent);
  }
}


/*
    Name        :       addItemsToCart
    Purpose     :       Saves the items to the cart
    Author      :       JohnD (Baudville) - 11/5/2008
*/
function addItemsToCart() {

    var intRows = document.getElementById(_strContentPage + 'hidQORows').value;
    var strDomain = document.getElementById(_strContentPage + 'hidDomain').value;
    var strDataSent = "data=";
    var strDataToSave = "";
    var blnNoError = true; //Assume no errors
    var strErrorMsg = "";
    var blnAddItem = false;
    var blnNoAddItems = false;
    var lngHt = 500;
    var lngWd = 300;

    for (i=1;i<=intRows;i++) {
        var strCtrlId = i;
        
        if (i < 9) {
            strCtrlId = "0" + i;
        } 
        var tbx = document.getElementById(_strRepeaterCtrl + strCtrlId + '_tbxInvtId');
        var hidItemAdded = getElementId(_strRepeaterCtrl + strCtrlId + '_hidItemAdded');
        var lblError = getElementId(_strRepeaterCtrl + strCtrlId  + '_lblError');
        var intQty = $find(_strRepeaterCtrl + strCtrlId + '_radTbxQty').get_value();
        var divResults = getElementId(_strRepeaterCtrl + strCtrlId + '_divResults');
        
        
          
        
        blnAddItem = true;
        
        if (divResults.style.display != 'none') {
            blnNoAddItems = true;
            
        }
        if (hidItemAdded.value != null && hidItemAdded.value == -1) {
        
            if (intQty == 0) {
                blnAddItem = false;
            }
        }
        
        if (tbx != null && blnAddItem) {
            if (tbx.value.length > 0) {
                var strSellInMult = document.getElementById(_strRepeaterCtrl + strCtrlId + '_hidSellInMult').value;
                var strPersType = document.getElementById(_strRepeaterCtrl + strCtrlId + '_hidPersType').value;
                
                
                if (intQty != null && intQty > 0) {
                    if (parseInt(strSellInMult) > 1) {
                        if (intQty % parseInt(strSellInMult)) {
                            strErrorMsg += "Item #" + tbx.value + " is sold in multiplies of [" + strSellInMult + "]<br />";
                        }
                    }
                    strDataToSave += tbx.value + '|' + strPersType + '|' + intQty + 'þ';
                    //strDataToSave = strDataToSave.toUpperCase();
                }
            }
        }
    }
    
    if (strErrorMsg.length > 0) {
        strDataToSave = "";
    }
    
    
    
    if (blnNoAddItems) {
        strDataToSave = "";
        strErrorMsg += "There is one or more items that have not been completely selected. Please finish your selection and click on Add to Cart.";
     
    }
    
    if (strDataToSave.length > 0) {
        strDataSent += strDataToSave;
        saveSkuData(strDataSent);
        if (_strDataMsg != "saved") {
            radalert(_arrUserMsg[9],450,150,"Cart Failed To Save");
            blnNoError = false;
        }
    } else if (strDataToSave.length == 0) {
    
        if (strErrorMsg.length >0) {
            radalert(strErrorMsg,450,150,"Quick Order List Error");
        } else {    
            radalert(_arrUserMsg[8],450,150,"Cart Error");
        }
        blnNoError = false;
    }
    
    
    if (blnNoError) {
        window.location = strDomain + "/shopping-cart";
    }
    return blnNoError;
    
}

/*
    Name        :       selectItem
    Purpose     :       Sets up the record on the page
    Author      :       JohnD (Baudville) - 11/4/2008
*/
function selectItem(strInvtId, tbxinvtid, divresults, lbldesc, strRecord, hidsim, hidpt, radqty, lblprice, lblprodimg, hidItemAdded) {

hidItemAdded.value = 0;

    
  if (strRecord.length > 0) {
    var arrRec = new Array();
    arrRec = strRecord.split('|');
    if (arrRec.length > 0) {
        strInvtId = arrRec[0];
    }
  }



   var hidItems = document.getElementById(_strContentPage + 'hidItems');
   var tbx = document.getElementById(tbxinvtid);
   var div = document.getElementById(divresults);
   var lbl = document.getElementById(lbldesc);
   var lblP = document.getElementById(lblprice);
   var lblI = document.getElementById(lblprodimg);
      
   var rad = $find(radqty)
   var arr = strRecord.split('|')
   var hidSellInMult = document.getElementById(hidsim);
   var hidPersType = document.getElementById(hidpt);
   var strDesc = "";
   var hidScene7 = document.getElementById(_strContentPage + 'hidScene7Url')   
   var strScene7 = hidScene7.value;
   
    tbx.value = strInvtId; 
    div.style.display = "none";
    
    if (arr != null && arr.length > 0) {
        displayOnOff('on');
        hidSellInMult.value = arr[2];
        rad.set_minValue(arr[2]);
        hidPersType.value = arr[4];
        lblI.innerHTML = "<img src='" + strScene7.replace('IMG','BV_' + arr[0] + '_FRONT') + "' alt='Item# " + arr[0] + "\n" + arr[1] + "' />"
        lbl.innerHTML =arr[1] + "\n";
        if (arr[2] > 1) {
            strDesc += "<br />Sold in multiples of " + arr[2];
        }
        lbl.innerHTML += strDesc
        lblP.innerHTML = "$" +   CurrencyFormat(arr[9]);
        rad.set_value(arr[2]);
        hidItems.value=1;
    }
}

/*
    Name        :       getSkuData
    Purpose     :       Pulls back the list of skus
    Author      :       JohnD (Baudville) - 11/4/2008
*/
function getSkuData(tbx) {
  var hidDomain = document.getElementById(_strContentPage + 'hidDomain');
  var strDataSent = "inv=" + tbx.value;
  var objHTTP = GetXmlHttpObject();
   var szURL = "/dialogs/xmlcallback.aspx?dlg=qosku";
  var szHttpMethod = "POST";
  
  _strSkuList = "";
  objHTTP.open(szHttpMethod, szURL, false);
  objHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  objHTTP.setRequestHeader("Content-length", strDataSent.length);
  objHTTP.setRequestHeader("Connection", "close");
  
  if (_intFireFoxVers >= 3 || _intFireFoxVers == 2) {
  
  objHTTP.onload = function(){
            if (objHTTP.readyState == 4 || objHTTP.readyState == "complete") {
                var hidSite = document.getElementById('hidSiteUrl');
                var strHttpserver = "";
                if (hidSite == null) {
                    strHttpServer = hidDomain.value;
                } else {
                    strHttpServer = hidSite.value
                }
                var strXmlReturn = objHTTP.responseText;
                strXmlReturn = strXmlReturn.replace("<Response><item>", "");
                strXmlReturn = strXmlReturn.replace("</item></Response>", "");
                strXmlReturn = strXmlReturn.replace('<?xml version="1.0" ?>', '');

                if (strXmlReturn.indexOf('Error') > - 1) {
                    radalert(strXmlReturn,300,100,'Xml Error');
                } else {
                
                    _strSkuList = strXmlReturn;
                    
                    
                }
              }
           }
  objHTTP.send(strDataSent);
  } else {
  objHTTP.onreadystatechange = function(){
            if (objHTTP.readyState == 4 || objHTTP.readyState == "complete") {
                var hidSite = document.getElementById('hidSiteUrl');
                var strHttpserver = "";
                if (hidSite == null) {
                    strHttpServer = hidDomain.value;
                } else {
                    strHttpServer = hidSite.value
                }
                var strXmlReturn = objHTTP.responseText;
                strXmlReturn = strXmlReturn.replace("<Response><item>", "");
                strXmlReturn = strXmlReturn.replace("</item></Response>", "");
                strXmlReturn = strXmlReturn.replace('<?xml version="1.0" ?>', '');

                if (strXmlReturn.indexOf('Error') > - 1) {
                    radalert(strXmlReturn,300,100,'Xml Error');
                } else {
                
                    _strSkuList = strXmlReturn;
                    
                    
                }
              }
           }
  objHTTP.send(strDataSent);
  }
}

/*
    Name        :   writeOutValue
    Purpose     :   Writes out the text value to the page on the element passed into it.
    Author      :   JohnD (Baudville) - 11/3/2008      
*/
function writeOutValue(obj,value) {

    if (document.all) {
        obj.innerText = value;
    } else {
        obj.textContent = value;
    }
}

function objectLabelValue(objvalue) {
    obj = document.getElementById(objvalue);
    if (document.all) {
       return obj.innerText;
    } else {
       return obj.textContent;
    }
}


/*
    Name        :   validateQty
    Purpose     :   Validates the quantiy to make sure that it follows the min order qty and sell in mult
    Author      :   JohnD (Baudville) - 11/3/2008
*/
function validateQty(radqty, errfld, hidsell) {

var rad = $find(radqty)
var hid = document.getElementById(hidsell);
var blnReturn = true;
var intLeftOver = 0;

if (parseInt(hid.value) > 1) {
    intLeftOver = rad.get_value() % parseInt(hid.value);
    
    if (parseInt(intLeftOver) > 0) {
    var intCurrValue = (parseInt(rad.get_value()) - parseInt(intLeftOver));
        intCurrValue = parseInt(intCurrValue) + parseInt(hid.value);
        radalert("Item is only sold in multiples of [" + hid.value + "], your quantity total was rounded up to next multiple of [" + hid.value + "] and your new quantity total is " + intCurrValue + ".",400,200,"Line Item Error");
        
        
        rad.set_value(intCurrValue);
        blnReturn = false;
    }
}

return blnReturn;
    
}
/*
    Name        :   getInvtDetails
    Purpose     :   Pulls back the details on the invtid entered.
    Author      :   JohnD (Baudville) - 11/3/2008
    
*/
function getInvtDetails(tbxinvt, divresults, hidsellinmult, lbldesc, trQuickOrder, hidperstype, radqty, lblprice, lblprodimg, lblerror, hidItemAdded, evt) {

 var tbx = document.getElementById(tbxinvt);
 var hidsim = document.getElementById(hidsellinmult);
 var hidpt = document.getElementById(hidperstype);
 var div = document.getElementById(divresults);
 var lbl = document.getElementById(lbldesc);
 var lblI = document.getElementById(lblprodimg);
 var lblP = document.getElementById(lblprice);
 var lblE = document.getElementById(lblerror);
 var tr = document.getElementById(trQuickOrder);
 var rad = $find(radqty);
 var hidScene7 = document.getElementById(_strContentPage + 'hidScene7Url')
 var hidIA = getElementId(hidItemAdded);
 

 
 if (tbx != null) {
    if (tbx.value.length >= 4) {
    
    getSkuData(tbx);
       if (evt == 1) {
       
        var strItems  = "";
        
        if (_strSkuList == "No matches found") {
            strItems = _strSkuList;
            writeOutValue (lblE,_arrUserMsg[10].replace('SKU',tbx.value));
            div.innerHtml = '';
            div.style.display='none';
            writeOutValue (lbl,'');
            writeOutValue (lblI,'');
            writeOutValue (lblP,'');
            rad.set_value('');
            hidIA.value = -1;
        } else {
            //Build html

            var arrItems = new Array();
            var strScene7 = hidScene7.value;
            arrItems = _strSkuList.split('þ');
            writeOutValue (lblE,'');
            
            if (arrItems.length > 0) {
            document.getElementById(_strContentPage + 'hidRecCount').value = arrItems.length;
                for (i=0;i<=arrItems.length-1;i++) {
                    var arrRecord = new Array();
                    arrRecord = arrItems[i].split('|');
                    //alert(arrRecord.length);
                    if (arrRecord.length > 0) {
                       
                    
                    if (arrRecord[0].length > 0) {
                    var strRecord = "";
                    for (y=0;y<=arrRecord.length-1;y++) {
                        strRecord += arrRecord[y] + '|';
                    }
                    
                    var strLink = "";
                    strLink = "<a href=" + "'" + "javascript:selectItem(" + '"' + arrRecord[0] + '"' + "," + '"' + tbx.id + '"' + "," + '"' + div.id + '"' + "," + '"' + lbl.id + '"' + "," + '"' + strRecord + '"' + "," + '"' + hidsim.id + '"' + "," + '"' + hidpt.id + '"' + "," + '"' + radqty + '"' + "," + '"' + lblprice + '"' + "," + '"' + lblprodimg + '"' + "," + '"' + hidItemAdded + '"' + ");'" + "><img src='" + strScene7.replace('IMG','BV_' + arrRecord[0] + '_FRONT') + "' border='0' />Item " + arrRecord[0]  + "</a>" + " | Price: $" + CurrencyFormat(arrRecord[9]);
                    strItems += "&nbsp;" + strLink +  "<br />\n";
                    }
                    }
                }
            }
            

            
            //Display the product list
            div.innerHTML = strItems;
            div.style.overflow="scroll";
            div.style.display='block';
            div.style.zIndex = 1;
            
            
        

       }
       } else if (evt==2) {
           var intRecCount = document.getElementById(_strContentPage + 'hidRecCount').value -1;
            
            if (intRecCount == 1) {
            
               var arrItems = new Array();
               arrItems = _strSkuList.split('þ');
      
               var arrRecord = new Array();
               arrRecord = arrItems[0].split('|');
               //alert(arrRecord.length);
               if (arrRecord.length > 0) {
                        if (arrRecord[0].length > 0) {
                            var strRecord = "";
                            for (y=0;y<=arrRecord.length-1;y++) {
                                strRecord += arrRecord[y] + '|';
                            }
                        }
               }
            
                selectItem(tbx.value ,tbx.id,div.id ,lbl.id,strRecord,hidsim.id,hidpt.id,radqty,lblprice,lblprodimg, hidItemAdded);
            }
       }
        
    } else {
        div.innerHtml = '';
        div.style.display='none';
        writeOutValue (lbl,'');
        writeOutValue (lblI,'');
        writeOutValue (lblP,'');
        writeOutValue (lblE,'');
        displayOnOff('off');
        rad.set_value('');
    }
 }
}



