function request(loader, method, data,reptag, data2) {
    if(reptag==null) reptag='result';
			var reg = new RegExp('.htm?');
			if (reg.test(data) == true){
         var spstr=data.split(".htm?");
         var tmpdata='';
         for (var i=0; i < spstr.length; i++) {
               tmpdata=tmpdata+spstr[i]+'&';
         }
         data=tmpdata;
      }
    document.getElementById(reptag).innerHTML ='<center><img src="/tmpl/runner/images/loader.gif" width="16" height="16" style="vertical-align:middle" /></center>';
        var req = new JsHttpRequest();
        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                if (req.responseJS) {
                    document.getElementById(reptag).innerHTML =req.responseText;
					runScripts(document.getElementById(reptag).getElementsByTagName('SCRIPT'));
                }
            }
        }
        req.caching = false;
        req.loader = loader;
        req.open(method, '/loader.php'+data, true);
        var data = {
            q: data,
            'data2': data2
        };
        if (data2 == null) delete data.data2;
        req.send(data);
    }
//----------------------------------------------------------------------
function getdata(loader, method, data,reptag, data2) {
    if(reptag==null) reptag='result';
			var reg = new RegExp('.htm?');
			if (reg.test(data) == true){
         var spstr=data.split(".htm?");
         var tmpdata='';
         for (var i=0; i < spstr.length; i++) {
               tmpdata=tmpdata+spstr[i]+'&';
         }
         data='?p='+tmpdata;
      }
    document.getElementById(reptag).innerHTML ='<center><img src="/tmpl/runner/images/loader.gif" width="16" height="16" style="vertical-align:middle" /></center>';
        var req = new JsHttpRequest();
        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                if (req.responseJS) {
                    document.getElementById(reptag).innerHTML =req.responseText;
					runScripts(document.getElementById(reptag).getElementsByTagName('SCRIPT'));
                }
            }
        }
        req.caching = false;
        req.loader = loader;
        req.open(method, '/loader.php'+data, true);
        var data = {
            q: data,
            'data2': data2
        };
        if (data2 == null) delete data.data2;
        req.send(data);
    }
//----------------------------------------------------------------------
function getdata1(loader, method, data,reptag, data2) {
    if(reptag==null) reptag='result';
					var oldcont=document.getElementById(reptag).innerHTML;
			var reg = new RegExp('.htm?');
			if (reg.test(data) == true){
         var spstr=data.split(".htm?");
         var tmpdata='';
         for (var i=0; i < spstr.length; i++) {
               tmpdata=tmpdata+spstr[i]+'&';
         }
         data='?p='+tmpdata;
      }
    document.getElementById(reptag).innerHTML ='<center><img src="/tmpl/runner/images/loader.gif" width="16" height="16" style="vertical-align:middle" /></center>';
        var req = new JsHttpRequest();
        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                if (req.responseJS) {
                    document.getElementById(reptag).innerHTML=req.responseText+oldcont;
					runScripts(document.getElementById(reptag).getElementsByTagName('SCRIPT'));
                }
            }
        }
        req.caching = false;
        req.loader = loader;
        req.open(method, '/loader.php'+data, true);
        var data = {
            q: data,
            'data2': data2
        };
        if (data2 == null) delete data.data2;
        req.send(data);
    }
//----------------------------------------------------------------------
function doLoad(fid,did) {
    document.getElementById(did).innerHTML ='<center><img src="/tmpl/runner/images/loader.gif" width="16" height="16" style="vertical-align:middle" /></center>';
    var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            document.getElementById(did).innerHTML = req.responseText;
			runScripts(document.getElementById(reptag).getElementsByTagName('SCRIPT'));
       }
    }
    req.open(null, '/loader.php', true);
    req.send( { 'form': document.getElementById(fid) } );
}
//------------------------------------------------------------
function checkLen1(StrId,StrLen,StrMsg){
var str = document.getElementById(StrId).value;
var len = str.length;
var fullLen = StrLen - len;
var count0 = "<br>Текст не может быть длиннее, чем ";
  if ( StrLen < len){ document.getElementById(StrId).value = str.substring(0,StrLen);}
if(len<(StrLen-1)) {document.getElementById(StrMsg).innerHTML = 'Осталось: ' + fullLen;}
else {document.getElementById(StrMsg).innerHTML = count0 + StrLen + ' символов!';}
}
/* ---------------------------------------------- */
function BigImage(img,w,h)
{
  var obj_window =
  window.open(img,"","top=1 left=1 toolbar=no,directories=no,status = no,resizable=no,menubar=no,scrollbars=no,width="+w+", height="+h);
	obj_window.focus();
}

