function initFloorsSubInfo() {
	function showFloorsSubInfo( oThis ) {
		$( oThis ).parent().next().slideDown(500);
		$( oThis ).addClass('cur').unbind('click').bind('click',function(){
			hideFloorsSubInfo( this );
			return false;
		});
	}
	
	function hideFloorsSubInfo( oThis ) {
		if ( $( oThis ).parent('.info').length ) {
			$( oThis ).parent().next().slideUp(500);
			$( oThis ).removeClass('cur').unbind('click').bind('click',function(){
				showFloorsSubInfo( this );
				return false;
			});
		} else {
			$( oThis ).parent().parent().slideUp(500);
			$( oThis ).parent().parent().prev().children('a').removeClass('cur').unbind('click').bind('click',function(){
				showFloorsSubInfo( this );
				return false;
			});
		}
	}
	
    function init() {
		$('#main-page-floors ul li.info a').bind('click',function(){ showFloorsSubInfo( this ); return false; });
		$('#main-page-floors ul li.floors span.hideSubInfo a').bind('click',function(){ hideFloorsSubInfo( this ); return false; });
    }
    
    init();
}

function initTable() {
	var oTablePopUp = $('#table-pop-up');
	var oOverlay = $('#screen-overlay');

	function showTable() {
		oTablePopUp.css({
			'opacity': 0,
			'display': 'block',
			'top': $(window).scrollTop()+50
		}).animate({'opacity':1},300);

		oOverlay.css('opacity','0').css('display','block').animate({'opacity':.4},300).bind('click',function(){
			hideTable();
		});
    }
	
	function hideTable() {
		oTablePopUp.animate({'opacity':0},300, function(){ oTablePopUp.css('display','none'); });
		oOverlay.animate({'opacity':0},300, function(){ oOverlay.css('display','none').unbind('click'); });
    }
	
    function init() {
		$('#polimer-compilation a').bind('click',function(){ showTable(); return false; });
		$('#table-pop-up a').bind('click',function(){ hideTable(); return false; });
    }
    
    init();
}

function initDemand() {
	var oDemandPopUp = $('#demand-pop-up');
	var oOverlay = $('#screen-overlay');

	function showDemand() {
		oDemandPopUp.css({
			'opacity': 0,
			'display': 'block',
			'top': $(window).scrollTop()+100
		}).animate({'opacity':1},300);

		oOverlay.css('opacity','0').css('display','block').animate({'opacity':.4},300).bind('click',function(){
			hideDemand();
		});
    }
	
	function hideDemand() {
		oDemandPopUp.animate({'opacity':0},300, function(){ oDemandPopUp.css('display','none'); });
		oOverlay.animate({'opacity':0},300, function(){ oOverlay.css('display','none').unbind('click'); });
    }
	
	function demandFormSubmit() {
		if ( !$('#dpu-contact').val() ) {
			alert('Заполните, пожалуйста, поле "Контактное лицо".');
			return false;
		}
		
		if ( !$('#dpu-email').val() && !$('#dpu-phone').val() ) { 
			alert('Введите, пожалуйста, ваш контактный номер или электронную почту.');
			return false;
		}
	
		$('#demand-pop-up form').ajaxSubmit({
			type: 'POST', dataType: 'json',
			beforeSend: function() { 
				if ($.browser.msie && ( $.browser.version == 6 || $.browser.version == 7 ) ) {
					alert('Ваша заявка принята. Наш оператор свяжется с вами в ближайшее время.');
					hideDemand();
				}
			},
			error: function(XHR) { //alert(XHR.responseText);
			},
			success: function(data, status) {
				alert('Ваша заявка принята. Наш оператор свяжется с вами в ближайшее время.');
				hideDemand();
			}
		});
    }
    
    function init() {
		$('#demand a, #info div.request p a').bind('click',function(){ showDemand(); return false; });
		$('#demand-pop-up a').bind('click',function(){ hideDemand(); return false; });
		$('#demand-pop-up form').bind('submit',function(){ demandFormSubmit(); return false; });
    }
    
    init();
}

