var checkedAll=false;
var imagesLoad=new Array();
var countImages=0;
var imagesDir='/images/';

function preloadImage(name, first, second) {  
  // предварительна\я загрузка изображений и размещение их в массиве 
  if (browserOK) {     
    imagesLoad[countImages] = new Array(3);
    imagesLoad[countImages][0] = new Image();
    imagesLoad[countImages][0].src = imagesDir+first;
    imagesLoad[countImages][1] = new Image();
    imagesLoad[countImages][1].src = imagesDir+second;
    imagesLoad[countImages][2] = name;
	//alert(imagesLoad[countImages][0]+'\n'+imagesLoad[countImages][0].src+'\n'+imagesLoad[countImages][1]+'\n'+imagesLoad[countImages][1].src);
    countImages++;
  }
}

function on(name){
  if (browserOK) {
     for (i = 0; i < countImages; i++) {
      if (document.imagesLoad[imagesLoad[i][2]] != null)
        if (name != imagesLoad[i][2]) { 
          // вернуть в исходное систо\яние все другие изображени\я 
          document.images[imagesLoad[i][2]].src = imagesLoad[i][0].src;
        } else {
           // показывать вторую картинку, поскольку курсор пересекает данное изображение 
           document.images[imagesLoad[i][2]].src = imagesLoad[i][1].src;
        }
    }
  }
}

function off(){
  if (browserOK) {
     for (i = 0; i < countImages; i++) {
      // вернуть в исходное систо\яние все изображени\я 
      if (document.images[imagesLoad[i][2]] != null) 
        document.images[imagesLoad[i][2]].src = imagesLoad[i][0].src;
    }
  }
}

function getLoadedImageId(name){
	for(var i=0;i<countImages;i++){
		if(imagesLoad[i][2]!=null&&name==imagesLoad[i][2])return i;
	}
	return -1;
}
function over(curr_obj,image_name){
	var id=getLoadedImageId(image_name);
	//alert(id);
	if(id!=-1)
		document.getElementById(curr_obj).src=imagesLoad[id][1].src;
}
function out(curr_obj,image_name){
	var id=getLoadedImageId(image_name);
	//alert(id);	
	if(id!=-1)
		document.getElementById(curr_obj).src=imagesLoad[id][0].src;
}

function delPic(pic1,pic2){
	if(pic2.value=='NULL'||pic2.value==''){
	alert('Нельзя удалить единственную картинку!');return false;}
	if(pic1.value=='NULL'||pic1.value==''){
	alert('Картинка отсутствует!');return false;}
	if(confirm('Вы действительно хотите удалить картинку?')){
		pic1.value='_#DELLFIELD#_';
		return true;
	}
	return false;
}

function delPicLink(form,elem,field){
	if(confirm('Вы действительно хотите удалить картинку?')){
		elem.href+='&'+field+'=_#DELLFIELD#_';
	}
	else
		elem.href=location.href;
}

function CheckAll(form){
    for(var i=0;i<form.elements.length;i++){
        if(form.elements[i].type=="checkbox"){
            if(form.elements[i].disabled!=true)
            form.elements[i].checked=true;
        }
    }
    checkedAll=true;
}

function ClearAll(form){
    for(var i=0;i<form.elements.length;i++){
        if(form.elements[i].type=="checkbox"){
            form.elements[i].checked=false;
        }
    }
    checkedAll=false;
}

function isChecked(form,del){
var a='';
var b='\n!Безвозвратно будут удалены элементы\n:';
var l=b.length;
for(var i=0;i<form.elements.length;i++){
    if(form.elements[i].type=="checkbox"){
        if(form.elements[i].checked==true){
            if(form.elements[i].title=="hide"&&del){
                    b+="\n\t"+form.elements[i].id;
            }
            else
            a+="\n\t"+form.elements[i].id;
        }
    }
}
if(l==b.length)b='';
return a+b;
}

function onChangeParent(form){
for(var i=0;i<form.elements.length;i++){
    if(form.elements[i].type=="checkbox"){
        if(form.remove.options[form.remove.selectedIndex].text==form.elements[i].id){
            form.elements[i].disabled=true;
            form.elements[i].checked=false;
        }
        else{
          form.elements[i].disabled=false;
          if(checkedAll)
            form.elements[i].checked=true;
        }
    }
}
}

