//************************************************************** CONFIG >>
//alert('Подключились!');
//var images=Array();
// И
/*
for (var i=100; i < 1000; i++) {
		if (im=document.images(i)) {
			//alert('Картинка i='+i+', src='+im.src);
		}
	}
*/
//************************************************************** << CONFIG


//************************************************************** FUNCTIONS >>

//-------------------- openArt()>
// Функция реализующая раскрытие списка статей
function openArt() { //alert('sadf');
	//alert('Имя тэга: '+document.all('group777vis').tagName);
  //var left=window.event.y+10; 
  //var top=window.event.x+10; alert('left='+left+', top='+top);
  
  currEl = event.srcElement; //alert(currEl);
 // if (currEl.className == "subhead") { //alert('Да, subhead');
    newId = currEl.id + "vis";  //alert('newId='+newId);
    imgId = "img"+currEl.id; 			//alert('imgId='+imgId);
	
	
	
	//alert('Длина массива картинок: '+document.images.length);
	
	// Закрываем все возможные статьи
	
	/*
	for (var i=100; i < 1000; i++) {
		if (im=document.images(i)) {
			//alert('Картинка i='+i+', src='+im.src);
		}
	}
	*/
	
	
	
	
     showIt = document.all(newId); //alert('showIt='+showIt+', new_id='+newId+', tagName='+showIt.tagName);
     if (showIt.style.display == "none") {
	     // ОТКРЫТИЕ
		 
		 // Закрываем все предыдущие пункты
		 var d=10;
	     var beg=1000;
		 for (var i=beg; i < beg+d; i++) {
			sym=i+"vis";
			_showIt = document.all(sym);
			if (!_showIt) continue;			
			//alert('Просматриваемый элемент(i='+i+'): '+showIt);
			_showIt.style.display = "none";
			//im=(int)i;
			_imgId="img"+i;
	        document.images(_imgId).src = "/img/arr.gif";			
		}//for (var i=1001; i<i+d; i++) {
		 
         showIt.style.display = "" ;
         document.images(imgId).src = "/img/arr2.gif";
       }else{
	   	 // ЗАКРЫТИЕ
         showIt.style.display = "none";
         document.images(imgId).src = "/img/arr.gif";
      }//if (showIt.
   //}
}//function openArt() {



//-------------------- openArt()>
// Функция реализующая раскрытие списка статей
function openPart() { //alert('sadf');
	//alert('Имя тэга: '+document.all('group777vis').tagName);
  //var left=window.event.y+10; 
  //var top=window.event.x+10; alert('left='+left+', top='+top);
  
  currEl = event.srcElement; //alert(currEl);
 // if (currEl.className == "subhead") { //alert('Да, subhead');
    newId = currEl.id + "vis";  //alert('newId='+newId);
    imgId = currEl.id; 			//alert('imgId='+imgId);
	
	
     showIt = document.all(newId); //alert('showIt='+showIt+', new_id='+newId+', tagName='+showIt.tagName);
     if (showIt.style.display == "none") {
	     // ОТКРЫТИЕ
         showIt.style.display = "" ;
         document.images(imgId).src = "/img/arr2.gif";
       }else{
	   	 // ЗАКРЫТИЕ
         showIt.style.display = "none";
         document.images(imgId).src = "/img/arr.gif";
      }//if (showIt.
   //}
}//function openArt() {



//-------------------- bigFotoWin>
// Функция открытия окон с большими фотографиями
function BigImg(path, width, height) {
	window.open('/admin/ttcat_unit/big_img.phtml?img_path='+path,'','width='+width+' height='+height+',scrollbars=0,resizable=0, top=100, left=100');
	return false;
}//function bigFotoWin(foto_id, width, height)

//-------------------- bigFotoWin>
// Функция открытия окон с большими фотографиями
function BigImg2(path, width, height) {
	window.open('/admin/ttcat_unit/big_img.phtml?img_path='+path,'','width='+width+' height='+height+',scrollbars=1,resizable=1, top=100, left=100');
	return false;
}//function bigFotoWin(foto_id, width, height)

//-------------------- addGoodWin>
// Функция открытия окна добавления подраздела к разделу
function addGoodWin(part_id, page_id) {
	var width=400;
	var height=130;
	window.open('/admin/ttcat_unit/add_good.phtml?part_id='+part_id+'&page_id='+page_id,'','width='+width+', height='+height+',scrollbars=0,resizable=0, top=100');
	return false;
}//function addPartWin(part_id) {

