function JSend()
{
	var _this = this;
	this.uid = 'jSend';
	this.options = {};
	this.bSend = false;
	this.url = null;
	this.data = null;
	this.callback = null;
	this.method = null;
	this.idTimeout = 0;
	this.timeout = 2000

	this.shiftObj = function(obj)
	{
		var arr=[];
		if(_this.sizeObj(obj)){
			var i = null;
			for(i in obj){break}
			arr = obj[i]
			delete obj[i]
		}
		return arr;
	}
	
	this.sizeObj = function(obj)
	{
		var n=0;
		for(var i in obj){n++;}
		return n;
	}
	this.count = function()
	{
		return _this.sizeObj(_this.options)
	}
	this.send = function()
	{
		if(!_this.bSend && _this.sizeObj(_this.options) ){
			_this.bSend = true
			showImgLoader();
			var arrJ = _this.shiftObj(_this.options)
			_this.url      = arrJ[0];
			_this.data     = arrJ[1];
			_this.callback = arrJ[2];
			_this.method   = arrJ[3];
			$.ajax({
				type: _this.method,
			  url:  _this.url,
			  data: _this.data,
			  cache: false,
			  success:_this.callback
			});
		}
		
		if(_this.sizeObj(_this.options)){
			clearTimeout(_this.idTimeout)
			_this.idTimeout = setTimeout(_this.send, 150)
		}
	}
	
	this.setOptions = function(url, data, callback, method)
	{
		_this.options[_this.uid] = [url,data,callback,method]
		//_this.options.push([url,data,callback,method])
	}
	
	this.setUID = function(uid)
	{
		_this.uid = (uid?uid:'jSend');
	}
	
	this.sendData = function(url, params, callback, method, uid)
	{
		_this.setUID(uid)
		_this.setOptions(url, params, callback, method)
		//_this.setUID(uid)
		_this.sendTimeout()
	}
	
	this.sendTimeout = function(time)
	{
		clearTimeout(_this.idTimeout)
		var timeout = _this.timeout
		if(time){
			timeout = time;
		}
		_this.idTimeout = setTimeout(_this.send, timeout)
	}
}

jcart = new JSend()

function converting(my, id)
{
	$('#region').attr('innerHTML','');
	$('#dservice').attr('innerHTML','');
	$('#delivery').attr('innerHTML','');
	$('#payment').attr('innerHTML','');
	$('#user').attr('innerHTML','');
	
	var count = parseInt(number(my.value));
	if (isNaN(count) || count<1) {
		count = 1;
	}
	if (count>100000){
		count = 100000
	}
	//my.value = count;
	
	//var price = null;
	//var coast= null;
	//price=document.getElementById(priceID);
	//coast=document.getElementById(coastID);
	//if (price && coast) {
		//coast.innerHTML = parseInt(((number(price.innerHTML)*count)*100)+0.05)/100;
		//httpURL = '/ajax/shop/order/operation/change/id/'+ id + '/count/' + count + '/';
		httpURL = '/ajax/cart/change/id/'+ id + '/count/' + count + '/';
		//objXMLReq = new net.ContentLoader(httpURL, function(){}, null, 'GET', null);
		//showImgLoader();
		//objXMLReq = new net.ContentLoader(httpURL, reConverting, null, 'GET', null);
		//httpURL = '/ajax/shop/order/operation/change/id/'+ id + '/count/' + count + '/';
		jcart.sendData(httpURL,null,reConverting,'GET','converting'+id)
	//}

//	var total = $('#ajax_total');
//	total.attr('innerHTML', 0);
//	var i=0;
//	while(coast=document.getElementById('ajax_coast' + i++)) {
//		total.attr('innerHTML', parseInt(((parseFloat(number(total.attr('innerHTML'))) + parseFloat(number(coast.innerHTML)))*100)+0.05)/100);
//	}
}

