//*********************************************************************
/*
wwww.tigir.com - 06.07.2006
Source: http://www.tigir.com/js/opacity.js
Библиотека opacity.js к статье "CSS прозрачность (css opacity, javascript opacity)" - http://www.tigir.com/opacity.htm
setElementOpacity - установка прозрачности
getOpacityProperty - проверка, есть ли возможность менять прозрачность
*/
/* Функция кроссбраузерной установки прозрачности
Пример: setElementOpacity(document.body, 0.5); //сделать документ прозрачным на половину
*/
function setElementOpacity(oElem, nOpacity)
{
var p = getOpacityProperty();
(setElementOpacity = p=="filter"?new Function('oElem', 'nOpacity', 'nOpacity *= 100; var oAlpha = oElem.filters["DXImageTransform.Microsoft.alpha"] || oElem.filters.alpha; if (oAlpha) oAlpha.opacity = nOpacity; else oElem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";'):p?new Function('oElem', 'nOpacity', 'oElem.style.'+p+' = nOpacity;'):new Function)(oElem, nOpacity);
}
// Функция getOpacityProperty() возвращает свойство которое используется для смены прозрачности или undefined, и может использоваться для проверки возможности изменения прозрачности
function getOpacityProperty()
{
var p;
if (typeof document.body.style.opacity == 'string') p = 'opacity';
else if (typeof document.body.style.MozOpacity == 'string') p = 'MozOpacity';
else if (typeof document.body.style.KhtmlOpacity == 'string') p = 'KhtmlOpacity';
else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) p = 'filter';
return (getOpacityProperty = new Function("return '"+p+"';"))();
}
//*********************************************************************
// функция для вывода мыла на странице
function a_email(login,domain,a_content,a_text)
{
if(a_email.arguments.length < 3) a_content = "";
eml = login + "@" + domain;
if(a_email.arguments.length == 4) a_str = ''+ a_text + '';
else a_str = ''+ eml + '';
document.write (a_str);
}; // end function a_email(login,domain,a_content)
if(typeof(clc)!= "function"){
function clc(){return true;}
};
//**********
// Создаем для объекта String метод trim
if(typeof(String.prototype.trim) != "function"){
String.prototype.trim = function () {
var str = this;
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
}
// Создаем для объекта String метод strip_tags - очистка строки от тегов
if(typeof(String.prototype.strip_tags) != "function"){
String.prototype.strip_tags = function () {
var str = this;
return str.replace(/\<.+?\>/g, '');
}
}
function validate_f_otbor(){ // предварительная проверка данных перед отправкой "быстрый поиск по фамилии"
var out_rez=true;
// заполнение полей
out_rez = (out_rez && document.getElementById("char").value.length>0);
if(!out_rez){
alert("НЕТ ДАННЫХ ДЛЯ ОТБОРА!");
document.getElementById("char").focus();
} else {
document.getElementById("f_otbor").submit();
}
return out_rez;
} // end function validate_f_otbor()
// http://www.tigir.com/javascript.htm
// узнать положение элемента на странице (определение координат элемента)
// Функция возвращает объект со свойствами left, top, width, height,
//определяющими координаты элемента относительно верхнего угла страницы, а так же его размеры.
if(typeof(getElementPosition) != "function"){
function getElementPosition(elemId)
{
var elem = document.getElementById(elemId);
var w = elem.offsetWidth;
var h = elem.offsetHeight;
var l = 0;
var t = 0;
while (elem)
{
l += elem.offsetLeft;
t += elem.offsetTop;
elem = elem.offsetParent;
}
return {"left":l, "top":t, "width": w, "height":h};
} // end function getElementPosition(elemId)
}
//*********************************************************************
// служебные функции подписки и отписки объекта на событие
function addHandler(object, event, handler, useCapture) {
if (object && object.addEventListener) {
object.addEventListener(event, handler, useCapture ? useCapture : false);
} else if (object && object.attachEvent) {
object.attachEvent('on' + event, handler);
}
//else alert("Add handler is not supported");
}
function removeHandler(object, event, handler) {
if (object.removeEventListener) {
object.removeEventListener(event, handler, false);
} else if (object.detachEvent) {
object.detachEvent('on' + event, handler);
} else alert("Remove handler is not supported");
}
// создаем слой для показа хелпа
// id - hlp_div
function create_hlp_div(){
// находим элемент BODY
var tmp_body_arr = document.getElementsByTagName("BODY");
var el_body = tmp_body_arr[0];
// создаем элемент
var el_div = document.createElement("DIV");
// устанавливаем атрибуты
el_div.id = "hlp_div";
el_div.title = "Закрыть";
// делаем слой временно не видимый
//el_big_div.style.visibility = "hidden";
// прописываем слой в BODY
el_body.appendChild(el_div);
// цепляем обработчик событий для клика на слое
addHandler(el_div, "click", remove_div);
remove_div.div_id = "hlp_div";
// возвращаем ссылку на объект
return document.getElementById("hlp_div");
} // end function create_hlp_div()
// удаление эдемента (непоср. потомка BODY)
function remove_div(){
//alert(arguments.callee.div_id);
// находим элемент BODY
var tmp_body_arr = document.getElementsByTagName("BODY");
var el_body = tmp_body_arr[0];
// находим элемент
var el_div = document.getElementById(arguments.callee.div_id);
// удаляем...
el_body.removeChild(el_div);
}
// задаем свойство для передачи параметров в функцию remove_div() ..
remove_div.div_id = "";
help_arr = new Array;
help_arr["hlp_citizen"] = 'Гражданство: СССР, Греция, Турция...
В СССР не было гражданства Украины, Грузии... ';
help_arr["hlp_dolgnost"] = 'В графе "Место работы и должность на момент ареста" сначала указывается название предприятия или организации, затем (через запятую) должность.
Примеры:
колхоз им. Чапаева, колхозник.
Или: Ж/д ст. Дебальцево Донецкой ж/д, машинист паровоза,
или школа № 2 г. Сухуми, учитель.';
help_arr["hlp_birthplace"] = 'При заполнении полей "Место рождения", "Место жительства" и "Место отбытия наказания" соблюдать следующий порядок:
село (деревня, станица, поселок, город), район, область (край, автономная республика), союзная республика.
Названия указывать в именительном падеже.
Пример: с. Витязево, Анапский р-н, Краснодарский кр., РСФСР
или с. Дагва, Аджария, ГССР,
или г. Таганрог, Ростовская обл., РСФСР
Внимание: Крымская АССР в те годы входила в состав РСФСР.
Старайтесь использовать следующие сокращения:
город – г.
деревня - дер.
завод – з-д
колхоз – к-з
край - кр.
область - обл.
поселок - пос.
район - р-н
республика - респ.
село - с.
станица - ст-ца
станция - ст.
хутор - х.';
help_arr["hlp_lager_place"] = help_arr["hlp_life_place"] = help_arr["hlp_birthplace"];
help_arr["hlp_arest_date"] = 'Дата ареста указывается согласно приведенным примерам в самой анкете.
Можно указать также только месяц и год:
Пример: 06.1949 г.';
help_arr["hlp_obvinene"] = 'В графе "Обвинение" просьба следовать следующими правилам:
а) В случае раскулачивания в 1929-1933 гг.: кулак
б) Для арестов в 1937-38 гг. (или в другие годы) по политическим мотивам указывать статьи (а известны пункты, то и пункты):
Примеры: ст. 58 (или 58-10, 58-10, 11 и др.) УК РСФСР; ст. 58 (или 58-6) УК ГССР; ст. 54 УК УССР; ст. 72 УК АзССР.
в) В случаях депортации 1942, 1944 и 1949 гг. указывать: лицо греческой национальности';
help_arr["hlp_prigovor"] = 'В графе "Приговор":
а) Для раскулаченных: раскулачен (если лишен имущества, но не выселен на спецпоселение в иной регион), выселен на спецпоселение.
б)Для арестов в 1937-38 гг. (или в другие годы) указывать:
- ВМН (высшая мера наказания),
- 10 (8, 5 и др.) лет ИТЛ
- иное
в) При депортации 1942, 1944 и 1949 гг. указывать: депортация';
help_arr["hlp_contact_fio"] = 'Просьба указывать адрес электронной почты для оперативной связи в случае возникновения вопросов у администратора или у меня.';
// показ он-лайн помощи при заполнении анкеты
// текущий открытый элемент
curr_hlp_item = '';
function show_help(in_id){
// на всякий удаляем слой хелпа
if(document.getElementById("hlp_div")){
remove_div.div_id = "hlp_div";
remove_div();
// если повторное нажатие на значок, то просто удаляем слой хелпа и выходим...
if(curr_hlp_item == in_id)
{
curr_hlp_item = '';
return;
}
}
var pos = getElementPosition(in_id);
// создаем слой
var el_div = create_hlp_div();
// вставляем в слой строку хелпа
el_div.innerHTML = help_arr[in_id];
// ставим слой по горизнтали
el_div.style.left = pos.left + (pos.width-2) + "px";
// ставим слой по вертикали
el_div.style.top = pos.top - el_div.offsetHeight + "px";
//alert(el_div.offsetHeight);
curr_hlp_item = in_id;
} // end function show_help(in_id) = END показ он-лайн помощи при заполнении анкеты
//----------------------------------
// Анализ и замена первой буквы поля на заглавную (для полей формы)
function first_letter(in_obj){
var in_value = in_obj.value;
// удаляем начальные и концевые пробелы
in_value = in_value.trim();
/*
in_value = in_value.replace(/^\s+/,'');
in_value = in_value.replace(/\s+$/,'');
*/
if(in_value.length == 0){
in_obj.value = in_value;
return;
}
var reg_str = /(\S)(.*)/; // регулярка для разделения первого и последующих символов
var char_arr = reg_str.exec(in_value);
char_arr[1] = char_arr[1].toUpperCase();
in_value = char_arr[1].toUpperCase() + char_arr[2];
//alert(in_value+"\n"+ char_arr[1]+"\n"+ char_arr[2]);
in_obj.value = in_value;
} // end function first_letter(in_obj)