var event_controller  = new event;
event_controller.onHtmlLoad(gallery_finder);

function gallery_finder(){
	var event_controller  = new event;
	var calculate_button = document.getElementById("calculate_button");
	var clear_button = document.getElementById("clear_button");
	var order_button = document.getElementById("order_button");
	
	var meter_count = document.getElementById("meter_count");
	
	var chem_chip = document.getElementById("chem_chip");
	var chem_middle = document.getElementById("chem_middle");
	var chem_good = document.getElementById("chem_good");
	var chem_no = document.getElementById("chem_no");
	
	var work_chip = document.getElementById("work_chip");
	var work_middle = document.getElementById("work_middle");
	var work_good = document.getElementById("work_good");
	var work_no = document.getElementById("work_no");
	
	event_controller.addHandler(calculate_button,"click",function(e){calculate(this,e);return!1;}.bind(calculate_button));
	event_controller.addHandler(clear_button,"click",function(e){clear_form(this,e);return!1;}.bind(clear_button));
	event_controller.addHandler(order_button,"click",function(e){order(this,e);return!1;}.bind(order_button));

	event_controller.addHandler(meter_count,"keyup",function(e){reprice();}.bind(meter_count));

	event_controller.addHandler(chem_chip,"click",function(e){reprice();}.bind(chem_chip));
	event_controller.addHandler(chem_middle,"click",function(e){reprice();}.bind(chem_middle));
	event_controller.addHandler(chem_good,"click",function(e){reprice();}.bind(chem_good));
	event_controller.addHandler(chem_no,"click",function(e){reprice();}.bind(chem_no));
	event_controller.addHandler(work_chip,"click",function(e){reprice();}.bind(work_chip));
	event_controller.addHandler(work_middle,"click",function(e){reprice();}.bind(work_middle));
	event_controller.addHandler(work_good,"click",function(e){reprice();}.bind(work_good));
	event_controller.addHandler(work_no,"click",function(e){reprice();}.bind(work_no));

}

function reprice(){
	var price_per_meter = document.getElementById("price_per_meter").value;
	var meter_count = document.getElementById("meter_count").value;
	var price = document.getElementById("price");
	var price_monitor = document.getElementById("price_monitor");
	var insurance_monitor = document.getElementById("insurance_monitor");
	var insurance = document.getElementById("insurance");

	var chem_chip = document.getElementById("chem_chip");
	var chem_middle = document.getElementById("chem_middle");
	var chem_good = document.getElementById("chem_good");
	var chem_no = document.getElementById("chem_no");
	
	var work_chip = document.getElementById("work_chip");
	var work_middle = document.getElementById("work_middle");
	var work_good = document.getElementById("work_good");
	var work_no = document.getElementById("work_no");

	var work_price;
	var chem_price;
	if(work_middle.checked){
		work_price = work_middle.value;
	}
	if(work_chip.checked){
		work_price = work_chip.value;
	}
	if(work_good.checked){
		work_price = work_good.value;
	}
	if(work_no.checked){
		work_price = work_no.value;
	}
	if(chem_middle.checked==true){
		chem_price = chem_middle.value;
		insurance_monitor.innerHTML = "12";
		insurance.value = "12";
	}
	if(chem_chip.checked==true){
		chem_price = chem_chip.value;
		insurance_monitor.innerHTML = "6";
		insurance.value = "6";
	}
	if(chem_good.checked==true){
		chem_price = chem_good.value;
		insurance_monitor.innerHTML = "24";
		insurance.value = "24";
	}
	if(chem_no.checked==true){
		chem_price = chem_no.value;
		insurance_monitor.innerHTML = "0";
		insurance.value = "0";
	}
	
	
	if(isNaN(parseFloat(meter_count))==true){
		price.value = "";
		price_monitor.innerHTML = "";
		return;
	}
	
	var price_res = (parseInt(price_per_meter)+parseInt(chem_price)+parseInt(work_price))*parseFloat(meter_count);
	price.value = price_res;
	price_monitor.innerHTML = price_res;
}


function calculate(obj,e){
	obj.blur();
	if(e!=null){var e = e || window.event;}
	var meter_count = document.getElementById("meter_count");
	var price = document.getElementById("price");
	reprice();
	if(price.value==""){
		alert("Введите требуемое количество метров квадратных.");
		meter_count.focus();
		if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
		return!1;
	}
	var second = document.getElementById("second_part");
	second.style.display="block";
	obj.style.display="none";	
	if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
	return!1;	
}

function clear_form(obj,e){
	if(e!=null){var e = e || window.event;}
	obj.blur();
	var form = document.getElementById("calculator");
	var second = document.getElementById("second_part");
	second.style.display="none";
	document.getElementById("calculate_button").style.display="block";
	form.reset();
	if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
	return!1;
}

function order(obj,e){
	if(e!=null){var e = e || window.event;}
	obj.blur();
	
	var form = document.getElementById("calculator");
	var price = document.getElementById("price");
	var fio = document.getElementById("fio");
	var cell = document.getElementById("cell");
	var phone = document.getElementById("phone");
	var email = document.getElementById("email");
	var meter_count = document.getElementById("meter_count");
		
	if(!is_test(fio)){
		alert('Введите свои Ф.И.О.');	
		fio.focus();
		if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
		return!1;
	}
	
	if(!is_test(email)){
		alert('Введите свой адрес электронной почты');	
		email.focus();
		if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
		return!1;
	}
	
	color_mail(email);
	if(!is_mail(email.value)){
		email.focus();
		if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
		return!1;
	}
	
	if(is_test(cell)){
		color_phone(cell);
		if(!is_phone(cell.value)){
			cell.focus();
			if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
			return!1;
		}
	}
	
	if(is_test(phone)){
		color_phone(phone);
		if(!is_phone(phone.value)){
			phone.focus();
			if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
			return!1;
		}
	}
	
	if(price.value==""){
		meter_count.focus();
		alert("Введите требуемое количество метров квадратных.");
		if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
		return!1;
	}
	
	form.submit();

	if (typeof e.preventDefault != 'undefined'){e.preventDefault();}
	return!1;	
}

function is_test(obj){
	if((obj.value==undefined)||(obj.value.trim()=='')){
		return false;
	}
	return true;
}

function is_phone(phone){
	var reg = new RegExp('^[0-9\-\(\)+ ]{5,}$');
	return reg.test(phone);	
}

function is_mail(mail){
	var reg = new RegExp('^[0-9a-zA-Z\-_\.]+@[0-9a-zA-Z\-_\.]+[0-9a-zA-Z\-_]+[\.]+[a-zA-Z]{2,6}$');
	return reg.test(mail);	
}

function color_phone(obj){
	if(!is_phone(obj.value)){
		obj.style.color='#ff0000';
	}else{
		obj.style.color='#000000';
	}
}

function color_mail(obj){
	if(!is_mail(obj.value)){
		obj.style.color='#ff0000';
		if(obj.value!==""){
			alert("Неверный формат адреса электронной почты");
		}
	}else{
		obj.style.color='#675f4a';
	}
}

function uncolor(obj){
	obj.style.color='#675f4a';
}


if ('undefined' == typeof String.prototype.ltrim) {
  String.prototype.ltrim = function() {
    return this.replace(/^\s+/, '');
  }
}

if ('undefined' == typeof String.prototype.rtrim) {
  String.prototype.rtrim = function() {
    return this.replace(/\s+$/, '');
  }
}

if ('undefined' == typeof String.prototype.trim) {
  String.prototype.trim = function() {
    return this.replace(/^\s+/, '').replace(/\s+$/, '');
  }
}

