var d = document;
var req = new JsHttpRequest();

var border_default='#d3d3d3';
var bg_default='#fff';

var border_err='#CC99CC';
var bg_err='#EAD4E9';

var arrDefaultValue = new Object();

function GEByID(id) {
	return d.all ? d.all[id] : d.getElementById(id);
}

function check_form(form){
	value=GEByID(form);	
	req.onreadystatechange = function() { 
		if (req.readyState == 4) {
			//alert(req.responseText);
			if(req.responseJS){
				if (req.responseJS.empty_field != ""){ // то есть есть ошибки
					arr=req.responseJS.empty_field;
					for(i=0; i<arr.length; i++){
						empty_field_css(arr[i]);
					}
					$.prompt(req.responseJS.msg, {prefix:'brownJqi'});					
				}
				else if(req.responseJS.code == 1){
					$.prompt(req.responseJS.msg,{prefix:'brownJqi'});
					$('#'+form).trigger('reset');
				}
				else{
					location.href='/request/';
				}
			}
		}
	}
	req.open(null, "/modul/scripts/check_form.php", false);
	req.send( {'action': 'check_form', 'q': value, 'form': form} ); 
}

function empty_field_css(item){
	if(item){
		item=item.substring(0, item.length-4); //отсекаем _req, и остается чистый id
		element="#"+item;
		$(element).css("border-color", border_err);
		$(element).css("background-color", bg_err);
		$(element).focus(function(){
			$(this).css("border-color", border_default);
			$(this).css("background-color", bg_default);
		});
	}
}

$(function () {
	// отправка формы с проверкой полей на default-значение и пустые значения
	arrIdForm = new Array('comm_form', 'faq_form', 'opinion_form', 'opinion_tovar_form');

	for(i=0; i<arrIdForm.length; i++){
			
			if ( $('#'+arrIdForm[i]).length > 0 ) {
				idForm=arrIdForm[i];
				// записываем default-значения полей в объект
				$('#'+idForm).fieldDefaultValue(idForm);
				
				// вызывает отправку формы по клику на кнопку
				$('#'+idForm+' .universalButton').click(function () {
					// проверяем фоля формы на соответствие default-значениям
					fishka=0;
					arrEmptyField = new Array();
					j=0;
					for(var key in arrDefaultValue) {
						if($('#'+key).val() == arrDefaultValue[key]){ // значения совпадают
							// проверяем, обязательное ли поле _req
							nameField=$('#'+key).attr('name');
							suffix=nameField.substring(nameField.length-4, nameField.length);
							if(suffix == '_req'){ // обязательное поле
								empty_field_css(key+'_req');
								fishka++;
							}
							else{ // необязательное, будем стирать default-значение
								arrEmptyField[j]=key;
								j++;
							}						
						}
					}
					if(fishka == 0){
						if(arrEmptyField != ''){ // стираем default-значение
							for(k=0; k<arrEmptyField.length; k++){
								$('#'+arrEmptyField[k]).val('');
							}
						}
						check_form(idForm);
					}
					else{
						$.prompt('Заполните обязательные поля!',{prefix:'brownJqi'});
					}
					return false;
				});
			}		
	}
	
	// оформить заказ
	$('#go_step2').click(function () {
		go_step2();
		return false;
	});	
	
	// поиск артикула
	$('#search_articul').click(function () {
		$('#form_search').submit();
	});

	// регистрация
	$('#valid_partner').click(function () {
		valid_partner();
		return false;
	});
	
	
	// восстановление пароля
	$('#rem_pass').click(function () {
		rem_pass();
		return false;
	});
	// авторизуем по клину на ENTER
	$('#login').keypress(function (e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))
			rem_pass();
	});

	
	// авторизация
	$('#login_form').click(function () {
		login_form();
		return false;
	});
	// авторизуем по клину на ENTER
	$(function () {
		$('#login_page, #pass_page').keypress(function (e) {
			if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13))
				login_form();
		});
	})	
	
	// разавторизация :)
	$('#logout').click(function () {
		logout();
		return false;
	});
	
	// редактирование анкеты
	$('#edit_anketa').click(function () {
		edit_anketa();
		return false;
	});

	
	// проверка анкеты при отправке заказа
	$('#valid_anketa').click(function () {
		valid_anketa();
		return false;
	});	

	// вход по форме из корзины
	$('#login_form_basket').click(function () {
		login_form_basket();
		return false;
	});	
	
});

