var menuwidth='165px';
var disappeardelay=1000;
var hidemenu_onclick="yes";
var ie4=document.all;
var ns6=document.getElementById&&!document.all;
if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;position:absolute;z-index:100;width:'+menuwidth+';" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>');
function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
};
function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500;
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style;
dropmenuobj.widthobj.width=menuwidth;
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible;
else if (e.type=="click")
obj.visibility=hidden;
}
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
};
function clearbrowseredge(obj, whichedge){
var edgeoffset=0;
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15;
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset;
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18;
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge;
}
}
return edgeoffset;
};
function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("");
};
function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true;
else if (e.stopPropagation) e.stopPropagation();
clearhidemenu();
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv;
populatemenu(menucontents);
if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth);
dropmenuobj.x=getposOffset(obj, "left");
dropmenuobj.y=getposOffset(obj, "top");
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px";
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px";
}
return clickreturnvalue();
};
function clickreturnvalue(){
if (ie4||ns6) return false;
else return true;
};
function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
};
function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu();
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu();
};
function comRate( rate, id ) {
var ajax = new dle_ajax();
ajax.onShow ('');
var varsString = "go_rate=" + rate;
ajax.setVar("comm_id", id);
ajax.setVar("skin", dle_skin);
ajax.requestFile = dle_root + "engine/ajax/comm_rating.php";
ajax.method = 'GET';
ajax.element = 'cratig-layer-' + id;
ajax.sendAJAX(varsString);
};
function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden";
}
};
function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay);
};
function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide);
};
if (hidemenu_onclick=="yes")
document.onclick=hidemenu;
function showBusyLayer() {
var busyLayer = document.getElementById("busy_layer");
if (busyLayer != null) {
busyLayer.style.visibility = "visible";
busyLayer.style.height = getPageSize().pageHeight + 'px';
}
};
function getPageSize () {
var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat' 
? d.documentElement : d.body;
var b = d.body;
var yScroll = (w.innerHeight && window.scrollMaxY) 
? w.innerHeight + w.scrollMaxY : Math.max(b.scrollHeight, b.offsetHeight),
pageHeight = (document.all && !window.opera) ? Math.max(iebody.scrollHeight, iebody.clientHeight) : 
(d.documentElement.clientHeight || self.innerHeight);
var height = (document.all && !window.opera) ? iebody.clientHeight : self.innerHeight;
return {
pageHeight: Math.max(pageHeight, yScroll),
height: height,
scrollTop: (document.all && !window.opera) ? iebody.scrollTop : pageYOffset
}
};
function hideBusyLayer() {
var busyLayer = document.getElementById("busy_layer");
if (busyLayer != null) {
busyLayer.style.visibility = "hidden";
busyLayer.style.height = "0px";
}
};
function _get_obj_toppos(obj)
{
var top = obj.offsetTop;
while( (obj = obj.offsetParent) != null )
{
top += obj.offsetTop;
}
return top;
};
function center_div()
{
this.divname = '';
this.divobj = '';
};
center_div.prototype.clear_div = function()
{
try
{
if ( ! this.divobj )
{
return;
}
else
{
this.divobj.style.display = 'none';
}
}
catch(e)
{
return;
}
};
center_div.prototype.Ywindow = function()
{
var scrollY = 0;
if ( document.documentElement && document.documentElement.scrollTop )
{
scrollY = document.documentElement.scrollTop;
}
else if ( document.body && document.body.scrollTop )
{
scrollY = document.body.scrollTop;
}
else if ( window.pageYOffset )
{
scrollY = window.pageYOffset;
}
else if ( window.scrollY )
{
scrollY = window.scrollY;
}
return scrollY;
};
center_div.prototype.move_div = function()
{
try
{
this.divobj = document.getElementById( this.divname );
}
catch(e)
{
return;
}
var my_width = 0;
var my_height = 0;
if ( typeof( window.innerWidth ) == 'number' )
{
my_width = window.innerWidth;
my_height = window.innerHeight;
}
else if ( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
{
my_width = document.documentElement.clientWidth;
my_height = document.documentElement.clientHeight;
}
else if ( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
{
my_width = document.body.clientWidth;
my_height = document.body.clientHeight;
}
this.divobj.style.position = 'absolute';
this.divobj.style.display = 'block';
this.divobj.style.zIndex = 99;
var divheight = parseInt( this.divobj.style.Height );
var divwidth = parseInt( this.divobj.style.Width );
divheight = divheight ? divheight : 50;
divwidth = divwidth ? divwidth : 200;
var scrolly = this.Ywindow();
var setX = ( my_width - divwidth ) / 2;
var setY = ( my_height - divheight ) / 2 + scrolly;
setX = ( setX < 0 ) ? 0 : setX;
setY = ( setY < 0 ) ? 0 : setY;
this.divobj.style.left = setX + "px";
this.divobj.style.top = setY + "px";
};
function dle_ajax(file){
this.AjaxFailedAlert = "аякс не поддерживается.\n";
this.requestFile = file;
this.method = "POST";
this.URLString = "";
this.encodeURIString = true;
this.execute = false;
this.add_html = false;
this.loading_fired= 0;
this.centerdiv = null;
this.onLoading = function() { };
this.onLoaded = function() { };
this.onInteractive = function() { };
this.onCompletion = function() { };
this.onShow = function( message )
{
if ( ! this.loading_fired )
{
this.loading_fired = 1;

if ( message )
{
document.getElementById( 'loading-layer-text' ).innerHTML = message;
}
this.centerdiv = new center_div();
this.centerdiv.divname = 'loading-layer';
this.centerdiv.move_div();
}
return;
};
this.onHide = function()
{
try
{
if ( this.centerdiv && this.centerdiv.divobj )
{
this.centerdiv.clear_div();
}
}
catch(e)
{
}
this.loading_fired = 0;
return;
};
this.createAJAX = function() {
try {
this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err) {
this.xmlhttp = null;
}
}
if(!this.xmlhttp && typeof XMLHttpRequest != "undefined")
this.xmlhttp = new XMLHttpRequest();
if (!this.xmlhttp){
this.failed = true; 
}
};
this.setVar = function(name, value){
if (this.URLString.length < 3){
this.URLString = name + "=" + value;
} else {
this.URLString += "&" + name + "=" + value;
}
};
this.encVar = function(name, value){
var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value);
return varString;
};
this.encodeURLString = function(string){
varArray = string.split('&');
for (i = 0; i < varArray.length; i++){
urlVars = varArray[i].split('=');
if (urlVars[0].indexOf('amp;') != -1){
urlVars[0] = urlVars[0].substring(4);
}
varArray[i] = this.encVar(urlVars[0],urlVars[1]);
}
return varArray.join('&');
};
this.encodeVAR = function(url){
url = url.toString();
url = url.replace(/\+/g, "%2B");
url = url.replace(/\=/g, "%3D");
url = url.replace(/\?/g, "%3F");
url = url.replace(/\&/g, "%26");
return url;
};
this.runResponse = function(){
var milisec = new Date;
var jsfound = false;
milisec = milisec.getTime();
var js_reg = /<script.*?>(.|[\r\n])*?<\/script>/ig;
var js_str = js_reg.exec(this.response);
if (js_str != null) {
var js_arr = new Array(js_str.shift());
var jsfound = true;
while(js_str) {
js_str = js_reg.exec(this.response);
if (js_str != null) js_arr.push(js_str.shift());
}
for(var i=0; i<js_arr.length;i++) {
this.response = this.response.replace(js_arr[i],'<span id="'+milisec+i+'" style="display:none;"></span>');
}
}
if ( this.add_html ) {
this.elementObj.innerHTML += this.response; 
} else {
this.elementObj.innerHTML = this.response; 
}
if (jsfound) {
var js_content_reg = /<script.*?>((.|[\r\n])*?)<\/script>/ig;
for (i = 0; i < js_arr.length; i++) {
var mark_node = document.getElementById(milisec+''+i);
var mark_parent_node = mark_node.parentNode;
mark_parent_node.removeChild(mark_node);

js_content_reg.lastIndex = 0;
var js_content = js_content_reg.exec(js_arr[i]);
var script_node = mark_parent_node.appendChild(document.createElement('script'));
script_node.text = js_content[1]; 
var script_params_str = js_arr[i].substring(js_arr[i].indexOf(' ',0),js_arr[i].indexOf('>',0));
var params_arr = script_params_str.split(' ');
if (params_arr.length > 1) {
for (var j=0;j< params_arr.length; j++ ) {

if(params_arr[j].length > 0){
var param_arr = params_arr[j].split('=');
param_arr[1] = param_arr[1].substr(1,(param_arr[1].length-2));
script_node.setAttribute(param_arr[0],param_arr[1]);
}
}
}
}
}
};
this.sendAJAX = function(urlstring){
this.responseStatus = new Array(2);
if(this.failed && this.AjaxFailedAlert){ 
alert(this.AjaxFailedAlert); 
} else {
if (urlstring){ 
if (this.URLString.length){
this.URLString = this.URLString + "&" + urlstring; 
} else {
this.URLString = urlstring; 
}
}
if (this.encodeURIString){
var timeval = new Date().getTime(); 
this.URLString = this.encodeURLString(this.URLString);
this.setVar("rndval", timeval);
}
if (this.element) { this.elementObj = document.getElementById(this.element); }
if (this.xmlhttp) {
var self = this;
if (this.method == "GET") {
var totalurlstring = this.requestFile + "?" + this.URLString;
this.xmlhttp.open(this.method, totalurlstring, true);
} else {
this.xmlhttp.open(this.method, this.requestFile, true);
}
if (this.method == "POST"){
try {
this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
} catch (e) {}
}
this.xmlhttp.send(this.URLString);
this.xmlhttp.onreadystatechange = function() {
switch (self.xmlhttp.readyState){
case 1:
self.onLoading();
break;
case 2:
self.onLoaded();
break;
case 3:
self.onInteractive();
break;
case 4:
self.response = self.xmlhttp.responseText;
self.responseXML = self.xmlhttp.responseXML;
self.responseStatus[0] = self.xmlhttp.status;
self.responseStatus[1] = self.xmlhttp.statusText;
self.onHide();
self.onCompletion();
if (self.elementObj) {
var elemNodeName = self.elementObj.nodeName;
elemNodeName = elemNodeName.toLowerCase();
if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){
if (self.response == 'error') { alert('Access denied'); } else {
if ( self.add_html ) {
self.elementObj.value += self.response;
} else { self.elementObj.value = self.response;}
}
} else {
if (self.response == 'error') { alert('Access denied'); } else {
if(self.execute) { self.runResponse(); } else {
if ( self.add_html ) {
self.elementObj.innerHTML += self.response;
} else{ self.elementObj.innerHTML = self.response; }
}
}
}
}
self.URLString = "";
break;
}
};
}
}
};
this.createAJAX();
};
var n_cache = new Array();
var c_cache = new Array();
var comm_id;
var s_id;
var e_id;
function IPMenu( m_ip, l1, l2, l3 ){
var menu=new Array();
menu[0]='<a href="http://www.nic.ru/whois/?ip=' + m_ip + '" target="_blank">' + l1 + '</a>';
menu[1]='<a href="' + dle_root + dle_admin + '?mod=iptools&ip=' + m_ip + '" target="_blank">' + l2 + '</a>';
menu[2]='<a href="' + dle_root + dle_admin + '?mod=blockip&ip=' + m_ip + '" target="_blank">' + l3 + '</a>';
return menu;
};
function doFavorites( fav_id, event )
{
var ajax = new dle_ajax();
ajax.onShow ('');
var varsString = "fav_id=" + fav_id;
ajax.setVar("action", event);
ajax.setVar("skin", dle_skin);
ajax.requestFile = dle_root + "engine/ajax/favorites.php";
ajax.method = 'GET';
ajax.element = 'fav-id-'+fav_id;
ajax.sendAJAX(varsString);
return false;
};
function CheckLogin()
{
var ajax = new dle_ajax();
var name = ajax.encodeVAR( document.getElementById('name').value );
ajax.onShow ('');
var varsString = "name=" + name;
ajax.requestFile = dle_root + "engine/ajax/registration.php";
ajax.method = 'POST';
ajax.element = 'result-registration';
ajax.sendAJAX(varsString);
return false;
};
function grafbig(id){
document.getElementById('graff-id-'+id).innerHTML = '<img src="/uploads/images/'+id+'.jpg">';
}