function reConverting(html)
{
	removeImgLoader();
	jcart.bSend = false
	var myObject = Json.evaluate(html);
	//var myObject = Json.evaluate(this.req.responseText);
	$('#ajax_coast'+myObject['id']).text(myObject['sum']['sum'])
	$('#ajax_total').text(myObject['money']['money'])
	$('#count'+myObject['id']).val(myObject['count'])
	$('#totalProduct').text(myObject['total'])
	$('#priceProduct').text(myObject['money']['money'])
	
	$('#totalEngage').text(myObject['totalEngage'])
	//$('#insumma_whole').attr('innerHTML', myObject['sum']['sumWhole']);
	//$('#insumma_decimal').attr('innerHTML', myObject['sum']['sumDecimal']);
	//$('#count').attr('innerHTML', myObject['count']);
}

function isNumeric(my)
{
	if(isNaN(parseInt(my.value)) || parseInt(my.value)==0) {
		my.value = 1;
	}
}


function region(first)
{
	showImgLoader();
	$('#region').attr('innerHTML','');
	$('#dservice').attr('innerHTML','');
	$('#delivery').attr('innerHTML','');
	$('#payment').attr('innerHTML','');
	$('#user').attr('innerHTML','');
	
	var url = null;
	if (first!=null) {
		url = 'pay/'+first+'/';
	}
	
	var str = '';
	var httpURL = '/ajax/shop/order/operation/region/'+url;
	objXMLReq = new net.ContentLoader(httpURL, reRegion, null, 'POST', str);
}

function reRegion()
{
	removeImgLoader();
	$('#region').attr('innerHTML',this.req.responseText);
	lastAnchor();
}


function loadDelivery(my)	
{
	$('#delivery').attr('innerHTML', '');
	$('#dservice').attr('innerHTML', '');
	$('#payment').attr('innerHTML', '');
	$('#user').attr('innerHTML', '');

	if(my.value > 0 ) {
		var str = 'id=' + my.value;
		createCookie('city_id', my.value, false);
		//createCookie('city_id', 10, false);
		
		var httpURL = '/ajax/shop/order/operation/delivery/';
		showImgLoader();
		objXMLReq = new net.ContentLoader(httpURL, reDelivery, null, 'POST', str);
		//$.post(httpURL, {type: "test-request", param1: "param1", param2: 2}, onAjaxSuccess);
	}
}

function reDelivery()
{
	removeImgLoader();
	var myObject = Json.evaluate(this.req.responseText);

	if (myObject['count']==0) {
		var str = 'payment=0';
		var httpURL = '/ajax/shop/order/operation/user/';
		objXMLReq = new net.ContentLoader(httpURL, reUser, null, 'POST', str);
	} else {
		$('#delivery').attr('innerHTML', myObject['delivery']);
	}
	if(myObject['count']==1 && myObject['id']) {
		loadDeliveryService(myObject['id']);
	}
	lastAnchor();
}

function loadDeliveryService(value)
{
	$('#dservice').attr('innerHTML', '');
	$('#payment').attr('innerHTML', '');
	$('#user').attr('innerHTML', '');

	var reg = $('#region_id').attr('value');
	if (value > 0 && reg > 0)	{
		var str = 'delivery=' + value + '&region=' + reg;
		var httpURL = '/ajax/shop/order/operation/service/';
		showImgLoader();
		objXMLReq = new net.ContentLoader(httpURL, reService, null, 'POST', str);
	}
}

function reService()
{
	removeImgLoader();
	var myObject = Json.evaluate(this.req.responseText);
//alert(myObject['html']);
//alert(myObject['count']);
	$('#dservice').attr('innerHTML', myObject['html']);
	if(myObject['count']==1) {
		loadPayment(myObject['id'], myObject['sid']);
	}
	lastAnchor();
}

function loadPayment(id, sid)
{
	$('#user').attr('innerHTML', '');
	createCookie('servise_id',id);
	
	var payment = document.getElementById('payment');
	if (payment) {
		var str = 'service=' + id + '&dservice=' + sid;
		var httpURL = '/ajax/shop/order/operation/payment/';
		showImgLoader();
		objXMLReq = new net.ContentLoader(httpURL, rePayment, null, 'POST', str);
	}
}

