/***************************************************/
/*
/*
/*
/***************************************************/

var http;
var working;


// создание объекта XMLHttpRequest
function get_http(){
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	try {
	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
	try {
	xmlhttp = new
	ActiveXObject("Microsoft.XMLHTTP");
	} catch (E) {
	xmlhttp = false;
	}
	}
	@else
	xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

function TestBasket() {
	alert('asdf');
	return false;
}



function AddToBasket(goods_id, cnt, url){
	// Получаем объект XMLHTTPRequest
	if(!http){
		http = get_http();
		working = false;
	}
	// Запрос
	if (!working && http) {
		var http = http;
		//добавляем закодированный текст
		//в URL запроса
		url = url + "?goods_id=" + goods_id + "&cnt=" + cnt + '&hash=' + Math.random();
		//создаём запрос
		http.open("GET", url, true);
		//прикрепляем к запросу функцию-обработчик
		//событий
		http.onreadystatechange = function() {
			// 4 – данные готовы для обработки
			if (http.readyState == 4) {
				working = false;
				GoodsAddedToBasket(http.responseText);
			}else{
				WaitingAddToBasket();
			}
		}
		working = true;
		http.send(null);
	}
	if(!http){
		alert('Ошибка при создании XMLHTTP объекта!')
	}

}


function GoodsAddedToBasket(data){
	info = document.getElementById('basket_info');
	if (info) {
		info.innerHTML = data;
	}
}

function WaitingAddToBasket(){
	info = document.getElementById('basket_info');
	if (info) {
		info.innerHTML = 'wait...';
	}
}

function UpdateBasketPreview(box, url) {
	// Получаем объект XMLHTTPRequest
	if(!http){
		http = get_http();
		working = false;
	}
	// Запрос
	if (!working && http) {
		var http = http;
		//добавляем закодированный текст
		//в URL запроса
		url = url + '?hash=' + Math.random();
		//создаём запрос
		http.open("GET", url, true);
		//прикрепляем к запросу функцию-обработчик
		//событий
		http.onreadystatechange = function() {
			// 4 – данные готовы для обработки
			if (http.readyState == 4) {
				working = false;
				box.innerHTML = http.responseText;
			}else{
				box.innerHTML = 'Идет загрузка данных, пожалуйста подождите...';
			}
		}
		working = true;
		http.send(null);
	}
	if(!http){
		alert('Ошибка при создании XMLHTTP объекта!')
	}

}

function UpdateBasket(url) {
	// Получаем объект XMLHTTPRequest
	if(!http){
		http = get_http();
		working = false;
	}
	// Запрос
	if (!working && http) {
		var http = http;
		//добавляем закодированный текст
		//в URL запроса
		url = url + ((url.indexOf('?') > -1) ? '&' : '?') + 'hash=' + Math.random();
		//создаём запрос
		http.open("GET", url, true);
		//прикрепляем к запросу функцию-обработчик
		//событий
		http.onreadystatechange = function() {
			var ells = new Array();
			ells[0] = 'basket_short_info'; // строка с короткой информацией о состоянии корзины
			ells[1] = 'basket_preview'; // форма предпросмотра корзины
			ells[2] = 'goods_order_form'; // форма заказа товара на странице товара
			ells[3] = 'goods_order_status'; // статусная строка на странице товара
			
			// 4 – данные готовы для обработки
			if (http.readyState == 4) {
				working = false;
				result = http.responseText.split("\t\t\t");
				for (i=0; i<ells.length; i++) {
					ell = document.getElementById(ells[i]);
					if (ell) {
						ell.innerHTML = result[i];
					}
				}
			}else{
				ell = document.getElementById(ells[1]);
				if (ell) {
					ell.innerHTML = 'Идет загрузка данных, пожалуйста подождите...';
				}
				ell = document.getElementById(ells[3]);
				if (ell) {
					ell.innerHTML = 'Загрузка данных...';
				}
			}
		}
		working = true;
		http.send(null);
	}
	if(!http){
		alert('Ошибка при создании XMLHTTP объекта!')
	}

}

function SetGoodsCount(form, url, mode) {
	url = url + '?mode=' + mode;
	url = url + '&uid=' + form.uid.value;
	url = url + '&cnt=' + form.cnt.value;
	UpdateBasket(url);
}

function BasketModified(form, url) {
	url = url + '?mode=update';
	for (i=0; i<form.elements.length; i++) {
		ell = form.elements[i];
		if (ell.name) {
			url = url + '&' + ell.name + '=' + ell.value;
		}
	}

	UpdateBasket(url);
}


