// JavaScript Document
var price_sum=new Array();
var base_price=new Array();
var options_price=new Array();
var group_price=new Array();
var group_position=new Array();
var options_name=new Array();
var row_count=0;


function checked_option(checkbox_option)
{	
	//????? ?? id ???? row_#_col_# ?????? ???????
	col_position = Number(checkbox_option.id.split('_')[3]);

	if (!options_price[col_position])
	{
		options_price[col_position]=0;
	}
	if (checkbox_option.checked)
	{
		options_price[col_position] = options_price[col_position] + Number(checkbox_option.value);
	}else
	{
		options_price[col_position] = options_price[col_position] - Number(checkbox_option.value);
	}
	calculate_sum(col_position);
}

function checked_group(checkbox_option)
{	
	//????? ?? id ???? row_#_col_#_group_# ?????? ???????
	row_position = Number(checkbox_option.id.split('_')[1]);
	col_position = Number(checkbox_option.id.split('_')[3]);
	group_ID = Number(checkbox_option.id.split('_')[5]);
	
	//???????? ????????????? ???????? ??????? ????????? ????? ??????? ???????
	if (!options_price[col_position])
	{
		options_price[col_position]=0;
	}
	
	//???????? ????????????? ???????? ??????? ??????? ??????
	if (!group_price[group_ID])
	{
		group_price[group_ID]=new Array();
	}
	
	//???????? ????????????? ???????? ??????? ??????-???????
	if (!group_price[group_ID][col_position])
	{
		group_price[group_ID][col_position]=0;
	}
	
	if (!group_position[group_ID])
	{
		group_position[group_ID]=new Array();
	}
	
	if (!group_position[group_ID][col_position])
	{
		group_position[group_ID][col_position]=0;
	}
	
	//??????? ???????? ??????? ????? ?????? ??? ??? ? ?????????? ??????
	if (checkbox_option.checked)
	{
		//???????? ?? ????? ????? ??????? ????? ????????? ??????? ??????? ??????
		options_price[col_position] = options_price[col_position] - group_price[group_ID][col_position]; 
		//??????? ??????? ? ???????? checkbox'?
		change_checkedGroup(group_ID,col_position,false);	
		
		//id checkbox'?
		group_position[group_ID][col_position]= checkbox_option.id; 
		//?????????? ???????? ???????? checkbox'?
		group_price[group_ID][col_position] = Number(checkbox_option.value); 
		
		//?????????? ? ????? ????? ??????? ??????? ??????? ??????
		options_price[col_position] = options_price[col_position] + group_price[group_ID][col_position];
		//?????? ??????? ?? ??????? checkbox
		change_checkedGroup(group_ID,col_position,true); 
	}else
	{
		options_price[col_position] = options_price[col_position] - group_price[group_ID][col_position];
		group_price[group_ID][col_position] = 0;		
	}
	calculate_sum(col_position);
}

function calculate_sum(col_position)
{
	price_sum[col_position]=base_price[col_position]+options_price[col_position];
	document.getElementById("sum_price"+col_position).innerHTML=number_format(price_sum[col_position]);
}

function change_checkedGroup(group_ID,col_position,check_value)
{
	if (group_position[group_ID][col_position]!=0)
	{
		cur_checkBox=document.getElementById(group_position[group_ID][col_position]);
		cur_checkBox.checked=check_value;
	}
}

function number_format( fNumber, iDecimals, sDecPoint, sThousandsSep )
{
	if ( iDecimals == null ) iDecimals = 2;
	if ( sDecPoint == null ) sDecPoint = ','
	if ( sThousandsSep == null ) sThousandsSep = ' ';
	
	aNumber = fNumber.toFixed( iDecimals ).match( /(\d+)\.(\d+)/ );
	sInteger = '' + aNumber[1]; sFloat = '' + aNumber[2];
	sInteger = sInteger.replace( /(?=(\d{3})+$)/g, sThousandsSep );
	return sInteger; // + sDecPoint + sFloat;
}
