// JavaScript Document
var cart_action = "";
var curQuantity = new Object();
//
var cart_root = "/shopping_cart/";
var cart_imagesDir = cart_root + "imgs/";
var cart_jsDir = cart_root + "js/";
var cart_cssDir = cart_root+"css/";
//
var cart_splitDevider=".";
var cart_overImgSufix="_over";
var cart_preloadedImages = new Array();
var cart_Images = new Array();
cart_Images["plus"] = cart_imagesDir+"plus.png";
cart_Images["minus"] = cart_imagesDir+"minus.png";
cart_Images["cart_add"] = cart_imagesDir+"cart_add.png";
cart_Images["cart_edit"] = cart_imagesDir+"cart_edit.png";	
cart_Images["cart_open"] = cart_imagesDir+"cart_open.png";
cart_Images["cart_buy"] = cart_imagesDir+"cart_buy.png";
cart_Images["order"] = cart_imagesDir+"order.png";
cart_Images["offer"] = cart_imagesDir+"offer.png";
cart_Images["ok"] = cart_imagesDir+"ok.png";
cart_Images["x"] = cart_imagesDir+"x.png";
cart_Images["close"] = cart_imagesDir+"close.png";


cart_Images["loading"] = cart_imagesDir+"loading.gif";

// preload images
	for(i in cart_Images){
	cart_preloadedImages[i]=new Image();
	var locationArray=cart_Images[i].split(cart_splitDevider);
		locationArray[locationArray.length-2] +=cart_overImgSufix;		
	cart_preloadedImages[i].src=locationArray.join(cart_splitDevider);
	}
//set CSS
var cart_cssFile=document.createElement("link");
  	cart_cssFile.setAttribute("rel", "stylesheet");
  	cart_cssFile.setAttribute("type", "text/css");
  	cart_cssFile.setAttribute("href", cart_cssDir+"cart_style.css");
document.getElementsByTagName("head")[0].appendChild(cart_cssFile);
// sizes Library
var sizeLibraryJs = document.createElement("script");
	sizeLibraryJs.setAttribute("type", "text/javascript");
	sizeLibraryJs.setAttribute("src", cart_jsDir +"_SizeLibrary.js");
	document.getElementsByTagName('head')[0].appendChild(sizeLibraryJs);
// cartScreenJs
var cartScreenJs = document.createElement("script");
	cartScreenJs.setAttribute("type", "text/javascript");
	cartScreenJs.setAttribute("src", cart_jsDir +"_CartScreen.js");
	document.getElementsByTagName('head')[0].appendChild(cartScreenJs);
