﻿var id = 0;
var ftype = 'mssg';
var fstat = 0;

function addHandler(object, event, handler, useCapture) {
	if (object.addEventListener) {
		object.addEventListener(event, handler, useCapture ? useCapture : false);
	} else if (object.attachEvent) {
		object.attachEvent('on' + event, handler);
	} else alert("Add handler is not supported");
}

function removeHandler(object, event, handler) {
	if (object.removeEventListener) {
		object.removeEventListener(event, handler, false);
	} else if (object.detachEvent) {
		object.detachEvent('on' + event, handler);
	} else alert("Remove handler is not supported");
}

// Обработчик события
function wheel(event) {
	var delta; // Направление скролла
	// -1 - скролл вниз
	// 1 - скролл вверх
	event = event || window.event;
	// Opera и IE работают со свойством wheelDelta
	if (event.wheelDelta) {
		delta = event.wheelDelta / 120;
		// В Опере значение wheelDelta такое же, но с противоположным знаком
		if (window.opera) delta = -delta;
		// В реализации Gecko получим свойство detail
	} else if (event.detail) {
		delta = -event.detail / 3;
	}
	// Запрещаем обработку события браузером по умолчанию
	if (event.preventDefault) event.preventDefault();
	event.returnValue = false;
	return delta;
}




function ShowForm (id, chnum, event) {
	if (chnum == 1) {
		var wi = document.body.clientWidth;
		var he = document.documentElement.clientHeight;		
		with (document) {
			getElementById('fon').style.width = wi+'px';
			getElementById('fon').style.height = he+'px';
			getElementById('fonf').style.width = wi+'px';
			getElementById('fonf').style.height = he+'px';
			getElementById('fonf').style.visibility='visible';
			getElementById('fon').style.visibility='visible';
			getElementById(id).style.left = (body.clientWidth - getElementById(id).clientWidth)/2+'px'
			getElementById(id).style.top = (documentElement.clientHeight - getElementById(id).clientHeight)/2+'px'
			getElementById(id).style.visibility='visible';
			ftype = id;
			fstat = 1;
			/* Gecko */
			addHandler(window, 'DOMMouseScroll', wheel);
			/* Opera */
			addHandler(window, 'mousewheel', wheel);
			/* IE */
			addHandler(document, 'mousewheel', wheel);
		}
	}
}

function CloseForm (id) {
	with(document) {
		getElementById(id).style.visibility='hidden';
		getElementById('fonf').style.visibility='hidden';
		getElementById('fon').style.visibility='hidden';
		contact.subj.value='';
		contact.mail.value='';
		contact.name.value='';
		contact.messg.value='';
		contact.ch_num.value='';
		ftype = id;
		fstat = 0;
		removeHandler(window, 'DOMMouseScroll', wheel);
		removeHandler(window, 'mousewheel', wheel);
		removeHandler(document, 'mousewheel', wheel);
	}
}

function trim(x) {
	var ch,c;
	ch=x.toString();
	c=ch.charAt(0);
	while(c==" ") { 
		ch=ch.slice(1);
		c=ch.charAt(0);
	}
	c=ch.charAt(ch.length-1);
	while(c==" ") { 
		ch=ch.slice(0,-1);
		c=ch.charAt(ch.length-1);
	}
	return ch;
}

function check_mail(email) { 
	var re = new RegExp("^[\\w\\.-]+@[\\w\\.-]+\\.[A-Za-z]{2,}");
  	return (re.test(email));
} 

function pr_Inp(obj,cl,fl) {
	if((fl)?check_mail(obj.value):trim(obj.value)) {
		obj.className=cl;
		return true;
	}
	else {
		obj.className=cl+'_err';
		obj.focus();
		return false;
	}
}

function cu_Form(action) {
	with(document) {
		if (action == 'contact') {
			var ok=0;
			if(pr_Inp(contact.subj,'inp_text_2')) ++ok;
			if(pr_Inp(contact.mail,'inp_text_2',1)) ++ok;
			if(pr_Inp(contact.name,'inp_text_2')) ++ok;
			if(pr_Inp(contact.messg,'inp_text_2')) ++ok;
			if(pr_Inp(contact.ch_num,'inp_text_2')) ++ok;
			if(ok==5) {
				contact.action.value='2';
				contact.submit();
			}
		} else if (action == 'report') {
			var ok=0;
			if (car_report.gos_num.value !== '') {
				if (pr_Inp(car_report.gos_num,'gos_num')) ++ok;
				var ch_num = 1;
			} else {
				if(pr_Inp(car_report.vin,'vin_code')) ++ok;			
				var ch_num = 1;				
			}
			if(ok==ch_num) {
				car_report.submit();
			}
		} else if (action == 'send_rep') {
			var ok=0;
			//report.rep_id.value = refreshf.id_ref.value;
			if(pr_Inp(report.mail_r,'inp_text',1)) ++ok;
			//alert(report.rep_id.value);
			if(ok==1) {
				report.action.value='2';
				report.submit();
			}
		}
	}
}
