function createAjax(){
	if (window.XMLHttpRequest)     // Object of the current windows
	{ 
	    aj = new XMLHttpRequest();     // Firefox, Safari, ...
	} 
	else 
	 if (window.ActiveXObject)   // ActiveX version
	 {
	   aj = new ActiveXObject("Microsoft.XMLHTTP");  // Internet Explorer 
	 } 
	return aj;
}
 

function ajax(url, div){	
	aj = createAjax();
	aj.onreadystatechange=function(){if(aj.readyState==4) {
		document.getElementById(div).innerHTML=aj.responseText; 
		}}
	aj.open("GET",url,true);
	aj.send(null);	
}


function load_sizes(num, base_href)
{		
	//full path to ajax for opera, chrome
	jsmx.onWait = function(){  
		$('sizeBox').innerHTML = ''; 
		$('loading_'+num).style.display = 'inline'; 
	}
    jsmx.onWaitEnd = function(){ $('loading_'+num).style.display = 'none'; }
	
	var h = $('c_'+num).options[$('c_'+num).selectedIndex].value
	
	var product_hash = $('product_'+num).innerHTML;
	var params = 'section=catalog&action=load_sizes&colour_hash='+h+'&product_hash='+product_hash+'&id='+parseInt(num);
	var callback = function(obj){ 
		load_sizes_cb(obj, num);
	}
	http('GET',  base_href + 'ajax.php', callback, params);
	//ajax('ajax.php?'+params, 'sizeBox');	
}

function load_sizes_cb(result, num)
{	
	$('sizeBox').innerHTML =decodeURIComponent(result);
	new Autocompleter.SelectBox('s_'+num);
	return false;
}

function change_article_by_size(num, base_href)
{
	jsmx.onWait = function(){ $('loading_'+num).style.display = 'inline'; }
    jsmx.onWaitEnd = function(){ $('loading_'+num).style.display = 'none'; }
	var size_hash = $('s_'+num).options[$('s_'+num).selectedIndex].value;
	var colour_hash = $('c_'+num).options[$('c_'+num).selectedIndex].value;
	var product_hash = $('product_'+num).innerHTML;
    document.rowNumA = num;
	var params = 'section=catalog&action=load_article&product_hash='+product_hash+'&colour_hash='+colour_hash+'&size_hash='+size_hash;
	http('GET', base_href + 'ajax.php', change_article_by_size_cb, params);
}

function change_article_by_size_cb(result)
{
	var article = 'article_' + document.rowNumA;
	var price = 'price_' + document.rowNumA;
	$(article).innerHTML = result.hash;
	if (result.price != ''){
		$(price).innerHTML = result.price;
	} else{
		$(price).innerHTML = $('original_price').innerHTML;
	}
}

function change_qty(e,num)
{
	var q = e.options[e.selectedIndex].value;
	var qty = 'qty_' + num;
	$(qty).innerHTML = q;
}


function checkout_cart(base_href)
{
	jsmx.onWait = function(){ $('loading_checkout').style.display = 'inline'; }
    jsmx.onWaitEnd = function(){ $('loading_checkout').style.display = 'none'; }
	var handling = $('handling').value;
	var wrapping = $('wrapping').value;
	var delivery_method = $('delivery_method').value;
	var params = 'section=cart&action=checkout&handling=' + parseFloat(handling) + '&wrapping=' + parseFloat(wrapping) + '&delivery_method=' + delivery_method;
	http('GET', base_href + 'ajax.php', checkout_callback, params);
}
function checkout_callback(r)
{
	$('checkout_cart').innerHTML = r;
}
function update_preview(base_href)
{
	jsmx.onWait = function(){ $('loading_preview').style.display = 'inline'; $('cart_preview').innerHTML = '';}
    jsmx.onWaitEnd = function(){ $('loading_preview').style.display = 'none'; }
	var params = 'section=cart&action=preview';
	http('GET', base_href + 'ajax.php', preview_callback, params);
}
function preview_callback(r)
{
	$('cart_preview').innerHTML = decodeURIComponent(r);
}
function add_item(num, base_href, url){
		
	if ($('c_'+num).options[$('c_'+num).selectedIndex].value == '')
	{
		$('status_'+num).innerHTML = (typeof lblColour == 'undefined' ? 'Please select a colour' : lblColour);
		return false;
	}
	if ($('s_'+num).options[$('s_'+num).selectedIndex].value == '')
	{
		$('status_'+num).innerHTML = (typeof lblSize == 'undefined' ? 'Please select a size' : lblSize);
		return false;
	}
	jsmx.onWait = function(){ $('loading_'+num).style.display = 'inline'; }
    jsmx.onWaitEnd = function(){ $('loading_'+num).style.display = 'none'; }
	var id = 'article_' + num;
	var qty = $('qty_' + num).innerHTML;
	var hash = $(id).innerHTML;
	var params = 'section=cart&action=add&hash='+hash+'&qty='+qty;
	document.rowNum = num;
	
	var callback = function(obj){				
				if(obj == 'артикула е добавен' && url != ''){
					location.replace(url);
				}else{
					add_callback(obj, base_href);
				}
			}
	http('GET', base_href + 'ajax.php', callback, params);
	
}
function add_callback(result, base_href)
{	
	$('status_'+document.rowNum).innerHTML = decodeURIComponent(result);
	 update_preview(base_href);	
}
function remove_item(id, base_href)
{
	jsmx.onWait = function(){ $('loading_'+id).style.display = 'inline'; }
    jsmx.onWaitEnd = function(){ $('loading_'+id).style.display = 'none'; }
	var params = 'section=cart&action=remove&id='+parseInt(id);
	http('GET', base_href + 'ajax.php', remove_callback, params);
}
function remove_callback(result)
{
	$('cartBox').innerHTML = result;
	changeDelivery(readCookie('delivery_method'),1);
}
function empty_cart(base_href)
{
	jsmx.onWait = function(){ $('loading_box').style.display = 'inline'; }
    jsmx.onWaitEnd = function(){ $('loading_box').style.display = 'none'; }
	var params = 'section=cart&action=empty';
	var callback = function(obj){ 
				empty_callback(obj, base_href);
			}
	http('GET', base_href+ 'ajax.php', callback, params);
}
function empty_callback(result, base_href)
{
	$('cartBox').innerHTML = result;
	update_preview(base_href);	
}
function update_cart(base_href)
{
	//jsmx.onWait = function(){ $('loading_box').style.display = 'inline'; }
    //jsmx.onWaitEnd = function(){ $('loading_box').style.display = 'none'; }
	var url = 'section=cart&action=update';
	var params = url + '&' + getFormValues($('cart_form'));
	http('GET', base_href + 'ajax.php', update_callback, params);
}
function update_callback(result)
{
	$('cartBox').innerHTML = result;
	new Autocompleter.SelectBox('delivery_method');
	changeDelivery(readCookie('delivery_method'),1);
}