var JSON;if(!JSON){JSON={};}
(function(){"use strict";function f(n){return n<10?'0'+n:n;}
if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+partial.join(',\n'+gap)+'\n'+mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});};}
if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
return reviver.call(holder,key,value);}
text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
throw new SyntaxError('JSON.parse');};}}());

function show_dialog()
{
	var d = new Dialog({});
	d.show();
	activeDialog = d;
}

function expand_onload()
{
	var hash = window.location.hash;
	m = hash.match(/^#start\d+$/);
	if (m && m[0])
	{
		show_id = m[0].replace("#start", "");
		el_to_show = $('start' + show_id);

		if (el_to_show)
		{
			if ($('dev' + show_id))
				check_collapsed('dev' + show_id, el_to_show);
			p = el_to_show.parentNode;
			while(p && p.id != 'PageContainer')
			{
				if (p.id && p.id.match(/dev\d+_content/))
				{
					show_id = p.id.replace("_content", '');
					expand_header(show_id);
					pos = el_to_show.getPosition();
					window.scrollTo(pos.x, pos.y);
					break;
				}
				p = p.parentNode;
			}
		}
	}
}

function IEHover()
{

	if (Browser.Engine.trident)
	{
		var els = document.getElements('*[class*=overable]');
		els.each(function(item) {
			item.addEvent('mouseover', function() {this.addClass('over');});
			item.addEvent('mouseout', function() {this.removeClass('over');});
		});

		fixIESize();
	}
}

function fixIESize()
{
	if (!Browser.Engine.trident)
		return;

	var col = $('rightColumn');
	var content = $('contentMiddle');
	if (!col || !content)
		return;
	var fixer = $('IESizeFixer');
	if (fixer)
		fixer.destroy();
	var x = col.getSize().y;
	x -= 85; //высота заголовка
	x -= 19; //верхние отступы
	var delta = x - content.getSize().y;

	//alert(x + ' - ' + content.getSize().y + ' = ' + delta);
	if (delta > 0)
	{
		fixer = new Element('div', {'id' : 'IESizeFixer'});
		content.grab(fixer);
		fixer.setStyle('height', delta + 'px');
	}
}

function toggleHighlightBtn(btn, flag)
{
	var oBtn = $(btn);
	var img = oBtn.getElement('img');
	var oldSrc = img.get('src');

	if (flag)
		img.set('src', oldSrc.replace('_static.png', '_push.png'));
	else
		img.set('src', oldSrc.replace('_push.png', '_static.png'));
}
function toggleCustomBtn(btn, flag)
{
	var oBtn = $(btn);
	var img = oBtn.getElement('img');
	var oldSrc = img.get('src');

	if (!flag)
		img.set('src', oldSrc.replace('&hover&msgid=', 'msgid='));
	else
		img.set('src', oldSrc.replace('msgid=', '&hover&msgid='));
}
function toggleBtn(btn, to)
{
	var oBtn = $(btn);
        var imgMap = ['static', 'hover', 'push'];
        var imgs = {};
        var from = 'static';
        imgs[to] = oBtn.getElement('img.' + to);
        for(var i = 0; i < imgMap.length; i++) {
            imgs[imgMap[i]] = oBtn.getElement('img.' + imgMap[i]);
            if(imgs[imgMap[i]]) {
                if(imgs[imgMap[i]].getStyle('opacity') == 1) {
                    from = imgMap[i];
                    break;
                }
            }
        }
        if(imgs[from]) {
            imgs[from].set('tween', {duration: 250});
            imgs[from].tween('opacity', [1, 0]);
        }
        if(imgs[to]) {
            imgs[to].set('tween', {duration: 150});
            imgs[to].tween('opacity', [0, 1]);
        }
}

function toggleButton(btn, static_img, push_img, flag)
{
	$(btn).set('src', '/file_handler.php?image=' + (flag ? push_img : static_img));
}

function expand_doc(doc_id, flag)
{
	var container = $('expansion' + doc_id);
	var expander = $('expander' + doc_id);
	container.setStyle('display', (flag ? 'block' : 'none'));
	expander.setStyle('display', (flag ? 'none' : 'inline-block'));
	fixIESize();
}

function expand_header(header_id)
{
	var header = $(header_id);
	var container = $(header_id + '_content');
	if (!container)
		return;
	if (header.expanded == undefined)
		header.expanded = (container.getStyle('display') != 'none');
	header.expanded = !header.expanded;
	container.setStyle('display', (header.expanded ? 'inline' : 'none'));
	fixIESize();
	header.expanded ? header.addClass('header_expanded') : header.removeClass('header_expanded');
	//alert(document.cookie);
}
function more_left(header_id)
{
	var header = $(header_id);
        var container = $(header_id + '_content');
	container.setStyle('margin-left', +50);

}

var msgHide = new Object();
function setMsg(id, msg, hide)
{
	msgEl = $(id);
	if (!msgEl)
		return;
	if (msgHide[id])
		msgHide[id] = $clear(msgHide[id]);
	msgEl.set('html', msg);
	msgEl.setStyle('display', 'block');
	if (hide)
		msgHide[id] = function(){ hideMsg(id); }.delay(5000);
}

function hideMsg(id)
{
	msgEl = $(id);
	if (!msgEl)
		return;
	msgEl.setStyle('display', 'none');
}

function check_number_input(inp)
{
	inp.value = inp.value.replace(/\D+/g, '');
}
function check_email(email)
{
 email = email.replace(/^\s+|\s+$/g, '');
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}
// рассылка новестоей st
function save_email_for_mailing()
{
    emailValue = $('submitnews_email').value;
    if(!check_address_email(emailValue)) { alert("Введите, пожалуйста, корректный e-mail!");  return false;  }
          var data = 'ajax=1&doit=save_email_for_mailing&data[email]=' + encodeURIComponent(emailValue);
          var req = new Request({url: '/Order', onComplete: function(responseText) {
            $('NewsBlockBottom').innerHTML = '<div style="color: #990000; padding: 0 20px 0 0; ">'+responseText+'</div>';
          }});
    req.send(data);
}

function check_address_email(email)
{
    filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
    if (!email.match(filter))
           return false;
       else
           return true;
}
// рассылка новестоей fi
function check_phone(str)
{
	str = str.replace(/\s+/g, '');
	if (!str.length || !str.test(/^\+?[0-9\-\(\)]{8,}$/))
		return false;
	return true;
}

function check_if_empty(str)
{
	str = str.replace(/\s+/g, '');
	if (!str.length)
		return false;
	return true;
}

function hideElements(overlay)
{
	var x = $$('select').combine($$('div.flashbox')).combine($$('div.subMenuItem'));
	objects = x.filter(function(el)
	{
		if (el.style.visibility=='hidden')
			return false;
		if (overlay.hasChild(el))
			return false;
		el_c = el.getCoordinates();
		m_c = overlay.getCoordinates();
		if (el_c.right > m_c.left && el_c.left < m_c.right && el_c.top < m_c.bottom && el_c.bottom > m_c.top)
		{
			el.setStyle('visibility', 'hidden');
			return true;
		}
		return false;
	});
	return objects;
}

function revertElements(objects)
{
	if(objects && objects.length)
	{
		objects.each(function(el)
		{
			el.style.visibility = 'visible';
		});
	}
	return null;
}
function initOverLabels () {
  if (!document.getElementById) return;

  var labels, id, field;

  // Set focus and blur handlers to hide and show
  // LABELs with 'overlabel' class names.
  labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {

    if (labels[i].className == 'overlabel') {

      // Skip labels that do not have a named association
      // with another field.
      id = labels[i].htmlFor || labels[i].getAttribute('for');
      if (!id || !(field = document.getElementById(id))) {
        continue;
      }

      // Change the applied class to hover the label
      // over the form field.
      labels[i].className = 'overlabel-apply';

      // Hide any fields having an initial value.
      if (field.value !== '') {
        hideLabel(field.getAttribute('id'), true);
      }

      // Set handlers to show and hide labels.
      field.onfocus = function () {
        hideLabel(this.getAttribute('id'), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute('id'), false);
        }
      };

      // Handle clicks to LABEL elements (for Safari).
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute('for');
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };

    }
  }
};

function hideLabel (field_id, hide) {
  var field_for;
  var labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
    field_for = labels[i].htmlFor || labels[i].getAttribute('for');
    if (field_for == field_id) {
      labels[i].style.textIndent = (hide) ? '-1000px' : '0px';
      return true;
    }
  }
}

function slide_show(n){
    clearTimeout(slides.int);
    if(n==slides.id){
        slides.int=setTimeout(slide_next, slidetime);
        return;
    }
    $('bn'+slides.id).fade('out');
    $('nv'+slides.id).set('class', '');
    if(n>$$('.bslide').length||n<1) n=1;
    slides.id = n;
    $('bn'+slides.id).fade('in');
    $('nv'+slides.id).set('class', 'active');
    slides.int=setTimeout(slide_next, slidetime);
}

function slide_next(){
    slide_show(slides.id+1);
}

window.onload = function () {
  setTimeout(initOverLabels, 50);
};

