var checkedAll=false;
var imagesLoad=new Array();
var countImages=0;
var imagesDir='/images/';

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 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)){
        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";
			}
            if(form.elements[i].id==11){
            	ok=true;
            }
         }
         else{
             //проверка цифры
             if(form.elements[i].id==11){
              if(!isDigyt(form.elements[i].value)){
                 notCor+="\n\t Поле: "+form.elements[i].title+" - должно состоять из цыфирь!";
                 correct=false;
                 }
              }
         //проверка не нулевой цифры
            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){
        alert(a+"\n"+notCor);
        return false;
    }
    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=11
function isDigyt(input) {
	  return allCharsIs(input,"0", "1", "2", "3", "4",
	        "5", "6", "7", "8", "9", "0");
	}
//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 createListToPage(elem){
	selectState(elem);
	if(confirm('Сделать нумеративний список?'))
		value_to_content='[numlist]\n'+selected_value_content+'\n[/numlist]';
	else
		value_to_content='[list]\n'+selected_value_content+'\n[/list]';
	insertToContent();
}

function createTableToPage(elem){
	selectState(elem);
	value_to_content='[table]\n'+selected_value_content+'\n[/table]';
	insertToContent();
}

function fileToPage(select, pos, elem){
	selectState(elem);
   if(!select.options[0].selected && select.options[select.options.selectedIndex].value!='-1'){
      var p = '';
      if(!pos.options[0].selected && pos.options[pos.options.selectedIndex].value!='-1'){
      	p = ' p=' + pos.options[pos.options.selectedIndex].value;
      }
          value_to_content='[file' + p + ']'+select.options[select.options.selectedIndex].value+'[/file]';
   insertToContent();
   }
   else value_to_content='';
}

function fileToPageRadio(select, pos, elem){
    selectState(elem);
   if(!select.options[0].selected && select.options[select.options.selectedIndex].value!='-1'){
      var p = '';
      var file = select.options[select.options.selectedIndex].value;
      for( var i=0; i < pos.length; i++){
      		if(pos[ i ].checked == true && pos[ i ].value != '0' ){
      			 if(pos[ i ].value == 'c'){
      			 	file = '<center>[file]' + file + '[/file]</center>';
      			 }else{
      			 	file ='[file p=' + pos[ i ].value + ']' + file + '[/file]';
      			 }
      			 break;     			
      		}
      }
      if( file != select.options[select.options.selectedIndex].value )
      	value_to_content=file;
      else
          value_to_content='[file' + p + ']'+file+'[/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('right');
insertToContent();
}

function textJustify(element){
selectState(element);
validTextPosition('justify');
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 textRed(element){
selectState(element);
value_to_content='<span class="morered">'+selected_value_content+'</span>';
insertToContent();
}

function textGrey(element){
selectState(element);
value_to_content='<span class="moregrey">'+selected_value_content+'</span>';
insertToContent();
}

function textBlue(element){
selectState(element);
value_to_content='<span class="moreblue">'+selected_value_content+'</span>';
insertToContent();
}

function textBreak(element){
selectState(element);
value_to_content = selected_value_content+'<br>';
insertToContent();
}

function textComent(element){
selectState(element);
value_to_content='<!-- ' + selected_value_content  + ' -->';
insertToContent();
}

function textBlockquote(element){
selectState(element);
value_to_content='<blockquote>'+selected_value_content+'</blockquote>';
insertToContent();
}

function textPrice(element){
	selectState(element);
	value_to_content = selected_value_content + '\n[price]\n';
	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+",height="+(height+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\"");
	else
	pageLinks.document.write(" vAlign=\"top\"");
	pageLinks.document.write(" align=\"left\"><a style=\"cursor: hand;\"><img class=\"preview\" border=\"1\" alt=\""+alt+"\" src=\""+pic+"\" width=\""+width+"\" height=\""+height+"\" ></a></td></tr>");
	pageLinks.document.write("<tr><td valign=\"top\" align=\"center\"><p class=\"text\">"+subject+"</p></td></tr></table>");	
	pageLinks.document.write("</body></html>");
	pageLinks.document.close();
}


      function createXMLHttp() {
        if(typeof XMLHttpRequest != "undefined") { // для браузеров аля Mozilla

          return new XMLHttpRequest();
        } else if(window.ActiveXObject) { // для Internet Explorer (all versions)
          var aVersions = ["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0",
                   "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp",
                   "Microsoft.XMLHttp"
                   ];
          for (var i = 0; i < aVersions.length; i++) {
            try { //
              var oXmlHttp = new ActiveXObject(aVersions[i]);

              return oXmlHttp;
            } catch (oError) {

            }
          }
          throw new Error("Невозможно создать объект XMLHttp.");
        }
        return null;
      }
      
	function saveResult(out_div,sText){
        	out_div.innerHTML = sText;
	}
	
  function addHandler(element, event, handler){
   //alert(element+"\n"+event+"\n"+handler);
    if (element.attachEvent)
      element.attachEvent('on' + event, handler);
    else
      if (element.addEventListener)
        element.addEventListener(event, handler, false);
  }