function ConfirmDelR(form,name_do){
var a='Удалить? ';
var b=isChecked(form,true);
if(b!=''){
    if(confirm(a+''+b)){
	    for(var j = 2; j < ConfirmDelR.arguments.length;j+=2) {
			form.action+='&'+ConfirmDelR.arguments[j]+'='+ConfirmDelR.arguments[j+1];
		}
        form.action+='&'+name_do+'=DEL';
        form.submit();
    }
    return true;
}
alert("Не выбрано ни одного элемента!");
return false;
}

function ConfirmRem(form,name_do){
var a='Желаете переместить: ';
var b='';
var alt=isChecked(form,false);
var ok=true;
var where='';
if(alt==''){
    b+="Не выбрано ни одного элемента!"+"\n";
    ok=false;
}
if(form.remove.options[0].selected){
    b+="Не выбран раздел для перемешения"+"\n";
    ok=false;
}
else{
    where='\nВ раздел:\n\t'+form.remove.options[form.remove.selectedIndex].text;
}
if(ok){
    if(confirm(a+alt+where)) {
	    form.action+='&where='+form.remove.options[form.remove.selectedIndex].value+'&'+name_do+'=MOVE';
        form.submit();
    }
    return true;
}
alert(b);
return false;
}

function confirmLinkDel(elem,form,page_name,hide,name_do){
var a='';
if(hide=="1")
    a=' '+form.title+' будут удален безвозвратно: \n\t'+page_name;
else
    a='Удалить '+form.title+'?\n\t'+page_name;
var com=confirm(a);
if(com) elem.href+='&'+name_do+'=DEL';
else elem.href=location.href;
return com;
}

function initArray(){
  this.length = initArray.arguments.length
  for(var i = 0; i < this.length; i++)
    this[i] = initArray.arguments[i]
}

function valid(form){
    var a="пустые значения полей: \n";
    var notCor="Не кор_ектно заполненны поля"
    var k=0;
    var ok=true;
    var correct=true;
    for(var i=0;i<form.elements.length;i++){
        if(form.elements[i].id!=""){
         if(form.elements[i].value==""){
            if(form.elements[i].id!="10"){
				ok=false;
				a+="\t"+form.elements[i].title+"\n";
			}
         }
         else{
         //проверка цифры
            if(form.elements[i].id==2){
             if(!isNumeric(form.elements[i].value)){
                notCor+="\n\t Поле: "+form.elements[i].title+" - должно состоять из цыфирь!\n"+
                "\tи первый элемент не нульь";
                correct=false;
                }
             }
            //проверка правельности канонического имени
            if(form.elements[i].id==1){
                if(!isCorectName(form.elements[i].value)){ notCor+="\n\tПоле:"+form.elements[i].title+" не должно содержать: \n\t{ "+
                "!"+"@"+"#"+"$"+"%"+"^"+"&"+"*"+
                "("+")"+"-"+"="+"+"+","+"."+"\\" + "|" + "/" + "<"+">"+
                 "~"+"`"+"'"+"\""+"{"+"}"+"["+"]"+"?"+" }"+"\n\t"+"или начинаться на цифру\n";
                 correct=false;}
            }
			 //проверка  URL
			if(form.elements[i].id==10){
				if(isUrlName(form.elements[i].value)==false){
					notCor+="\n\t Поле: "+form.elements[i].title+" - должно состоять из латинских литеров!\n"+
					"\t сомвола потчеркивания и может иметь цыфры\n"+
					"\t после латинского литера\n";
					correct=false;
				}
			}
			if(form.elements[i].id==20){
				if(isEMailName(form.elements[i].value)==false){
					notCor+="\n\tПоле:"+form.elements[i].title+" содержет не корректный адрес.";
				 correct=false;							
				}	
			}
         }
        }
    }
    if(ok)a='';
    if(correct)notCor='';
    if(!ok||!correct){
		if(form._META_SUMM!=null)unTraster(form._META_SUMM);
		if(form._META_valid!=null)unTraster(form._META_VALID);
        alert(a+"\n"+notCor);
        return false;
    }
	if(form._META_SUMM!=null)traster(form._META_SUMM);
	if(form._META_valid!=null)traster(form._META_VALID);	
    return true;
}

function theInputHave(input){
  var ok=false;
  var a='';
  for(var i = 0; i < input.length; i++) {
    var chr=input.charAt(i);
    var fined=false;
    for(var j = 1; j < theInputHave.arguments.length;j++) {
      if (chr == theInputHave.arguments[j]){fined=true;}
    }
    if(fined==true) ok=true;
  }
  return ok;
}

