var title = "", siteUrl = "", siteVirtualCatalog = "";
window.onload=function() {
  window.defaultStatus=document.title;
  if (title!="") window.document.title+=" - "+title;
  try { onSiteLoad(); }
  catch(e) { }
  try { onSiteLoad2(); }
  catch(e) {  }
}
document.onkeydown=function(e) {
  e = getEventObject(e);
  if ((e.ctrlKey) && (e.keyCode==78)) {
    cancelEvent(e);
	return false;
  }
  if ((e.ctrlKey) && (e.keyCode==87)) {
    var elements=window.document.getElementsByTagName("IMG");
    var element, newStyle = "null";
    for (i=0;i<elements.length;i++) {
      element=elements[i];
      if ((element.src.indexOf("images/")!=-1) && (element.src.indexOf("_.gif")!=-1)) {
        if (newStyle=="null") newStyle = (element.style.display=="") ? "none" : "";
        element.style.display = newStyle;
      }
    }
    cancelEvent(e);
	return false;
  }
}
function getById(id) { return document.getElementById(id); }
function addStyle(el, styleClass) {
  if (el==null) return;
  if (el.className.indexOf(" "+styleClass)!=-1) return;
  var index = el.className.lastIndexOf(" ");
  if (index==-1) index=0;
  var css = el.className.substr(index);
  el.className=el.className+" "+styleClass+" "+css+styleClass;
}
function removeStyle(el, styleClass) {
  if (el==null) return;
  var index=el.className.indexOf(" "+styleClass);
  if (index!=-1) el.className=el.className.substring(0,index);
}
function getEventObject(e) {
  if (!e) e = window.event;
  return e;
}
function getEventElement(e) {
  var el;
  if (e.target) el=e.target;
  else if (e.srcElement) el=e.srcElement;
  if (el.nodeType==3) el=el.parentNode;
  return el;
}
function cancelEvent(e) {
  e.cancelBubble=true;
  if (e.stopPropagation) e.stopPropagation();
}
function getDefaultWindowFeatures() {
  return "left=0,top=0,width="+(screen.Width-20)+",height="+(screen.Height-75)+",resizable=yes,status=no,location=no,scrollbars=yes,toolbar=no,menubar=no,titlebar=no";
}
function openWindow(u, n, ftr) {
  if ((n==null) || (n==undefined)) n="site"+Math.round(Math.random()*1000000);
  if ((ftr=='') || (ftr==null) || (ftr==undefined)) ftr=getDefaultWindowFeatures();
  window.open(u,n,ftr);
}
function openInNewWindow(url) {
  window.open(url,"site"+Math.round(Math.random()*1000000));
}
function setTitle(str, bool) {
  if ((title=="") || (bool && (str!=""))) title=str;
}
function doc2word(docId) {
  var word = new ActiveXObject("Word.Application");
  word.Run("test", docId, siteUrl, siteVirtualCatalog);
  word.visible = true;
}
function copy2clipboard(e,str) {
  window.clipboardData.setData("Text",str);
}
function processSiteAction(t, p) {
  var f=document.getElementById("SiteForm");
  var url=f.action;
  if (url.indexOf("?t=&p=")!=-1) {
    f.action=f.action.replace("?t=","?t="+t).replace("&p=","&p="+p);
  }
  else {
    var url_start=url;
    var index=url_start.indexOf("?t=");
    if (index!=-1) url_start=url_start.substr(0,index);
    
    index=url.indexOf("&p=");
    if (index!=-1) index=url.indexOf("&",index+2);
    
    f.action=url_start+"?t="+t+"&p="+p;
    if (index!=-1) f.action=f.action+url.substr(index);
  }
  f.submit();
}
function buttonClick(e,b) {
  e=getEventObject(e);
  if (e.keyCode==13) document.getElementById(b).click();
}
function controlBlur(e,c) {
  e=getEventObject(e);
  if (e.keyCode==13) {
    document.getElementById(c).focus();
    cancelEvent(e);
    return false;
  }
}
function integerInputOnBlur(e) {
  try {
    e=getEventObject(e);
    var el=getEventElement(e);
    var value=el.value;
    if (value=="") return;
    if (isNaN(value) || (parseInt(value,10)!=value)) throw new Error(1000,"Неверное значение: '"+value+"'. Значение должно быть целым числом.");
  }
  catch(err) {
    alert(getErrorText(err));
    el.focus();
    if (document.activeElement!=el) el.value="";
  }
}
function dateInputOnBlur(e) {
  try {
    e=getEventObject(e);
    var el=getEventElement(e);
    var value=el.value;
    if (value=="") return;
    var re = new RegExp("^[0-9]{2}[./-]{1}[0-9]{2}[./-]{1}[0-9]{4}$");
    re.exec(value);
    if (RegExp.index==-1) throw new Error(1000,"Неверное значение: '"+value+"'. Значение должно быть в формате 'ДД.ММ.ГГГГ'.");
  }
  catch(err) {
    alert(getErrorText(err));
    el.focus();
    if (document.activeElement!=el) el.value = "";
  }
}
function dateOnKeyDown(e) {
  try {
    e = getEventObject(e);
    var el = getEventElement(e);
    if (e.keyCode==13) el.blur();
    return;
  }
  catch(err) {
    alert(getErrorText(err));
  }
}
function checkControls(prefix) {
  if (!checkControlsForTagName("INPUT",prefix)) return false;
  if (!checkControlsForTagName("SELECT",prefix)) return false;
  if (!checkControlsForTagName("TEXTAREA",prefix)) return false;
  if (document.getElementById("randomNumber")!=null) {
    if (document.getElementById("randomNumber").value=="") {
      alert("Для отправки сообщения, необходимо заполнить поле 'Число изображенное на картинке'");
      return false;
    }
  }
  return true;
}
function checkControlsForTagName(tagName,prefix) {
  var elements=window.document.getElementsByTagName(tagName), str="";
  for (var i=0; i<elements.length; i++) {
    element=elements[i];
    if (element.id.indexOf(prefix+"_")==0) {
      try {
        if ((element.attributes.getNamedItem("required")!=null) && (element.value=="")) {
          if (element.attributes.getNamedItem("caption")!=null) str = " Вы не заполнили поле: " + element.attributes.getNamedItem("caption").value;
          alert('Необходимо заполнить все обязательные поля!' + str);
          return false;
        }
      } 
      catch(e) {  }
    }
  }
  if (prefix=="reg") {
    if (document.getElementById("reg_password").value!=document.getElementById("reg_password2").value)  {
      alert('Не совпадают пароль и повтор пароля!');
      return false;
    }
  }
  return true;
}
function getErrorText(err) {
  return err.message;
}
