
var date = new Date();
//date.setFullYear(date.getFullYear()+10);
//var expires=date.toGMTString();

date.setDate(date.getDate()+1);
var expires=date.toGMTString();


if(!defined('use_price_delimeter_symbol'))
{ 
	use_price_delimeter_symbol = '';
}


/* Добавление товара в корзину */
function add_item_to_basket(tovar_id, tovar_name, tovar_price, form_name) 
{
   	var colvo = document[form_name]["colvo" + tovar_id].value;
	
	var colvo_mass = colvo.toString().split(',');
	colvo = colvo_mass.join('.');
	
	var max_colvo_id = document.getElementById('max_colvo'+ tovar_id);	
	var max_colvo = 0;
	if(max_colvo_id)
	{
		max_colvo = max_colvo_id.value;
		
		if(max_colvo == '')
		{
			max_colvo = 0;
		}
	}
	
	if(checkdigits(colvo, max_colvo, unescape(tovar_name)) == false)
	{
		return false;
	}
   	
   	if(colvo == 0)
	{
		alert('Вы пытаетесь положить в корзину 0 товаров, что невозможно!');
		return false;
	}
	
	var all_price = tovar_price*colvo;
 
   	all_price = okruglenie(all_price);
   	tovar_price = okruglenie(tovar_price);
   	
   	var oldCookie = getCookie();
	if(oldCookie == '') 
	{
		var curCookie = "report=" + tovar_id + "#"+ colvo +"::"+ tovar_price +"; path=/; expires=" + expires;
		document.cookie = curCookie;
		
		alert('Товар "'+ unescape(tovar_name) +'" в количестве '+ colvo +' шт. на сумму '+ get_price(all_price, use_price_delimeter_symbol) +' '+ valuta +' положен в корзину!');
		
		var basket_colvo = document.getElementById('basket_colvo');
		basket_colvo.innerHTML = colvo;
		checkOkonchanie(colvo);
		
		var basket_summ = document.getElementById('basket_summ');
		basket_summ.innerHTML = get_price(all_price, use_price_delimeter_symbol);
		
		return;
	}
	
	
	var splitCookie = oldCookie.split(',');
	
	var add_colvo = "";
	
	for(var i=0; i<splitCookie.length; i++) 
	{
		var splitCookie_id = splitCookie[i].split('#');    
		
		if(splitCookie_id[0] == tovar_id) 
		{
			var splitCookie_id_col = splitCookie_id[1].split('::');
						
			var splitCookie_id_col_test = splitCookie_id_col[0]*1;
			
			splitCookie_id_col[0] = splitCookie_id_col[0]*1 + colvo*1;
			
			if(get_max_count_order(splitCookie_id_col[0], max_colvo, unescape(tovar_name)) == false)
			{
				return false;
			}
			
			splitCookie_id[1] = splitCookie_id_col.join('::');
			splitCookie[i] = splitCookie_id.join('#');      				
			
			add_colvo = "yes";
			break;
		}
	}
	
	if(add_colvo == "")
	{
		splitCookie[splitCookie.length] = tovar_id + "#" + colvo + "::" + tovar_price;
	}
	
	alert('Товар "'+ unescape(tovar_name) +'" в количестве '+ colvo +' шт. на сумму '+ get_price(all_price, use_price_delimeter_symbol) +' '+ valuta +' положен в корзину!');
	
	var newCookie = splitCookie.join(',');
	
	var curCookie = "report=" + escape(newCookie) + "; path=/; expires=" + expires;
	document.cookie = curCookie;
	
	var oldCookie = getCookie();
	basket_change(oldCookie);
}


/* Проверка введенного количества в поле количество */
function checkdigits(colvo, max_colvo, tovar_name) 
{
   	var test;
   	
   	var colvo_mass = colvo.toString().split(',');
	colvo = colvo_mass.join('.');
   	
   	if(use_order_count_float == 'yes')
   	{
   		test = /^\d+(\.\d+){0,1}$/;
   	}
   	else
   	{	
   		test = /^\d+$/;
   	}
		
	if(!test.test(colvo))
	{
  		alert('Количество введено неверно!')
		return false;
	}
	else
	{
    	return get_max_count_order(colvo, max_colvo, tovar_name);
	}
}


