var regions=new Array();

regions[1]=2;
regions[2]=2;
regions[3]=4;
regions[4]=3;
regions[5]=3;
regions[6]=2;
regions[7]=2;
regions[8]=2;
regions[9]=2;
regions[10]=2;
regions[11]=3;
regions[12]=3;
regions[13]=2;
regions[14]=2;
regions[15]=5;
regions[16]=5;
regions[17]=2;
regions[18]=2;
regions[19]=1;
regions[20]=1;
regions[21]=1;
regions[22]=2;
regions[23]=5;
regions[24]=2;
regions[25]=3;
regions[26]=2;
regions[27]="avia";
regions[28]=2;
regions[29]=2;
regions[30]=3;
regions[31]=1;
regions[32]=2;
regions[33]=2;
regions[34]=2;
regions[35]=5;
regions[36]=1;
regions[37]=1;
regions[38]=1;
regions[39]=2;
regions[40]=4;
regions[41]=1;
regions[42]=5;
regions[43]=2;
regions[44]="avia";
regions[45]=4;
regions[46]="avia";
regions[47]=3;
regions[48]=2;
regions[49]=2;
regions[50]=2;
regions[51]=2;
regions[52]=4;
regions[53]=2;
regions[54]=2;
regions[55]=2;
regions[56]=2;
regions[57]=3;
regions[58]=2;
regions[59]=4;
regions[60]=2;
regions[61]=1;
regions[62]=2;
regions[63]=1;
regions[64]=4;
regions[65]=1;
regions[66]=3;
regions[67]=1;
regions[68]=1;
regions[69]=1;
regions[70]=1;
regions[71]=1;
regions[72]=3;
regions[73]=2;
regions[74]=2;
regions[75]=2;
regions[76]=1;
regions[77]=2;
regions[78]=2;
regions[79]=1;
regions[80]=3;
regions[81]=3;
regions[82]=2;
regions[83]=1;
regions[84]=2;
regions[85]=4;
regions[86]="avia";
regions[87]="avia";
regions[88]=3;
regions[89]="avia";

function add_item(id, name, cost)
{
	var loader=document.createElement("script");
	loader.id="loader";
	loader.type="text/javascript";
	loader.src="index.php?cmd=add_item&id="+id+"&name="+name+"&cost="+cost+"&callback=add_item_end&rnd="+Math.random();
	document.body.appendChild(loader);
}
	
function add_item_end(result)
{
	var loader=document.getElementById("loader");
	document.body.removeChild(loader);
	
	if (document.getElementById("items_count").innerHTML*1==result)
	{
		alert("Этот фильм уже есть в Вашей корзине!");
	}
	else
	{
		document.getElementById("items_count").innerHTML=result;
		alert("Диск добавлен в корзину!");
	}
}

function delete_item(id)
{
	var loader=document.createElement("script");
	loader.id="loader";
	loader.type="text/javascript";
	loader.src="index.php?cmd=delete_item&id="+id+"&callback=delete_item_end&rnd="+Math.random();
	document.body.appendChild(loader);
}

function delete_item_end(id)
{
	var loader=document.getElementById("loader");
	document.body.removeChild(loader);

	var row=document.getElementById("row"+id);
	row.parentNode.removeChild(row);
	
	var table=document.getElementById("basket_table");
	if (table.rows.length<3)
	{
		document.getElementById("basket").innerHTML="Корзина пуста";
	}
	else
	{
		calculate_order();
	}
	
	var el=document.getElementById("items_count")
	if (el)
	{
		var item_count=el.innerHTML*1;
		item_count--;
		el.innerHTML=""+item_count;
	}
}

function show_order_form(id, min_count)
{
	var count=document.getElementById("total_count").innerHTML*1;
	if (count<min_count)
	{
		alert('Количество заказываемых дисков должно быть не меньше '+min_count);
	}
	else
	{
		if (count>10)
		{
		alert('Количество дисков в первом заказе не должно превышать 10 штук, если вы делаете повторный заказ обращайтесь за полным доступом');
		}
		else
		{
		calculate_order_with_delivery();
		document.getElementById(id).style.display="block";
		}
	}
}

function validate_input(element)
{
	checkinput(element, 'not0');
	calculate_order();
}

function calculate_order()
{
	var table=document.getElementById("basket_table");
	
	var size=table.rows.length;
	var count=0;
	var cost=0;
	for (var i=1; i<size-1; ++i)
	{
		id_sfx=table.rows[i].id.substr(3, table.rows[i].id.length-3);
		cur_count=document.getElementById("count"+id_sfx).value*1;
		count+=cur_count;
		cost+=document.getElementById("cost"+id_sfx).innerHTML*cur_count;
	}

	document.getElementById("total_count").innerHTML=count;
	document.getElementById("total_cost").innerHTML=cost;

	calculate_order_with_delivery();
}

function calculate_order_with_delivery()
{
	var idx=document.getElementById("delivery_select").value;
	var cost=document.getElementById("total_cost").innerHTML*1;
	var discs_count=document.getElementById("total_count").innerHTML*1;
	var zone_id=document.getElementById("select_zone_id").value;

	var delivery_cost=get_delivary_cost(idx, zone_id, discs_count);
	
	if (!delivery_cost)
	{
		document.getElementById("total_cost_with_delivery").innerHTML="Рассчитывается отдельно";
		document.getElementById("delivery_cost").value=0;
	}
	else
	{
		document.getElementById("total_cost_with_delivery").innerHTML=delivery_cost+cost;
		document.getElementById("delivery_cost").value=delivery_cost;
	}
}

function get_delivary_cost(delivery_idx, zone, item_count)
{
	zone=regions[zone];

	if (array_key_exists(delivery_idx, deliveries))
	{
		if (!array_key_exists(zone, deliveries[delivery_idx]))
		{
			zone=0;
		}

		var items=array_keys(deliveries[delivery_idx][zone]);

		items.sort(function compare(a, b) 
		{
			return a-b;
		});

		var size=items.length;

		for (var i=0; i<size; ++i)
		{
			if (item_count<items[i]*1)
			{
				return deliveries[delivery_idx][zone][items[i]];
			}
		}
		
		if (array_key_exists(0, deliveries[delivery_idx][zone]))
		{
			return deliveries[delivery_idx][zone][0];
		}
	}

	return 0;
}

function array_key_exists(key, search) 
{  
    if (!search || (search.constructor!==Array && search.constructor!==Object))
	{
        return false;
    }
 
    return search[key]!==undefined;
}

function array_keys(input, search_value, strict) 
{
    var tmp_arr=new Array(), strict=!!strict, include=true, cnt=0;
 
    for (key in input)
	{
        include=true;
        if (search_value!=undefined) 
		{
            if (strict && input[key]!==search_value)
			{
                include=false;
            } 
			else if (input[key]!=search_value)
			{
                include=false;
            }
        }
 
        if (include) 
		{
            tmp_arr[cnt]=key;
            cnt++;
        }
    }
 
    return tmp_arr;
}