function rePayment()
{
//	removeImgLoader();
//	var payment = document.getElementById('payment');
//	if (payment) {
//		payment.innerHTML = this.req.responseText;
//		payment.blur();
//	}
//	lastAnchor();
	
	removeImgLoader();
	var myObject = Json.evaluate(this.req.responseText);
	var payment = document.getElementById('payment');
	if (payment) {
		payment.innerHTML = myObject['html'];
		payment.blur();
	}
	if(myObject['count']==1) {
		loadUser(myObject['id']);
	}
	lastAnchor();
	
}

function loadUser(id)
{
	$('#user').attr('innerHTML', '');
	
	showPresentForm('present_id');
	var payment = document.getElementById('payment');
	if (payment && id) {
		var str = 'payment=' + id;
		var httpURL = '/ajax/shop/order/operation/user/';
		showImgLoader();
		objXMLReq = new net.ContentLoader(httpURL, reUser, null, 'POST', str);
	}
}

function reUser()
{
	removeImgLoader();
	$('#user').attr('innerHTML', this.req.responseText);
	lastAnchor();
}

var parse_basket = 0;
function resetForm()
{
	$('#order_user_surname').hide();
	$('#order_user_name').hide();
	$('#order_user_tel_code').hide();
	$('#order_user_email').hide();
	$('#order_user_address_delivery').hide();
	$('#order_user_house').hide();
	$('#order_user_flat').hide();
	////////////////////////////////////////////////////////////////
	$('#order_user_surname_who').hide();
	$('#order_user_name_who').hide();
	$('#order_user_tel_code_who').hide();
	$('#order_user_email_who').hide();
	$('#order_user_address_delivery_who').hide();
	$('#order_user_house_who').hide();
	$('#order_user_flat_who').hide();
	////////////////////////////////////////////////////////////////
	$('#order_user_surname_anyone').hide();
	$('#order_user_name_anyone').hide();
	$('#order_user_tel_code_anyone').hide();
	$('#order_user_email_anyone').hide();
	$('#order_user_address_delivery_anyone').hide();
	$('#order_user_house_anyone').hide();
	$('#order_user_flat_anyone').hide();
	////////////////////////////////////////////////////////////////
	$('#order_user_index').hide();
	$('#order_user_oblast').hide();
	$('#order_user_city').hide();
	$('#order_user_floor').hide();
	$('#order_user_floor_who').hide();
	$('#order_user_floor_anyone').hide();
}

var validator=new Validator();