/* Проверка на максимальное количество покупаемых товаров */
function get_max_count_order(colvo, max_colvo, tovar_name)
{
	if(typeof(max_count_order) == 'undefined')
	{
		max_count_order = 999;
	}
		
	if(max_colvo > 0)
	{
		max_count_order = max_colvo*1;
	}
		
	if(colvo > max_count_order)
	{
		alert('Товар "'+ tovar_name +'" имеется в количестве '+ max_count_order +' шт.!\nВы не можете положить в корзину больше указанного количества товаров!');
			
		return false;
  	}
  	else
  	{
  		return true;
  	}
}


/* Проверка на наличие указанных символов (пример: check_symbols_digits(field,"1#2#3#4#5#6#7#8#9#0")) */
function check_symbols_digits(input,elements)
{
	var elements = elements.split('#');  
		
   	var ok = false;
	   
	for (var i = 0; i < input.length; i++)
    {
    	var chr = input.charAt(i);
		   
		var found = false;
		   
		for (var j = 0; j < elements.length; j++)
        {
			if(chr == elements[j]){found = true; break;}else{found = false;}
		}
		   
		
		if(found)
		{
			ok = true;
		}
		else
		{
			return false
		}

	}
  	
	return ok;
}


/* Округление цены */
function okruglenie(price)
{
	if(okruglenie_count > 0)
   	{
   		var okruglenie_koef = Math.pow(10,okruglenie_count);

   		if(okruglenie_koef > 0)
	   	{
	   		price = Math.round(price*okruglenie_koef)/okruglenie_koef;
	
			var test = /\./;

			if(!test.test(price))
			{
				var nulls = "";
				
				for(var i=0; i<okruglenie_count; i++)
				{
					nulls += '0';
				}
				
				price = price + '.' + nulls;
			}

			price = price + '';
			price = price.split('.');
    
			price_00 = price[1].split('');
	
			if(price_00.length < okruglenie_count)
			{
				var count_length = price_00.length;
				while(count_length < okruglenie_count)
				{
			 		price[1] = price[1] + '0';
					count_length++;
				}
			}
	
			price = price.join('.');
		}	
	}
	else
	{
		price = Math.round(price*1)/1;
	} 	

	return price; 
}


/* Изменение количетсва и суммы в корзине */
function basket_change(oldCookie)
{
	if(oldCookie != '') 
	{
	 	var basket = 0;
	 	var allbasketsumm = 0;
		var splitCookie = oldCookie.split(',');
		
		for(var i=0; i<splitCookie.length; i++) 
		{			
		 	var splitCookie_id = splitCookie[i].split('#');
		 	var splitCookie_id_col = splitCookie_id[1].split('::');
			
			basket = basket + splitCookie_id_col[0]*1;
			basketsumm = splitCookie_id_col[0]*splitCookie_id_col[1];	 		
			
			allbasketsumm = basketsumm + allbasketsumm;
		}
		
		allbasketsumm = okruglenie(allbasketsumm);
		
		var basket_colvo = document.getElementById('basket_colvo');
		basket_colvo.innerHTML = basket;
		checkOkonchanie(basket);
		
		var basket_summ = document.getElementById('basket_summ');
		basket_summ.innerHTML = get_price(allbasketsumm, use_price_delimeter_symbol);
	}
	else
	{
		var basket_colvo = document.getElementById('basket_colvo');
		basket_colvo.innerHTML = 0;
		checkOkonchanie(0);
		
		var basket_summ = document.getElementById('basket_summ');
		basket_summ.innerHTML = 0;
	}
}


/* Формирование окончания слова "товары" */
function checkOkonchanie(basket)
{
	var basket_text_okonchanie;
	
	var ids = new Array('basket_text_okonchanie', 'basket_text_okonchanie_order');
	
	for(i in ids)
	{
		var basket_text_okonchanie = document.getElementById(ids[i]);
			
		if(basket_text_okonchanie)
		{
			var basket_text = getOkonchanie(basket);
			basket_text_okonchanie.innerHTML = basket_text;	
		}
	}	

}