//-------------------- addPartWin>
// Функция открытия окна добавления подраздела к разделу
function addPartWin(part_id, page_id) {
	var width=400;
	var height=130;
	window.open('/admin/ttcat_unit/add_part.phtml?part_id='+part_id+'&page_id='+page_id,'','width='+width+', height='+height+',scrollbars=0,resizable=0, top=100');
	return false;
}//function addPartWin(part_id) {

//-------------------- materWin>
// Функция открытия окна управления различными формами материалов
function materWin() {
	var width=500;
	var height=400;
	var top=200; 
	var left=200;
	window.open('/admin/ttcat_unit/mater.phtml','','width='+width+', height='+height+',scrollbars=1,resizable=0, top='+top+', left='+left);
	return false;
}//function nameWin(part_id) {

//-------------------- usageWin>
// Функция открытия окна редактирования области применения
function usageWin() {
	var width=400;
	var height=400;
	var top=200; 
	var left=200;
	window.open('/admin/ttcat_unit/usage.phtml','','width='+width+', height='+height+',scrollbars=1,resizable=0, top='+top+', left='+left);
	return false;
}//function nameWin(part_id) {

//-------------------- tehsWin>
// Функция открытия окна редактирования характеристик товаров
function tehsWin() {
	var width=400;
	var height=400;
	var top=200; 
	var left=200;
	window.open('/admin/ttcat_unit/tehs.phtml','','width='+width+', height='+height+',scrollbars=1,status=0,resizable=0, top='+top+', left='+left);
	return false;
}//function nameWin(part_id) {

//-------------------- goodNameWin>
// Функция открытия окна смены названия товара
function goodNameWin(good_id, page_id) {
	var width=400;
	var height=230;
	var top=200; 
	var left=200;
	//window.showModalDialog('/admin/ttcat_unit/good_name_win.phtml?good_id='+good_id+'&page_id='+page_id,'','width='+width+', height='+height+',scrollbars=0,resizable=0, top='+top+', left='+left);
	window.open('/admin/ttcat_unit/good_name_win.phtml?good_id='+good_id+'&page_id='+page_id,'','width='+width+', height='+height+',scrollbars=0,resizable=0, top='+top+', left='+left);
	return false;
}//function goodNameWin(good_id, page_id) {

//-------------------- editPartWin>
// Функция открытия окна смены названия
function editPartWin(part_id, page_id) {
	var width=650;
	var height=600;
	var top=200; 
	var left=200;
	window.open('/admin/ttcat_unit/edit_part_win.phtml?part_id='+part_id+'&page_id='+page_id,'','width='+width+', height='+height+',scrollbars=0,resizable=0, top='+top+', left='+left);
	//window.showModal('/admin/ttcat_unit/edit_part_win.phtml?part_id='+part_id+'&page_id='+page_id,'','width='+width+', height='+height+',scrollbars=0,resizable=0, top='+top+', left='+left);
	return false;
}//function nameWin(part_id) {



// *********************************************************************************
// *********************************************************************************
//-------------------- delChoodedGoodWarn>
// Предупреждение об удалении выбраннов товаров
function  delChoodedGoodWarn(form_obj) { //alert('Запуск функции');
	var choosed=false;
	var mess="";
	var count=0;
	for (var i = 0; i<form_obj.elements.length; i++) { //alert('Просматриваем елемент: '+form_obj.elements[i].name);
		res=/^del_goods\[(\d+)\]$/.exec(form_obj.elements[i].name);
		
		// Да, это нужный chbx
		if (res && form_obj.elements[i].checked) {
			choosed=true;
			count++;
			if (count>1) mess+=" ,";
			mess+=res[1];
			//alert("Выбрано удаление: '"+i+"'-го элемента");
		}
	}
	if (choosed) {
		//alert('Типа choosed - выбран!');
		if (mess) return confirm("Следующие елементы будут удалены (№): "+mess+".\nПродолжить?");
	}else {
		//alert('Из нее глаголит - истина :-)');
		return true;
	}
	//return false;
}

//-------------------- goodDetailsWin>
// Функция открытия подробностей одного товара
function goodDetailsWin(goods_id, width, height) {
	window.open('/goods/'+goods_id+'/','screen','width='+width+' height='+height+',scrollbars=1,resizable=1, top=100, left=100');
	return false;
}



//-------------------- nameWin>
// Функция открытия окна смены названия
function nameWin(part_id, page_id) {
	var width=400;
	var height=130;
	var top=200; 
	var left=200;
	window.open('/admin/cat_unit/name.phtml?part_id='+part_id+'&page_id='+page_id,'','width='+width+', height='+height+',scrollbars=0,resizable=0, top='+top+', left='+left);
	return false;
}//function nameWin(part_id) {