function sendOrderForm(my)
{
	var id = null;
	
	resetForm();
	
	if ('undefined'!=typeof(my.surname) && (my.surname.value == "" || my.surname.value=='Фамилия')) {
		$('#order_user_surname').show();
		return false;
	}
	
	if('undefined'!=typeof(my.name) && (my.name.value == "" || my.name.value=='Имя')) {
		$('#order_user_name').show();
		return false;
	}
	
	//if('undefined'!=typeof(my.tel_code) && (my.tel_code.value=="" || isNaN(parseInt(my.tel_code.value)) || my.tel.value == "" || my.tel.value=='Телефон' || !validator.isDigits(my.tel_code.value) || my.tel_code.length<3 || !validator.isDigits(my.tel.value) || my.tel.length<3)) {
		
	if('undefined'!=typeof(my.tel_code) && (!validator.isDigits(my.tel_code.value) || my.tel_code.value.length<3 || !validator.isDigits(my.tel.value) || my.tel.value.length<3)) {
		$('#order_user_tel_code').show();
		return false;
	}
	
	if('undefined'!=typeof(my.email) && (my.email.value.length < 6 || my.email.value.indexOf('@') < 1 || my.email.value.indexOf(".") < 1)) {
		$('#order_user_email').show();
		return false;
	}
	
	if('undefined'!=typeof(my.index) && (my.index.value=="" || my.index.value=='Индекс')) {
		$('#order_user_index').show();
		return false;
	}
	/*
	if('undefined'!=typeof(my.oblast) && (my.oblast.value=="")) {
		$('#order_user_oblast').show();
		return false;
	}*/
	/*
	if('undefined'!=typeof(my.city) && (my.city.value=="" || my.city.value=='Индекс')) {
		$('#order_user_city').show();
		return false;
	}*/
	
	if ('undefined'!=typeof(my.address_delivery) && (my.address_delivery.value=="" || my.address_delivery.value=='Улица, проспект, бульвар')) {
		$('#order_user_address_delivery').show();
		return false;
	}
	
	if ('undefined'!=typeof(my.house) && (my.house.value=="" || my.house.value=='Дом, корпус')) {
		$('#order_user_house').show();
		return false;
	}
	
	if('undefined'!=typeof(my.flat) && (my.flat.value=="" || my.flat.value=='Квартира/оффис')) {
		$('#order_user_flat').show();
		return false;
	}
	
	//if('undefined'!=typeof(my.floor) && (my.floor.value=="" || my.floor.value=='Этаж')) {
	if('undefined'!=typeof(my.floor) && !validator.isDigits(my.floor.value)) {
		$('#order_user_floor').show();
		return false;
	}
	
	
	var str = '';
	
	if('undefined'!=typeof(my.surname)) {
		if(str!='') {str += '&';}
		str +=  "surname=" + my.surname.value;
	}
	
	if('undefined'!=typeof(my.name)) {
		if(str!='') {str += '&';}
		str += "name=" + my.name.value;
	}
	
	if('undefined'!=typeof(my.patronymic) && my.patronymic.value!='' && my.patronymic.value!='Отчество') {
		if(str!='') {str += '&';}
		str += "patronymic=" + my.patronymic.value;
	}
	
	if('undefined'!=typeof(my.company) && my.company.value!='' && my.company.value!='юр.лицо') {
		if(str!='') {str += '&';}
		str +=  "company=" + my.company.value;
	}
	
	if('undefined'!=typeof(my.tel_code) && 'undefined'!=typeof(my.tel)) {
		if(str!='') {str += '&';}
		str += "tel=" + my.tel_code.value + '|' + my.tel.value;
	}
	
	if('undefined'!=typeof(my.tel_mob_code) && 'undefined'!=typeof(my.tel_mob) && my.tel_mob_code.value!='' && my.tel_mob_code.value!='Код' && my.tel_mob.value!='' && my.tel_mob.value!='Моб. Телефон') {
		if(str!='') {str += '&';}
		str += "mobile=" + my.tel_mob_code.value + '|' + my.tel_mob.value;
	}
	
	if('undefined'!=typeof(my.tel_code_fax) && 'undefined'!=typeof(my.tel_fax) && my.tel_code_fax.value!='' && my.tel_code_fax.value!='Код' && my.tel_fax.value!='' && my.tel_fax.value!='FAX') {
		if(str!='') {str += '&';}
		str += "fax=" + my.tel_code_fax.value + '|' + my.tel_fax.value;
	}

	if('undefined'!=typeof(my.email) && my.email.value!='' && my.email.value!='E-mail') {
		if(str!='') {str += '&';}
		str += "email=" + my.email.value;
	}
	
	if('undefined'!=typeof(my.index)) {
		if(str!='') {str += '&';}
		str += "index=" + my.index.value;
	}	
	/*
	if('undefined'!=typeof(my.oblast)) {
		if(str!='') {str += '&';}
		str += "oblast=" + my.oblast.value;
	}
		
	if('undefined'!=typeof(my.city)) {
		if (str!='') {str += '&';}
		str += "city=" + my.city.value;
	}
	*/
	if('undefined'!=typeof(my.address_delivery)) {
		if(str!='') {str += '&';}
		str +=  "address_delivery=" + my.address_delivery.value;
	}
	
	if('undefined'!=typeof(my.house)) {
		if(str!='') {str += '&';}
		str +=  "house=" + my.house.value;
	}
	
	if('undefined'!=typeof(my.flat)) {
		if(str!='') {str += '&';}
		str +=  "flat=" + my.flat.value;
	}
	
	if('undefined'!=typeof(my.floor) && my.floor.value!='' && my.floor.value!='Этаж') {
		if(str!='') {str += '&';}
		str +=  "floor=" + my.floor.value;
	}
	
	if('undefined'!=typeof(my.comments_user) && my.comments_user.value!='' && my.comments_user.value!=='Дополнительные ориентиры для нахождения адреса, код подъезда, пожелания по времени доставки') {
		if(str!='') {str += '&';}
		str +=  "comments_user=" + my.comments_user.value;
	}
	
	if('undefined'!=typeof(my.zakaz)) {
		if(str!='') {str += '&';}
		str +=  "zakaz=" + my.zakaz.value;
	}
	
	orderFinish();
	return;
	httpURL = "/ajax/shop/order/operation/send/";
	showImgLoader2();
	objXMLReq = new net.ContentLoader(httpURL, orderFinish, null, 'POST', str);
}

