var stop_symbols = ' 0987654321 -)(+';
var num_symbols  = ' 0987654321';

var xM = 0;
var yM = 0;
var NN = false;
var IE = false;
var NN6 = false;
var nMenu = 0;
var nProd = '00';

function init() {
   NN = (document.layers)?1:0;
   IE = (document.all)?1:0;
   NN6 = (document.getElementById)?1:0;
   NN6 = (IE)?0:NN6;
// инициализация событий
   document.onmousemove = mousePageXY
// if (NN) document.captureEvents(Event.MOUSEMOVE);
}


function getBrowserInfo() {
 var t,v = undefined;
 if (window.opera) t = 'Opera';
 else if (document.all) {
  t = 'IE';
  var nv = navigator.appVersion;
  var s = nv.indexOf('MSIE')+5;
  v = nv.substring(s,s+1);
 }
 else if (navigator.vendor) t = 'Safari';
 else if (navigator.userAgent) t = 'FireFox';
 else if (navigator.appName) t = 'Netscape';
 return {type:t,version:v};
}

function submit_signin_form ()
{
  document.all.signin_form.submit ();
}

function noService ()
{
  alert ('Сервис находится в состоянии разработки.')
}

function show (name) {
  HideAll();
  name = "submenu"+name;
  if (NN) {document.layers[name].visibility = "show"}
  else if (NN6) {document.getElementById(name).style.visibility = "visible"}
  else {document.all[name].style.visibility = "visible"}
}

function hide (name) {
  nMenu = 0;
  name = "submenu"+name;
  if (NN) {document.layers[name].visibility = "hide"}
  else if (NN6) {document.getElementById(name).style.visibility = "hidden"}
  else {document.all[name].style.visibility = "hidden"}
}

function HideAll () {
   hide('1');
   hide('2');
   hide('3');
}

function ProdShow (name) {
//  alert (nProd);
  nFirstNum = name.charAt(0) - 0;
  nCurrSect = nProd.charAt(0) - 0;
  if (nCurrSect==nFirstNum) ProdHide(nProd);
  name = "prod"+name;
  if (NN) {document.layers[name].visibility = "show"}
  else if (NN6) {document.getElementById(name).style.visibility = "visible"}
  else {document.all[name].style.visibility = "visible"}
}

function ProdHide (name) {
  name = "prod"+name;
  nProd= '00';
  if (NN) {document.layers[name].visibility = "hide"}
  else if (NN6) {document.getElementById(name).style.visibility = "hidden"}
  else {document.all[name].style.visibility = "hidden"}
}

function xshow (name) {
  if (NN) {document.layers[name].visibility = "show"}
  else if (NN6) {document.getElementById(name).style.visibility = "visible"}
  else {document.all[name].style.visibility = "visible"}
}

function xhide (name) {
  if (NN) {document.layers[name].visibility = "hide"}
  else if (NN6) {document.getElementById(name).style.visibility = "hidden"}
  else {document.all[name].style.visibility = "hidden"}
}

function submON (name) {
  nMenu = name.charAt (1);
  if (NN) {document.layers[name].background = "#004840"}
  else if (NN6) {document.getElementById(name).style.background = "#004840"}
  else {document.all[name].style.background = "#004840"}
}

function submOF (name) {
  if (NN) {document.layers[name].background = "#08181C"}
  else if (NN6) {document.getElementById(name).style.background = "#08181C"}
  else {document.all[name].style.background = "#08181C"}
}

function Flip (cImgName, cFileName, iOver) {
  if (document.images) document.images[cImgName].src = "img/" + cFileName + (iOver ? "x" : "") + ".gif";
}

function win() {
msg=window.open("","msg","height=300,width=300,left=80,top=80");
msg.document.write("<html><title>Совет дня</title>");
msg.document.write("<body bgcolor='white' onblur=window.close()>");
msg.document.write("<center>Большинство корпусов для ручных приборов имеют версии с окном для индикаторов. Внутри корпуса предусмотрены места для крепления стандартных ЖКИ модулей. В разделе Услуги/Дополнительные изделия можно найти описания моделей ЖКИ, которые для монтажа внутри корпуса не требуют никаких дополнительных конструктивных доработок</center>");
msg.document.write("</body></html><p>");
}

function ShowEasyWin (cURL,nX,nY) {
   posX = Math.round ((screen.width - nX) / 2);
   posY = Math.round ((screen.height - nY - 30) / 2);
   XYCode = (NN)? "screenX="+posX+",screenY="+posY : "left="+posX+",top="+posY;
   pictWindow = window.open (cURL, "Picture", "resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=no,width="+nX+",height="+nY+"," + XYCode);
   pictWindow.focus ();
   void (0);
}

function ShowNewWin (cURL,cID,nX,nY) {
   posX = Math.round ((screen.width - nX) / 2);
   posY = Math.round ((screen.height - nY - 30) / 2);
   XYCode = (NN)? "screenX="+posX+",screenY="+posY : "left="+posX+",top="+posY;
   pictWindow = window.open (cURL, cID, "resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=no,width="+nX+",height="+nY+"," + XYCode);
   pictWindow.focus ();
   void (0);
}

