/** Общие скрипты */ var MesName = [ "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь" ]; var doShowLeftAdv = true; // показ слайдера в новости document.onkeypress = catchKey; /** Добавить в избранное */ function bookmark(a) { title=document.title; url=document.location; try { // Internet Explorer window.external.AddFavorite(url, title); } catch (e) { try { // Mozilla window.sidebar.addPanel(title, url, ""); } catch (e) { // Opera if (typeof(opera)=="object") { a.rel="sidebar"; a.title=title; a.url=url; a.href=url; return true; } else { // Unknown alert('Нажмите Ctrl-D чтобы добавить страницу в закладки'); } } } return false; } /**Отправить другу*/ function FriendForm( id, title ) { $('.msg').remove(); var dlg = document.createElement("div"); document.getElementsByTagName("body")[0].appendChild(dlg); dlg.className = "msg"; var frame = document.createElement("div"); dlg.appendChild(frame); var formhtml = '
'; formhtml += ''; formhtml += 'Новость: ' + title + ''; formhtml += ''; formhtml += ''; formhtml += '
E-mail:
Комментарий:
'; formhtml += '
'; frame.innerHTML = formhtml; $(dlg).dialog({ modal: true, width: 400, height: 270, title: 'Отправить новость другу', resizable: false, buttons:{ 'Отправить' : function(){ SendFr( document.FrForm, id ); return false; }, 'Закрыть' : function(){ $('.msg').remove(); } } }); return false; } function SendFr( form, id ) { var req = new JsHttpRequest(); $('.ui-dialog-buttonpane').css( 'visibility', 'hidden' ); $('.ui-dialog-content').html( '
Отправка...
' ); $('.ui-dialog-content').height( 'auto' ); req.onreadystatechange = function(){ if (req.readyState == 4) { var msg = ( req.responseText == "1" ? "Ваше сообщение отправлено." : "Возникла ошибка. Сообщение не отправлено." ); $('.ui-dialog-content').html( '
' + msg + '
' ); } } req.open(null, '/ajax/tofriend.php', true); req.send( { task: 'send', to: form.email.value,id: id, comm: form.comm.value} ); } /**Отправить другу*/ function getBrowserInfo() { var t,v = undefined; if (window.opera) t = 'Opera'; else if (document.all) { t = 'IE'; var nv = navigator.appVersion; var s = nv.indexOf('MSIE')+5; v = nv.substring(s,s+1); } else if (navigator.appName) t = 'Netscape'; return {type:t,version:v}; } /** /Добавить в избранное */ /** Обработка событий клавиатуры */ function catchKey (event) { if (window.event) event = window.event; if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10)) { var txt = getSelectionText(); if (txt && txt.length) mistake_init(); } } /** Форма опечатки */ function mistake_init() { par = window; // fix -> try { $('span.dirty-clipboard').remove(); } catch(e) {} // <- fix if (par.getSelection) { selection = par.getSelection(); if(selection.getRangeAt) { range = selection.getRangeAt(0); if (window.opera) prev = selection.getRangeAt(0); else prev=document.createRange(); prev.setStartBefore(range.startContainer); prev.setEnd(range.startContainer,range.startOffset); prev = prev.toString(); if (prev.length>20) prev = prev.substring(Math.max(prev.length-30,0),prev.length).replace(/^\S{1,10}\s+/,""); if (window.opera) next = selection.getRangeAt(0); else next = document.createRange(); next.setStart(range.endContainer, range.endOffset); next.setEndAfter(range.endContainer); next = next.toString(); if (next.length > 50) next = next.toString().substring(0,30).replace(/\s+\S{1,10}$/,""); } } else if (par.document.selection.createRange) { selection = par.document.selection.createRange(); selection.expand("word"); prev = par.document.selection.createRange(); prev.moveStart("character",-20); prev.setEndPoint('EndToStart',selection); prev.expand("word"); prev = prev.text; next = par.document.selection.createRange(); next.moveEnd("character", 20); next.setEndPoint('StartToEnd',selection); next.expand("word"); next = next.text; selection = selection.text; } $('.msg').remove(); var dlg = document.createElement("div"); document.getElementsByTagName("body")[0].appendChild(dlg); dlg.className = "msg"; var frame = document.createElement("div"); dlg.appendChild(frame); var formhtml = '
'; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += '
URL новости:
Ошибка:
Комментарий:
'; formhtml += '
'; frame.innerHTML = formhtml; $(dlg).dialog({ modal: true, width: 400, height: 370, title: 'Отправить ошибку на модерацию', resizable: false, buttons:{ 'Отправить ошибку' : function(){ Sendmistake( document.mistakeForm ); }, 'Закрыть' : function(){ $('.msg').remove(); } } }); return false; } /** Условия размещения комментария */ function comm_mess() { $('.msg').remove(); var dlg = document.createElement("div"); document.getElementsByTagName("body")[0].appendChild(dlg); dlg.className = "msg"; var frame = document.createElement("div"); dlg.appendChild(frame); var toMessInfoForm = '
\