function OpenMail(wname,link,w,h)
{
  var wname =
  window.open(link,"","top=1 left=1 toolbar=no,directories=no,status = no,resizable=no,menubar=no,scrollbars=no,width="+w+", height="+h);
	wname.focus();
}
//-------проверка форм-------------------
function template(object) {
	function createErr(err_txt) {
		err_node.className = 'error';
		err_node.innerHTML = '';
		err_node.appendChild(document.createTextNode(err_txt));
	}
 if(object.className=='required'){
	if(object.type=='text' && (object.name=='email'||object.name=='email[0]')) {
			var reg = new RegExp('^[_\\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+\\.)+[a-zA-Z]{2,4}$');
			if (reg.test(object.value) == false) {
				createErr('Введите корректный email!');
				return false;
			}
	}else if(object.type=='text' && (object.name=='phone'||object.name=='phone[0]' ||object.name=='main_phone')) {
			var reg = new RegExp('^[0-9- +]{5,20}$');
			if (reg.test(object.value) == false) {
				createErr('Введите корректный номер телефона!');
				return false;
			}
	}else if(object.type=='text' || object.type=='textarea'){
			if (object.value.length < 2) {
				createErr('Введите хотя бы два символа!');
				return false;
			}
	}else if(object.type=='select-one'){
			if (object.name=='gorod' && object.value=='0') {
				createErr('Выберите вариант из списка!');
				return false;
			}
			if (object.name=='firm' && object.value=='Не имеет значения') {
				createErr('Выберите вариант из списка!');
				return false;
			}
			if (object.name=='model' && object.value=='Не имеет значения') {
				createErr('Выберите вариант из списка!');
				return false;
			}
	}
 }
if(object.className=='required_dig'){
	var numStr="0123456789";
	var thisChar;
	var counter=0;
	for (var v=0; v<object.value.length; v++) {
		thisChar = object.value.substring(v, v+1);
		if (numStr.indexOf(thisChar) != -1)
		counter++;
	}
	createErr('Неправильный формат данных! Это должно быть целое число.');
	if (counter != object.value.length) return false;
	/*
	alert(object.value);
			var reg = new RegExp('^[0-9]');
			if (reg.test(object.value) == false) {
				createErr('Введите корректное значение!');
				return false;
      }
	  */
}
if(object.type=='password'&&object.name=='password'){
			if (object.value==''||object.value.length < 3) {
				createErr('Вы не ввели пароль!');
				return false;
			}
}
if(object.type=='password'&&object.name=='password_'){
			if (object.value==''||object.value.length < 3) {
				createErr('Вы не ввели повторный пароль!');
				return false;
			}
}
}
//------------------------------------------
function checkForm(fn){
    var this_len = document.forms[fn].elements.length;
	for (var j=0;j<this_len;j++) {
		if(document.forms[fn].elements[j].value != null && document.forms[fn].elements[j].type != 'submit' && document.forms[fn].elements[j].type != 'button' && document.forms[fn].elements[j].type != 'hidden') {
        document.forms[fn].elements[j].parentNode.insertBefore(err_node, document.forms[fn].elements[j]);
			if (template(document.forms[fn].elements[j]) == false) {
				return false;
			}
		}
	}
   		err_node.className = 'noerror';
			err_node.innerHTML = '';
   return true;
}
//----------добавления полей к форме-------------------------
//var countOfFields = 3; // Текущее число полей
//var curFieldNameId = 2; // Уникальное значение для атрибута name
/*var maxFieldLimit = 5; // Максимальное число возможных полей*/
function deleteField(a) {
	// Получаем доступ к ДИВу, содержащему поле
	var contDiv = a.parentNode;
	// Удаляем этот ДИВ из DOM-дерева
	contDiv.parentNode.removeChild(contDiv);
	// Уменьшаем значение текущего числа полей
	countOfFields--;
}