function SmartWin (cURL,cID,nX,nY) {
   s = getBrowserInfo();
   s = s.type;
   nUp = 30;
   if (s == 'IE')
	{	nX += 20;
		nY += 30;
	}
   if (s == 'FireFox')
	{	nX += 20;
		nY += 20;
	}
   if (s == 'Opera')
	{	nUp += 100;
	}
   posX = Math.round ((screen.width - nX) / 2);
   posY = Math.round ((screen.height - nY - nUp) / 2);
   XYCode = (NN)? "screenX="+posX+",screenY="+posY : "left="+posX+",top="+posY;
   pictWindow = window.open (cURL, cID, "resizable=no,scrollbars=no,toolbar=no,menubar=no,location=no,directories=no,status=no,width="+nX+",height="+nY+"," + XYCode);
   pictWindow.focus ();
   void (0);
}

function outBox (x, y, xL, yT, xR, yB) {return (((x<xL) || (x>xR)) || ((y<yT) || (y>yB)))}


/*
--------------------------------------------------------------------------------------------
*/


function mousePageXY (e)
{
  var x = 0, y = 0;

  if (!e) e = window.event;

  if (e.pageX || e.pageY)
  {
    x = e.pageX;
    y = e.pageY;
  }
  else if (e.clientX || e.clientY)
  {
    x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
    y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
  }
  xM = x;
  yM = y;

//  if (nMenu > 0 && yM > 37)
//  {
//    alert (nMenu);
//    OutSubMenu (nMenu);
//  }
}

function getElementLTRB (elemId)
{
    var elem = typeof elemId == 'object' ? elemId : document.getElementById(elemId);
	
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;
	
    var l = 0;
    var t = 0;
    var r = 0;
    var b = 0;
	
    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }
    r = l + w -1;
    b = t + h -1;

    return {"left":l, "top":t, "right": r, "bottom":b};
}

  
/*
--------------------------------------------------------------------------------------------
*/


function OutMenu (name) {
   var resPos = false;
   var t = yM;
   var l = xM - 3;
   var r = l + 5;

   resPos = getElementLTRB ("mn" + name);

   if (((l < resPos.left) || (r > resPos.right)) || (t < 20))
   {
     hide (name);
     nMenu = 0;
   }
}

function OutSubMenu (name) {
   var resPos = false;
   var b = yM + 1;
   var l = xM - 3;
   var r = l + 5;

   resPos = getElementLTRB ("submenu" + name);

// alert ("l= "+ l + "; "+ "resPos.left= "+ resPos.left);

   if (((l < resPos.left) || (r > resPos.right)) || (b > resPos.bottom))
   {
     hide (name);
     nMenu = 0;
   }
}


// проверка feedback-формы

function checkForm ()
{
	if(document.forms.f1.username.value == '')
	{	alert ("\nНе заполнено поле:\nВаше имя и фамилия\n");
		document.forms.f1.username.focus();
		return false; }

	if(document.forms.f1.company.value == '')
	{	alert ("\nНе заполнено поле:\nОрганизация\n");
		document.forms.f1.company.focus();
		return false; }

	if(document.forms.f1.email.value == '')
	{	alert ("\nНе заполнено поле:\ne-mail\n");
		document.forms.f1.email.focus();
		return false; }

	if(document.forms.f1.message.value == '')
	{	alert ("\nНе заполнено поле:\nТекст сообщения\n");
		document.forms.f1.message.focus();
		return false; }

	if(document.forms.f1.phone != '')
	{	if(!check(document.forms.f1.phone.value))
		{
			alert ("\nВведены недопустимые символы в поле:\nКонтактный телефон\nДопустимые символы: 0123456789 +-()\n");
			document.forms.f1.phone.focus();
			return false; } }

	if(document.forms.f1.email.value == '' || document.forms.f1.email.value == '@')
	{	alert ("\nНе заполнено поле:\ne-mail\n");
		document.forms.f1.email.focus();
		return false; }else
	{
		email = document.forms.f1.email.value;
		if(!isEmail(email))
		{	alert ("\nНекорректный e-mail\n");
			document.forms.f1.email.focus();
			return false };
	}

	document.forms.f1.submit();
}

// проверка Subscribe-формы

function checkForm2 ()
{
	if(document.forms.f2.email.value == '' || document.forms.f2.email.value == '@')
	{	alert ("\nНе заполнено поле:\ne-mail\n");
		document.forms.f2.email.focus();
		return false; }else
	{
		email = document.forms.f2.email.value;
		if(!isEmail(email))
		{	alert ("\nНекорректный e-mail\n");
			document.forms.f2.email.focus();
			return false };
	}

	document.forms.f2.submit();
}


function check (input)
{
var ok = true;

for (var i = 0; i < input.length; i++)
	{
		var chr = input.charAt(i);
		var found = false;
	for (var j = 0; j <= stop_symbols.length; j++)
	{
		if (chr == stop_symbols.charAt(j)) found = true;
	}
	if (!found) ok = false;

	}
	return ok;
}

function check_digit (input)
{
	var ok = true;

	for (var i = 0; i < input.length; i++)
	{
		var chr = input.charAt(i);
		var found = false;
	for (var j = 0; j <= num_symbols.length; j++)
	{
		if (chr == num_symbols.charAt(j)) found = true;
	}
	if (!found) ok = false;

	}
	return ok;
}

function isEmail(entered, alertbox)
{
	email = entered;

	if(/^([\w-~_]+\.)*[\w-~_]+@([\w-_]+\.){1,3}\w{2,3}$/i.test(email))
//	if(/^[a-zA-Z0-9](([a-z0-9\-_\+\&]?)+[a-z0-9])?\@((\w([a-zA-Z0-9\-_]+\w)?\.[a-z]{2,4})|(([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d |2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5]))|(localhost))$/i.test(email))

		return true;

	else return false;
}