/* Получение окончания слова "товары" от количества товаров */
function getOkonchanie(basket)
{
	var basket_text = 'ов';
	if(/11$/.test(basket.toString()))
	{
		basket_text = 'ов';
	}
	else if(/1$/.test(basket.toString()))
	{
		basket_text = '';
	}
	else if(/1[2|3|4]$/.test(basket.toString()))
	{
		/* тут оставляем ов */
	}
	else if(/[2|3|4]$/.test(basket.toString()))
	{
		basket_text = 'а';
	}
	
	return basket_text; 
}			 


/* Функция нестандартного написания цены */
function get_price(price, delimeter)
{
	if(!defined('use_price_delimeter'))
	{ 
   		return price;
	}
	
	if(use_price_delimeter != 'yes')
	{	
		return price;
	}
	
	if(delimeter == '')
	{
		delimeter = ' ';
	}
	
	price = price + '';

	var concat = '';
	var price_array = new Array();
   
	if(/\,/.test(price)) 
	{
		price_array = price.split(',');
		concat = ',';
		price = price_array[0];
	}
	else if(/\./.test(price)) 
	{
		price_array = price.split('.');
		concat = '.';
		price = price_array[0];
	}
    
 	var digits = new Array();
	digits = price.split('');
	digits = digits.reverse();

 	var text = '';
 	var digits_mass = new Array();

	var j = 0;
	for(var i = 0; i < digits.length; i++)
	{
 		if((i%3 == 0)&&(i != 0))
	 	{
 			digits_mass[j] = text;
 			text = '';
 			j++;
	 	}

 		text = digits[i] + text;
	}

	if(text != '')
	{
		digits_mass[j] = text;
		text = '';
	}

	digits_mass = digits_mass.reverse();

	price = digits_mass.join(delimeter);
    
	if(price_array[1])
	{
		price = price + concat + price_array[1];
	}

	return price;
}


/*** КОРЗИНА ***/

/* Увеличение количества */
function clkup(i)
{
	eval('Vol = f.Vol'+i);
	Vol.value = parseFloat(Vol.value)+1;
	CheckVol(i);
}


/* Уменьшение количества */
function clkdn(i)
{
	eval('Vol = f.Vol'+i);
	Vol.value = parseFloat(Vol.value)-1;
	CheckVol(i);
}


/* Изменение количества */
function CheckVol(i)
{
	eval('Vol=f.Vol'+i);
	eval('RVol=f.RVol'+i);
	eval('Name=f.Name'+i);

 	if(get_max_count_order(parseFloat(Vol.value), parseFloat(RVol.value), unescape(Name.value)) == false)
	{
		Vol.value=RVol.value;
	}
	
	var colvo_mass = Vol.value.toString().split(',');
	Vol.value = colvo_mass.join('.');	

    if(checkdigits(Vol.value, RVol.value) == false)
 	{
 		Vol.value = 1;
 	}
 	
 	if(parseFloat(Vol.value) <= 0)
	{
		Vol.value = 1;
	}

	StrSum(i);
	GlobSum(i);	
}


/* Подсчет в строке */
function StrSum(i)
{
	if(eval('f.Vol'+i+'.value == 0'))
	{
		eval('f.Vol'+i+'.value = 1');
	}

	var StrSum = 0;
	eval('StrSum=f.Vol'+i+'.value*f.Price'+i+'.value');
	
	StrSum_new = 0;
	StrSum_new = okruglenie(StrSum);
	
	var order_stoimost = document.getElementById('order_stoimost'+ i);
	order_stoimost.innerHTML = get_price(StrSum_new, use_price_delimeter_symbol);
}


