function handleHttpResponse() {  

        if (http.readyState == 4) { 
				  if(http.status==200) { 
				  
					var results=http.responseText;
				//	alert (results)
					if (results=="add"){
						 getElementByIdAll(id).innerHTML = "<img src='images/shoppingBasketFull.gif' border='0' align='left' alt='remove item to basket'>";
					} else if (results=="remove") {
						getElementByIdAll(id).innerHTML =  "<img src='images/shoppingBasketEmpty.gif' border='0' align='left' alt='add item to basket'>";
						getElementByIdAll('ns_textbox'+id).value = "1";
					} else {
						getElementByIdAll(id).innerHTML="<font color='ff0000'>update</font>";
					}
				  } 
        } 
} 

function hideElement (elementId) {
	var element=getElementByIdAll(elementId);
	if (element && element.style)
	element.style.display = 'none';
}
function showElement (elementId) {
	var element=getElementByIdAll(elementId);
	if (element && element.style)
	element.style.display = '';
}

function remove(elementId,which,num){
	 var deleteItem= confirm("Do you really want to delete this item from the basket?");
	 if (deleteItem) {
		basket(elementId);
		getElementByIdAll("b"+which).innerHTML =0 ;
		getElementByIdAll("a"+which).innerHTML =0 ;
		hideElement("tr"+id);
		count (elementId,which,num,true);
	 }
}


function getElementByIdAll($id){
		if (document.getElementById($id)==null){	
				return document.all[$id];
		} else {
				return document.getElementById($id);
		}
}
var id;
function basket($id,update) { 
			
			
			id=$id.substr(3);
			
			 getElementByIdAll(id).innerHTML = "<img src='images/ajax.gif' border='0' align='left'>";
		
			var number=getElementByIdAll('ns_textbox'+id).value;
			//alert ("basket.php" + "?" + $id+"&number="+number);
           	http.open("GET", "basket.php" + "?" + $id+"&number="+number+"&update="+update);
            http.onreadystatechange = handleHttpResponse; 
            http.send(null); 
} 

function getHTTPObject() { 

  var xmlhttp; 

	  if(window.XMLHttpRequest){ 
		xmlhttp = new XMLHttpRequest(); 
	  } else if (window.ActiveXObject){ 
	  
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		
		if (!xmlhttp){ 
			xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
		} 
    
	 } 
  return xmlhttp; 
} 
var http = getHTTPObject(); // We create the HTTP Object 


function count(content,which,num,remove){
	if (!remove){
		basket(content,"update");
	}
	//var id=content.substr(3);
	
	
	
	var newValue=getElementByIdAll("ns_textbox"+id).value*getElementByIdAll("a"+which).innerHTML;
	
	getElementByIdAll("b"+which).innerHTML =newValue.toFixed(2) ;
	
	
	var sum=0;		
	for (var i=1;i<=num;i++){
			sum+=Number(getElementByIdAll("b"+i).innerHTML);
	}
	
	getElementByIdAll("sum").innerHTML=str_pad(sum.toFixed(2),14,"&nbsp;","STR_PAD_LEFT");
	
	var vat=(sum/100)*18;
	getElementByIdAll("vat").innerHTML=str_pad(vat.toFixed(2),15,"&nbsp;","STR_PAD_LEFT");
	
	
	getElementByIdAll("total").innerHTML=str_pad((sum+vat).toFixed(2),14,"&nbsp;","STR_PAD_LEFT");;
	

}
function str_pad (input, pad_length, pad_string, pad_type)
{
  input = String (input);
  pad_string = pad_string != null ? pad_string : " ";
  if (pad_string.length > 0)
  {
    var padi = 0;
    pad_type = pad_type != null ? pad_type : "STR_PAD_RIGHT";
    pad_length = parseInt (pad_length);
    switch (pad_type)
    {
      case "STR_PAD_BOTH":
        input = str_pad (input
                       , input.length + Math.ceil ((pad_length - input.length) / 2.0)
                       , pad_string, "STR_PAD_RIGHT");
     // break;  // kein break!
      case "STR_PAD_LEFT":
        var buffer = "";
        for (var i = 0, z = pad_length - input.length; i < z; ++i)
        {
          buffer += pad_string; // [padi] IE 6.x bug
          if (++padi == pad_string.length)
            padi = 0;
        }
        input = buffer + input;
        break;
      default:
        for (var i = 0, z = pad_length - input.length; i < z; ++i)
        {
          input += pad_string;
          if (++padi == pad_string.length)
            padi = 0;
        }
        break;
    }
  }
  return input;
}