function showcommentsform(comid){
 id=comid;
 document.getElementById('parent_id').value = id;
 document.getElementById('comments').value = '';
 document.getElementById('dle-ajax-comments-'+id).innerHTML = '<a href="#" onclick="hidecommentsform(); return false;">выход</a>';
 document.getElementById('comment-'+id).appendChild(document.getElementById('dle-comments-form'));
}
function hidecommentsform(){
	document.getElementById('add_comments').appendChild(document.getElementById('dle-comments-form'));
	document.getElementById('dle-ajax-comments-'+id).innerHTML = '<a href="#" onclick="showcommentsform(\''+id+'\'); return false;">ответ</a>';
	document.getElementById('parent_id').value = 0;
	document.getElementById('comments').value = '';
}
function doFlash() {
	document.getElementById('swf-layer').style.display = '';
    var ajax = new dle_ajax();
    var varsString = "";
    ajax.requestFile = dle_root + "engine/ajax/flash/index.php";
    ajax.method = 'GET';
    ajax.execute = true;
    ajax.element = 'swf-layer';
    ajax.sendAJAX(varsString)
};
function doRate( rate, id ) {
	var ajax = new dle_ajax();
	ajax.onShow ('');
	var varsString = "go_rate=" + rate;
	ajax.setVar("news_id", id);
	ajax.setVar("skin", dle_skin);
	ajax.requestFile = dle_root + "engine/ajax/rating.php";
	ajax.method = 'POST';
	ajax.element = 'ratig-layer-' + id;
	ajax.sendAJAX(varsString);
};
function agree() {
document.photo.image.disabled = false;
document.photo.upload.disabled = false;
}
function dleRate( rate, id ) {
var ajax = new dle_ajax();
ajax.onShow ('');
var varsString = "go_rate=" + rate;
ajax.setVar("news_id", id);
ajax.setVar("skin", dle_skin);
ajax.setVar("mode", "short");
ajax.requestFile = dle_root + "engine/ajax/rating.php";
ajax.method = 'GET';
ajax.element = 'ratig-layer-' + id;
ajax.sendAJAX(varsString);
};
function doAddComments(){
var form = document.getElementById('dle-comments-form');
var dle_comments_ajax = new dle_ajax();
if (form.comments.value == '' || form.name.value == '')
{
alert ( dle_req_field );
return false;
}
dle_comments_ajax.onShow ('');
var varsString = "post_id=" + form.post_id.value;
dle_comments_ajax.setVar("comments", dle_comments_ajax.encodeVAR(form.comments.value));
dle_comments_ajax.setVar("name", dle_comments_ajax.encodeVAR(form.name.value));
dle_comments_ajax.setVar("parent_id", dle_comments_ajax.encodeVAR(form.parent_id.value));
dle_comments_ajax.setVar("skin", dle_skin);
if ( form.sess_code ) {
dle_comments_ajax.setVar("sess_code", form.sess_code.value);
}
if ( form.allow_subscribe ) {
if ( form.allow_subscribe.checked == true ) {
dle_comments_ajax.setVar("allow_subscribe", "1");
} else {
dle_comments_ajax.setVar("allow_subscribe", "0");
}
}
dle_comments_ajax.requestFile = dle_root + "engine/ajax/addcomments.php";
dle_comments_ajax.method = 'POST';
dle_comments_ajax.execute = true;
dle_comments_ajax.element = 'dle-ajax-comments-'+dle_comments_ajax.encodeVAR(form.parent_id.value);
dle_comments_ajax.sendAJAX(varsString);
};
function dle_ins(name) 
{
if ( !document.getElementById('dle-comments-form') ) return false;
var input=document.getElementById('dle-comments-form').comments;
var finalhtml = "";
if (dle_wysiwyg == "no") {
if (dle_txt!= "") {
input.value += dle_txt;
}
else { 
input.value += "[b]"+name+"[/b],"+"\n";
}
} else {
if (dle_txt!= "") {
finalhtml = dle_txt;
}
else { 
finalhtml = "<b>"+name+"</b>,"+"<br />";
}
tinyMCE.execInstanceCommand('comments', 'mceInsertContent', false, finalhtml, true) 
}
};
function confirmDelete(url){
document.location=url;
};
function UserMenu( url, m_id, group ){
var menu=new Array();
menu[0]='<a ' + url +' >' + menu_profile + '</a>';
menu[1]='<a href="' + dle_root + 'index.php?do=pm&doaction=newpm&user=' + m_id + '">' + menu_send + '</a>';
menu[2]='<a href="' + dle_root + 'index.php?do=lastcomments&userid=' + m_id + '">' + menu_fcomments + '</a>';
if (group == '1') {
menu[3]='<a onclick="window.open(\'' + dle_root + dle_admin + '?mod=editusers&action=edituser&id=' + m_id + '\', \'User\',\'toolbar=0,location=0,status=0, left=0, top=0, menubar=0,scrollbars=yes,resizable=0,width=540,height=500\'); return false;" href="#">' + menu_uedit + '</a>';
}
return menu;
};
function UserNewsMenu( url, news_url, m_id, group ){
var menu=new Array();
menu[0]='<a ' + url +' >' + menu_profile + '</a>';
menu[1]='<a ' + news_url +' >' + menu_fnews + '</a>';
if (group == '1') {
menu[3]='<a onclick="window.open(\'' + dle_root + dle_admin + '?mod=editusers&action=edituser&user=' + m_id + '\', \'User\',\'toolbar=0,location=0,status=0, left=0, top=0, menubar=0,scrollbars=yes,resizable=0,width=540,height=500\'); return false;" href="#">' + menu_uedit + '</a>';
}
return menu;
};
function dle_news_delete( m_id ){
document.location= dle_root + 'index.php?do=deletenews&id=' + m_id + '&hash=' + dle_login_hash;
};
function MenuNewsBuild( m_id, event ){
var menu=new Array();
if (dle_admin != '') {
menu[0]='<a href="' + dle_root + dle_admin + '?mod=editnews&action=editnews&id=' + m_id + '" target="_blank">' + menu_full + '</a>';
}
if (allow_dle_delete_news) {
menu[1]='<a onclick="dle_news_delete (\'' + m_id + '\'); return false;" href="#">' + dle_del_news + '</a>';
}
return menu;
};
function commentdelete(c_id, u_hash){
var ajax = new dle_ajax();
var varsString = "";
ajax.setVar("comm_id", c_id);
ajax.setVar("uhash", u_hash);
ajax.requestFile = "/engine/ajax/commentdelete.php";
ajax.element = 'comm-id-' + c_id;
ajax.method = 'POST';
ajax.sendAJAX(varsString)
};
function ShowOrHide( id ){
var item = document.getElementById(id);
if ( document.getElementById('image-'+ id) ) {
var image = document.getElementById('image-'+ id);
}else{
var image = null;
}
if (!item) {
return;
}else{
if (item.style) {
if (item.style.display == "none") { 
item.style.display = ""; 
if (image) { image.src = dle_root + 'templates/'+ dle_skin + '/dleimages/spoiler-minus.gif';}
}else{
item.style.display = "none"; 
if (image) { image.src = dle_root + 'templates/'+ dle_skin + '/dleimages/spoiler-plus.gif';}
}
}else{ item.visibility = "show"; }
}
};
function commentrealdelete(c_id, u_hash){
var ajax = new dle_ajax();
var varsString = "";
ajax.setVar("comm_id", c_id);
ajax.setVar("uhash", u_hash);
ajax.requestFile = "/engine/ajax/rcommentdelete.php";
ajax.element = 'comm-id-' + c_id;
ajax.method = 'POST';
ajax.sendAJAX(varsString)
};
function form_load(){
var hash = session_hash;
document.write('<in' + 'put t' + 'ype="hi' + 'dden" na' + 'me="sess_co' + 'de" val' + 'ue="'+session_hash+'">');
};
function DlePage(varsString) {
    showBusyLayer();
    if (document.getElementById('dle-info').innerHTML != '') {
        document.getElementById('dle-info').innerHTML = ''
    }
    var ajax = new dle_ajax();
    ajax.onShow('');
    ajax.requestFile = dle_root + "engine/ajax/pages.php";
    ajax.method = 'GET';
    ajax.execute = true;
    ajax.element = 'dle-content';
    ajax.onCompletion = DlePageCompleted;
    ajax.sendAJAX(varsString)
};
function DlePageCompleted() {
    hideBusyLayer();
    var post_main_obj = document.getElementById('dle-content');
    var post_box_top = _get_obj_toppos(post_main_obj);
    if (post_box_top) {
        scroll(0, post_box_top-1)
    }
};