/* Подсчет итого */
function GlobSum(number)
{
	var GS = 0;
	var SV = 0;

  	for(i=1; i<=NN; i+=1)
 	{
 		eval('sVol = f.Vol'+ Cod[i] +'.value');

		var order_stoimost = document.getElementById('order_stoimost'+ Cod[i]);
		Str = order_stoimost.innerHTML;

  		if(defined('use_price_delimeter'))
		{ 
   			if(use_price_delimeter == 'yes')
			{	
				Str = Str.split(use_price_delimeter_symbol).join('');
  				Str = Str * 1;
			}
		}
  		
		GS += parseFloat(Str);
		SV += parseFloat(sVol);
	}

	GS = okruglenie(GS);

 	var order_stoimost_itogo = document.getElementById('order_stoimost_itogo');
	order_stoimost_itogo.innerHTML = get_price(GS, use_price_delimeter_symbol);

	var order_count_itogo = document.getElementById('order_count_itogo');
	order_count_itogo.innerHTML = SV;

	
	if(defined('use_discounts'))
	{ 
   		if(use_discounts == 'yes')
		{
			cur = 0;

            for(i in discounts)
            {
            	if(GS >= discounts[i].summa)
            	{
            		if(parseInt(i) >= parseInt(cur))
            		{
            			cur = i;
            		}	
            	}
            }
            
            if(skidka_procent != cur)
            {
            	document.getElementById('order_skidka_procent_text').innerHTML = cur;
            	document.getElementById('order_skidka_text').innerHTML = discounts[cur].name;
            }
            
            skidka_procent = cur;
		}
	}	            
	
	if(skidka_procent >= 0 && document.getElementById('order_skidka_summ_text') && document.getElementById('order_stoimost_itogo_with_skidka'))
	{
		var order_skidka_summ_text = document.getElementById('order_skidka_summ_text');
		order_skidka_summ_text.innerHTML = get_price(okruglenie(GS*skidka_procent/100), use_price_delimeter_symbol);

		var order_stoimost_itogo_with_skidka = document.getElementById('order_stoimost_itogo_with_skidka');
		order_stoimost_itogo_with_skidka.innerHTML = get_price(okruglenie(GS - GS*skidka_procent/100), use_price_delimeter_symbol);
	}

	var oldCookie = getCookie();
	var splitCookie = oldCookie.split(',');
	
	var temp = new Array((splitCookie.length-1));
	var j = 0;
	var i = 0;
	for(var i=0; i<splitCookie.length; i++) 
	{
		nomer = i + 1;

	 	var splitCookie_id = splitCookie[i].split('#');
		var splitCookie_id_col = splitCookie_id[1].split('::');

	 	if(nomer == number)
		{
			eval('splitCookie_id_col[0] = f.Vol'+number+'.value');
		}

		splitCookie_id[1] = splitCookie_id_col.join('::');
		splitCookie[i] = splitCookie_id.join('#');
		temp[j]=splitCookie[i];
		j++;
	}

	if(defined('use_dostavka'))
	{
		if(use_dostavka == 'yes') 
		{
		 	var order_stoimost_itogo_with_skidka = document.getElementById('order_stoimost_itogo_with_skidka');
		
        	var order_stoimost_itogo;
        		
        	if(order_stoimost_itogo_with_skidka == null)
        	{
        		order_stoimost_itogo = document.getElementById('order_stoimost_itogo').innerHTML;
        	}
        	else
        	{
        		order_stoimost_itogo = order_stoimost_itogo_with_skidka.innerHTML;
        	} 
        	
        	if(defined('use_price_delimeter'))
        	{ 
           		if(use_price_delimeter == 'yes')
        		{	
        			order_stoimost_itogo = order_stoimost_itogo.split(use_price_delimeter_symbol).join('');
          			order_stoimost_itogo = order_stoimost_itogo * 1;
        		}
        	}
        	
        	var order_dostavka_summ_text = document.getElementById('order_dostavka_summ_text').innerHTML;
        	
        	if(defined('use_price_delimeter'))
        	{ 
           		if(use_price_delimeter == 'yes')
        		{	
        			order_dostavka_summ_text = order_dostavka_summ_text.split(use_price_delimeter_symbol).join('');
          			order_dostavka_summ_text = order_dostavka_summ_text * 1;
        		}
        	}
        	
        	var order_stoimost_itogo_with_dostavka_price = order_stoimost_itogo*1 + order_dostavka_summ_text*1;  
        	order_stoimost_itogo_with_dostavka_price = okruglenie(order_stoimost_itogo_with_dostavka_price); 
        	
        	var order_stoimost_itogo_with_dostavka  = document.getElementById('order_stoimost_itogo_with_dostavka');
        	order_stoimost_itogo_with_dostavka.innerHTML = get_price(order_stoimost_itogo_with_dostavka_price, use_price_delimeter_symbol);
        	
		}
	}	
	
	k_oplate();
	
	savecookie(temp);
	
	var oldCookie = getCookie();
	basket_change(oldCookie);
}