function initFloorSearch() {
	var oBranchField = $('#branch-search');
	var oPremiseField = $('#premise-search');
	var oBtnNextStep = $('#btn-search-floor-next-step');
	var oBtnSearch = $('#btn-search-floor');
	var oFloorsCountField = $('#floors-count');

	function getBranchData() {
		oBtnNextStep.attr('disabled','disabled');
	
		$.get('/cgi-bin/bin/public/select.cgi',{ 'do': 'get_cat' }, function(response, status){
			response = eval("("+response+")");
			var oSelect = createHTML('select', response);
			oBranchField.empty().append( $(oSelect).html() );
		});    
	}
	
	function getPremiseData() {
		$.get('/cgi-bin/bin/public/select.cgi',{ 'do': 'get_field', 'id': oBranchField.val(), 'random': Math.round(Math.random()*1000+1) }, function(response, status){
			response = eval("("+response+")");
			var oSelect = createHTML('select', response);
			oPremiseField.empty().attr('disabled','').append( $(oSelect).html() );
		}); 
	}

	function getPremiseData() {
		$.get('/cgi-bin/bin/public/select.cgi',{ 'do': 'get_field', 'id': oBranchField.val(), 'random': Math.round(Math.random()*1000+1) }, function(response, status){
			response = eval("("+response+")");
			var oSelect = createHTML('select', response);
			oPremiseField.empty().attr('disabled','').append( $(oSelect).html() );
		}); 
	}
	
	function getStep2Data() {
		$('#questNo1, #questNo3, #questNo4, #questNo5, #questYes2, ').attr('selected','true');
	
		$.get('/cgi-bin/bin/public/select.cgi',{ 'do': 'get_qw', 'id': oPremiseField.val(), 'random': Math.round(Math.random()*1000+1) }, function(response, status){ 
			response = eval("("+response+")");
			oFloorsCountField.text( response.count );
			var oTbody = createHTML('tbody', response.html);

			$('#info .floor-search p.step1').css('display','none');
			$('#info .floor-search p.step2').css('display','block');
			$( oTbody ).children('tr').length != 5 ? $('#info .floor-search p.extra-option').css('display','none') : '';

			$('#subcat').val( oPremiseField.val() );
		}); 
	}
	
	function switchBtnStatus() {
		if ( oPremiseField.val() != '0' ) {
			oBtnNextStep.attr('disabled','');
		} else {
			oBtnNextStep.attr('disabled','disabled');
		}
	}
	
	function switchStep2Radios( oThis ) {
		var oInput = $( oThis ).parent().children('input:hidden');

		if ( $( oThis).val() == 'да' ) {
			oInput.val('1');
		} else {
			oInput.val('0');
		}
		
		getFloorsCount();
	}
	
	function getFloorsCount() {
		$.get('/cgi-bin/bin/public/select.cgi',{ 'do': 'count', 'fields_id': oPremiseField.val(), 'q1': $('p.step2 input[name=q1]').val(), 'q2': $('p.step2 input[name=q2]').val(), 'q3': $('p.step2 input[name=q3]').val(), 'q4': $('p.step2 input[name=q4]').val(), 'q5': $('p.step2 input[name=q5]').val() }, function(response, status){
			response = eval("("+response+")");
			oFloorsCountField.text( response.count );
		}); 
	}
	
    function init() {
		getBranchData();
		oBranchField.bind('change',function(){ getPremiseData(); oPremiseField.val('0'); switchBtnStatus(); });
		oPremiseField.bind('change',function(){ switchBtnStatus(); });
		oBtnNextStep.bind('click',function(){ getStep2Data(); });
		$('p.step2 input:radio').bind('change',function(){ switchStep2Radios(this); });
    }
	
	init();
}

$(document).ready(function() {
	initFloorsSubInfo();
	initTable();
	initDemand();
	initFloorSearch();
});
