var botWidths = new Array( 
new Array(300, 400, 500, 600),
new Array(600, 700, 800),
new Array(400, 500, 600),
new Array(600, 700, 800),
new Array(400, 500, 600, 700, 800),
new Array(200, 300, 400),
new Array(200, 300, 400)
);

var topWidths = new Array( 
new Array(300, 400, 500, 600),
new Array(600, 700, 800),
new Array(300, 400, 500, 600),
new Array(600, 700, 800),
new Array(300, 400, 500, 600),
new Array(600, 700, 800),
new Array(200, 300, 400),
new Array(200, 300, 400)
);

var picsVals = new Array("dsp", "mdf_dsp", "alum", "dsp", "mdf_mir", "mdf_mir", "alum_mir", "alum_mir");
//Установка начальных значений для расчетов ВЕРХНИХ и НИЖНИХ модулей
function start() {
	
	createBotPointers( "top" );
	createBotPointers( "bot" );
	
	addSectLIstHandlers( "top" );
	addSectLIstHandlers( "bot" );
	
	putSectInCalcArea( document.getElementById('top-1') );
	putSectInCalcArea( document.getElementById('bot-1') );
	
	$("#loading-area").hide();;
	$("#calc-area").show("slow");
	
}

//Добавление событий при нажатии на модуль
function addSectLIstHandlers( m_sectType ) {
	
	var sectListID = new String( m_sectType + "-sections-list");
	var sectList = document.getElementById( sectListID );
	
	var sectListImages = sectList.getElementsByTagName("img");
	var sectPointers = sectList.getElementsByTagName("hr");
	
	for(var i=0; i < sectListImages.length; i++ ) {
		sectListImages[i].onclick = setSect;
		sectListImages[i].onmouseover = showPointer;
		sectListImages[i].onmouseout = hiddenPointer;
		sectListImages[i].style.cursor = 'pointer';
	}
	
}


//Вывод подчеркиваний-подсказок о выбранном модуле
function createBotPointers( m_sectType ) {
	
	var sectListID = new String( m_sectType + "-sections-list");	
	var sectList = document.getElementById( sectListID );
	
	var sectListImages = sectList.getElementsByTagName("td");
	
	for(var i=0; i < sectListImages.length; i++ ) {
		var newPointer = document.createElement("hr");
		newPointer.className = "pointer";	
		newPointer.style.visibility = 'hidden';	
		//newBotPointer.id = "_" + i;
		//var newTextElement = document.createTextNode("___");
		//newBotPointer.appendChild( newTextElement );
		
		sectListImages[i].appendChild( newPointer );
	}
	
}


//Вставка секции в расчетную область
function setSect() {
putSectInCalcArea( this );
}

function putSectInCalcArea( m_sect ) {

	var imgElement = m_sect;
	
	var sectType = (imgElement.id).substring(0,3);
	var sectNum = (imgElement.id).substring( (imgElement.id).length-1, (imgElement.id).length );
	//Показ указателя выбранной секции под ней в списке
	
	hiddenAllPointers( sectType );
	showPointer2( imgElement );
	
	//Вставка текущей секции - В ФУНКЦИИ ОБНОВЛЕНИЯ КАРТИНКИ
/*	var placeholder = new String(sectType + "-placeholder");
	var sectCalcPlaceholder = document.getElementById( placeholder );
	sectCalcPlaceholder.src = imgElement.src;*/
	
	
	//eval('document.all.' + sectType + '_currentSectID.value = ' + imgElement.id);
	
	//удаление обработчика события только для выбранной секции в списке
	addSectLIstHandlers( sectType );
	
	imgElement.onclick = null;
	imgElement.onmouseover = null;
	imgElement.onmouseout = null;
	imgElement.style.cursor = 'default';
	
	//Вывод соответствующих опций и расчет
	makeOptions( imgElement.id );
	
}

//Скрытие всех подчеркиваний-подсказок
function hiddenAllPointers( m_sectType ) {
	
var sectListID = new String( m_sectType + "-sections-list");
var sectList = document.getElementById( sectListID );
	
var pointersList = sectList.getElementsByTagName("hr");
	
for(var i=0; i < pointersList.length; i++ ) {
		pointersList[i].style.visibility = 'hidden';	
}
}

//Показ указателя под модулем
function showPointer() {
showPointer2( this );
}
function showPointer2( m_sect ) {
var cellElement = m_sect.parentNode;
cellElement.childNodes[1].style.visibility = 'visible';
}
//Скрытие указателя под модулем
function hiddenPointer() {
var cellElement = this.parentNode;
cellElement.childNodes[1].style.visibility = 'hidden';
}

//Формирование опций выбора параметров для конкретной секции
function makeOptions( m_idString ) {

var m_sectType = m_idString.substring(0,3);
var m_sectNum = m_idString.substring( m_idString.length-1, m_idString.length );

/*var napolnArea = document.getElementById(m_sectType + "-napoln");
napolnArea.style.visibility = 'visible';
var ramkaArea = document.getElementById(m_sectType + "-ramka");
ramkaArea.style.visibility = 'visible';
*/
document.getElementById( m_sectType + '-facade').style.visibility = 'visible';

var sectListID = new String( m_sectType + "-sections-list");
var sectList = document.getElementById( sectListID );
var sectListImages = sectList.getElementsByTagName("img");

	if( ( m_sectNum == sectListImages.length ) || ( m_sectNum == sectListImages.length-1 ) ) { //Две крайние правые - угловые полки
		//napolnArea.style.visibility = 'hidden';
		//ramkaArea.style.visibility = 'hidden';
		document.getElementById( m_sectType + '-facade').style.visibility = 'hidden';
		
	}
//Расчет для текущей секции
if( m_sectType == "top") {
	document.all.top_currentSectID.value = m_idString;
	sectWidthOptions( m_sectType, m_sectNum, topWidths );	
	calc( m_sectNum, m_sectType, topPrices, topWidths );
} else {
	document.all.bot_currentSectID.value = m_idString;
	sectWidthOptions( m_sectType, m_sectNum, botWidths );	
	calc( m_sectNum, m_sectType, botPrices, botWidths );
}	

}