/* Формирование "Итого к оплате" */
function k_oplate()
{
	var order_k_oplate = document.getElementById('order_k_oplate');
    
    if(order_k_oplate)
    {
	 	var order_stoimost_itogo_with_skidka = document.getElementById('order_stoimost_itogo_with_skidka');
		var order_stoimost_itogo_with_dostavka  = document.getElementById('order_stoimost_itogo_with_dostavka');
	
		var order_k_oplate_itogo; 
	  	
		if(order_stoimost_itogo_with_dostavka)
		{
			order_k_oplate_itogo = order_stoimost_itogo_with_dostavka.innerHTML;
		}
		else if(order_stoimost_itogo_with_skidka)
		{
			order_k_oplate_itogo = order_stoimost_itogo_with_skidka.innerHTML;
		}
		else
		{
			order_k_oplate_itogo = document.getElementById('order_stoimost_itogo').innerHTML;
		}
		
		if(defined('use_price_delimeter'))
		{ 
   			if(use_price_delimeter == 'yes')
			{	
				order_k_oplate_itogo = order_k_oplate_itogo.split(use_price_delimeter_symbol).join('');
  				order_k_oplate_itogo = order_k_oplate_itogo * 1;
			}
		}
		

 		order_k_oplate.innerHTML = get_price(order_k_oplate_itogo, use_price_delimeter_symbol);
 	}
 	
 	return true;
}


/* Удаление товара */
function deltovar(number, tovar, name)
{
	if(confirm('Вы уверены, что хотите удалить товар "'+ unescape(name) +'" из корзины?'))
	{
		var oldCookie = getCookie();
		var splitCookie = oldCookie.split(',');
		
		var temp = new Array((splitCookie.length-1));
		var j = 0;

		for(var i=0;i<splitCookie.length;i++) 
		{
			nomer = i + 1;			 							
	
			var splitCookie_id = splitCookie[i].split('#');
	
			if(nomer == number) continue;
		
			splitCookie[i] = splitCookie_id.join('#');      				
			temp[j]=splitCookie[i];
			j++;
		}
		
		savecookie(temp);

		//f.action.value = 'show';
		//f.submit();
		location.href = '/order.html';
		
		return false;
    }
	else
	{
		//eval("f.del"+ tovar +".checked = ''");
		return false;
	}
}


/* Проверка ошибок */
function validate_order() 
{
	var order_count_itogo = document.getElementById('order_count_itogo');
	
	if(order_count_itogo.innerHTML == 0)
	{
		alert('Суммарное количество выбранных товаров равно 0!');
		return false;
	}

	if(defined('use_minsumm'))
	{
		if(use_minsumm == 'yes') 
		{
			var summa = document.getElementById(minsumm_id) || document.getElementById('basket_summ');
        	if(parseInt(summa.innerHTML) < minsumm_order)
        	{
        		alert(minsumm_order_note);
        		return false;
        	}
        }
	}        	

	if(defined('use_dostavka'))
	{
		if(use_dostavka == 'yes') 
		{
			var dostavka_id = document.getElementById('dostavka_id');
        	var dostavka_id_selected = dostavka_id.selectedIndex;
        				
        	if((dostavka_id.value == '0')||(dostavka_id.value == ''))
        	{
        		alert('Выберите вид доставки!');
        		//dostavka_id.focus();
        		return false;
        	}
        	
        	if(dostavka_type_js[dostavka_id_selected] == 'kilometers')
            {
            	var km_field = document.getElementById('dostavka_km_value');
         		
         		var dostavka_km_value = km_field.value;
        		var test = /^\d+$/;
        		
        		if((!test.test(dostavka_km_value))||(dostavka_km_value == '0'))
        		{
        		    alert(error_km)
                   	km_field.focus();
                    return false;
                }
            }
		}
	}		

	location.href = validate_order_href;

	return false;
}


