window.addEvent('domready', function(){

	var labels = $(document.body).getElements('label');	// all LABELs

	labels.each(function(label){

		function show(el) {
			if ($(el).getStyle('display') == 'none') {
				var toShow = $(el);							// FIELDSET ID to show
				var cl = toShow.getProperty('class');		// FIELDSET CLASS (stack..)
				var toHide = $$('.' + cl);					// all FIELDSETs to hide
				toHide.setStyle('display', 'none');
				toShow.setStyle('display', '');

				var ins = toShow.getElements('input');		// all INPUTS in FIELDSET

				var i = 0;
				ins.each(function(inn) {
					if (i == 0) {
						inn.checked = true;					// Checked is the 1st element
					}
					i++;
				});
			}
		}
	
		var idEL = label.getProperty('class');		// FIELDSET ID
		var idRadio = label.getProperty('for');		// RADIO ID

		if ($(idEL)) {
			// RADIO click
	   		$(idRadio).addEvent('click', function(event){
				show(idEL);
	   		});
   		
			// LABEL click
			label.addEvent('click', function(event){
				show(idEL);
			});
		}
	});

	// ALL BUTTONS
	$$('.button').addEvent('click', function(){
		var buttonid = this.getAttribute('id');
		if (buttonid) {
			ajaxsend(buttonid, 'log');
		}
	})
	
	
	
	// Hide callAgent onLoad
	if ($('callAgent')) {
		$('callAgent').setStyle('opacity', 0);	
	}
	
	// SUBMIT from BUTTONS 
	// + and Show callAgent
	if ($('CalcResultForm')) {
		$('CalcResultForm').addEvent('submit', function(e) {
			new Event(e).stop();
			ajaxsend('CalcResultForm', 'log');
			
			// Show callAgent
			if ($('callAgent')) {
				$('callAgent').setStyle('opacity', 1);
			}
		});	
	}
	// TODO Combine
	// + and Show callAgent
	if ($('OgpoResultForm')) {
		$('OgpoResultForm').addEvent('submit', function(e) {
			new Event(e).stop();
			ajaxsend('OgpoResultForm', 'log');
			
			// Show callAgent
			if ($('callAgent')) {
				$('callAgent').setStyle('opacity', 1);
			}
		});
	}
	
	

	// OGPO
	if ($('getbm1')) {
	
		function getAJAXbm (ele, TRN, EN){	
			var req = new Request({
						url: '/ogpos/getbm/' + TRN + '/' + EN,
						onRequest: function() {
							ele.set('value', '');
							ele.setStyles({
								'background-image': 'url(/img/loading.gif)',
								'background-repeat': 'no-repeat',
								'background-position': 'center 0'
							});
						},
						onComplete: function(responseHTML) {
							
							ele.setStyle('background-image', '');

							if (responseHTML.length <= 2) {
								ele.set('value', responseHTML);
							} else {
								$$('.bmError').destroy();			// del previous msgss

								var bmError = new Element('div', {
									'class': 'bmError'
								});

								bmError.setStyles({
									'padding': 10,
									'color': '#990000',
									'display': 'inline'
								})

								bmError.set('html', responseHTML)
								bmError.inject(ele, 'after');
							}
						},
						onFailure: function() {
							$('log').set('value', 'The request failed.');
						}
			}).send();
		}

		var getbms = $$('#getbm1', '#getbm2', '#getbm3');	// all buttons
		
		getbms.each(function(el){
			el.addEvent('click', function(){
				var tmp = el.getParent();			// one level upper
				var ele = tmp.getPrevious('input[name^=data]');
				var TRN = tmp.getElement('input[name^=TRN]').get('value');
				if (tmp.getElement('input[name^=EN]').hasClass('disabled')) {
					var EN = '';
				} else {
					var EN = tmp.getElement('input[name^=EN]').get('value');
				}

				getAJAXbm(ele, TRN, EN);
			})
		})
	}

	// FOR Dom & All inside
	if ($('II_object')) {
		// SHOW text input
		var checks = $$('input[type="checkbox"]');		// all checkboxs

		var nedv = $$('.nedv');		// nedvizhimost'
		var ot = $$('.ot');			// otdelka
		var nedvot = $$('.nedvot');	// nedv + ot
	
		checks.addEvent('click', function(){
			this.getNext('p').toggleClass('hide');

			// CASES
			if ((this.hasClass('nedv')) || (this.hasClass('ot'))) {
				decheck(nedvot);
			}
			if (this.hasClass('nedvot')) {
				decheck(nedv);
				decheck(ot);
			}
		
		})

		function decheck(el) {
			if (el.getProperty('checked')) {
				el.setProperty('checked', false);
				el.getNext('p').addClass('hide');
			}
		}
	}

	// Anketas
	if ($('a-usertype')) {
	
		function toggleType (el, type) {

			// Rekveziti for UR 
			if ($('a-rekvizit')) {
				if (type == 'fiz') {
					$('a-rekvizit').setStyle('display', 'none');
					$('a-rekvizit').getElements('input').setProperty('disabled', true);
				} else {
					$('a-rekvizit').setStyle('display', '');
					$('a-rekvizit').getElements('input').setProperty('disabled', false);
				}
			};


			var hidiv = el.getElement('div');			// hidden div with text
			if (hidiv.hasClass(type)) {
				var newText = hidiv.get('text');		// new text from 'rel'
				hidiv.destroy();						// destroy 'hidiv'
				var oldText = el.get('text');			// current text
				el.set('text', newText);				// set new label

				if (type == 'ur') {
					var oldType = 'fiz';
				} else {
					var oldType = 'ur';
				}

				var hidiv = new Element ('div', {		// new 'hidiv'
					'class': oldType,
					'styles': {
				        'display': 'none'
				    }
				});

				hidiv.set('text', oldText);				// set new label
				hidiv.inject(el);
			}
		}
	
		var inputs = $('a-usertype').getElements('input');	// inputs
		var labels = $('a-usertype').getElements('label');	// labels
	
		labels.addEvent('click', function() {				// label clicks
			if (this.getProperty('for') == 'usertype1') {
				var change = 'fiz';							// 'fiz' for 'usergroup1'
			} else {
				var change = 'ur';							// 'ur' for 'usergroup2'
			}
			$$('.toggleStyle').each(function(el) {
				toggleType(el, change);
			});		
		})
	
		inputs.addEvent('click', function() {				// 'radio' clicks
			if (this.getProperty('id') == 'usertype1') {
				var change = 'fiz';
			} else {
				var change = 'ur';
			}
			$$('.toggleStyle').each(function(el) {
				toggleType(el, change);
			});		
		})
	}

	// PPL Number
	if ($('aPplnumber')) {
	
		function ppl(num) {
			if (num == 1) {
				$('a-ppl').setStyle('display', 'none');
			} else {
				$('a-ppl').setStyle('display', '');
			}

			$('people').empty();

			for (i = 2; i <= num; i++) {
				var el = new Element ('input', {
					'type': 'text',
					'name': 'data[Anketa][aPpl]',
					'id': 'aPpl'+i,
					'class': 'inputblock',
					'value': i+'. '
				});

				el.inject('people');
			}
		}
	
		// initialize
		ppl($('aPplnumber').value);
	
		// on Change
		$('aPplnumber').addEvent('change', function(){
			ppl($('aPplnumber').value);
		});
	}



	// OGPOs

	if ($('o-usertype')) {

		$('EN1').setStyle('opacity', 0.5);
		$('EN2').setStyle('opacity', 0.5);
		$('EN3').setStyle('opacity', 0.5);

		function OGPOtoggleType (type) {
			// Skill for Fiz 
			if (type == 'fiz') {
				
				$('skill1').getElements('input').setProperty('disabled', false);
				$('skill2').getElements('input').setProperty('disabled', false);
				$('skill3').getElements('input').setProperty('disabled', false);

				$('skill1').getElements('div.legend').removeClass('disabled');
				$('skill2').getElements('div.legend').removeClass('disabled');
				$('skill3').getElements('div.legend').removeClass('disabled');
				
				$('OgpoUr').setProperty('disabled', true);	// show UR litsa koef
				
				// Engine Number for BM
				$('EN1').setProperty('disabled', true);
				$('EN2').setProperty('disabled', true);
				$('EN3').setProperty('disabled', true);
				
				$('EN1').setStyle('opacity', 0.5);
				$('EN2').setStyle('opacity', 0.5);
				$('EN3').setStyle('opacity', 0.5);

				$('EN1').addClass('disabled');
				$('EN2').addClass('disabled');
				$('EN3').addClass('disabled');

				// SHOW bonus malus for UR Lits
				$$('.Bonus-maluss').each(function(el) {
					el.getElements('input').setProperty('disabled', false);
					el.getElements('div.legend').removeClass('disabled');
					el.getElements('div.legend').setStyle('opacity', 1);
					el.getElements('.toggleEvaluate').setStyle('display', 'inline');
				});

			} else {
				
				$('skill1').getElements('input').setProperty('disabled', true);
				$('skill2').getElements('input').setProperty('disabled', true);
				$('skill3').getElements('input').setProperty('disabled', true);

				// hide bonus malus for UR Lits
				$$('.Bonus-maluss').each(function(el) {
					el.getElements('input').setProperty('disabled', true);
					el.getElements('div.legend').addClass('disabled');
					el.getElements('div.legend').setStyle('opacity', 0.5);
					el.getElements('.toggleEvaluate').setStyle('display', 'none');
				});

				$('skill1').getElements('div.legend').addClass('disabled');
				$('skill2').getElements('div.legend').addClass('disabled');
				$('skill3').getElements('div.legend').addClass('disabled');
				
				$('OgpoUr').setProperty('disabled', false);	// hide UR litsa koef
				
				// Engine Number for BM
				$('EN1').setProperty('disabled', false);
				$('EN2').setProperty('disabled', false);
				$('EN3').setProperty('disabled', false);
				
				$('EN1').setStyle('opacity', 1);
				$('EN2').setStyle('opacity', 1);
				$('EN3').setStyle('opacity', 1);

				$('EN1').removeClass('disabled');
				$('EN2').removeClass('disabled');
				$('EN3').removeClass('disabled');
			}
		}

		var inputs = $('o-usertype').getElements('input');	// inputs

		inputs.addEvent('click', function() {				// 'radio' clicks
			if (this.getProperty('id') == 'usertype1') {
				var change = 'fiz';
			} else {
				var change = 'ur';
			}
			OGPOtoggleType(change);
		})
	}
	
	// Evaluate BM
	if ($('bm1')) {
		function toggleEva(status, button, el) {
			if (status == 'hidden') {
				button.setStyle('display', 'none');

				var myEffect = new Fx.Morph(el, {duration: 'short', transition: Fx.Transitions.Sine.easeIn});

				var elWidth = 52;			
				el.setStyles({
					'opacity': 0,
					'display': 'block',
					'margin-top': -elWidth
					});
					
				myEffect.start('.visiblEva');
				
			} else {
				button.setStyle('display', 'block');
				el.setStyle('display', 'none');
			}
		}
		var toggleEvaluates = $$('.toggleEvaluate');
		toggleEvaluates.addEvent('click', function(e) {
			var evaluate = this.getNext('div');
			toggleEva('hidden', this, evaluate);
		})
	}
	

	// PPL number
	//var pplnumber = $('pplnumber');	// trigger

	if ($('ppl')) {

		function hideAllPpl(){
			allppl.setStyle('display', 'none');
			allskill.setStyle('display', 'none');
			allbm.setStyle('display', 'none');
		}

		function showAllPpl(){
			
			allppl.setStyle('display', '');
			allskill.setStyle('display', '');
			allbm.setStyle('display', '');
		}

		var ppl1 = $('1 person');
		var ppl2 = $('2 person');
		var ppl3 = $('3 person');
		var allppl = $$(ppl1, ppl2, ppl3);
				
		var skill1 = ppl1.getNext('fieldset');
		var skill2 = ppl2.getNext('fieldset');
		var skill3 = ppl3.getNext('fieldset');
		var allskill = $$(skill1, skill2, skill3);

		var bm1 = skill1.getNext('fieldset');
		var bm2 = skill2.getNext('fieldset');
		var bm3 = skill3.getNext('fieldset');
		var allbm = $$(bm1, bm2, bm3);
		
		// hide all
		showAllPpl();	// show

		ppl2.setStyle('display', 'none');
		skill2.setStyle('display', 'none');
		bm2.setStyle('display', 'none');

		ppl3.setStyle('display', 'none');
		skill3.setStyle('display', 'none');
		bm3.setStyle('display', 'none');

		
		$('ppl').addEvent('change', function(){
			
			var selected = $('ppl').getSelected();			// selected el
			var number = selected[0].getProperty('value');	// number of ppl
			
			// SET autos = 1
			if (number > 1) {
				$('autos').set('value', 1);
				$('autos').fireEvent('change');
			}
			
			switch (number) {
				case '1':
					showAllPpl();	// show

					ppl2.setStyle('display', 'none');
					skill2.setStyle('display', 'none');
					bm2.setStyle('display', 'none');

					ppl3.setStyle('display', 'none');
					skill3.setStyle('display', 'none');
					bm3.setStyle('display', 'none');
					break;
					
				case '2':
					showAllPpl();	// show
						
					ppl3.setStyle('display', 'none');
					skill3.setStyle('display', 'none');
					bm3.setStyle('display', 'none');
					break;

				case '3':
					showAllPpl();	// show
					break;
					
				default:
					showAllPpl();	// show

					ppl2.setStyle('display', 'none');
					skill2.setStyle('display', 'none');
					bm2.setStyle('display', 'none');

					ppl3.setStyle('display', 'none');
					skill3.setStyle('display', 'none');
					bm3.setStyle('display', 'none');
			}
		})
	}

	
	// Auto

	if ($('autos')) {

		function hideAllAuto(){
			allauto.setStyle('display', 'none');
			alltype.setStyle('display', 'none');
			allautoage.setStyle('display', 'none');
			allplace.setStyle('display', 'none');
			allisCenter.setStyle('display', 'none');
		}

		function showAllAuto(){
			allauto.setStyle('display', '');
			alltype.setStyle('display', '');
			allautoage.setStyle('display', '');
			allplace.setStyle('display', '');
			allisCenter.setStyle('display', '');
		}

		var auto1 = $('1 Motor vehicle');
		var auto2 = $('2 Motor vehicle');
		var auto3 = $('3 Motor vehicle');
		var allauto = $$(auto1, auto2, auto3);
				
		var type1 = auto1.getNext('fieldset');
		var type2 = auto2.getNext('fieldset');
		var type3 = auto3.getNext('fieldset');
		var alltype = $$(type1, type2, type3);

		var autoage1 = type1.getNext('fieldset');
		var autoage2 = type2.getNext('fieldset');
		var autoage3 = type3.getNext('fieldset');
		var allautoage = $$(autoage1, autoage2, autoage3);
		
		var place1 = autoage1.getNext('fieldset');
		var place2 = autoage2.getNext('fieldset');
		var place3 = autoage3.getNext('fieldset');
		var allplace = $$(place1, place2, place3);
		
		var isCenter1 = place1.getNext('fieldset');
		var isCenter2 = place2.getNext('fieldset');
		var isCenter3 = place3.getNext('fieldset');
		var allisCenter = $$(isCenter1, isCenter2, isCenter3);
			
		// hide all, but 1st
		hideAllAuto();
		auto1.setStyle('display', '');
		type1.setStyle('display', '');
		autoage1.setStyle('display', '');
		place1.setStyle('display', '');
		isCenter1.setStyle('display', '');
		
		$('autos').addEvent('change', function(){
			
			var selected = $('autos').getSelected();		// selected el
			var number = selected[0].getProperty('value');	// number of auto

			// SET ppl = 1
			if (number > 1) {
				$('ppl').set('value', 1);
				$('ppl').fireEvent('change');
			}

			switch (number) {
				case '1':
				
					hideAllAuto();	// hide

					auto1.setStyle('display', '');
					type1.setStyle('display', '');
					autoage1.setStyle('display', '');
					place1.setStyle('display', '');
					isCenter1.setStyle('display', '');
					break;
					
				case '2':
					hideAllAuto();	// hide
						
					auto1.setStyle('display', '');
					type1.setStyle('display', '');
					autoage1.setStyle('display', '');
					place1.setStyle('display', '');
					isCenter1.setStyle('display', '');
						
					auto2.setStyle('display', '');
					type2.setStyle('display', '');
					autoage2.setStyle('display', '');
					place2.setStyle('display', '');
					isCenter2.setStyle('display', '');
					break;

				case '3':
					showAllAuto();	// show

					break;

				default:
					hideAllAuto();	// hide

					auto1.setStyle('display', '');
					type1.setStyle('display', '');
					autoage1.setStyle('display', '');
					place1.setStyle('display', '');
					isCenter1.setStyle('display', '');
			}
		})
		
		// Almaty, Astana
		
		allplace.addEvent('click', function(){
			var el = this.getElement('select');					// selected Element
			var isCenter = this.getNext('fieldset');			// isCenter Fieldset
			var isCenterSelect = isCenter.getElement('select');	// isCenter select
			
			if (el.get('value') == 2.96 || el.get('value') == 2.2) {
				isCenterSelect.setProperty('disabled', true)
			} else {
				isCenterSelect.setProperty('disabled', false)
			}
		})
	}
		// Calc Perevoz4ik
		if ($('Passenger_places1')) {
			// hide and disable
			function hideTransport(els) {
				// Hide Fieldsets
				els.setStyle('display', 'none');
				// Disable Inputs
				if (els.each) {					// if many
					els.each(function(el){
						el.getElements('input').setProperty('disabled', true);
					})
				} else {						// if one
					els.getElements('input').setProperty('disabled', true);
				}
			}
			// show and enable
			function showTransport(els) {
				// Hide Fieldsets
				els.setStyle('display', '');
				// Disable Inputs
				if (els.each) {					// if many
					els.each(function(el){
						el.getElements('input').setProperty('disabled', false);
					})
				} else {						// if one
					els.getElements('input').setProperty('disabled', false);
				}
			}

			var mest1 = $('Passenger_places1');
			var mest2 = $('Passenger_places2');
			var mest3 = $('Passenger_places3');
			var dohod = $('Income_amount_from_realizable_services');
			var hidePere = $$(mest1, mest2, mest3, dohod);
			
			// hide all at start
			hideTransport(hidePere);
			showTransport(mest1);
			
			var transports = $('Type_of_motor_vehicle').getElements('input');
			transports.addEvent('click', function(){
				hideTransport(hidePere);
				var sel = this.get('value'); // selected transport
				switch (sel) {
					case 'c-light':
						showTransport(mest1);
						break;
					case 'c-samo':
						showTransport(mest2);
						break;
					case 'c-sea':
					case 'c-water':
						showTransport(mest3);
						break;
					case 'c-train':
						showTransport(dohod);
						break;
				}
			})
		}

	// Anketa Dom i vse 4to v nem
	
	if ($('dOther')) {
		var materials = $('d-Mat').getElements('input');
		materials.addEvent('click', function(){
			var sel = this.get('value'); // selected transport
			if (sel == 'other') {
				$('d-Other').getElement('div').removeClass('disabled');
				$('dOther').setProperty('disabled', false);
			} else {
				$('d-Other').getElement('div').addClass('disabled');
				$('dOther').setProperty('disabled', true);
			}
		})
	}
		
	// Anketa Transport
	
	// License
	if ($('tLicen')) {
		var licenses = $('t-license').getElements('input');
		licenses.addEvent('click', function(){
			var sel = this.get('value'); // selected transport
			if (sel == 'da') {
				$('t-licen').getElement('div').removeClass('disabled');
				$('tLicen').setProperty('disabled', false);
			} else {
				$('t-licen').getElement('div').addClass('disabled');
				$('tLicen').setProperty('disabled', true);
			}
		})
	}

	// Dohod
	// if ($('t-dohod2')) {
	// 	var types = $('tit_transport').getElements('input');
	// 	types.addEvent('click', function(){
	// 		var sel = this.get('value'); // selected transport
	// 		if (sel == 'c-train') {
	// 			$('t-dohod1').getElement('div').removeClass('disabled');
	// 			$('tDohod1').setProperty('disabled', false);
	// 			$('t-dohod2').getElement('div').removeClass('disabled');
	// 			$('tDohod2').setProperty('disabled', false);
	// 		} else {
	// 			$('t-dohod1').getElement('div').addClass('disabled');
	// 			$('tDohod1').setProperty('disabled', true);
	// 			$('t-dohod2').getElement('div').addClass('disabled');
	// 			$('tDohod2').setProperty('disabled', true);
	// 		}
	// 	})
	// }


	// Dohod
	if ($('t-dohod')) {
		var types = $('tit_transport').getElements('input');
		types.addEvent('click', function(){
			var sel = this.get('value'); // selected transport
			if (sel == 'c-train') {
				$('t-dohod').getElement('div').removeClass('disabled');
				$('tDohod1').setProperty('disabled', false);
				$('tDohod2').setProperty('disabled', false);
			} else {
				$('t-dohod').getElement('div').addClass('disabled');
				$('tDohod1').setProperty('disabled', true);
				$('tDohod2').setProperty('disabled', true);
			}
		})
	}
	
	// Yavlaetsa li?
	if ($('b-yavlya')) {
		var types = $('b-yavlya').getElements('input');
		types.addEvent('click', function(){
			var sel = this.get('value'); // selected transport
			if (sel == 'no') {
				$('b-podtverdi').getElement('div').addClass('disabled');
				$('bPodtverdi').setProperty('disabled', true);
			} else {
				$('b-podtverdi').getElement('div').removeClass('disabled');
				$('bPodtverdi').setProperty('disabled', false);
			}
		})	
	}
	
	function multiFields(field) {
		var mainField = $(field);

		if (mainField) {
			var field1 = $$('.'+field+'1');					// field1
			var field2 = $$('.'+field+'2');					// field2
			var field3 = $$('.'+field+'3');					// field3
			var allFields = $$(field1, field2, field3);		// All Fields

			// function hideAllPpl(){
			// 	allFields.setStyle('display', 'none');
			// }

			function showAllPpl(){
				allFields.setStyle('display', '');
				allFields.each(function(el) {
					var inputs = el.getElements('input');
					inputs.setProperty('disabled', false);
				})
			}

			// hide all
			showAllPpl();	// show

			field2.setStyle('display', 'none');
			field2.each(function(el) {
				var inputs = el.getElements('input');
				inputs.setProperty('disabled', true);
			})
			
			field3.setStyle('display', 'none');
			field3.each(function(el) {
				var inputs = el.getElements('input');
				inputs.setProperty('disabled', true);
			})

			mainField.addEvent('change', function(){

				var selected = mainField.getSelected();			// selected el
				var number = selected[0].getProperty('value');	// number of ppl

				switch (number) {
					case '1':
						showAllPpl();	// show

						field2.setStyle('display', 'none');
						field2.each(function(el) {
							var inputs = el.getElements('input');
							inputs.setProperty('disabled', true);
						})

						field3.setStyle('display', 'none');
						field3.each(function(el) {
							var inputs = el.getElements('input');
							inputs.setProperty('disabled', true);
						})
						break;

					case '2':
						showAllPpl();	// show

						field3.setStyle('display', 'none');
						field3.each(function(el) {
							var inputs = el.getElements('input');
							inputs.setProperty('disabled', true);
						})
						break;

					case '3':
						showAllPpl();	// show
						break;

					default:
						showAllPpl();	// show

						field2.setStyle('display', 'none');
						field2.each(function(el) {
							var inputs = el.getElements('input');
							inputs.setProperty('disabled', true);
						})

						field3.setStyle('display', 'none');
						field3.each(function(el) {
							var inputs = el.getElements('input');
							inputs.setProperty('disabled', true);
						})
				}
			})
		}
	}
	multiFields('aperson');
	multiFields('aauto');


});