//
function cart_constructor(id,holder){
	if(!holder)
	var holder = document.getElementsByTagName("body")[0];
var loading = document.createTextNode("Зареждам пазарската кошница...")	
holder.appendChild(loading);
//
var table = document.createElement("table");
	table.setAttribute("cellpadding",0);
	table.setAttribute("cellspacing",0);
	table.setAttribute("border",0);
	table.setAttribute("class","cart_add_table");
var tbody = document.createElement("tbody");
var tr = document.createElement("tr");
// td plus-minus buttons
var td_PlusMinus = document.createElement("td");
	td_PlusMinus.setAttribute("width",15);
	td_PlusMinus.setAttribute("height",30);
	td_PlusMinus.setAttribute("valign","top");
	
		var plus=document.createElement("img");
			plus.setAttribute("src",cart_Images["plus"]);
			plus.setAttribute("name","plus_"+id);
			plus.setAttribute("border",0);
				plus.onmouseover=function(){
					this.src=cart_preloadedImages["plus"].src;
				}
				plus.onmouseout=function(){
					this.src=cart_Images["plus"];
				}
				plus.onclick=function(){
					cart_add_form["quantity_"+id].value++;
					if(curQuantity[id]>0){
					cart_resetOk(document.getElementById("add_but_"+id),id);
					}
				}
	td_PlusMinus.appendChild(plus);
	
var br = document.createElement("br");
	td_PlusMinus.appendChild(br);
		var minus=document.createElement("img");
			minus.setAttribute("src",cart_Images["minus"]);
			minus.setAttribute("name","minus_"+id);
			minus.setAttribute("border",0);
				minus.onmouseover=function(){
					this.src=cart_preloadedImages["minus"].src;
				}
				minus.onmouseout=function(){
					this.src=cart_Images["minus"];
				}
				minus.onclick=function(){
					if(cart_add_form["quantity_"+id].value>1){cart_add_form["quantity_"+id].value--;}
						if(curQuantity[id]>0)
						cart_resetOk(document.getElementById("add_but_"+id),id);
				}
	td_PlusMinus.appendChild(minus);
tr.appendChild(td_PlusMinus);
// td quantity
var td_Quantity = document.createElement("td");
	td_Quantity.setAttribute("width",50);
		var cart_add_form = document.createElement("form");
			cart_add_form.setAttribute("name","cart_add_form_"+id);
			cart_add_form.setAttribute("id","cart_add_form_"+id);
			cart_add_form.setAttribute("class","cart_add_form");
				var quantity = document.createElement("input");
					quantity.setAttribute("name","quantity_"+id);
					quantity.setAttribute("id","quantity_"+id);
					quantity.setAttribute("type","text");
					quantity.setAttribute("value",1);
					quantity.setAttribute("size",2);
					quantity.setAttribute("maxlength",2);
					quantity.setAttribute("class","quantity_input");
						quantity.onfocus=function(){
							cart_resetOk(document.getElementById("add_but_"+id),id);
						}
						quantity.onblur=function(){
							if(this.value==""){
								cart_getQuantity(id);
							}
						}
			cart_add_form.appendChild(quantity);
	td_Quantity.appendChild(cart_add_form);
tr.appendChild(td_Quantity);
// td add-update Button
var td_AddUpdateButton = document.createElement("td");
	td_AddUpdateButton.setAttribute("width",70);
	td_AddUpdateButton.setAttribute("valign","top");
		var AddUpdateButton=document.createElement("img");
			AddUpdateButton.setAttribute("border",0);
			AddUpdateButton.setAttribute("id","add_but_"+id);
			if(curQuantity[id]>0){
				quantity.setAttribute("value",curQuantity[id]);
					AddUpdateButton.setAttribute("src",cart_Images["cart_edit"]);
					AddUpdateButton.setAttribute("name","cart_edit_"+id);
						AddUpdateButton.onmouseover=function(){
							this.src=cart_preloadedImages["cart_edit"].src;
						}
						AddUpdateButton.onmouseout=function(){
							this.src=cart_Images["cart_edit"];
						}
			}else{
			AddUpdateButton.setAttribute("src",cart_Images["cart_add"]);
			AddUpdateButton.setAttribute("name","cart_add_"+id);
				AddUpdateButton.onmouseover=function(){
					this.src=cart_preloadedImages["cart_add"].src;
				}
				AddUpdateButton.onmouseout=function(){
					this.src=cart_Images["cart_add"];
				}	
			}
				AddUpdateButton.onclick=function(){
					addCart(id,cart_add_form["quantity_"+id].value);
					cart_getQuantity(id);
					cart_setOK(this, cart_preloadedImages["ok"]);					
				}
	td_AddUpdateButton.appendChild(AddUpdateButton);
tr.appendChild(td_AddUpdateButton);	

var td_cart_open = document.createElement("td");
	td_cart_open.setAttribute("width",55);
	td_cart_open.setAttribute("height",30);
	td_cart_open.setAttribute("valign","top");
	
		var cart_open=document.createElement("img");
			cart_open.setAttribute("src",cart_Images["cart_open"]);
			cart_open.setAttribute("name","cart_open_"+id);
			cart_open.setAttribute("border",0);
				cart_open.onmouseover=function(){
					this.src=cart_preloadedImages["cart_open"].src;
				}
				cart_open.onmouseout=function(){
					this.src=cart_Images["cart_open"];
				}
				cart_open.onclick=function(){
					openCart(id);
				}
	td_cart_open.appendChild(cart_open);
tr.appendChild(td_cart_open);		
	
tbody.appendChild(tr);
table.appendChild(tbody);
holder.replaceChild(table,loading);
}
function addCart(id,Quantt){
var parmArray=new Array();
cart_action = 'cart_add';
	parmArray["id"]=id;
	parmArray["quantity"]=Quantt;
	cart_makePostRequest(cart_root+'?a='+cart_action, cart_makeParameters(parmArray));
}
function cart_getQuantityAll(){
var parmArray=new Array();
cart_action = "cart_allQuantity";
	parmArray["id"]=1;
	cart_makePostRequest(cart_root+'?a='+cart_action, cart_makeParameters(parmArray));	
}
function cart_getQuantity(id){
var parmArray=new Array();
cart_action = "cart_getQuantity";
	parmArray["id"]=id;
	cart_makePostRequest(cart_root+'?a='+cart_action, cart_makeParameters(parmArray));	
}
function cart_setQuantity(id,Qtt){
	if(document.getElementById("quantity_"+id)){
	document.getElementById("quantity_"+id).value = Qtt;
	cart_setOK(document.getElementById("add_but_"+id), cart_preloadedImages["ok"]);
	}
}
function cart_RemoveItem(id){
var parmArray=new Array();
cart_action = "cart_del_item";
	parmArray["id"]=id;
	cart_makePostRequest(cart_root+'?a='+cart_action, cart_makeParameters(parmArray));	
	document.getElementById("quantity_"+id).value = 1;
	var but = document.getElementById("add_but_"+id)
		but.src=cart_Images["cart_add"];
		but.onmouseover=function(){
			this.src=cart_preloadedImages["cart_add"].src;	
		}
}
function openCart(id){
var parmArray=new Array();
cart_action = "cart_show";
	parmArray["id"]=1;
	cart_makePostRequest(cart_root+'?a='+cart_action, cart_makeParameters(parmArray));	
}

