
var loadingimage="http://www.kontorsgiganten.se/images/loading.gif";var enableCache=true;var jsCache=new Array();var dynamicContent_ajaxObjects=new Array();function ajax_showContent(divId,ajaxIndex,url){var targetObj=document.getElementById(divId);targetObj.innerHTML=dynamicContent_ajaxObjects[ajaxIndex].response;if(enableCache){jsCache[url]=dynamicContent_ajaxObjects[ajaxIndex].response;}
dynamicContent_ajaxObjects[ajaxIndex]=false;ajax_parseJs(targetObj)}
function ajax_loadContent(divId,url){if(enableCache&&jsCache[url]){document.getElementById(divId).innerHTML=jsCache[url];return;}
var ajaxIndex=dynamicContent_ajaxObjects.length;document.getElementById(divId).innerHTML='<table class="text" width="100%"><tr><td align="center">Laddar...<br /><IMG SRC="'+loadingimage+'" /></td></tr></table>';dynamicContent_ajaxObjects[ajaxIndex]=new sack();dynamicContent_ajaxObjects[ajaxIndex].requestFile=url;dynamicContent_ajaxObjects[ajaxIndex].onCompletion=function(){ajax_showContent(divId,ajaxIndex,url);};dynamicContent_ajaxObjects[ajaxIndex].runAJAX();}
function ajax_parseJs(inputObj){var jsTags=inputObj.getElementsByTagName('SCRIPT');for(var no=0;no<jsTags.length;no++){eval(jsTags[no].innerHTML);}}
function sack(file){this.xmlhttp=null;this.resetData=function(){this.method="POST";this.queryStringSeparator="?";this.argumentSeparator="&";this.URLString="";this.encodeURIString=true;this.execute=false;this.element=null;this.elementObj=null;this.requestFile=file;this.vars=new Object();this.responseStatus=new Array(2);};this.resetFunctions=function(){this.onLoading=function(){};this.onLoaded=function(){};this.onInteractive=function(){};this.onCompletion=function(){};this.onError=function(){};this.onFail=function(){};};this.reset=function(){this.resetFunctions();this.resetData();};this.createAJAX=function(){try{this.xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");}catch(e1){try{this.xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}catch(e2){this.xmlhttp=null;}}
if(!this.xmlhttp){if(typeof XMLHttpRequest!="undefined"){this.xmlhttp=new XMLHttpRequest();}else{this.failed=true;}}};this.setVar=function(name,value){this.vars[name]=Array(value,false);};this.encVar=function(name,value,returnvars){if(true==returnvars){return Array(encodeURIComponent(name),encodeURIComponent(value));}else{this.vars[encodeURIComponent(name)]=Array(encodeURIComponent(value),true);}}
this.processURLString=function(string,encode){encoded=encodeURIComponent(this.argumentSeparator);regexp=new RegExp(this.argumentSeparator+"|"+encoded);varArray=string.split(regexp);for(i=0;i<varArray.length;i++){urlVars=varArray[i].split("=");if(true==encode){this.encVar(urlVars[0],urlVars[1]);}else{this.setVar(urlVars[0],urlVars[1]);}}}
this.createURLString=function(urlstring){if(this.encodeURIString&&this.URLString.length){this.processURLString(this.URLString,true);}
if(urlstring){if(this.URLString.length){this.URLString+=this.argumentSeparator+urlstring;}else{this.URLString=urlstring;}}
this.setVar("rndval",new Date().getTime());urlstringtemp=new Array();for(key in this.vars){if(false==this.vars[key][1]&&true==this.encodeURIString){encoded=this.encVar(key,this.vars[key][0],true);delete this.vars[key];this.vars[encoded[0]]=Array(encoded[1],true);key=encoded[0];}
urlstringtemp[urlstringtemp.length]=key+"="+this.vars[key][0];}
if(urlstring){this.URLString+=this.argumentSeparator+urlstringtemp.join(this.argumentSeparator);}else{this.URLString+=urlstringtemp.join(this.argumentSeparator);}}
this.runResponse=function(){eval(this.response);}
this.runAJAX=function(urlstring){if(this.failed){this.onFail();}else{this.createURLString(urlstring);if(this.element){this.elementObj=document.getElementById(this.element);}
if(this.xmlhttp){var self=this;if(this.method=="GET"){totalurlstring=this.requestFile+this.queryStringSeparator+this.URLString;this.xmlhttp.open(this.method,totalurlstring,true);}else{this.xmlhttp.open(this.method,this.requestFile,true);try{this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}catch(e){}}
this.xmlhttp.onreadystatechange=function(){switch(self.xmlhttp.readyState){case 1:self.onLoading();break;case 2:self.onLoaded();break;case 3:self.onInteractive();break;case 4:self.response=self.xmlhttp.responseText;self.responseXML=self.xmlhttp.responseXML;self.responseStatus[0]=self.xmlhttp.status;self.responseStatus[1]=self.xmlhttp.statusText;if(self.execute){self.runResponse();}
if(self.elementObj){elemNodeName=self.elementObj.nodeName;elemNodeName.toLowerCase();if(elemNodeName=="input"||elemNodeName=="select"||elemNodeName=="option"||elemNodeName=="textarea"){self.elementObj.value=self.response;}else{self.elementObj.innerHTML=self.response;}}
if(self.responseStatus[0]=="200"){self.onCompletion();}else{self.onError();}
self.URLString="";break;}};this.xmlhttp.send(this.URLString);}}};this.reset();this.createAJAX();}
var flyingSpeed=100;var url_addProductToBasket='shoppingcart/addProduct.aspx';var url_removeProductFromBasket='shoppingcart/removeProduct.aspx';var txt_totalPrice='Total: ';var shopping_cart_div=false;var flyingDiv=false;var currentProductDiv=false;var shopping_cart_x=false;var shopping_cart_y=false;var slide_xFactor=false;var slide_yFactor=false;var diffX=false;var diffY=false;var currentXPos=false;var currentYPos=false;var ajaxObjects=new Array();function shoppingCart_getTopPos(inputObj){var returnValue=inputObj.offsetTop;while((inputObj=inputObj.offsetParent)!=null){if(inputObj.tagName!='HTML')returnValue+=inputObj.offsetTop;}
return returnValue;}
function shoppingCart_getLeftPos(inputObj){var returnValue=inputObj.offsetLeft;while((inputObj=inputObj.offsetParent)!=null){if(inputObj.tagName!='HTML')returnValue+=inputObj.offsetLeft;}
return returnValue;}
function addToBasket(productId){if(!shopping_cart_div)shopping_cart_div=document.getElementById('shopping_cart');if(!flyingDiv){flyingDiv=document.createElement('DIV');flyingDiv.style.position='absolute';document.body.appendChild(flyingDiv);}
shopping_cart_x=shoppingCart_getLeftPos(shopping_cart_div);shopping_cart_y=shoppingCart_getTopPos(shopping_cart_div);currentProductDiv=document.getElementById('slidingProduct'+productId);currentXPos=shoppingCart_getLeftPos(currentProductDiv);currentYPos=shoppingCart_getTopPos(currentProductDiv);diffX=shopping_cart_x-currentXPos;diffY=shopping_cart_y-currentYPos;var shoppingContentCopy=currentProductDiv.cloneNode(true);shoppingContentCopy.id='';flyingDiv.innerHTML='';flyingDiv.style.left=currentXPos+'px';flyingDiv.style.top=currentYPos+'px';flyingDiv.appendChild(shoppingContentCopy);flyingDiv.style.display='block';flyingDiv.style.width=currentProductDiv.offsetWidth+'px';flyToBasket(productId);}
function flyToBasket(productId){var maxDiff=Math.max(Math.abs(diffX),Math.abs(diffY));var moveX=(diffX/maxDiff)*flyingSpeed;;var moveY=(diffY/maxDiff)*flyingSpeed;currentXPos=currentXPos+moveX;currentYPos=currentYPos+moveY;flyingDiv.style.left=Math.round(currentXPos)+'px';flyingDiv.style.top=Math.round(currentYPos)+'px';if(moveX>0&&currentXPos>shopping_cart_x){flyingDiv.style.display='none';}
if(moveX<0&&currentXPos<shopping_cart_x){flyingDiv.style.display='none';}
if(flyingDiv.style.display=='block')setTimeout('flyToBasket("'+productId+'")',10);else ajaxAddProduct(productId);}
function showAjaxBasketContent(ajaxIndex){var itemBox=document.getElementById('shopping_cart_items');var productItems=ajaxObjects[ajaxIndex].response.split('|||');if(document.getElementById('shopping_cart_items_product'+productItems[0])){var row=document.getElementById('shopping_cart_items_product'+productItems[0]);var items=row.cells[0].innerHTML/1;items=items+1;row.cells[0].innerHTML=items;}else{var tr=itemBox.insertRow(-1);tr.id='shopping_cart_items_product'+productItems[0]
var td=tr.insertCell(-1);td.innerHTML='1';var td=tr.insertCell(-1);td.innerHTML=productItems[1];var td=tr.insertCell(-1);td.style.textAlign='right';td.innerHTML=productItems[2];var td=tr.insertCell(-1);var a=document.createElement('A');td.appendChild(a);a.href='#';a.onclick = function () { removeProductFromBasket(productItems[0]); return false; }; var img=document.createElement('IMG');img.src='images/remove.gif';a.appendChild(img);}
updateTotalPrice();ajaxObjects[ajaxIndex]=false;}
function updateTotalPrice(){var itemBox=document.getElementById('shopping_cart_items');var totalPrice=0;if(document.getElementById('shopping_cart_totalprice')){for(var no=1;no<itemBox.rows.length;no++){totalPrice=totalPrice+(itemBox.rows[no].cells[0].innerHTML.replace(/[^0-9]/g)*itemBox.rows[no].cells[2].innerHTML);}
document.getElementById('shopping_cart_totalprice').innerHTML=txt_totalPrice+totalPrice.toFixed(2);}}
function removeProductFromBasket(productId){var productRow=document.getElementById('shopping_cart_items_product'+productId);var numberOfItemCell=productRow.cells[0];if(numberOfItemCell.innerHTML=='1'){productRow.parentNode.removeChild(productRow);}else{numberOfItemCell.innerHTML=numberOfItemCell.innerHTML/1-1;}
updateTotalPrice();ajaxRemoveProduct(productId);}
function ajaxValidateRemovedProduct(ajaxIndex){if(ajaxObjects[ajaxIndex].response!='OK')alert('Error while removing product from the database');}
function ajaxRemoveProduct(productId){var ajaxIndex=ajaxObjects.length;ajaxObjects[ajaxIndex]=new sack();ajaxObjects[ajaxIndex].requestFile=url_removeProductFromBasket+'?productIdToRemove='+productId;ajaxObjects[ajaxIndex].onCompletion=function(){ajaxValidateRemovedProduct(ajaxIndex);};ajaxObjects[ajaxIndex].runAJAX();}
function ajaxAddProduct(productId){var ajaxIndex=ajaxObjects.length;ajaxObjects[ajaxIndex]=new sack();ajaxObjects[ajaxIndex].requestFile=url_addProductToBasket+'?productId='+productId;ajaxObjects[ajaxIndex].onCompletion=function(){showAjaxBasketContent(ajaxIndex);};ajaxObjects[ajaxIndex].runAJAX();}