function showPresentForm(id, idout, idnew)
{
	var my = document.getElementById(id);
	
	if(my && my.checked) {
		createCookie('present_form', 1);
		$('#kiev').hide();
		$('#kiev_present').show();
	} else {
		createCookie('present_form', 0);
		$('#kiev').show();
		$('#kiev_present').hide();
	}
	
	var idnew = $('#'+idnew);
	var idout = $('#'+idout);
	idnew.attr('innerHTML',idout.attr('innerHTML'));

	if(my && my.checked) {
		idnew.attr('innerHTML',idout.attr('innerHTML'));
	} else {
		idnew.attr('innerHTML', '&nbsp;');
	}
}






function sendCount(my, id)
{
	var count = parseInt(my.value);
	if (isNaN(count) || count<1) {
		count = 1;
	}
	httpURL = '/ajax/shop/order/operation/count/id/'+ id + '/count/' + count + '/';
	objXMLReq = new net.ContentLoader(httpURL, function(){}, null, 'GET', null);
	//bjXMLReq = new net.ContentLoader(httpURL, shara, null, 'GET', null);
}



function deleteItem(num)
{
	arrDelete.push(num);
	deleteItems();
}

function deleteItems(id)
{
	$('#region').attr('innerHTML', '');
	$('#delivery').attr('innerHTML', '');
	$('#dservice').attr('innerHTML', '');
	$('#payment').attr('innerHTML', '');
	$('#user').attr('innerHTML', '');
	
	var str = arrDelete.join();
	if (str=='') {
		return false;
	}
	arrDelete = new Array();
	str = "id=" + str;
	//alert(str);
	httpURL = '/ajax/shop/order/operation/delete/';
	showImgLoader();
	objXMLReq = new net.ContentLoader(httpURL, changeOrder, null, 'POST', str);
}

function changeOrder()
{
	removeImgLoader();
	var form = null;
	if (form=document.getElementById('form_order')) {
		var myObject = Json.evaluate(this.req.responseText);
		form.innerHTML = myObject['htmlForm'];

		$('#incart_items').attr('innerHTML', myObject['cart']);
		$('#count').attr('innerHTML', myObject['count']);
		$('#insumma_whole').attr('innerHTML', myObject['summa_whole']);
		$('#insumma_decimal').attr('innerHTML', myObject['summa_decimal']);
		
		/*if (!myObject['htmlForm']) {
			tb_remove();
		}*/
	}

	if (!myObject['is_basket']) {
		$("#cart_open").css('display', 'none');
		$("#cart_close").css('display', 'none');
		$('#cart_inner').attr('className', 'cart_inner');
		tb_remove();
	}
	/******************************************************/
	/******************************************************/
	/******************************************************/
	/******************************************************/
	var basket = document.getElementById('basket');
	if (basket) {		
		//basket.href  = myObject['href_basket'];
		basket.className = myObject['class_basket'];
		//eval(glob_basket);
		//tb_init('a.thickbox, area.thickbox, input.thickbox');
		/*if(!parse_basket) {
		$(basket).click(function(){
				var t = this.title || this.name || null;
				var a = this.href || this.alt;
				var g = this.rel || false;
				tb_show(t,a,g);
				this.blur();
				return false;
				});
		}*/
		if (!basket.className) {
			parse_basket = 0;
			$(basket).unbind('click');
			basket.onclick = function(){return false;};
		}
	}
}

function setBasket()
{
	var basket = document.getElementById('basket');
	basket.className = 'thickbox';
	
	$(basket).unbind('click');
	$(basket).click(function(){
				var t = this.title || this.name || null;
				var a = this.href || this.alt;
				var g = this.rel || false;
				tb_show(t,a,g);
				this.blur();
				return false;
				});
}