function updateCart(id,Quantt){
	var cart_content_wrapper = document.getElementById("cart_content_wrapper");
	cart_content_wrapper.innerHTML='Обновявам данните...<br><img src="'+cart_preloadedImages["loading"].src+'" align="absmiddle">';
	cLib_setToCenter(cart_content_wrapper);
var parmArray=new Array();
cart_action = 'cart_update';
	parmArray["id"]=id;
	parmArray["quantity"]=Quantt;
	cart_makePostRequest(cart_root+'?a='+cart_action, cart_makeParameters(parmArray));
}

function cart_setOK(curPictObj, okPictObj){
curPictObj.src=okPictObj.src;
	curPictObj.onmouseout=function(){
	return false;	
	}
	curPictObj.onmouseover=function(){
	return false;	
	}
}

function cart_resetOk(oImg,id){
oImg.src = cart_Images["cart_edit"]
	oImg.onmouseover=function(){
		this.src=cart_preloadedImages["cart_edit"].src;
	}
	oImg.onmouseout=function(){
		this.src=cart_Images["cart_edit"];
	}
}
//is_loged(id);
function cart_init(id){
var parmArray=new Array();
cart_action = "cart_init";
	parmArray["id"]=id;
	cart_makePostRequest(cart_root+'?a='+cart_action, cart_makeParameters(parmArray));	
}
function cart_setResponse(){
	if (http_request.readyState == 4){
		if (http_request.status == 200){  
	  	switch(cart_action){
			case "cart_init" :
			var price="";
			var Qtt = 0;
				eval(http_request.responseText);
				if(price!=""){
				document.getElementById("card_addThisProduct").innerHTML = price;
				setLoged();
				}
				if(Qtt>0){
					cart_setQuantity(id,Qtt);
					curQuantity[id]=Qtt;
				}





			break;
			case "cart_show" : cartScreen(http_request.responseText);
			break;
			case "cart_update" :
				eval(http_request.responseText);
					cart_setQuantity(id,Qtt)
					openCart(id);
			break;
			case "cart_del_item" : cartScreen(http_request.responseText);
			break;
			case "cart_getQuantity" : 
			eval(http_request.responseText);
				if(Qtt>0){
					cart_setQuantity(id,Qtt);
					curQuantity[id]=Qtt;
				}
			break; 
			case "cart_allQuantity" : 
			var result = eval(http_request.responseText);
				for(i in result){
					cart_setQuantity(i,result[i]);
					curQuantity[i]=result[i];
				}
			break;
			
      		}
		}		
	}
}

function cart_createHttpRequest(){
      http_request = false;
      if (window.XMLHttpRequest) {
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) {
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         return false;
      }
return http_request;
}
function cart_makePostRequest(url, parameters) {
http_request = cart_createHttpRequest();

      if(http_request)
	  {
      http_request.onreadystatechange = cart_setResponse;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
	  }else{
	  return false;
	  }
}
function cart_makeParameters(parmArray){
var nom=0;
var params=new Array();
	for(i in parmArray){
     	params[nom] = i + "=" + escape(encodeURI(parmArray[i]));
		nom++;
	}
return params.join("&");
}
