var d = document;
var ua=navigator.userAgent.toLowerCase(); var isOpera=(ua.indexOf('opera')>-1); var isSafari=(ua.indexOf('safari')>-1); var isIE=(window.ActiveXObject);
function get_el(id){return document.getElementById(id);}
String.prototype.parseJSON = function () {try { return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(this.replace(/"(\\.|[^"\\])*?"/g, ''))) && eval('(' + this + ')');} catch (e) { return false;}};
function Array_push() {var A_p = 0; for (A_p = 0; A_p < arguments.length; A_p++) {this[this.length] = arguments[A_p]}; return this.length} if (typeof Array.prototype.push == "undefined") {Array.prototype.push = Array_push}
function Array_shift() {var A_s = 0; var response = this[0]; for (A_s = 0; A_s < this.length-1; A_s++) {this[A_s] = this[A_s + 1]}; this.length--; return response;} if (typeof Array.prototype.shift == "undefined") { Array.prototype.shift = Array_shift}
function getRealLeftPos(el) {iPos = 0; while (el!=null) {iPos += el.offsetLeft;el = el.offsetParent;}return iPos;}
function getRealTopPos(el) {iPos = 0; while (el!=null) {iPos += el.offsetTop;el = el.offsetParent;}return iPos;}

var pattern_mail=/[a-z0-9_-]{1,20}@(([a-z0-9-]+\.)+([a-z]{2,4})|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/i;

function Dump(d, l, t) {
 if (typeof(t) == "undefined") t = "\n";

    if (l == null) l = 1;
    var s = '';
    if (typeof(d) == "object") {
        s += typeof(d) + " {"+t;
        for (var k in d) {
            for (var i=0; i<l; i++) s += "  ";
            s += k+": " + Dump(d[k],l+1, t);
        }
        for (var i=0; i<l-1; i++) s += "  ";
        s += "}"+t;
    } else {
        s += "" + d + t;
    }
    return s;
}

function mprint(o) {
 alert(Dump(o, 1));
}

function CheckSubscribe(){
  FS = document.forms['subscribe'];
  if (FS.email.value == '' || FS.email.value == "enter@your.mail"){
    alert ("Enter your e-mail"); 
    FS.email.value="";
    FS.email.focus();
    FS.email.select();
    return false;
  } else {
    email = FS.email.value;
    pos1 = email.indexOf("@");
    pos2 = email.indexOf(".", pos1);
    if (pos1 == -1 || pos2 == -1) {
      alert("Wrong e-mail");
      FS.email.value="";
      FS.email.focus();
      FS.email.select();
      return false;
    } else  return true;
  }
}
function CheckFaq(f) {
	if (f.fio.value == "") {
		alert("Enter your name, please");
		return false;
	}
	if (f.question.value == "") {
		alert("Enter your question, please");
		return false;
	}
	email = f.email.value;
	pos1 = email.indexOf("@");
	pos2 = email.indexOf(".", pos1); 
	if (pos1 == -1 || pos2 == -1) { 
		alert("Wrong email");
		return false;
	}
}
function CheckSearch() {
    f = document.search;
    keywords = f.keyword.value;
    if (keywords == '')
      alert(' Enter keywords please! ');
    else if (keywords.length < 4)
	alert(' Enter longer keywords please! ');
    else return true;
    
    return false;
}
function CheckRfp(f) {
	err = 0;
	for (i = 0; i < 3*f.numoptions.value; i++) {
		if (f.elements[i].value == '') err++;
		i = i + 2;
	}
	if (err != 0) {
		alert("Fill all fields, please");
		return false;
	}
}
function get_arr_of_elements(tagname, arrname, ar){
 var arr=(typeof ar == "undefined")?[]:ar, id, o, i, n;
 o = document.getElementsByTagName(tagname);

 if (o && o.length>0)
 {
  for (i=0;i<o.length;i++)
  {
   if (o[i].name && o[i].name.substr(0, arrname.length+1) == arrname+"[" && o[i].name.substr(o[i].name.length-1) == "]")
   {
    n = parseInt(o[i].name.substr(arrname.length+1, o[i].name.length-arrname.length-2));
    o[i].id = id = (typeof o[i].id != "undefined" && o[i].id)?o[i].id:arrname+"["+n+"]";
    arr.push({"id":id, "n":n, "m":o[i].dir, "t":o[i].title, "value":o[i].value, "tagname":tagname});
   }
  }
 }
 return arr;
}
function CheckForm(o){
 var i, o, a;
 var arr=[];

 arr = get_arr_of_elements("input", "msg");
 arr = get_arr_of_elements("select", "msg", arr);
 arr = get_arr_of_elements("textarea", "msg", arr);

 if (!arr.length) return true;
 for (i in arr)
 {
  if ((arr[i]["m"] && arr[i]["value"] == ''))
  {
   if (arr[i]["tagname"] == "input" || arr[i]["tagname"] == "textarea")
    alert("Заполните, пожалуйста, поле.");
   else if (arr[i]["tagname"] == "select")
    alert("Выберите, пожалуйста.");
   get_el(arr[i]["id"]).focus();
   return false;
  }
  if (arr[i]["m"] && arr[i]["t"] == "phone" && arr[i]["value"].search(/[^\d\+\-\(\)\s]/i) != -1) {alert('Телефон набран неверно. Только цифры, тире, скобки и плюс, пожалуйста.'); get_el(arr[i]["id"]).focus(); return false;}
  if (arr[i]["m"] && arr[i]["t"] == "email" && arr[i]["value"].search(pattern_mail) == -1) {alert('E-mail набран неверно.'); get_el(arr[i]["id"]).focus(); return false;}
 }
	
 return true;
}

function CloneField(o, text){
 var i, n;
 if (o.name)
 {
  i =o.name.match(/msg\[(\d+)\]\[(\d+)\]/i);
  if (i.length)
  {
   n = i[1];
   i = get_el("msg["+n+"][1]");
   t = i.cloneNode(true);
   c = i.parentNode.childNodes;
   new_n2 = c.length+1;
   t.name = t.id = "msg["+n+"]["+new_n2+"]";
   t.value = text;
   t.style.margin = "8px 0 0 0;";
   i.parentNode.appendChild(t);

   i = get_el("msg["+n+"]["+new_n2+"]");
   if (i) {i.select(); i.focus();}
  }
 }
}