function addfield(namefield){
/*
if (countOfFields >= maxFieldLimit) {
alert("Число полей достигло своего максимума = " + maxFieldLimit);
return false;
}
*/
	// Увеличиваем текущее значение числа полей
	countOfFields++;
	// Увеличиваем ID
	curFieldNameId++;
/*		el = document.createElement('BR');
		document.getElementById(namefield).appendChild(el);*/
		var div = document.createElement("div");
		// Добавляем HTML-контент с пом. свойства innerHTML
		div.innerHTML = "<input name=\"" + namefield + "["+curFieldNameId+"]\" type=\"text\" size=\"30\" /> <input type=\"button\" onclick=\"return deleteField(this)\" style=\"width:20px;\" value=\"-\">";
// Добавляем новый узел в конец списка полей
		document.getElementById(namefield).appendChild(div);
}
/* ******************************************************************** */
function addfilefield(namefield){
/*	
	if (countOfFields >= maxFieldLimit) {
		alert("Число загружаемых фотографий достигло своего максимума");
		return false;
	}
*/	
	countOfFields++;
	curFieldNameId++;
		var div = document.createElement("div");
		// Добавляем HTML-контент с пом. свойства innerHTML
		div.innerHTML = "<input name=\"" + namefield + "["+curFieldNameId+"]\" type=\"file\" size=\"20\" /> <input type=\"button\"  style=\"width:20px;\" onclick=\"return deleteField(this)\" value=\"-\">";
// Добавляем новый узел в конец списка полей
		document.getElementById(namefield).appendChild(div);
/*
		el = document.createElement('BR');
		document.getElementById(namefield).appendChild(el);
		el = document.createElement('INPUT');
		el.type = 'file';
		el.name = 'file[]';
		document.getElementById(namefield).appendChild(el);
*/		
}
//----------добавления полей к форме-------------------------
function addfields(namefield,fsize){
		el = document.createElement('BR');
		document.getElementById(namefield).appendChild(el);
		el = document.createElement('INPUT');
		el.type = 'text';
		el.name = namefield+'[]';
		el.size=fsize;
		document.getElementById(namefield).appendChild(el);
//	document.getElementById(namefield).innerHTML=document.getElementById(namefield).innerHTML+"<input type=text name="+namefield+"[] size="+fsize+" /><br />";
}
//------------------------------------------
function checkSignForm(fn){
    var this_len = document.forms[fn].elements.length;
	for (var j=0;j<this_len;j++) {
      var object=document.forms[fn].elements[j];
	  if(object.name=='sign_email') {
			var reg = new RegExp('^[_\\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z_-]+\\.)+[a-zA-Z]{2,4}$');
			if (reg.test(object.value) == false) {
				alert('Введите корректный email!');
				return false;
			}
		}
	}//for
  return true;
}
//------------------------------------------
function checkPayForm(fn){
    var this_len = document.forms[fn].elements.length;
	for (var j=0;j<this_len;j++) {
      var object=document.forms[fn].elements[j];
	  if(object.name=='LMI_PAYMENT_AMOUNT') {
			var reg = new RegExp('^[0-9]');
			if (reg.test(object.value) == false) {
				alert('Введите корректную сумму!');
				return false;
			}
		}
	}//for
  return true;
}
//-------------определение координат курсора-------------------
function mouseObserver(event){
  var e=event || window.event;
//  writeStatus(e)
	return e
}
function writeStatus(e){
  window.status=e.clientX+","+e.clientY
}
//-----------------выпадающее меню---------------------
function MenuCall(Content, Width, BackgrColor, MenuNumber){
    MenuID=MenuNumber;
    WidthMenu=Width;
    Color=BackgrColor;
	document.write("<div class=\"menu\" id=\""+MenuID+"\" style=\"position:absolute;text-align:left;z-index:255;padding:5px;display:none; width:"+WidthMenu+"px; background:"+Color+"\"  onMouseover=\"MenuActivate('"+MenuID+"')\" onMouseOut=\"MenuKill('"+MenuID+"')\">"+Content+"</div>");
}
function MenuActivate(MenuNumber){
    MenuID=MenuNumber;
    eval('document.getElementById("'+MenuID+'").style.display = "block"');
}
function MenuKill(MenuNumber){
    eval('document.getElementById("'+MenuNumber+'").style.display = "none"');
}
//-----------отркрытие и закрытие окна----------------
function wshow(divid,event){
  var e=event || window.event;
  document.getElementById(divid).style.left=e.clientX-400+'px';
  document.getElementById(divid).style.top='250px';
  document.getElementById(divid).style.display='block';
}
function wclose(divid){
  document.getElementById(divid).style.display='none';
}
//----------------------------------------------------
function trhover(tr, hover){
	tr.className = hover ? 'hover '+tr.className : tr.className.replace('hover','')
	//<tr class="high" onmouseover="trhover(this,true)" onmouseout="trhover(this,false)"> - использование
	//в css добавить:
	//tr.high {background-color:#ffffff;}
	//tr:hover.high {background-color:#F5F5EB;}
}

function s_hint(event,did) {
	var browserName = navigator.appName;
	if (browserName == "Microsoft Internet Explorer") {
		x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
		y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
		document.getElementById(did).style.left = x+'px';
		document.getElementById(did).style.top = y-100+'px';
	} else if (browserName == "Opera"){
		x = event.clientX + document.body.scrollLeft;
		y = event.clientY + document.body.scrollTop;
		document.getElementById(did).style.left = x+'px';
		document.getElementById(did).style.top = y-100+'px';
	} else {
		x = event.clientX + window.scrollX;
		y = event.clientY + window.scrollY;
		document.getElementById(did).style.left = x+'px';
		document.getElementById(did).style.top = y-100+'px';
	}
	document.getElementById(did).style.display='block';
//  return [x,y];
}
/* отображение скрытого эмайла */
function eshow(p1,p2,p3){
	return p1 + '@' + p2 + '.' + p3;
}

/* Функция активации скрипта вызванного через свойство innerHTML */
function runScripts(scripts) {
    if (!scripts) return false;
    for (var i = 0; i < scripts.length; i++) {
        var thisScript = scripts[i];   
        var text;
        if (thisScript.src) {
            var newScript = document.createElement("script");
            newScript.type = thisScript.type;       
            newScript.language = thisScript.language;
            newScript.src = thisScript.src;             
            document.body.appendChild(newScript);   
        } else if (text = (thisScript.text || thisScript.innerHTML)) {
            var text = (""+text).replace(/^\s*<!\-\-/, '').replace(/\-\->\s*$/, '');
            eval(text);
        }
    }
}