//-------------------- Warn>
// Предупреждение
function Warn(text) {
	return window.confirm(text);
}//function Warn(text) {

//-------------------- delPartWarn>
// Предупреждение по удалению раздела
function delPartWarn(name) {
	return window.confirm("Вы уверены, что хотите удалить раздел '"+name+"'? \nВсе его подразделы вместе товарами будут удалены!");
}

//-------------------- delGoodWarn>
// Предупреждение по удалению товара
function delGoodWarn(name) {
	return window.confirm("Вы уверены, что хотите удалить товар '"+name+"'?");
}

//-------------------- openAll()>
// Функция реализующая раскрытие/закрытие ВСЕГО древовидного меню
function openAll(all_open, link) {
	// Пройдемся по всем елементам и у тех, у которых определенное имя выставтм
	// visible
	//var rname="compare_chbx";
	//var reg=new RegExp("^(\D+)(\d+)$");
	//alert('1');
	var set_ref="";
	var unset_ref="";
	all_open=!all_open;
	//if (all_open) document.images('group0').src = "/img/admin/minus.gif";
	//else 		  document.images('group0').src = "/img/admin/plus.gif";
	
	// **********************************
	// Меняем стиль курсора на ожидающий
	var old_link=link.style.cursor;
	var old_body=document.body.style.cursor;
	
	link.style.cursor='wait';
	document.body.style.cursor='wait';
	// **********************************
	
	for (i=0;i<document.all.length;i++) {
		// С помощью регулярного выражения находим требуемое название
		if (document.all[i].id!="") {
			res=/^group(\d+)vis$/.exec(document.all[i].id);
			// Нашли, затем выставляем visible
			if (res) {
				//alert('Нашли!!!! Полный id "'+document.all[i].id+'", display='+document.all[i].style.display);
				if (!all_open) {
					document.all[i].style.display = "";
					document.images('group'+res[1]).src = "/img/admin/minus.gif";
				}else {
					document.all[i].style.display = "none";
					document.images('group'+res[1]).src = "/img/admin/plus.gif";
				}
			}//if (res) {
		}//if (document.all[i].id!="") {
		
	}//for (i=0;i<document.all.length;i++) {
	//alert('2');
	
	// **********************************
	// Меняем стиль курсора обратно
	link.style.cursor=old_link;
	document.body.style.cursor=old_body;
	// **********************************
	
	return false;
}//function openAll() {

//-------------------- openIt()>
// Функция реализующая раскрытие древовидного меню
function openIt() { //alert('sadf');
	//alert('Имя тэга: '+document.all('group777vis').tagName);
  //var left=window.event.y+10; 
  //var top=window.event.x+10; alert('left='+left+', top='+top);
  
  currEl = event.srcElement; //alert(currEl);
  if (currEl.className == "subhead") { //alert('Да, subhead');
    newId = currEl.id + "vis";
    imgId = currEl.id;
     showIt = document.all(newId); //alert('showIt='+showIt+', new_id='+newId+', tagName='+showIt.tagName);
     if (showIt.style.display == "none") {
         showIt.style.display = "" ;
         document.images(imgId).src = "/img/admin/minus.gif";
       }else{
         showIt.style.display = "none";
         document.images(imgId).src = "/img/admin/plus.gif";
      }//if (showIt.
   }
}//function openIt() {











// *********************************************************************************
// *********************************************************************************
//-------------------- openAddWin>
// Функция открытия окна добавления фотографий
function openAddWin(page_id, page)
{
	window.open('/admin/fotos_unit/add_win.phtml?page_id='+page_id+'&page='+page,'','top=50,left=50,width=640,height=450,scrollbars=1,resizable=1');
	return false;
}

//-------------------- openEditWin>
// Функция открытия окна редактирования одной фотографии
function openEditWin(page_id, page, ref)
{
	window.open('/admin/fotos_unit/edit_win.phtml?page_id='+page_id+'&page='+page+ref,'','top=50,left=50,width=640,height=500,scrollbars=1,resizable=1');
	return false;
}

//-------------------- bigAdminFotoWin>
// Функция открытия окон с большими фотографиями, но здесь уже просто фотографий, без описания и проч.
function bigAdminFotoWin(img_path, header, width, height)
{
	window.open('/admin/cat_unit/popup_foto.phtml?img_path='+img_path+'&header='+header,'','width='+width+' height='+height+',scrollbars=0,resizable=0, top=100');
	return false;
}
//-------------------- delChoosedFotoWarn>
// Предупреждение об удалении выделенных флагов
function delChoosedFotoWarn()
{
	warn='Вы уверены, что действительно хотите удалить выбранные элементы?';
	return window.confirm(warn);
}

