function editor_check_all(checkbox) {
	var e = checkbox.form[checkbox.name.replace('_all','')+'[]'];
	if(e != null) {
        if(e.length) {
        	for(var i=0; i<e.length; i++)
				e[i].checked = checkbox.checked;
        } else
			e.checked = checkbox.checked;
	}
}

function editor_checked_number(checkbox) {
	var e = checkbox; //checkbox.form[checkbox.name];
	var checked_no = 0;
	if(e != null) {
		if(e.length) {
			for(var i=0; i<e.length; i++)
				if(e[i].checked)
					checked_no++;
		} else
			checked_no = e.checked ? 1 : 0;
	}
	return checked_no;
}

function generateAlias(value, lowCased) {
    value = cyr2lat(value);
	if(lowCased) {
		value = value.toLowerCase();
	}
	value = value.replace(/\s+/g,'-');
	value = value.replace(/[^a-zA-Z0-9\-_]+/g,'');
	value = value.replace(/\-+/g,'-');
	value = value.replace(/^\-/g,'');
	value = value.replace(/\-$/g,'');
	return value;
}

function autoCompleteAlias(form, src_name, lowCased) {
	form.file.value = generateAlias(form[src_name].value, lowCased);
}

function autoCompleteAliasAutors(form, src_name, src_surname, lowCased) {
	form.dir.value = generateAlias(form[src_surname].value+' '+form[src_name].value, lowCased);
}


function cyr2lat(str) {
    var ru = new Array('ю', 'а', 'б', 'ц', 'д', 'е', 'ф', 'г', 'х', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'я',  'р', 'с', 'т', 'у', 'ж', 'в', 'ь', 'ы', 'з', 'ш',  'э', 'щ',  'ч', 'ъ', 'і', 'ї',  'ё', 'Ю', 'А', 'Б', 'Ц', 'Д', 'Е', 'Ф', 'Г', 'Х', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Я',  'Р', 'С', 'Т', 'У', 'Ж', 'В', 'Ь', 'Ы', 'З', 'Ш',  'Э', 'Щ',  'Ч',  'Ъ', 'І', 'Ї', 'Ё');
    var en = new Array('yu', 'a', 'b', 'ts', 'd', 'e', 'f', 'g', 'h', 'i', 'y', 'k', 'l', 'm', 'n', 'o', 'p', 'ya', 'r', 's', 't', 'u', 'zh', 'v', '',  'i', 'z', 'sh', 'e', 'sh', 'ch', '', 'i', 'yi', 'e', 'Yu', 'A', 'B', 'Ts', 'D', 'E', 'F', 'G', 'H', 'I', 'Y', 'K', 'L', 'M', 'N', 'O', 'P', 'Ya', 'R', 'S', 'T', 'U', 'Zh', 'V', '',  'I', 'Z', 'Sh', 'E', 'Sh', 'Ch', '',  'I', 'Yi','E');
	for(i in ru) {
		str = str.replace(new RegExp(ru[i],'g'), en[i]);
	}
	return str;
}

function autoCompleteAutorRod(form, src_name, src_surname) {
	var AutorName = new String(form[src_name].value);
	AutorNameLength = AutorName.length;
	switch(AutorName.substr(-1)) {
		case 'й' : Name = AutorName.substring(0,AutorNameLength-1)+'я';break;
		case 'я' : Name = AutorName.substring(0,AutorNameLength-1)+'и';break;
		case 'а' : Name = AutorName.substring(0,AutorNameLength-1)+'ы';break;
		case 'ь' : Name = AutorName.substring(0,AutorNameLength-1)+'я';break;
		default : Name = AutorName+'а';
	}
	var AutorSurname = new String(form[src_surname].value);
	AutorSurnameLength = AutorSurname.length;
	switch(AutorSurname.substr(-1)) {
		case 'й' : Surname = AutorSurname.substring(0,AutorSurnameLength-2)+'ого';break;
		case 'о' : Surname = AutorSurname;break;
		case 'а' : Surname = AutorSurname.substring(0,AutorSurnameLength-1)+'ой';break;
		default : Surname = AutorSurname+'а';
	}
	form.news_name.value = Name+' '+Surname;
}




function autoCompletePersonVin(form, src_name, src_surname) {
	var AutorName = new String(form[src_name].value);
	AutorNameLength = AutorName.length;
	switch(AutorName.substr(-1)) {
		case 'й' : Name = AutorName.substring(0,AutorNameLength-1)+'я';break;
		case 'я' : Name = AutorName.substring(0,AutorNameLength-1)+'ю';break;
		case 'а' : Name = AutorName.substring(0,AutorNameLength-1)+'у';break;
		case 'ь' : Name = AutorName.substring(0,AutorNameLength-1)+'я';break;
		default : Name = AutorName+'а';
	}

	var AutorSurname = new String(form[src_surname].value);
	AutorSurnameLength = AutorSurname.length;
	if(AutorSurname.substr(-2)=='ая') {
		Surname = AutorSurname.substring(0,AutorSurnameLength-2)+'ую';
	} else
	switch(AutorSurname.substr(-1)) {
		case 'й' : Surname = AutorSurname.substring(0,AutorSurnameLength-2)+'ого';break;
		case 'о' : Surname = AutorSurname;break;
		case 'а' : Surname = AutorSurname.substring(0,AutorSurnameLength-1)+'у';break;
		default : Surname = AutorSurname+'а';
	}

	form.PersonEpigName.value = Name+' '+Surname;
}
/*
// Вызывается для обработки результатов ajax-запроса при валидации формы
function showResponse(responseText)  { 

	var obj = jQuery.parseJSON(responseText);
	if (obj.location) {window.location=obj.location}
	$.each(obj, function(index, value) { 
	$("#ajerr-"+index).text(value);
	if (value) {
		$("#"+index).addClass('form-error');
	} else {
		$("#"+index).removeClass('form-error');
	}
	});
}
*/

function showResponse(responseText)  {
    var classErrorMSG = 'error-message';
    var classErrorPaint = 'form-error';
  
    var obj = jQuery.parseJSON(responseText);
    if (obj.location) {
        window.location=obj.location
    }
    else {
        $('.'+classErrorMSG).remove();
        $('.'+classErrorPaint).removeClass(classErrorPaint);
        $.each(obj, function(index, value) {
            if(index == 'global_message'){
                $('#info_message').show();
                $('#info_message').append('<div class="msg msg-error"><p>'+value+'<img class="del-x" src="/img/icon/close.png"></p></div>');
				$(".del-x").click(function() {$(this).parent().parent().fadeOut("medium", function() {$(this).empty()});});
				
				/*
                $('#info_message').dialog({
                    modal: true,
                    buttons: {
                        Ok: function() {
                          //  $.scrollTo('.'+classErrorMSG+':first', 'slow');
                          //  $( this ).dialog( "close" );
                        }
                    }
                });
				*/
            }
            else {
                $("#"+index).addClass(classErrorPaint);
                $("#"+index).before('<div class = "'+classErrorMSG+'">'+value+'</div>');
            }
        });
    }
	
	

}
