var cont_action = document.getElementById('cont_action');
function myAnimate(){
	var response = document.getElementById('response')
	var prefix = 'ru';
	var response_txt = 'Спасибо, Ваше сообщение отправлено';
	var mClose = 'Cкрыть';
	var mContact = 'Контакт!';

	if(window.location.href.toString().search('turbomilk.com') > -1){
		prefix = 'com';
		response_txt = 'Thanks, your message sent';
		mClose = 'Close';
		mContact = 'Contact!';
	}
	

	var expressions = {
		'required': ['[^.*]'],
		'html': ['[^.*]'],
		'email': ['^[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}'],
		'url': ['^(http)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$'],
		'openid': ['^[a-z0-9\-\.]+\.[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$'],
		'livejournal': ['^[a-zA-Z0-9\_\ ]+$'],
		'vox': ['^[a-zA-Z0-9\_\ ]+$'],
		'login': ['^[a-zA-Z0-9\_\ ]+$']
	};
	var top_submit = document.getElementById('top_submit');
	var myVerticalSlide = new Fx.Slide('top_contact').hide();
	$('top_contact').removeClass('top_cont_1');
		myVerticalSlide.hide();
	var myHorisontalSlide = new Fx.Slide('top_input2_wrp', {mode: 'horizontal'}).hide();
	var opChange = new Fx.Style('top_input2_wrp', 'opacity', {duration:500}).set(0);
	var addresChange = new Fx.Style('top_cont', 'opacity', {duration:500});
	var contWordChange = new Fx.Style('cont_word_link', 'opacity', {duration:300});
	var id_com_name = $('id_'+prefix+'-name');
	var id_com_email = $('id_'+prefix+'-email');
	var id_com_body = $('id_'+prefix+'-body');
	var form_status = 0;
	var start_status = 0;
	var subject = $('id_'+prefix+'-recipient');
	var close_form = subject.options[0].value;
//	var close_form2 = subject.options[2].value;
	var DIVs = $('top_input2_wrp').getElements('div');
	var DIVs_length = DIVs.length;
	var DIVs_input = $('top_input2_wrp').getElements('input');
	var pattern = /\bactive_field\b/;
	var l_labels = $('top_input_1').getElements('label');
	var r_labels = $('top_input3').getElements('label');
	var dispBlock = 'block';
	var dispNone = 'none';
	var bgTop = '0 1px';
	var bgBot = '0 -38px';
	var top_contact_status = 0;
	var cont_span = $('cont_span');
	
	document.getElementById('id_'+prefix+'-location').value = window.location.href;
	$('cont_action').addEvent('click', function(e){
		e = new Event(e);
		myVerticalSlide.toggle();
		top_contact_status = !top_contact_status;
		change_cont_span(top_contact_status);
		e.stop();
		return false;
	});
	subject.addEvent('change', function(e){
		e = new Event(e);
		subject.disabled = true;
	/*	if(subject.value != close_form2 && subject.value != close_form){
			action_select();
		}
		else{
			if(form_status == 1){
				action_select();
			}
		}*/
		action_select();
		e.stop();
	});
	id_com_name.addEvent('blur', function(e) {
		if(!id_com_name.value.test(expressions.required[0])){
			l_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgBot;
		}else{
			l_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgTop;
		}
	});
	id_com_email.addEvent('blur', function(e) {
		if(!id_com_email.value.test(expressions.email[0])){
			l_labels[1].getElementsByTagName('span')[0].style.backgroundPosition = bgBot;
		}else{
			l_labels[1].getElementsByTagName('span')[0].style.backgroundPosition = bgTop;
		}
	});
	id_com_body.addEvent('blur', function(e) {
		if(!id_com_body.value.test(expressions.required[0])){
			r_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgBot;
		}else{
			r_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgTop;
		}
	});
	$('topContForm').addEvent('submit', function(e) {
		new Event(e).stop();
		if(id_com_name.value.test(expressions.required[0]) && id_com_email.value.test(expressions.email[0]) && id_com_body.value.test(expressions.required[0])){
			top_submit.disabled = true;
			l_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgTop;
			l_labels[1].getElementsByTagName('span')[0].style.backgroundPosition = bgTop;
			r_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgTop;
			
			for(var i=0; i<DIVs_length; i++){
				if(DIVs[i].className.search(pattern) == -1){
					var inp_elem = DIVs[i].getElementsByTagName('input');
					for(var k=0, inp_elem_length = inp_elem.length; k < inp_elem_length; k++){
						inp_elem[k].disabled = true;
					}
				}
			}
			$('topContForm').send({
				onComplete: function() {	
					top_submit.disabled = false;
					response.innerHTML = response_txt;
				}
			});
		} else {
			if(!id_com_name.value.test(expressions.required[0])){
				l_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgBot;
			}
			if(!id_com_email.value.test(expressions.email[0])){
				l_labels[1].getElementsByTagName('span')[0].style.backgroundPosition = bgBot;
			}
			if(!id_com_body.value.test(expressions.required[0])){
				r_labels[0].getElementsByTagName('span')[0].style.backgroundPosition = bgBot;
			}
			
		}
	});	
	function change_cont_span(status){
		contWordChange.start(1, 0).chain(function(){
			if(status){
				cont_span.innerHTML = mClose;
				cont_action.getElementsByTagName('img')[0].className = '';
			}else{
				cont_span.innerHTML = mContact;
				cont_action.getElementsByTagName('img')[0].className = 'disp_none';
			}
			contWordChange.start(0, 1);
		});
	}
	function action_select(){	
		for(var i=0, DIVs_input_length = DIVs_input.length; i<DIVs_input_length; i++){
			DIVs_input[i].disabled = false;
		}
		if(form_status == 0){
			show_add_inputs();
			if(start_status == 0){
				for(var i=0, select_key = subject.selectedIndex - 1; i<DIVs_length; i++){
					if(select_key != i ){
						DIVs[i].className = 'disp_none';
					}
				}
			} 
		}
		hide_add_inputs();
		start_status = 1;
		
	}		
	function add_css_hid_class(){
		for(var i=0; i<DIVs_length; i++){
			DIVs[i].className = 'disp_none';
		}
	}
	
	function show_add_inputs(){
		for(var i=0; i<DIVs_length; i++){
			DIVs[i].className += ' ';
		}
		addresChange.start(1, 0);
		myHorisontalSlide.toggle().chain(function(){
			opChange.start(0, 1);
			subject.disabled = false;
		});
	}
	function hide_add_inputs(){
		if(subject.value == close_form /*|| subject.value == close_form2*/){
			if(form_status == 0) {
				opChange.start(0, 1);
				myHorisontalSlide.toggle().chain(function(){
					addresChange.start(0, 1);
					subject.disabled = false;
				})
			}
			else {
				opChange.start(1, 0).chain(function(){
					myHorisontalSlide.toggle().chain(function(){
						subject.disabled = false;
					});
					addresChange.start(0, 1);
				});
			}
			form_status = 0;
		}else {		
			if(form_status == 0){
				add_css_hid_class();
				for(var i=0, select_key = subject.selectedIndex - 1; i<DIVs_length; i++){
					if(select_key == i){
						DIVs[i].className = 'active_field';
					}
				}
			}else{
				opChange.start(1, 0).chain(function(){
					add_css_hid_class();
					for(var i=0, select_key = subject.selectedIndex - 1; i<DIVs_length; i++){
						if(select_key == i){
							DIVs[i].className = 'active_field';
						}
					}
					opChange.start(0, 1);
				});
			}
			form_status = 1;				
		}		
	}
}
function getForm() {
	var url = "/contact/";
	new Ajax(url, {
		method: 'get',
		update: $('form_content'),
		onComplete: function() {
			cont_action.style.display = 'block';
			myAnimate();
		}
	}).request();
}

window.addEvent('domready', function(){
	getForm();
});