//-------------------- isEmpty>
// Функция проверки строки на пустоту
function isEmpty(str) {
  for (var i = 0; i < str.length; i++)
     if (" " != str.charAt(i))
           return false;
     return true;
}//function isEmpty(str) {

//-------------------- isEmpty>
// Функия проверки элементов формы с атрибутом required на пустоты
function CheckFormByRequiredAttr(f) {
   /*
   var errMSG = "";
   var j=0;
   for (var i = 0; i<f.elements.length; i++)
      if (null!=f.elements[i].getAttribute("required")) 
         if (isEmpty(f.elements[i].value)) {
		 	j++;
            errMSG += j+") " + f.elements[i].required + "\n";
		 }
   if ("" != errMSG) {
      alert("Не заполнены/выбраны следующие обязательные поля:\n" + errMSG);
      return false;
   }
   return true;
   */
   var errMSG = "";
   var j=0;
   var res=new Array();
   var id=0;
   var this_id=0;
   var temp_arr=Array(); var z=0;
   //var b=0; var e=0; var id=0;
   for (var i = 0; i<f.elements.length; i++)
   //var len = f.elements[i].name.length;
   	//if (f.elements[i].name.indexOf('[')>0)
		//alert ('Имя: '+f.elements[i].name)
   	//alert(i);
      if (f.elements[i].getAttribute("required"))
         if (isEmpty(f.elements[i].value)) {
		 	j++;
            errMSG += j+") " + f.elements[i].required + "\n";
			
			// Выбираем идентификатор в скобочках
			b=f.elements[i].name.indexOf("[")+1;
			e=f.elements[i].name.indexOf("]");
			//id=/^\w+\[(\w+)\]$/.exec(f.elements[i].name);
			this_id=f.elements[i].name.substring(b,e); 					if (j==1) id=this_id;
			name=f.elements[i].name.substring(0,b-1); 
			//alert('Имя:'+f.elements[i].name+', отпарсено: "'+this_id+'", имя: "'+name+'"');
			
			// Сохраняем временной массив в результирующий
			if (id!=this_id) {
				z++; //alert('asdf');
				// Значит уже перешли к другому элементу
				//res[j-1]=new Array(id, temp_arr);
				res[z-1]=new Array();
				res[z-1][0]=id; res[z-1][1]=new Array(); res[z-1][1]=temp_arr;
				//alert('Присваиваем id='+id+', this_id='+this_id);
				id=this_id;
				temp_arr=Array();
			}
			// Сохраняем во временной массив
			temp_arr.push(f.elements[i].required);
			
		 }
		 		// В конце снова проделываем эту процедуру, чтобы сохранить
				// оставшиеся временной массив и идентификатор
				z++; //alert('asdf');
				// Значит уже перешли к другому элементу
				//res[j-1]=new Array(id, temp_arr);
				res[z-1]=new Array();
				res[z-1][0]=id; res[z-1][1]=new Array(); res[z-1][1]=temp_arr;
				//alert('Присваиваем id='+id+', this_id='+this_id);
				id=this_id;
				temp_arr=Array();
   
   
   /*alert('Длина res-а: "'+res.length+'"');
   for (var i=0; i<res.length; i++){
     //alert('Индекс res="'+i+'"');
	 mass=new Array(); mass=res[i][1];
	 for (var j = 0; j<mass.length; j++){
	 	alert('res['+i+'][1]['+j+']="'+res[i][1][j]+'"');
		alert('res['+i+'][0]="'+res[i][0]+'"');
	 }
	 
   }*/
   
   if ("" != errMSG) {
      var mess="";
	  for (var i=0; i<res.length; i++){
	     //alert('Индекс res="'+i+'"');
		 err_arr=new Array(); err_arr=res[i][1];
		 // Если это форма добавления нового элемента, то указываем это
		 if (res[i][0]=='0') {
			 tab="\t\t-";
			 mess+="\tУ добавляемого элемента:\n";
		 }else {
		 	tab="\t\t-";
			mess+="\t"+(i+1)+") У элемента №"+res[i][0]+":\n";
		 }
		 
		 for (var j = 0; j<err_arr.length; j++){
		 	mess+=tab+res[i][1][j]+"\n";
		 	//alert('res['+i+'][1]['+j+']="'+res[i][1][j]+'"');
			//alert('res['+i+'][0]="'+res[i][0]+'"');
		 }
		 
	  }
	  alert("Не заполнены/выбраны следующие обязательные поля:\n" + mess);
	  //document.body.style.cursor='default';
	  //alert();
      return false;
   }
   return true;
   
}