Уважаемые посетители!

\

Мы не размещаем комментарии, которые содержат:

\ \

Мы оставляем за собой право убирать из комментариев фрагменты, не соответствующие данным правилам.

\

Спасибо за понимание!

\
'; var formhtml = toMessInfoForm; frame.innerHTML = formhtml; $(dlg).dialog({ modal: true, width: 400, height: 370, title: 'Условия размещения комментариев', resizable: false, buttons:{} }); return false; } /** Отправка опечатки */ function Sendmistake( form ) { var req = new JsHttpRequest(); $('.ui-dialog-buttonpane').css( 'visibility', 'hidden' ); $('.ui-dialog-content').html( '
Отправка...
' ); $('.ui-dialog-content').height( 'auto' ); req.onreadystatechange = function() { if (req.readyState == 4) { $('.ui-dialog-content').html( '
' + req.responseText + '
' ); } } req.open(null, 'ajax/mistaker.php', true); req.send( { action: 'send', link: form.lnk.value, text: form.text.value, comm: form.comm.value } ); } /** Поиск обновлений */ function getUpNews() { var req = new JsHttpRequest(); req.onreadystatechange = function(){ if (req.readyState == 4) { if ( req.responseJS.uptime != '' ){ LastUpTime = req.responseJS.uptime; } if ( req.responseJS.id > 0 ){ $.jnotify( req.responseJS.title, req.responseJS.intro, req.responseJS.img, req.responseJS.href ); } TimerUN=setTimeout("getUpNews()",60000); } } req.open(null, 'ajax/messes.php', true); req.send( { task: 'getup', LastUpTime: LastUpTime } ); } /** Выборка выделенного текста */ function getSelectionText() { var txt = ''; if (txt = window.getSelection) txt = window.getSelection().toString(); else txt = document.selection.createRange().text; return txt; } /** Запуск часов */ function clock() { SecondsT++; if (SecondsT>59) { SecondsT=0; MinutesT++; } if (MinutesT>59) { MinutesT=0; HoursT++; } if (HoursT>23) { HoursT=0; } if (HoursT<10) {HoursT="0"+(HoursT-0)}; if (MinutesT<10) {MinutesT="0"+(MinutesT-0)}; if (SecondsT<10) {SecondsT="0"+(SecondsT-0)}; ServerTime = HoursT + ":" + MinutesT + ":" + SecondsT; if ( SecondsT%2 == 0 ) { ServerTime = HoursT + ":" + MinutesT; } else { ServerTime = HoursT + ":" + MinutesT; } document.getElementById('clocker_div').innerHTML = ServerTime; TimerT=setTimeout("clock()",1000); } /** Загрузчик*/ $(function() { /*$('img.pre').animate({opacity:"0.6"}, 800); $('img.pre').hover(function(){$(this).stop().animate({opacity:"1"}, 150);}, function(){$(this).stop().animate({opacity:"0.6"}, 150);});*/ var p = $('#top-pan').position(); if ( p ) { var fromtop = p.top; $(window).scroll(function(){ if ( $(window).scrollTop() > fromtop ){ $('#top-pan').addClass("fixed"); $('#top-pan #categories').fadeIn(); $('#top-pan.fixed #pan-content #order-list').css('left', '850'); $('#info-line-bottom-bg').css('margin-bottom','55px'); //$('#to-top').show(); } else{ $('#info-line-bottom-bg').css('margin-bottom','0px'); //$('#top-pan #categories').fadeOut(); $('#order-list').css('left', '905'); $('#top-pan').removeClass("fixed"); //$('#to-top').hide(); } }); } //Установка корзины setButts(); showNewsList(); //Запуск обновлений TimerUN=setTimeout("getUpNews()",60000); //Модуль НОВОСТИ РУБРИКИ $(".catnews ul.switcher li a").hover(function(){ if ( $(this).attr('class') == 'active' ) return; $(".catnews ul.switcher li a").removeClass("active"); $(this).addClass("active"); $(".catnews-list").hide(); $('.'+$(this).attr('id')).show(); $(this).blur(); return false; }); //Модуль ЛИЦА $(".faces ul.switcher li a").hover(function(){ if ( $(this).attr('class') == 'active' ) return; $(".faces ul.switcher li a").removeClass("active"); $(this).addClass("active"); $(".faces-list").hide(); $('.'+$(this).attr('id')).show(); $(this).blur(); return false; }); //Модуль СЛАЙДЕР /*$("ul#slider li").hover(function(){ if ( $(this).attr('class') == 'active' ) return; $("#slider li").removeClass("active"); $(this).addClass("active"); $("div.s-content").hide(); $(this).children().show(); return false; });*/ $('.comm-editer textarea').bind('focus', function() { $(this).animate({height:"88"}, 150); }); $('.comm-editer textarea').bind('blur', function() { if ( $(this).val() == '' ){ $(this).animate({height:"38"}, 150); } }); //Запускаем календарь и часы $('#now-date').hover(function(){$("#calend").fadeIn();},function(){$("#calend").fadeOut();}); $('#calend').css( "opacity", "0.97" ); //clock(); ShowDateTitle(); }); /** Комментарии */ function TestComm( form, fix ){ if ( myId == 0 && ( form.name.value == "" || form.name.value == "Ваше имя" ) ){ alert('Укажите Ваше имя'); return false; } else if ( form.text.value == "" ){ alert('Укажите комментарий'); return false; } else if ( myId == 0 ) { var dlg = document.createElement("div"); document.getElementsByTagName("body")[0].appendChild(dlg); dlg.className = "msg"; var frame = document.createElement("div"); dlg.appendChild(frame); var formhtml = '
'; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += '
'; formhtml += ''; formhtml += ' '; formhtml += ''; formhtml += '
'; formhtml += '
'; formhtml += '
Зарегистрируйтесь и авторизуйтесь на сайте, чтобы добавлять комментарии без проверочного кода.
'; frame.innerHTML = formhtml; $(dlg).dialog({ modal: true, width: 350, height: 250, title: 'Укажите цифры с картинки', resizable: false, buttons:{ 'Отправить' : function(){ if ( $('#keystring').val() == '' ){ alert('Укажите проверочный код'); return false; } else{ AddComment( form ); return false; } } } }); $('#keystring').focus(); return false; } else{ AddComment( form ); } } function AddComment( form ) { var req = new JsHttpRequest(); req.onreadystatechange = function() { form.text.disabled = true; if (req.readyState == 4){ form.text.disabled = false; if ( req.responseJS.error == '' ){ form.text.value = ''; $('.msg').remove(); $('#auto_comments').append( req.responseText ); alert ('Спасибо, Ваш комментарий отправлен! После проверки он будет размещен на сайте.'); if ( form.parent.value ) { SetNoCommParent(); } } else {alert (req.responseText);} } } if ( myId == 0 ) var sends = { id: form.cid.value, type: form.type.value, parent: form.parent.value, text: form.text.value, keystring: $('#keystring').val(), name: form.name.value, mail: ( form.mail.value == 'Ваш e-mail' ? '' : form.mail.value ) }; else var sends = { id: form.cid.value, type: form.type.value, parent: form.parent.value, text: form.text.value }; req.open( null, 'ajax/comms.php?&task=addcomment', true ); req.send( sends ); } function ToCommOtv( parent ) { var parentcomm = $('.comm-parent-id').val(); if ( parentcomm == 0 ){ var commform = $('#form-comm-past').html(); $('#form-comm-past').html( '' ); } else{ var commform = $('#comm-otv-'+parentcomm).html(); $('#comm-otv-'+parentcomm).html( '' ); } $('#comm-otv-'+parent).html( commform ); $('.comm-parent-id').val( parent ); $('#comm-otv-'+parent+' .title-comm-text').html( "↑ Ответить на комментарий ↑" ); $('#comm-otv-'+parent+' .no-parrent').show(); $('#comm-otv-'+parent+' .add-comments').addClass( 'to-parent' ); $('.comm-editer textarea').bind('focus', function() { $(this).animate({height:"88"}, 150); }); $('.comm-editer textarea').bind('blur', function() { if ( $(this).val() == '' ){ $(this).animate({height:"38"}, 150); } }); } function SetNoCommParent() { var parentcomm = $('.comm-parent-id').val(); if ( parentcomm == 0 ) return false; var commform = $('#comm-otv-'+parentcomm).html(); $('#comm-otv-'+parentcomm).html( '' ); $('#form-comm-past').html( commform ); $('.comm-parent-id').val( '0' ); $('#form-comm-past .title-comm-text').html( "Добавить комментарий" ); $('#form-comm-past .no-parrent').hide(); $('#form-comm-past .add-comments').removeClass( 'to-parent' ); $('.comm-editer textarea').bind('focus', function() { $(this).animate({height:"88"}, 150); }); $('.comm-editer textarea').bind('blur', function() { if ( $(this).val() == '' ){ $(this).animate({height:"38"}, 150); } }); } /** /Комментарии */ /** Календарь */ function ShowDateTitle() { /** Пишем заголовок */ $('#date-title div').html( MesName[mes] + ' ' + god ); /** Строим каледарик */ var countDays = new Date( god, mes+1, 0 ).getDate(); var DayFirst = new Date( god, mes, 1 ).getDay(); var dn = 1; var inmess = false; var curday = 1; var calLink = 'archive/'; var doLink = true; var html = ''; html += ''; html += ''; for ( var i = 1; i <= 42; i++ ){ if ( dn === DayFirst && inmess === false && curday == 1 ){ inmess = true; }else if ( inmess === true && curday > countDays ){ inmess = false; } if ( dn === 1 ){ html += ''; } var curMark = new Date( god, mes, curday ); html += ''; if ( dn === 0 ) { html += ''; $dn = 0; } dn++; if ( dn === 7 ){ dn = 0; } if ( inmess === false && curday > 1 ){ if ( 42 - i >= 7 ){ i = i + 7; } } } html += '
ПН ВТ СР ЧТ ПТ СБ ВС
'; if ( inmess === true ){ var cMess = mes+1; if ( nowMark > curMark ){ doLink = true; }else{ doLink = false; } html += ( doLink === true ? '' : '' )+curday+( doLink === true ? '' : '' ); curday++; }else{ html += ' '; } html += '
'; $('#date-list').html( html ); } function BackMes(){ if ( mes == 0 ){ mes = 11; god--; }else{ mes--; } ShowDateTitle(); } function NaxtMes(){ if ( mes == 11 ){ mes = 0; god++; }else{ mes++; } ShowDateTitle(); } /** Корзина новостей */ //находится ли ИД function in_news( id ){ for( var i = 0, l = MyNews.length; i < l; i++ ){ if( MyNews[i].id == id ){ return true; } } return false; } //Кнопка добавить function AddOLink( e, id ){ $(e).html( 'В закладки' ); } //кнопка удалить function RemOLink( e, id ){ $(e).html( 'Убрать закладку' ); } //убрать новость из закладок function RemoveNews( id ){ var req = new JsHttpRequest(); if ( in_news( id ) === false ){ setButts(); return; } var NewList = new Array(); for( var i = 0, l = MyNews.length; i < l; i++ ){ if( MyNews[i].id != id ){ NewList[NewList.length] = MyNews[i]; } } MyNews = NewList; showNewsList(); setButts(); req.open( null, 'lib/order/mynews.php?task=removeNews', true ); req.send( { id: id } ); } //добавить в закладки function AddNews( id ){ var req = new JsHttpRequest(); if ( in_news( id ) === true ){ setButts(); return; } if ( MyNews.length >= MyLimit ){ alert( MyLimitMess ); return; } $('.order-box#'+id).html( 'Загрузка...' ); req.onreadystatechange = function(){ if (req.readyState == 4) { if ( req.responseJS.error != '' ){ alert( req.responseJS.error ); return; } MyNews[MyNews.length] = { id: req.responseJS.id, title: req.responseJS.title }; showNewsList(); setButts(); } } req.open( null, 'lib/order/mynews.php?task=addNews', true ); req.send( { id: id } ); } //построение списка function showNewsList(){ if ( typeof MyNews == 'undefined' ) return; var ul = ' '; if ( MyNews.length > 0 ){ $('#order-list').html( '
Мои закладки ('+MyNews.length+')
' + ul ); } else{ $('#order-list').html( 'Закладок нет' ); } } //установка кнопок function setButts(){ if ( typeof MyNews == 'undefined' ) { $(".order-box").remove(); return; } $(".order-box").each(function(i){ var id = $(this).attr( 'id' ); if ( in_news( id ) === false ){ AddOLink( this, id ); } else{ RemOLink( this, id ); } }); } /** Для гостей */ /** Авторизация */ function SubmitLogin(){ var form = document.loginForm; if ( form.username.value == '' || form.username.value == 'Логин' ){ alert( 'Укажите свой Логин' ); } else if ( form.passwd.value == '' || form.passwd.value == '******' ){ alert( 'Укажите свой Пароль' ); } else{ form.submit(); } } /** Регистрация */ function SubmitRegin() { var form = document.reginForm; var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i"); if (form.name.value == ""){ alert( "Пожалуйста, введите свое настоящее имя (имя, отображаемое на сайте)." ); } else if (form.username.value == "") { alert( "Пожалуйста, введите свое имя пользователя (логин)." ); } else if (r.exec(form.username.value) || form.username.value.length < 3) { alert( "Пожалуйста, правильно введите Имя пользователя:. Должно содержать только символы 0-9,a-z,A-Z и иметь длину не менее 2 символов." ); } else if (form.email.value == "") { alert( "Пожалуйста, правильно введите адрес e-mail." ); } else if (form.password.value.length < 6) { alert( "Пожалуйста, правильно введите пароль. Пароль не должен содержать пробелы, его длина должна быть не меньше 6 символов и он должен состоять только из цифр (0-9) и латинских символов (a-z, A-Z)" ); } else if (form.password2.value == "") { alert( "Пожалуйста, проверьте пароль." ); } else if ((form.password.value != "") && (form.password.value != form.password2.value)){ alert( "Пароль и его подтверждение не совпадают. Пожалуйста, попробуйте ещё раз." ); } else if (r.exec(form.password.value)) { alert( "Пожалуйста, проверьте, правильно ли написано Пароль:. Имя не должно содержать пробелов, только символы 0-9,a-z,A-Z и иметь длину не менее 6 символов." ); } else { form.submit(); } } /** Восстановление пароля */ function SubmitPass(){ var form = document.passForm; if ( form.checkusername.value == '' || form.checkusername.value == 'Логин' ){ alert( 'Укажите свой Логин' ); } else if ( form.confirmEmail.value == '' || form.confirmEmail.value == 'E-mail' ){ alert( 'Укажите свой E-mail' ); } else{ form.submit(); } } /** Форма авторизации */ function ShowLogForm(){ $('.msg').remove(); var dlg = document.createElement("div"); document.getElementsByTagName("body")[0].appendChild(dlg); dlg.className = "msg"; var frame = document.createElement("div"); dlg.appendChild(frame); var formhtml = '
'; formhtml += '
Укажите свои логин и пароль, указанные при регистрации.
'; formhtml += '
'; formhtml += ''; formhtml += ''; formhtml += '
'; formhtml += '

