/*
**  
*/
function TerminalForm(handler_url, button_id){
	this.handler_url=handler_url;
	this.button_id=button_id;
	this.stateVisible = false;
	this.init();
}
TerminalForm.prototype={
	init:function(){
		var o_this=this;
		$('#'+this.button_id).click(function(){o_this.send();});
		$('#term-typeplace').change(function(){o_this.clickTypePlace()});
		$('#term-sysname').change(function(){o_this.clickSysName()});
	},
	clickTypePlace:function(){
		if($('#term-typeplace option:selected').attr('value')=='6'){
			$('#typeplacevar-div').css('display', 'block');
		}
		else{
			$('#typeplacevar-div').css('display', 'none');
		}
		$('#term-typeplacevar').val('');
	},
	clickSysName:function(){
		if($('#term-sysname option:selected').attr('value')=='19'){
			$('#sysname-div').css('display', 'block');
		}
		else{
			$('#sysname-div').css('display', 'none');
		}
		$('#term-sysnamevar').val('');
	},
	showHideForm:function(){
		this.stateVisible = !this.stateVisible;
		if(this.stateVisible){
			$('#s').css('display', 'none');	
			$('#s').css({height: "0px"}).animate({
						height: "320px"}, 'slow');
		}
		else{
			$('#s').css({height: "310px"}).animate({
						height: "0px"}, 'slow', function(){$('#s').css('display', 'none')});
		}
	},
	checkFields:function(){	
		var code		=$('#term-code').val();
			
		var city		=$('#term-city').val();
		var street		=$('#term-street').val();
		var home		=$('#term-home').val();
		var typeplace	=$('#term-typeplace option:selected').attr('value');
		var typeplacevar=$('#term-typeplacevar').val();
		
		var arfio		=$('#term-arfio').val();
		var ardol		=$('#term-ardol').val();
		var arphone1	=$('#term-arphone1').val();
		var arphone2	=$('#term-arphone2').val();
		
		var urname		=$('#term-urname').val();
		var num			=$('#term-num').val();
		var phone1		=$('#term-phone1').val();
		var phone2		=$('#term-phone2').val();
		
		var sysname		=$('#term-sysname option:selected').attr('value');
		var sysnamevar	=$('#term-sysnamevar').val();
		var state		=$('#term-state option:selected').attr('value');
		var twomon		=$('#term-twomon option:selected').attr('value');
		
		if(!code || !city || !home || !street || typeplace==-1 || !urname || !num || sysname==-1 || state==-1 || twomon==-1){
			this.showError('1');	
			return false;
		}
		
		return true;
	},
	send:function(){
		$("#"+this.button_id).attr("disabled","disabled");
		if(!this.checkFields()){
			$("#"+this.button_id).removeAttr("disabled");
			return;
		}
		this.hideError();
		this.showLoader();
		var param = new Object();
		
		param.code			=$('#term-code').val();
		param.city			=$('#term-city').val();
		
		param.street		=$('#term-street').val();
		param.home			=$('#term-home').val();
		param.typeplace		=$('#term-typeplace option:selected').attr('value');
		param.typeplacevar	=$('#term-typeplacevar').val();
		
		param.arfio			=$('#term-arfio').val();
		param.ardol			=$('#term-ardol').val();
		param.arphone1		=$('#term-arphone1').val();
		param.arphone2		=$('#term-arphone2').val();
		
		param.urname		=$('#term-urname').val();
		param.num			=$('#term-num').val();
		param.phone1		=$('#term-phone1').val();
		param.phone2		=$('#term-phone2').val();
		
		param.sysname		=$('#term-sysname option:selected').attr('value');
		param.sysnamevar	=$('#term-sysnamevar').val();
		param.state			=$('#term-state option:selected').attr('value');
		param.twomon		=$('#term-twomon option:selected').attr('value');
		
		param.comm			=$('#term-comm').attr('value');
		
		var o_this=this;
		$.post(this.handler_url, param, function(xml){o_this.onLoadSend(xml);}, 'xml');
	},
	onLoadSend:function(xml){
		this.hideLoader();
		var type=$('type', xml);
		if($(type).text()=='error'){
			this.showError($(type).attr('value'));
		}
		else if($(type).text()=='access'){
			this.showError('0');
			this.clearFields();
		}
		$("#"+this.button_id).removeAttr("disabled");
	},
	hideError:function(){
    	$('#s-error').hide();
    	$('#s-msg').hide();
	},
	showError:function(code){
	    this.hideError();
	    switch (code) {
	        case '1':
	            $('#s-error').html('Заполните обязательные поля').slideDown();
	            break;
	        case '0':
	            $('#s-msg').html('Спасибо! Ваша заявка добавлена').slideDown();
	            break;
			default:
	            $('#s-error').html('Не удалось распознать тип ошибки при отправке заявки').slideDown();
	            break;
	    }
	},
	hideLoader:function(){
    	$('#s-loader').hide();
	},
	showLoader:function(){
    	$('#s-loader').show();
	},
	clearFields:function(){
		$('#term-code').val('');
		$('#term-city').val('');
		
		$('#term-street').val('');
		$('#term-home').val('');
		$('#term-typeplace option:selected').removeAttr('selected');
		$('#term-typeplacevar').val('');
		
		$('#term-arfio').val('');
		$('#term-ardol').val('');
		$('#term-arphone1').val('');
		$('#term-arphone2').val('');
		
		$('#term-urname').val('');
		$('#term-num').val('');
		$('#term-phone1').val('');
		$('#term-phone2').val('');
		
		$('#term-sysname option:selected').removeAttr('selected');
		
		$('#term-sysnamevar').val('');
		$('#term-state option:selected').removeAttr('selected');
		$('#term-twomon option:selected').removeAttr('selected');
		
		$('#term-comm').val('');
	}
};