//Формирование опций ШИРИНЫ МОДУЛЕЙ
function sectWidthOptions( m_type, m_num, m_widths ) {
var widthArea = document.getElementById(m_type + "-width");
//Удаление предыдущих вариантов
removeOldOptions( widthArea );
//Вывод вариантов ширины
for( var i = 0; i < m_widths[ m_num-1 ].length; i++ ) {


var widthID =  m_type + "-selectWidth-" + i;
if( i == 0 ) {
	
		$( widthArea ).append("<input type='radio' name='" + m_type + "'_selectWidth' id='" + widthID + "' checked='checked' value='" + m_widths[ m_num-1 ][i] + "' onclick='calcThis();' >" + "<span onClick=\"$('#" + widthID + "').check('on'); calcThis();\">" + m_widths[ m_num-1 ][i] + "</span>" );
		//alert(widthID);
	} else {
		$( widthArea ).append("<input type='radio' name='" + m_type + "'_selectWidth' id='" + widthID + "' value='" + m_widths[ m_num-1 ][i] + "' onclick='calcThis();' >" + "<span onClick=\"$('#" + widthID + "').check('on'); calcThis();\">" + m_widths[ m_num-1 ][i] + "</span>" );
	}
	
}//endfor	

//$( widthArea ).append("<strong>ПРЕВЕД!</strong>");
}


//Получение текущей выбранной ширины (для расчета в calc())
function getOption( m_opt ) {
var optArea = document.getElementById( m_opt );
var optList = optArea.getElementsByTagName("input");
	
	for(var i=0; i < optList.length; i++ ) {
		if( optList[i].checked == true) {
			//return widthList[i].value;
			return i;
		}
	}

}

function removeOldOptions( m_area ) {
/*while( m_area.hasChildNodes() ) {
	var firstChild = m_area.firstChild;
	 m_area.removeChild( firstChild );
}*/
$( m_area ).empty();
}


//Расчет секции
function calcThis() {

var top_ID = document.all.top_currentSectID.value;
var bot_ID = document.all.bot_currentSectID.value;

var top_sectNum = top_ID.substring( top_ID.length-1, top_ID.length );
calc( top_sectNum, "top", topPrices, topWidths );

var bot_sectNum = bot_ID.substring( bot_ID.length-1, bot_ID.length );
calc( bot_sectNum, "bot", botPrices, botWidths );
}


function calc( m_sectNum, m_sectType, m_prices, m_widths ) {
var calcArea = document.getElementById(m_sectType + "-section-calc");
//Выбор стоимости
var price = new Number(0);
var widthNum = getOption(m_sectType + "-width");

if( ( m_sectNum == m_widths.length ) || ( m_sectNum == m_widths.length-1 ) ) { //Если выбраны угловые полки
	if( m_sectType == "top" ) {
		price = topCornerShelfsPrices[ widthNum ];
	} else {
		price = botCornerShelfsPrices[ widthNum ];
	}
} else { //Любые другие модули
	var facadeNum = getOption(m_sectType + "-facade");
	changePic( m_sectNum, m_sectType, facadeNum ); //обновление картинки
	if( m_sectType == "top" ) { 
		price = topPrices[ m_sectNum-1 ][ facadeNum ][ widthNum ];
		
	} else {	
		price = botPrices[ m_sectNum-1 ][ facadeNum ][ widthNum ];
		
	}
}

//Вывод цены
price = MakeGoodPriceView( price );

var priceField = document.getElementById(m_sectType + "-price");

replaceText( priceField, price );
}

//Обновление картинки
function changePic( sectNum, sectType, facadeNum ) {

var placeholder = new String(sectType + "-placeholder");
document.getElementById( placeholder ).src = "images/spinner.gif";

var sectListID = new String( sectType + "-sections-list");
var sectList = document.getElementById( sectListID );
var sectListImages = sectList.getElementsByTagName("img");
var imgID = new String("");

for( var sect = 1; sect <= sectListImages.length; sect++ ) {
	if( sect == sectNum ) {
		imgID = sectType + "-" + sectNum;		   	
		break;
	}
}
var moduleName = document.getElementById(imgID).src;

for( charNum = (moduleName.length-1); charNum > 0; charNum-- ) {
	if( moduleName.charAt( charNum ) == "/") {
		break;	
	}
}

moduleName = moduleName.substring( (charNum+1), moduleName.length-9 ); //вычленение имени модуля без стандартного dsp_r.png

if( sectType == "bot") {
	sectType = "bottom";	
}
var moduleSRC = "kitchen/images/" + sectType + "/" + moduleName + picsVals[ facadeNum ] + "_r.png";

//вставка картинки
document.getElementById( placeholder ).src = moduleSRC;
//alert(document.getElementById( placeholder ).src);
}


//–азделение разр€дов в показе цены*************

function MakeGoodPriceView( m_price ) {

var m_price = m_price.toString();

var m_priceLength = m_price.length;

var m_goodPriceView = m_price.slice( 0, m_priceLength-3 ) + " " +  m_price.slice( m_priceLength-3 , m_priceLength );

return m_goodPriceView;

}