function addItem(httpURL)
{
	showImgLoader();
	//$.ajax({type: "GET", url: httpURL, success: addItemInCart});
	objXMLReq = new net.ContentLoader(httpURL, addItemInCart, null, 'GET', null);
}

function addItemInCart()
{
	removeImgLoader();
	var myObject = Json.evaluate(this.req.responseText);
	
	$('#incart_items').attr('innerHTML', myObject['items']);
	$('#insumma_whole').attr('innerHTML', myObject['summa_whole']);
	$('#insumma_decimal').attr('innerHTML', myObject['summa_decimal']);
	$('#count').attr('innerHTML', myObject['count']);
	$('#cart_inner').attr('className', 'cart_inner_full');
	
	
	var state = readCookie('cart_state');
	if (state=='open') {
		$('#cart_close').css('display', 'block');
	} else {
		$('#cart_open').css('display', 'block');
	}
}

var arrDelete = new Array();
function changeDelete(my, num)
{
	var delX = new Array();
	arrDelete.push(num);
	for(i=0; i<arrDelete.length; i++) {
		if (!my.checked && arrDelete[i]==num) {
			continue;
		}
		delX.push(arrDelete[i]);
	}
	arrDelete = delX;
}

function lastAnchor()
{
	//document.getElementById("TB_ajaxContent").scrollTop = 1000;
	window.scrollTop = 1000;
	/*var finish= document.getElementById('order_finish');
	if (finish) {
		finish.focus();
	}
	var anchor = document.getElementById('order_anchor');
	if (anchor) {
		anchor.focus();
	}*/
}

function loadAuth(name, login)
{
	showImgLoader();
	var str = 'user_email='+name;
	str += '&user_password='+login;
	var httpURL = '/ajax/shop/order/operation/auth/';
	objXMLReq = new net.ContentLoader(httpURL, ajaxAuth, null, 'POST', str);
}

function ajaxAuth()
{
	removeImgLoader();
	var myObject = Json.evaluate(this.req.responseText);
	if (myObject['auth']) {
		region('first');
	} else {
		$('#login_order_message').css('display','none');
		$('#login_order_error').css('display','block');
	}
}

var parse_basket = 0;


function orderFinish() 
{
	if(document.forms['kiev']){
		document.forms['kiev'].submit();
	}
	if(document.forms['ukraine']){
		document.forms['ukraine'].submit();
	}
	return true;
	
	var myObject = Json.evaluate(this.req.responseText);
	//alert(myObject['shara']);
	/*var insumma_whole = document.getElementById('insumma_whole');
	if (insumma_whole) {
		insumma_whole.innerHTML = myObject['summa_whole'];
	}*/
	var width = 570;
	var heigh = 230;
	var left = (screen.width-width)/2;
	var top  = (screen.height-heigh)/2;
	
	removeImgLoader();
	document.location.href=myObject['url'];
	return;
	
	//var win_handle = window.open(myObject['url'],'order_finish','left='+left+',top='+top+',height='+heigh+',width='+width+',resizable=no,scrollbars=yes,toolbar=no,status=no,location=no,menubar=no');
	//win_handle.window.focus();
}

var removeImgLoad = 0;
function showImgLoader()
{
	removeImgLoad = 1;
	$("body").append("<div id='TB_load'><img src='/img/js/thickbox/loadingAnimation.gif' onload='is_showImgLoader();'/></div>");//add loader to the page
	$('#TB_load').show();//show loader
}

function is_showImgLoader()
{
	if(removeImgLoad==0) {
		removeImgLoader();
	}
}

function removeImgLoader()
{
	removeImgLoad = 0;
	$("#TB_load").remove();
}

function zakazat(caption, url, imageGroup, urlADD)
{
	window.focus();
	if (url) {
		tb_show(caption, url, imageGroup);
	}
	if (urlADD) {
		addItem(urlADD);
	}
}

function compare(url)
{
	window.focus();
	if (url) {
		open_window(url,1000,800);
	}
}