//-------------------- SubmitTo>
// Функция посылки определенной формы, если конечно проверка успешна
function SubmitTo(to, form_obj, link)
{ //alert('to='+to+' form_obj='+form_obj+' link='+link);
	
	// Проверяем генерируемой функцией
	//if (check()) {
	if (CheckFormByRequiredAttr(form_obj)) {
		
		// Меняем стиль курсора на ожидающий
		link.style.cursor='wait';
		document.body.style.cursor='wait';
		
		if (to) form_obj.action=to;
		//alert('Проверка успешно пройдена, посыалем форму')
		// Теперь предупреждение на то, что выставленно удаление
		if (delChoodedGoodWarn(form_obj))
	 		form_obj.submit();
		else {
			//alert('Почему-то эта мегафункция возвратила - ложь...');
			return false;
		}
		
		return true;
	}
	return false;
}

//-------------------- EditChoosedFotoWarn>
// Функция открытия окошко редактирования для выбранных елементов
function EditChoosedFotoWarn(page_id, page, form_obj)
{//alert('page_id='+page_id);
	// Просматриваем все элементы и если у них имя marked, то смотрим - выбран
	// или нет. Если ничего не выбрано - то сообщение об ошибке
	var ref="";
	var choosed=false;
	if (form_obj==null) return false;
	
	for (var i = 0; i<form_obj.elements.length; i++) {//alert('Просматриваем: "'+form_obj.elements[i].name+'"');
		//alert('Елемент: '+form_obj.elements[i].name);
		// Проверяем checkbox по имени и смотрим - выбран ли он
		if (   (form_obj.elements[i].name.indexOf("marked")!=-1) &&
							(form_obj.elements[i].checked)  )
				 {
			//alert("Выбран: "+form_obj.elements[i].name);
			// Выбираем идентификатор в скобочках
			b=form_obj.elements[i].name.indexOf("[")+1;
			e=form_obj.elements[i].name.indexOf("]");
			id=form_obj.elements[i].name.substring(b,e);
			choosed=true;
			ref+="&fotos[]="+id;
		}
	}
	if (choosed) {
		//alert('Открываем редактирование с page_id="'+page_id+'", и ref="'+ref+'"');
		openEditWin(page_id,page, ref)
		return false;
	}else {
		alert('Ни одного элемента не выбрано!');
		return false;
	}
}//function EditChoosedFotoWarn(form_obj)

//-------------------- LoadOpener>
// Функция закрытия окошка и открытия в родительском окне
// требуемого документа
function LoadOpener(to, link)
{ //alert('name='+name);	
	link.style.cursor='wait';
	opener.location=to; 
	self.close();
	return false;
}

//-------------------- delFotoWarn>
// Предупреждение по удаление одной фотографии
function delFotoWarn(fid)
{
	return window.confirm("Вы уверены, что хотите удалить элемент '"+fid+"'?");
}

//-------------------- delChoosedFotoWarn>
// Формирование ссылки на удаление выбранных элементов
// или выдача предупреждения, если ничего не выбрано
function delChoosedFotoWarn(page_id, page, form_obj)
{	//alert("page_id='"+page_id+"', form_obj='"+form_obj+"'");
	var choosed=false;
	var ref="";
	if (form_obj==null) return false;
	
	for (var i = 0; i<form_obj.elements.length; i++) {//alert('Просматриваем: "'+form_obj.elements[i].name+'"');
		//alert('Елемент: '+form_obj.elements[i].name);
		// Проверяем checkbox по имени и смотрим - выбран ли он
		if (   (form_obj.elements[i].name.indexOf("marked")!=-1) &&
							(form_obj.elements[i].checked)  )
		 {
			b=form_obj.elements[i].name.indexOf("[")+1;
			e=form_obj.elements[i].name.indexOf("]");
			id=form_obj.elements[i].name.substring(b,e);
			choosed=true;
			ref+="&fotos[]="+id;
		}
	}
	if (!choosed) {
		alert("Ничего не выбрано!");
		return false;
	}
	if (window.confirm('Вы уверены, что хотите удалить все выбранные елементы?')) {
		// Перенаправляем на удаление
		url='/admin/fotos_unit/del.php?page_id='+page_id+'&page='+page+ref; //alert("Перенаправляем на '"+url+"'");
		window.location=url;
		return true;
	}else
		return false;
}


//************************************************************** << FUNCTIONS
