var handlerBasketRemove = function(e) { if ("BASKET"==Left(e.dragObject.domNode.id, 6)){ var strSplit = e.dragObject.domNode.id.split("_"); var Id = Right(strSplit[0], strSplit[0].length-6); var strBasket = ""; strBasket = getCookie("Basket"); if(strBasket==null||strBasket.length<1){ //Cannot be null really as we must have something in it in order to drag over to this remove product from basket handler! }else{ var j=dojo.json.evalJSON("[" + strBasket + "]"); strBasket = ""; for (var i = 0 ; i < j.length ; i++) { if(j[i]["Id"]==Id){ //We check to see if quantity is 1. If so, remove product completely otherwise just decrement quantity by 1. if(parseInt(j[i]["QTY"]) > 1){ strBasket = strBasket + "{\"Id\":\"" + j[i]["Id"] + "\",\"QTY\":\"" + (parseInt(j[i]["QTY"])-1) + "\"},"; } }else{ strBasket = strBasket + "{\"Id\":\"" + j[i]["Id"] + "\",\"QTY\":\"" + j[i]["QTY"] + "\"},"; } } strBasket = Left(strBasket, strBasket.length-1) } setCookie("Basket", strBasket ); $("formBasket_strBasket").value = "[" + strBasket + "]"; window.location="basket.aspx"; } } function removeFromBasket(Id) { var strBasket = ""; strBasket = getCookie("Basket"); if(strBasket==null||strBasket.length<1){ //Cannot be null really as we must have something in it in order to drag over to this remove product from basket handler! }else{ var j=dojo.json.evalJSON("[" + strBasket + "]"); strBasket = ""; for (var i = 0 ; i < j.length ; i++) { if(j[i]["Id"]==Id){ //We check to see if quantity is 1. If so, remove product completely otherwise just decrement quantity by 1. if(parseInt(j[i]["QTY"]) > 1){ strBasket = strBasket + "{\"Id\":\"" + j[i]["Id"] + "\",\"QTY\":\"" + (parseInt(j[i]["QTY"])-1) + "\"},"; } }else{ strBasket = strBasket + "{\"Id\":\"" + j[i]["Id"] + "\",\"QTY\":\"" + j[i]["QTY"] + "\"},"; } } strBasket = Left(strBasket, strBasket.length-1) } setCookie("Basket", strBasket ); if(strBasket.length > 0){$("formBasket_strBasket").value = "[" + strBasket + "]";}else{$("formBasket_strBasket").value = "";} getBasket(); } var handlerdropBasket = function(e) { if ("PRODUCT"==Left(e.dragObject.domNode.id, 7)){ var strSplit = e.dragObject.domNode.id.split("_"); var Id = Right(strSplit[0], strSplit[0].length-7); addtobasket(Id); } } function addtobasket(addtobasket_strProductGUID){ var stocklevel = 0; if(addtobasket_strProductGUID.length>0){ dojo.io.bind({ url: "getStockLevel.aspx?strproductguid=" + addtobasket_strProductGUID + "&temp=" + Math.random(), load: function(type, data, evt){ var j=dojo.json.evalJSON(data); stocklevel = j[0]["StockLevel"]; doaddtobasket(stocklevel, addtobasket_strProductGUID); }, error: errorHandler }); } } function doaddtobasket(StockLevel, Id){ var strBasket = ""; //deleteCookie("Basket"); strBasket = getCookie("Basket"); if(strBasket==null||strBasket.length<1){ strBasket = "{\"Id\":\"" + Id + "\",\"QTY\":\"1\"}"; }else{ var bolFound = false; //We now see if this product already exists in the basket in order to increase the quantity var j=dojo.json.evalJSON("[" + strBasket + "]"); strBasket = ""; for (var i = 0 ; i < j.length ; i++) { if(j[i]["Id"]==Id){ // We now have to check to see if there is enough stock if(StockLevel >= parseInt(j[i]["QTY"])+1){ strBasket = strBasket + "{\"Id\":\"" + j[i]["Id"] + "\",\"QTY\":\"" + (parseInt(j[i]["QTY"])+1) + "\"},"; }else{ strBasket = strBasket + "{\"Id\":\"" + j[i]["Id"] + "\",\"QTY\":\"" + j[i]["QTY"] + "\"},"; alert("Sorry, but we only have " + StockLevel +" of this book in stock at the moment."); } bolFound = true; }else{ strBasket = strBasket + "{\"Id\":\"" + j[i]["Id"] + "\",\"QTY\":\"" + j[i]["QTY"] + "\"},"; } } if(bolFound==false){ strBasket = strBasket + "{\"Id\":\"" + Id + "\",\"QTY\":\"1\"},"; } strBasket = Left(strBasket, strBasket.length-1) } setCookie("Basket", strBasket ); if(strBasket.length > 0){$("formBasket_strBasket").value = "[" + strBasket + "]";}else{$("formBasket_strBasket").value = "";} getBasket(); } function getBasket(){ var intSubTotal = 0; var intPostageCost = 0; var intBooks = 0; if($("formBasket_strBasket").value.length>0){ dojo.io.bind({ url: "getBasket.aspx?temp=" + Math.random(), formNode: document.getElementById("formBasket"), load: function(type, data, evt){ var j=dojo.json.evalJSON(data); var strReturn = ""; for (var i = 0 ; i < j.length ; i++) { if(parseInt(j[i]["QTY"]) > 1){var strQTY = " (" + j[i]["QTY"] + ")";}else{strQTY = "";} intBooks = intBooks + j[i]["QTY"]; strReturn = strReturn + " \n" strReturn = strReturn + " \""\n" strReturn = strReturn + " \n" strReturn = strReturn + " \n" strReturn = strReturn + " \n" strReturn = strReturn + " \n" if(bolCheckout==false){ strReturn = strReturn + " \n" } strReturn = strReturn + " \n" strReturn = strReturn + " \n" strReturn = strReturn + " \n" strReturn = strReturn + " \n" strReturn = strReturn + "
" + Left(j[i]["Title"],12) + "..." + strQTY + "
" + j[i]["Price"] + "
\n" strReturn = strReturn + " \n" strReturn = strReturn + " \n" intSubTotal = intSubTotal + j[i]["intSubTotal"]; if (intPostageCost < j[i]["intPostageCost"]){intPostageCost = j[i]["intPostageCost"];} } if(intBooks > 1){ intPostageCost = intPostageCost + ((intBooks-1)*1.5); if(intPostageCost > 9.99){intPostageCost = 9.99;} } intSubTotal = intSubTotal + intPostageCost; if(strReturn.length > 0){ if(bolCheckout==false){ strReturn = "" + strReturn + "

Delivery will be " + intPostageCost.toFixed(2) + "
Current total is " + intSubTotal.toFixed(2) + "
\"Checkout\"Check out
"; }else{ strReturn = "" + strReturn; } } document.getElementById("divBasket").innerHTML = strReturn; document.getElementById("divScrollBasket").innerHTML = strReturn; for (var i = 0 ; i < j.length ; i++) { //new dojo.dnd.HtmlDragSource(document.getElementById("BASKET" + j[i]["Id"]), "BASKET"); } }, error: errorHandler }); }else{ document.getElementById("divBasket").innerHTML = "
Drag products here to
add them to your basket


"; document.getElementById("divScrollBasket").innerHTML = "
Drag products here to
add them to your basket


"; } } function $(e){ return document.getElementById(e); } function errorHandler( type, error ) { var msg = "Something went horribly wrong ...\n" + error.message; alert( msg ); } function Left(str, n){ if (n <= 0) return ""; else if (n > String(str).length) return str; else return String(str).substring(0,n); } function Right(str, n){ if (n <= 0) return ""; else if (n > String(str).length) return str; else { var iLen = String(str).length; return String(str).substring(iLen, iLen - n); } } function verifySearch(){ var strErr = ""; if(document.search.strTitle.value.length < 1 && document.search.strAuthor.value.length < 1 && document.search.strKeyword.value.length < 1 && document.search.strISBN.value.length < 1){ alert("To perform a search you must enter part of the title, author, ISBN or a keyword."); return false; }else{return true;} }