/* Запись новой куки */
function savecookie(temp)
{
	newCookie = temp.join(',');

	var curCookie = "report=" + escape(newCookie) + "; path=/; expires=" + expires;
	document.cookie = curCookie;
}


/* Отображение описания доставки */
function show_dostavka_description()
{
	var dostavka_id_selected = document.getElementById('dostavka_id').selectedIndex;
		
	var name = dostavka_name_js[dostavka_id_selected];
	var description = dostavka_description_js[dostavka_id_selected];
		
	var html = dostavka_window_html(name, description);
				
	var dostavka_description = document.getElementById('dostavka_description');
	dostavka_description.style.height = null;
	dostavka_description.innerHTML = html;
		
	dostavka_description.style.display = "block";
}


/* Скрытие описания доставки */
function hide_dostavka_description() 
{
	var dostavka_description = document.getElementById('dostavka_description');
	dostavka_description.style.display = "none";
}


/* Выбор доставки */	
function dostavka_select()
{
	var dostavka_id_selected = document.getElementById('dostavka_id').selectedIndex;
	 	
 	var kilometers_field = document.getElementById('kilometers_field');
	 	
 	var dostavka_km_value = document.getElementById('dostavka_km_value').value;
	 		 	
 	var dostavka_price = 0;
	 	
 	if(dostavka_type_js[dostavka_id_selected] == 'kilometers')
	{
		kilometers_field.style.visibility = "visible";

		dostavka_price = dostavka_price_js[dostavka_id_selected]*dostavka_km_value + dostavka_static_price_js[dostavka_id_selected]*1;
    					        					
    	var dostavka_km_value_cookies = "dostavka_km_value=" + dostavka_km_value + "; path=/; expires=" + expires;
    	document.cookie = dostavka_km_value_cookies;
    }
	else
	{
		kilometers_field.style.visibility = "hidden";

		dostavka_price = dostavka_price_js[dostavka_id_selected]*1 + dostavka_static_price_js[dostavka_id_selected]*1;
	}
		
	dostavka_price = okruglenie(dostavka_price);
    
	var order_dostavka_summ_text = document.getElementById('order_dostavka_summ_text');
	order_dostavka_summ_text.innerHTML = get_price(dostavka_price, use_price_delimeter_symbol);
				
	var order_stoimost_itogo_with_skidka = document.getElementById('order_stoimost_itogo_with_skidka');
		
	var order_stoimost_itogo;
		
	if(order_stoimost_itogo_with_skidka == null)
	{
		order_stoimost_itogo = document.getElementById('order_stoimost_itogo').innerHTML;
	}
	else
	{
		order_stoimost_itogo = order_stoimost_itogo_with_skidka.innerHTML;
	}
		
	if(defined('use_price_delimeter'))
	{ 
		if(use_price_delimeter == 'yes')
		{	
			order_stoimost_itogo = order_stoimost_itogo.split(use_price_delimeter_symbol).join('');
			order_stoimost_itogo = order_stoimost_itogo * 1;
		}
	}
		
	var order_stoimost_itogo_with_dostavka_price = order_stoimost_itogo*1 + dostavka_price*1;
	order_stoimost_itogo_with_dostavka_price = okruglenie(order_stoimost_itogo_with_dostavka_price); 
		
	var order_stoimost_itogo_with_dostavka  = document.getElementById('order_stoimost_itogo_with_dostavka');
	order_stoimost_itogo_with_dostavka.innerHTML = get_price(order_stoimost_itogo_with_dostavka_price, use_price_delimeter_symbol);
		 		
	var curCookie = "dostavka_id=" + escape(dostavka_id_js[dostavka_id_selected]) + "; path=/; expires=" + expires;
    document.cookie = curCookie;
    
    k_oplate();
}


/* Проверка ввода количества километров в доставке */	
function dostavka_km_change()	
{
	var km_field = document.getElementById('dostavka_km_value');
		
	var dostavka_km_value = km_field.value;
	var test = /^\d+$/;
		
	if((!test.test(dostavka_km_value))||(dostavka_km_value == '0'))
	{
	    alert(error_km)
       	km_field.focus();
        return false;
    }
    
    dostavka_select();
}


