
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

// Массив для UNDO
var UNDO = Array();

// Создать "откат"
function CreateUndo(item){
	if(!item.id)item.id='id'+Math.random();
	UNDO[item.id]=item.value;
}


	// Проверить, что все введённые символы корректны
	function IsSybmols(item,symbols){
	  for(var i=0;i<item.value.length;i++){
	    if(symbols.indexOf(item.value.substring(i,i+1))==-1){
	      alert("В это поле можно вводить только следующие символы:\n"+symbols);
	      item.value='';
	      item.focus();
	      return false;}}
	  return true;
	}

	// Проверить, что не пустой
	function IsEmpty(item, msg){
	  if(item.value.length>0){
	    if(item.value.substring(0,1)!=" "){
	      return false;}}
		if(msg)alert(msg);
	  else alert("Это поле заполняется обязательно.");
	  item.focus(); 
	  return true;
	}

	// Проверить, что все - цифры
	function IsNumber(item, msg){
	  var NumStr="0123456789,.";
	  for(var i=0;i<item.value.length;i++){
	    if(NumStr.indexOf(item.value.substring(i,i+1))==-1){
				if(msg)alert(msg);
		  	else alert("В это поле можно вводить только цифры!");
	      item.value='0';
	      item.focus();
	      return false;}}
	  return true;
	}

	// Проверить, что не пустой и что все - цифры
	function CheckAll(item,pole){
	  if(pole){
	  	if(IsEmpty(item, "Поле \""+pole+"\" заполняется обязательно.")) return false;
	  	return IsNumber(item,"В поле \""+pole+"\" можно вводить только число!");
	  }else{
	  	if(IsEmpty(item)) return false;
		  return IsNumber(item);
		}
	}

	// Проверить, что в пределах
	function IsRange(item,pole,min,max){
	  if((item.value>=min)&&(item.value<=max))return true;
	  alert("Значение поля \""+pole+"\" должно быть в пределах: "+min+"-"+max+".");
	  item.focus(); 
	  return false;
	}

	// onSubmit="return EditMessage(\'\')"
	function EditMessage(msg)
	{
		return(confirm(msg));
	}

	// Создание окна с увеличенной картинкой
	function Resize(strFileName, intWidth, intHeight, strCaption)
	{
		intWidth+=2;
		intHeight+=2;

		// Закрыли окно, если оно уже было открыто
		try{myWin.close();}	catch(err){}

	  myWin= open("", 'WinName', "width="+intWidth+",height="+intHeight+",left=0, top=0,status=no,toolbar=no,menubar=no,resizable=no");

	  // открыть объект document для последующей печати
	  myWin.document.open();

	  // генерировать новый документ
	  myWin.document.write('<html><head><title>'+strCaption+'</title></head><BODY TITLE="Закрыть" style="cursor:hand" onmouseup="javascript: window.close()" TOPMARGIN="0" LEFTMARGIN="0"><TABLE WIDTH="100%" HEIGHT="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" VALIGN="MIDDLE"><TR><TD ALIGN="CENTER"><img alt="Закрыть" BORDER="1" STYLE="border-color: #3862A9" src="'+strFileName+'"></TD></TR></TABLE></body></html>');

	  // закрыть документ - (но не окно!)
	  myWin.document.close();  
	  myWin.focus();  
	}

	// Проверить корректность ввода телефонного номера
	function IsPhoneCorrect(item){
		if(item.value.length<10){
			alert("Номер телефона не может состоять менее, чем из 10 знаков.");
			item.focus();
			return false;
		}
		var NumStr="0123456789-()";
		for(var i=0;i<item.value.length;i++){
			if(NumStr.indexOf(item.value.substring(i,i+1))==-1){
				alert("Номер телефона может состоять только из следующих символов: "+NumStr);
				item.focus();
				return false;
			}
		}
		if(item.value.charAt(0)=='-'){
			alert("Номер телефона должен начинаться с цифры или скобки.");
			item.focus();
			return false;
		}
		if(item.value.charAt(item.value.length-1)=='-'){
			alert("Номер телефона должен заканчиваться цифрой.");
			item.focus();
			return false;
		}
		if(item.value.indexOf("--")!=-1){
			alert("Номер телефона не может содержать два тире подряд.");
			item.focus();
			return false;
		}
		return true;
	}

	// Проверить, что почтовый адрес
	function IsEmail(item){
	  if(item.value.indexOf('@', 0) > 0 && item.value.indexOf('.', 0) >0) return true;
	  alert("Неверно введен адрес E-mail.");
	  item.focus();
	  return false;
	}

	// Проверка на дублирование имени файла для этого уровня
	function CheckDouble(field,names){
		for(var i=0;i<names.length;i++){
			if(field.value==names[i]){
				alert("Ошибка!\nИмя файла \""+field.value+"\" на этом уровне уже используется!\nНеобходимо выбрать другое имя.");
				field.value="";
				field.focus();
				return true;
			}
		}
		return false;
	}

	// Проверка на дублирование имени Категории
	function CheckDouble2(field,names){
		for(var i=0;i<names.length;i++){
			if(field.value==names[i]){
				alert("Ошибка!\nКатегория \""+field.value+"\" уже существует!\nНеобходимо выбрать другое имя.");
				field.value="";
				field.focus();
				return true;
			}
		}
		return false;
	}

	// Поставить\Снять ВСЕ галки с массива (имя_формы, имя_массива[], true|false)
	function setCheckboxes(the_form,name_check,do_check)
	{
			var elts      = (typeof(document.forms[the_form].elements['selected_db[]']) != 'undefined')
	                  ? document.forms[the_form].elements['selected_db[]']
	                  : document.forms[the_form].elements[name_check];
			var elts_cnt  = (typeof(elts.length) != 'undefined')
	                  ? elts.length
	                  : 0;

		if(elts_cnt)
		{
			for(var i = 0; i < elts_cnt; i++)
			{
				elts[i].checked = do_check;
			}
		}
		else
		{
			elts.checked = do_check;
		}
		return true;
	}

	// Открытие нового окна
	function NewWindow(url,width,height,left,top,win_name)
	{
	  myWin= open(url, win_name, "width="+width+", height="+height+", left="+left+", top="+top+",toolbar=no,scrollbars=yes,menubar=no,resizable=no");
	  myWin.focus();  
	}

// Показать/Скрыть блок
function ShowHideMoreText(objLink,id)
{
	objLink.blur();
	var objDiv = document.getElementById(id);

	// Если class "правильный"
	if(objDiv.className == 'moretext')
	{
		if(objDiv.style.display == 'block')
		{
			objDiv.style.display = 'none';
			objLink.innerHTML = '<NODR>читать полный текст - &gt;</NODR>';
		}
		else
		{
			objDiv.style.display = 'block';
			objLink.innerHTML = '<NODR>&lt; - свернуть</NODR>';
		}
	}
	return false;
}