Регистрация
Восстановление пароля

'; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += '
'; frame.innerHTML = formhtml; $(dlg).dialog({ modal: true, width: 400, height: 255, title: 'Авторизация на сайте', resizable: false, buttons:{ 'Войти' : function(){ SubmitLogin(); }, 'Закрыть' : function(){ $('.msg').remove(); } } }); return false; } /** Форма регистрации */ function ShowRegForm(){ $('.msg').remove(); var dlg = document.createElement("div"); document.getElementsByTagName("body")[0].appendChild(dlg); dlg.className = "msg"; var frame = document.createElement("div"); dlg.appendChild(frame); var formhtml = '
'; formhtml += '
Важно! Укажите свой действующий адрес электронной почты. На данный адрес будет отправлено письмо с подтверждением регистрации.
'; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += '
Ваше имя:
Логин:
E-mail:
Пароль:
Подтверждение пароля:
'; formhtml += '

Авторизация
Восстановление пароля

'; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += '
'; frame.innerHTML = formhtml; $(dlg).dialog({ modal: true, width: 450, height: 420, title: 'Быстрая регистрация ', resizable: false, buttons:{ 'Зарегистрироваться' : function(){ SubmitRegin(); }, 'Закрыть' : function(){ $('.msg').remove(); } } }); return false; } /** Форма восстановления */ function ShowPassForm(){ $('.msg').remove(); var dlg = document.createElement("div"); document.getElementsByTagName("body")[0].appendChild(dlg); dlg.className = "msg"; var frame = document.createElement("div"); dlg.appendChild(frame); var formhtml = '
'; formhtml += '
Пожалуйста, введите свои Логин и E-mail, затем нажмите кнопку "Отправить пароль". Вскоре, на указанный адрес e-mail Вы получите письмо с новым паролем.
'; formhtml += '
'; formhtml += ''; formhtml += ''; formhtml += '
'; formhtml += '

Регистрация
Авторизация

'; formhtml += ''; formhtml += ''; formhtml += ''; formhtml += '
'; frame.innerHTML = formhtml; $(dlg).dialog({ modal: true, width: 400, height: 290, title: 'Восстановление пароля', resizable: false, buttons:{ 'Отправить пароль' : function(){ SubmitPass(); }, 'Закрыть' : function(){ $('.msg').remove(); } } }); return false; }