function allCharsIs(input){
  var ok=true;
  var a="";
  for (var i = 0; i < input.length; i++) {
    var chr=input.charAt(i);
    var fined=false;
    for(var j = 1; j < allCharsIs.arguments.length; j++) {
      if (chr == allCharsIs.arguments[j]){fined=true;}
    }
    if(fined==false) ok=false;
  }
  return ok;
}

function amountCharecters(input,ch){
	var count=0;
	for(var i=0;i<input.length;i++){
		if(input.charAt(i)==ch) count++;
	}
	return count;
}
//id=2
function isNumeric(input) {
 var chr = input.charAt(0);
  if(chr=="0")return false;
  return allCharsIs(input,"1", "2", "3", "4",
        "5", "6", "7", "8", "9", "0");
}
//id=10
function isUrlName(input){
	if(input.charAt(0)=="_")
		if(isNumeric(input.charAt(1)))return false;
	if(isNumeric(input))return false;
    return allCharsIs(input,"_",
	"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",
"1", "2", "3", "4","5", "6", "7", "8", "9", "0");
}
//id=1
function isCorectName(input){
    if(isNumeric(input.charAt(0)))return false;
    return !theInputHave(input,"!","@","#","$","%","^","&","*",
    "(",")","-","=","+",",",".","\\","|","/","<",">",
    "~","`","'","\"","{","}","[","]","?");
}
//id=20
function isEMailName(input){
	//alert(input);
	if(amountCharecters(input,'@')==1)
		if(amountCharecters(input,".")>=1){
			s=input.indexOf('@');
			var user=input.substring(0,s-1);
			//if(user.charAt(0)!="_")
				/*if(allCharsIs(user,"_",
					"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
					"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")){
					var dom=input.substring(s+1,input.length);
				if(allCharsIs(dom,".",
					"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
					"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"))*/
					return true;
				//}
		}
	return false;
}
var oldValueErrorURL='';

function saveAldValue(elem){
    if(elem.value!='')oldValueErrorURL=elem.value;
}

function onPageInput(whereElem,fromElem){
    if(fromElem.options[0].selected){
        whereElem.value=oldValueErrorURL;
    }
    else{
        if(oldValueErrorURL=='')
            oldValueErrorURL=whereElem.value;
        whereElem.value=fromElem.options[fromElem.selectedIndex].value;
    }
}
//РАБОТА С РЕДАКТОРОМ
//начальные позиции элементов
var start_posisions_element_in_content=new Array();
//значение добавляемое в контент
var value_to_content='';
//выделенное значение в сонтенте
var selected_value_content='';
var startPos;
var endPos;
var pageLinks;
var pageForm;
var g_content;
function getObjectsLength(){}
//функция проверки выбора обьекта
function isObjects(){}
//функция которая готовит значение выбранного эллемента или части строки
function selectState(elem){
         g_content=elem;
         if(elem.selectionStart||elem.selectionStart=='0'){
              startPos=elem.selectionStart;
              endPos=elem.selectionEnd;
              selected_value_content=g_content.value.substring(startPos,endPos);
         }
         else if(document.selection){
            elem.focus();
            var sel=document.selection.createRange();
            selected_value_content=sel.text;
            startPos=sel;
            endPos=null;
         }
         else{
              selected_value_content='';
              endPos=startPos=g_content.value.length;
         }
}

function setValueToContent(val){
         value_to_content=val;
         insertToContent();
}
//дабавление элементов в сонтент
function insertToContent(){
         if(value_to_content=='')return;
         if(endPos||endPos=='0'){
            g_content.value=g_content.value.substring(0,startPos)+value_to_content+g_content.value.substring(endPos,g_content.value.length);
         }else if(endPos!=startPos&&startPos){
          startPos.text=value_to_content;
         }
         else{
              		g_content.value+=value_to_content;
         }
         value_to_content='';
}
//добавление ссылки в контент
function linkToPage(elem){
selectState(elem);
pageLinks=open("editor.php?page=link&selected="+selected_value_content,"Content","width=500,height=200,status=no,toolbar=no,menubar=no,alwaysLowered=yes,directories=no,scrollbars=no,resizable=no,copyhistory=no");
}

function linkImageToPage(elem){
selectState(elem);
pageLinks=open("editor.php?page=picture&selected="+selected_value_content,"Content","width=500,height=200,status=no,toolbar=no,menubar=no,alwaysLowered=yes,directories=no,scrollbars=no,resizable=no,copyhistory=no");
}
function createTableToPage(elem){
selectState(elem);
pageLinks=open("editor.php?page=table&selected="+selected_value_content,"Content","width=800,height=600,status=no,toolbar=no,menubar=no,alwaysLowered=yes,directories=no,scrollbars=yes,resizable=no,copyhistory=no");
}

