/* -------- Версия 2.5 -------- -------- Вызыв файла
-------- Константы, пустышки и т.п. isNS - Нетскейп. ver4 - Версия >= 4. isIE4 - Эксплорер >= 4. ok - Можно подменять картинки. VoidTrue() - ничего не делает и возвращает True. :) VoidFalse() Pause(mSec) - Задержка 'mSec' миллисикунд. GetTop(cookie, getTo) - Переход на "getTo"(URL), с записью в кукиес "cookie" URL себя. Refresh() - Перезагрузка страницы -------- Подмена и увеличилка картинок SetImg(img,ref,txt) - Заменяет картинку 'img' на 'ref' и в статусе высвечивает 'txt'. SetImg2(img1,ref1,img2,ref2,txt) - Заменяет 2 картинки и в статусе высвечивает 'txt'. SetImgStyle(theStyle) - Устанавливает стиль картинке (только IE4). пример:
варианнты: alpha blendTrans blur chroma dropShadow flipH flipV glow gray invert light mask redirect revealTrans shadow wave xray
LoadImgs(ref) - Загружет картинки в кеш.
примеры:
Viewer(img,text,width,height) - Запускает внешний просматриватель картинок.
-------- Окошки
WinOpen(url,name,params) - открывает новое окошко и возвращает ук. на него
если url или name пустые делает по умолчанию
params либо стандартный либо
'full' - обычный но в плдный экран,
'fullmax' - еще и без прокруток меню и т.п.;
WinFav() - окно с Фаворитками
WinHelp(keywords) - окно с Хелпом по ключевомым словам
WinMail(rcpt) - окно с формой отправки почты
WinReg() - окно с регистрацией
WinLect(num) - окно с лекцией NUM. Вызов:
WinLectE(num) - окно с редактированием лекции NUM
-------- Прокрутка
ScrollIt(ScrollTimeOut, ScrollLength) - Прокрутка и позиционирование текущего окна.
ScrollTimeOut - Время между шагами прокрутки.
ScrollLength - Общая длинна прокручиваемого фрагмента.
ScrollIt() - Без параметров останавливает прокрутку.
ScrollIt(0) - На самый верх.
ScrollIt(1000) - На самый вниз.
Примеры:
StopIT
goTop
-------- Кукиесы
setCookie(name, value, expires) - Записывает кукиес.
name Название
value Значение
expires Устаревание в минутах ("-1" - 2 года)
getCookie(name) - Возвращает кукиес.
Примеры: url = getCookie('MRurl');
if ( url == '' ) {
setCookie('MRurl','.',60*24*7);
} else if ( (url != '.') && (url != null) ) {
setCookie('MRurl','.',60*24*7);
// location.replace(url);
window.location.href = url;
}
-------- Формы
SelectedOptionIndex(list,frm) - Номер выбранного из списка формы.
SelectedOptionText(list,frm) - Текст из списка
SelectedOptionValue(list,frm) - Значение из списка
формат1: list - указатель на список, например 'onChange="alert(SelectedOptionText(this)"'
примечание: 'frm' должен отсутствовать!
формат2: list,frm - имя списка и имя формы (текст), например 'onMouseOver="alert(SelectedOptionText('SomeList','SomeForm')"'
deleteAnItem(list,itemNo) - Удалить из 'list' (указатель), пункт с номером 'itemNo' (число).
-------- Фаворитки
AddFav(Lang) - добавляет фаворитку (Lang 1=Русс, 2=Англ, 0=без сообщения(по умодчанию))
ShowFav(instcode,aftercode) - показывает список фавориток (...+aftercode)
ClearFav(Lang) - очищает список фавориток. (Lang 1=Русс(по умодчанию), 2=Англ)
-------- Плавующая подсказка
Вызов: определить текстовую строку hint (по любому событию)
Убрать с задержкой: назначить минус hint='-';
мгновенно: Chint();
Вы можете назначать сл. параметры для каждой страницы:
HintRefresh - скрость регенерации подсказки (по умолчанию = 2000)
htmlPre - HTML код до текста подсказки (по умолчению табличка)
htmlPost - HTML код после текста подсказки ( -"- )
Пример: Подсказка исчезнет через HintRefresh секунд
Исчезнет мгновенно
*/
function VoidTrue() { return true; }
function VoidFalse() { return false; }
window.onerror = VoidTrue;
isNS = (navigator.appName == "Netscape");
isIE4 = (navigator.appName == "Microsoft Internet Explorer") && parseInt(navigator.appVersion) >= 4;
ver4 = parseInt(navigator.appVersion) >= 4;
ok = document.images != null;
function Refresh() {
location.reload()
// window.location.href=window.location.href;
// location.href=location.href;
// window.Refresh();
}
function Pause(mSec) {
clock = new Date();
justMinute = clock.getTime();
while (true) {
just = new Date();
if (just.getTime() - justMinute > mSec) break;
}
}
/* --------------------- set images */
function SetImg(img,ref,txt) {
if (ok) document.images[img].src = ref;
if (txt != null) window.status = ' ' + txt;
return ok;
}
function SetImg2(img1,ref1,img2,ref2,txt) {
if (ok) {
document.images[img1].src = ref1;
document.images[img2].src = ref2;
}
if (txt != null) window.status = ' ' + txt;
return ok;
}
function SetImgStyle(theStyle) {
if (isIE4 && event.srcElement.tagName=="IMG") event.srcElement.style.filter = theStyle;
}
function LoadImgs(ref) {
ref = ref+',';
for ( i=1; true; i++ ) {
t = ref.indexOf(',');
eval('var t'+i+' = new Image(); t'+i+'.src = "'+ref.substring(0,t)+'"');
ref = ref.substring(t+1,ref.length);
if ( ref.length < 2 ) break;
}
}
function Viewer(i,t,w,h) {
if ( w == null || h == null )
if (isIE4) {
var im = new Image();
im.src = i;
w = im.width;
h = im.height;
} else
return false;
if ( t != null ) h = h + '&t=' + t;
WinOpen('http://'+self.location.host+'/inc/viewer.asp?i='+i+'&w='+w+'&h='+h,'VIEWER','fullmax');
return false;
}
/* --------------------- Windows */
function WinOpen(url,name,params) {
var wp = null;
if (typeof url == 'undefined') url = 'about:blank';
if (typeof name == 'undefined') name = 'window';
if (typeof params != 'undefined') {
if (params == 'full') params = 'width='+screen.width+',height='+screen.height+',top=0,left=0';
if (params == 'fullmax') params = 'menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width='+screen.width+',height='+screen.height+',top=0,left=0';
}
wp = window.open(url,name,params);
wp.opener = window;
wp.focus();
return wp;
}
function WinFav() {
WinOpen('http://www.museum.ru/fav.asp','Fav','menubar=no,location=no,resizable=no,scrollbars=yes,status=no,width=350,height=400');
return false;
}
function WinHelp(keywords) {
if (typeof keywords != 'undefined')
WinOpen('http://www.museum.ru/edu/hint.asp?KeyWord='+keywords,'Help','menubar=no,location=no,resizable=no,scrollbars=yes,status=no,width=350,height=400');
return false;
}
function WinMail(rcpt) {
if (typeof rcpt != 'undefined') rcpt = '?to='+rcpt; else rcpt = '';
WinOpen('http://www.museum.ru/mail.asp'+rcpt,'Mail','menubar=no,location=no,resizable=yes,scrollbars=no,status=no,width=420,height=400');
return false;
}
function WinReg() {
/* WinOpen('http://www.museum.ru/reg.asp','reg','menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width=680,heght=600');*/
WinOpen('http://www.museum.ru/reg.asp','_top','menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width=680,heght=600');
return false;
}
function WinLect(num) {
WinOpen('http://www.museum.ru/edu/view.asp?LECT='+num,'Lect'+num,'menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width=680,height=600');
return false;
}
function WinLectE(num) {
WinOpen('edit.asp?LECT='+num,'Lect'+num,'menubar=no,location=no,resizable=yes,scrollbars=yes,status=no,width=680,height=600');
return false;
}
/* --------------------- scrool */
var ScrollY = 0;
var ScrollTimeOut = 0;
function ScrollIt(delay, len) {
if (delay == null) { clearTimeout(ScrollTimeOut); return; }
if (len == null) { window.scroll(delay); return; }
if (window.scrollBy) window.scrollBy(0,1);
ScrollY++;
if (ScrollY >= len) { ScrollY = 1; window.scroll(0, 0); }
eval("ScrollTimeOut = setTimeout('ScrollIt('+delay+','+len+')', delay)");
}
/* --------------------- cookies */
function setCookie(name, value, expires) {
var today = new Date();
var expire = new Date();
if (expires == null) {
document.cookie = name + "=" + escape(value);
} else {
if (expires == -1) expires = 60*24*365*2;
expire.setTime(today.getTime() + 1000*60*expires);
document.cookie = name + "=" + escape(value) + "; expires=" + expire.toGMTString() + "; path=/"
}
}
function getCookie(name) {
var search = name + "=";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(offset, end));
} else return null;
}
}
/* --------------------- Goto the getTo page and save the cooke */
function GetTop(cookie, getTo) {
if (top == self) {
s = top.window.location.href;
for(i=s.length;0 0 && len > itemNo) {
list.options[itemNo] = null;
len--;
if (len > 0) {
if (len == itemNo)
list.options[itemNo-1].selected=true;
else
list.options[itemNo].selected=true;
}
} else return false;
return true;
}
/* --------------------- Favorites */
function AddFav(Lang) {
FavName = '';
if (isIE4) FavName = document.selection.createRange().text;
if (FavName == '') FavName = document.title;
for (i=FavName.length; i>0; i--) {
s = FavName.substring(i-1,i);
if ( s!=null && s!=' ' && escape(s)!='%A0' && escape(s)!='%0A' && escape(s)!='%0D') break;
}
FavName = FavName.substring(0,i);
if (typeof Lang == 'undefined') Lang = 1;
if (Lang==2) FavName = prompt('Enter the name of this page:',FavName);
else FavName = prompt('Введите название вашего линка:',FavName);
if (FavName != '' && FavName != null) {
FavCnt = getCookie('FavCnt')*1;
if (FavCnt == null || FavCnt == '') FavCnt = 1;
else FavCnt++;
setCookie('FavCnt', FavCnt, -1);
setCookie('Fav'+FavCnt, window.location+'">'+FavName, -1);
if (Lang==2) alert('Added:\n\t name: \t '+FavName+'\n\t url: \t\t '+window.location+'\n\t total: \t '+FavCnt);
else alert('Добавлено:\n\t название: \t '+FavName+'\n\t адрес: \t\t '+window.location+'\n\t всего ссылок: \t '+FavCnt);
Refresh();
}
}
function WriteChangedFav(n) {
eval('sU = document.FAV.u'+n+'.value;');
eval('sN = document.FAV.n'+n+'.value;');
setCookie('Fav'+n, sU+'">'+sN, -1);
}
function ShowFav(instcode,aftercode) {
FavCnt = getCookie('FavCnt')*1;
if (FavCnt == null || FavCnt == '' || FavCnt < 1) return;
chkfav = getCookie('checkFav') == 'true';
if (typeof instcode == 'undefined') instcode = '';
if (typeof aftercode == 'undefined') aftercode = '| '; if (typeof htmlPost == 'undefined') htmlPost= ' |