function fileToPage(select,toElem){
selectState(toElem);
   if(!select.options[0].selected){
          value_to_content='[file]'+select.options[select.options.selectedIndex].value+'[/file]';
   insertToContent();
   }
   else value_to_content='';
}
function validTextPosition(pos){
var start;
var end;
if((start=selected_value_content.indexOf("<p class=\"text\" align="))!=-1){
   if(selected_value_content.indexOf(pos)!=-1)return;
   else{
      start+=new String('<p class=\"text\" align="').length;
      end=selected_value_content.indexOf('"',start);
      value_to_content=selected_value_content.substring(0,start)+pos+selected_value_content.substring(end,selected_value_content.length);
   }
}
else
    value_to_content='<p class="text" align="'+pos+'">'+selected_value_content+'</p>';
}

function textLeft(element){
selectState(element);
validTextPosition('left');
insertToContent();
}
function textCenter(element){
selectState(element);
validTextPosition('center');
insertToContent();
}
function textRight(element){
selectState(element);
validTextPosition('rigth');
insertToContent();
}

function Bold(element){
selectState(element);
value_to_content='<b>'+selected_value_content+'</b>';
insertToContent();
}
function Kursiv(element){
selectState(element);
value_to_content='<i>'+selected_value_content+'</i>';
insertToContent();
}

function textUnderLine(element){
selectState(element);
value_to_content='<u>'+selected_value_content+'</u>';
insertToContent();
}

function setHeaders(element){
selectState(element);
if(selected_value_content.indexOf("<h2>")!=-1){
   if(selected_value_content.indexOf("</h2>")!=-1)return;
   else value_to_content=selected_value_content+'</h2>';
}
else{
     if(selected_value_content.indexOf("</h2>")!=-1)
        value_to_content='<h2>'+selected_value_content;
     else
         value_to_content='<h2>'+selected_value_content+'</h2>';
}
insertToContent();
}

function showBigPic(pic,alt,width,height,subject){
	//alert('show now!!!');
	add_height=0;
	if(subject!='')
		add_height=100;
	pageLinks=open("","Content","width="+(width+20)+",height="+((height+40)+add_height)+",status=no,toolbar=no,menubar=no,alwaysLowered=yes,directories=no,scrollbars=no,resizable=yes,copyhistory=no");
	pageLinks.document.open();
	pageLinks.document.write("<html><head><title> "+alt+"</title>");
	pageLinks.document.write("<meta content=\"text/html\"; charset=\"windows-1251\">");
	pageLinks.document.write("<meta name=\"description\" content=\"\">");
	pageLinks.document.write("<meta name=\"keywords\" content=\"\">");
	pageLinks.document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"./style.css\">");
	pageLinks.document.write("</head><body onClick=\"closeIt();\">");
	pageLinks.document.write("<script language=\"JavaScript\"><!--\n");
	pageLinks.document.write("function closeIt(){close();}\n");
	pageLinks.document.write("//--></script>");
	pageLinks.document.write("<table height=\"100%\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td");
	if(subject=='')
	pageLinks.document.write(" vAlign=\"middle\"");
	pageLinks.document.write(" align=\"center\"><a style=\"cursor: hand;\"><img class=\"preview\" border=\"1\" alt=\""+alt+"\" src=\""+pic+"\" width=\""+width+"\" height=\""+height+"\" ></a></td></tr>");
	if(subject!='')
	pageLinks.document.write("<tr><td valign=\"top\" align=\"center\"><p class=\"text\">"+subject+"</p></td></tr>");
	pageLinks.document.write("</table>");
	pageLinks.document.write("</body></html>");
	pageLinks.document.close();
}

var color_daley=150;
var color_count_merg=3;
var color_daley_next=5000;
var color_timer;

function timeChangeCollorFont(id,start_color,merg_color){
	var font=document.getElementById(id);
	var daley;
	if(font!=null){
		//alert(font.color);
		if(start_color==font.color){
			font.color=merg_color;
		}else{
			font.color=start_color;
		}
		if(color_count_merg<=0){
			font.color=start_color;
			color_count_merg=3;
			daley=color_daley_next;
		}
		else{
			color_count_merg-=1;
			daley=color_daley;
		}
		if(color_timer!=null){
			clearTimeout(color_timer);
			dalay=color_daley_next;
		}
		color_timer=setTimeout('timeChangeCollorFont("'+id+'","'+start_color+'","'+merg_color+'")',daley);
	}
}
