/**
 * Custom confirm dialog.
 * (C) 2006 Vladislav SHCHapov, phprus@gmail.com
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * See http://www.gnu.org/copyleft/lesser.html
 *
 * Do not remove this comment if you want to use script!
 * Не удаляйте данный комментарий, если вы хотите использовать скрипт!
 *
 * @author Vladislav SHCHapov
 * @version 1.0
 * @modified Yuriy Nasretdinov
 */
var myconfirmdlg_path_to_img = 'i/'; // путь к папке с картинками (слеш на конце обязателен!)


var undefined; function isUndefined(property) { return (typeof property == 'undefined');}
/*if (isUndefined(Array.prototype.concat) == true) { Array.prototype.concat = function (secondArray) { var firstArray = this.copy(); for (var i = 0, saL = secondArray.length; i < saL; i++) { firstArray[firstArray.length] = secondArray[i];}
return firstArray;};}
if (isUndefined(Array.prototype.copy) == true) { Array.prototype.copy = function() { var copy = new Array(); for (var i = 0, tL = this.length; i < tL; i++) { copy[i] = this[i];}
return copy;};}
if (isUndefined(Array.prototype.pop) == true) { Array.prototype.pop = function() { var lastItem = undefined; if ( this.length > 0 ) { lastItem = this[this.length - 1]; this.length--;}
return lastItem;};}
if (isUndefined(Array.prototype.push) == true) { Array.prototype.push = function() { var currentLength = this.length; for (var i = 0; i < arguments.length; i++) { this[currentLength + i] = arguments[i];}
return this.length;};}
if (isUndefined(Array.prototype.shift) == true) { Array.prototype.shift = function() { var firstItem = this[0]; for (var i = 0, tL = this.length - 1; i < tL; i++) { this[i] = this[i + 1];}
this.length--; return firstItem;};}
if (isUndefined(Array.prototype.slice) == true) { Array.prototype.slice = function(start, end) { var temp; if (end == null || end == '') end = this.length; else if (end < 0) end = this.length + end; if (start < 0) start = this.length + start; if (end < start) { temp = end; end = start; start = temp;}
var newArray = new Array(); for (var i = 0; i < end - start; i++) { newArray[i] = this[start + i];}
return newArray;};}
if (isUndefined(Array.prototype.splice) == true) { Array.prototype.splice = function(start, deleteCount) { if (deleteCount == null || deleteCount == '') deleteCount = this.length - start; var tempArray = this.copy(); for (var i = start, aL = start + arguments.length - 2; i < aL; i++) { this[i] = arguments[i - start + 2];}
var dC = deleteCount - arguments.length + 2; for (var i = start + arguments.length - 2, tL = this.length - deleteCount + arguments.length - 2; i < tL; i++) { this[i] = tempArray[i + dC];}
this.length = this.length - dC; return tempArray.slice(start, start + deleteCount);};}
if (isUndefined(Array.prototype.unshift) == true) { Array.prototype.unshift = function(the_item) { for (var loop = this.length-1 ; loop >= 0; loop--) { this[loop+1] = this[loop];}
this[0] = the_item; return this.length;};}
if (isUndefined(Array.prototype.indexOf) == true) { Array.prototype.indexOf = function(needle,begin) { for (var i=(null==begin||isNaN(begin)||begin<0)?0:Math.round(begin),len = this.length, idx = -1; idx==-1 & i<len; i++) { idx = (this[i]==needle)?i:idx;}
return idx;};}
if (isUndefined(Array.prototype.lastIndexOf) == true) { Array.prototype.lastIndexOf = function(needle,end) { for (var i=(null==end||isNaN(end)||end>this.length)?this.length:Math.round(end), idx = -1; idx==-1 & i>-1; i--) { idx = (this[i]==needle)?i:idx;}
return idx;};}
Object.prototype.merge = function (obj) { for (var i in obj) { if (obj.constructor.prototype[i]) continue; if (undefined == this[i] && 'object' == typeof obj[i]) this[i] = {}; if ('object' == typeof obj[i]) this[i].merge(obj[i]); else this[i] = obj[i];}
}
if (undefined == Function.call)
Function.prototype.call = function () { var context, oldprop, s = [], i=1, aL = arguments.length; if (arguments.length == 0) context = window; else context = arguments[0]; oldprop = context.______________tmp______________; context.______________tmp______________ = this; for (;i<aL;i++) s[s.length] = 'arguments['+i+']'; var ret = eval ("context.______________tmp______________("+s.join(",")+")"); context.______________tmp______________ = oldprop; return ret;}
if (undefined == Function.apply)
Function.prototype.apply = function () { var context, oldprop, s = [], i=0, aL = arguments[1].length; if (arguments.length == 0) context = window; else context = arguments[0]; oldprop = context.______________tmp______________; context.______________tmp______________ = this; for (;i<aL;i++) s[s.length] = 'arguments[1]['+i+']'; var ret = eval ("context.______________tmp______________("+s.join(",")+")"); context.______________tmp______________ = oldprop; return ret;}
*/
if (Node && !Node.prototype) { var node = document.createTextNode(''); var Node = node.constructor;}
if (window.Node) { Node.prototype.removeNode = function(removeChildren) { var self = this; if (Boolean(removeChildren))
return this.parentNode.removeChild( self ); else { var r=document.createRange(); r.selectNodeContents(self); return this.parentNode.replaceChild(r.extractContents(),self);}
}
Node.prototype.swapNode = function(swapNode) { var self = this; n = self.cloneNode(true); nt = swapNode.cloneNode(true); self.parentNode.insertBefore(nt,self); self.removeNode(true); swapNode.parentNode.insertBefore(n,swapNode); swapNode.removeNode(true);}

if (!Node.prototype.attachEvent)
Node.prototype.attachEvent = function (e,f,c) { var self = this; return self.addEventListener(e.substr(2), f, false);}
/*
if (!Node.prototype.fireEvent)
Node.prototype.fireEvent = function (e) { var eventTypes = { resize : ['HTMLEvents',1,0], scroll : ['HTMLEvents',1,0], focusin : ['HTMLEvents',0,0], focusout : ['HTMLEvents',0,0], gainselection : ['HTMLEvents',1,0], loseselection : ['HTMLEvents',1,0], activate : ['HTMLEvents',1,1], load : ['HTMLEvents',0,0], unload : ['HTMLEvents',0,0], abort : ['HTMLEvents',1,0], error : ['HTMLEvents',1,0], select : ['HTMLEvents',1,0], change : ['HTMLEvents',1,0], submit : ['HTMLEvents',1,1], reset : ['HTMLEvents',1,0], focus : ['HTMLEvents',0,0], blur : ['HTMLEvents',0,0], click : ['MouseEvents',1,1], mousedown : ['MouseEvents',1,1], mouseup : ['MouseEvents',1,1], mouseover : ['MouseEvents',1,1], mousemove : ['MouseEvents',1,0], mouseout : ['MouseEvents',1,0], keypress : ['KeyEvents',1,1], keydown : ['KeyEvents',1,1], keyup : ['KeyEvents',1,1], DOMSubtreeModified : ['MutationEvents',1,0], DOMNodeInserted : ['MutationEvents',1,0], DOMNodeRemoved : ['MutationEvents',1,0], DOMNodeRemovedFromDocument : ['MutationEvents',0,0], DOMNodeInsertedIntoDocument : ['MutationEvents',0,0], DOMAttrModified : ['MutationEvents',1,0], DOMCharacterDataModified : ['MutationEvents',1,0]
}; var self = this; e = e.substr(2); if (!eventTypes[e]) return false; var evt = document.createEvent(eventTypes[e][0]); evt.initEvent(e,eventTypes[e][1],eventTypes[e][2]); return self.dispatchEvent(evt);}
*/
}

if (!window.attachEvent) { window.attachEvent= function (e,f,c) { var self = this; if (self.addEventListener) return self.addEventListener(e.substr(2), f, false); else self[e] = f;}
}

(__DDI__ = { __dataTransfer__ : function (el) { var self = this; var __text__ = null; var __html__ = null; var __dom__ = null; var __element__ = el; var __________________________Publics__________________________; this.effectAllowed = 0; var __effectAllowed = null; this.dropEffect = null; var __dropEffect = null; this.setData = function (type,obj) { switch (type.toLowerCase()) { case "text" :
__text__ = obj; break; case "domnode" :
__dom__ = obj; break; default:
return false;}
return true;}
this.getData = function (type) { switch (type.toLowerCase()) { case "text" :
return __text__; case "domnode" :
return __dom__; default:
return null;}
}
this.clearData = function () { switch (arguments[0].toLowerCase()) { case "text" :
__text__ = null; break; case "domnode" :
__dom__ = null; break; case "" :
__text__ = null; __dom__ = null; break;}
}
this.getDragState = function () { return Number(__dropEffect & __effectAllowed);}
this.getClonedElement = function () { var el = __element__.cloneNode(true); el.id = ''; return el;}
var __________________________Protected__________________________; this.__handleDragStart = function (evt,el) { var res = executeHandler(evt,__element__,'__onDragStart',__element__); if (res !== false) applyEffectAllowed(); return res;}
this.__handleDrag = function (evt,el) { var res = executeHandler(evt,__element__,'__onDrag',__element__); if (res !== false) applyEffectAllowed(); return res;}
this.__handleDragEnd = function (evt,el) { if(el!=__element__) return executeHandler(evt,el?el:__element__,'__onDragEnd',el?el:__element__);}
this.__handleDragEnter = function (evt,el) { if (__effectAllowed > 0)
return executeHandler(evt,el,'__onDragEnter',el); else
return false;}
this.__handleDragOver = function (evt,el) { var res = false; if (__effectAllowed > 0) { res = executeHandler (evt,el,'__onDragOver',el); if (res !== false) { switch (String(self.dropEffect).toLowerCase()) { case 'copy' : __dropEffect = 1; break; case 'move' : __dropEffect = 2; break; case 'link' : __dropEffect = 4; break; default : __dropEffect = 0;}
}
}
return res;}
this.__handleDragLeave = function (evt,el) { var res = false; if (__effectAllowed > 0) { res = executeHandler (evt,el,'__onDragLeave',el); self.dropEffect = 'none'; __dropEffect = 0;}
return res;}
this.__handleDrop = function (evt,el) { var res = false; if (__effectAllowed & __dropEffect) { if (!el.__onDrop) return false; res = executeHandler (evt,el,'__onDrop',el); if (res !== false) { switch (__dropEffect & __effectAllowed) { case 1 :
el.appendChild(__element__.cloneNode(true)); break; case 2 :
try { el.appendChild(__element__);}
catch (e) { alert('Node cannot be moved here');}
break;}
}
}
return res;}
var __________________________Privates__________________________; var executeHandler = function (evt,el,h,target) { if (!el || !el[h]) return false; evt.__currentTarget = target; __DDI__.geometry.recalcCurrentTarget(evt); return el[h](evt);}
var applyEffectAllowed = function () { switch (String(self.effectAllowed).toLowerCase()) { case 'none' : __effectAllowed = 0; break; case 'copy' : __effectAllowed = 1; break; case 'move' : __effectAllowed = 2; break; case 'link' : __effectAllowed = 4; break; case 'copymove' : __effectAllowed = 3; break; case 'copylink' : __effectAllowed = 5; break; case 'movelink' : __effectAllowed = 6; break; case 'all' : __effectAllowed = 7; break;}
}
}, pluginManager : new (function () { var self = this; var pluginState = {}; var forcedPlugin = {}; var pluginGroups = {'DDI_CORE' : 1, 'DDI_SYSTEM' : 2, 'DDI_VISUAL' : 4
}
var pluginGroupState = {}; for (var i in pluginGroups) { if (Object.prototype[i]) continue; pluginGroupState[i] = true;}
var plugins = {'runtime' : {'always' : {}
}, 'dragstart' : { 'before' : {}, 'after' : {}
}, 'drag' : { 'before' : {}, 'after' : {}
}, 'dragend' : { 'before' : {}, 'after' : {}
}
}
var doPluginMethodSort = function (methods) { var tmp = []; for (var pm in methods) { if (Object.prototype[pm]) continue; tmp[tmp.length] = pm;}
tmp.sort(function(a,b){var pa = __DDI__.plugin[a]; var pb = __DDI__.plugin[b]; var pag = pluginGroups[pa.group]; var pbg = pluginGroups[pb.group]; if (pag<pbg) return -1; if (pag>pbg) return 1; return 0
}); var tmpL = tmp.length; ret = {}; for (var i=0; i<tmpL; i++) { ret[tmp[i]] = methods[tmp[i]];}
return ret;}
var __________________________Public__________________________; this.setPlugin = function(name) { var evt, phase; var plg = __DDI__.plugin[name]; var res = false; for (evt in plugins) { if (Object.prototype[evt]) continue; if (plg && plg[evt])
for (phase in plugins[evt]) { if (Object.prototype[phase]) continue; if (!plugins[evt][phase][name] && plg[evt][phase] && typeof(plg[evt][phase]) == 'function') { plugins[evt][phase][name] = plg[evt][phase]; pluginState[name] = true; plugins[evt][phase] = doPluginMethodSort(plugins[evt][phase]); res = true;}
}
}
if (res && plg.init) plg.init(); if (res) { plg.enablePluginGroup = enablePluginGroup; plg.disablePluginGroup = disablePluginGroup; plg.forcePlugin = forcePlugin; plg.unforcePlugin = unforcePlugin;}
return res;}
this.removePlugin = function(name) { var res = false; if (!__DDI__.plugin[name]) return false; for (evt in plugins) { if (Object.prototype[evt]) continue; for (phase in plugins[evt]) { if (Object.prototype[phase]) continue; if (plugins[evt][phase][name]) { delete(plugins[evt][phase][name]); delete(pluginState[name]); delete(forcedPlugin[name]); res = true;}
}
}
if (res && __DDI__.plugin[name]['shutdown']) __DDI__.plugin[name]['shutdown'](); return res;}
this.disablePlugin = function (name) { pluginState[name] = false;}
this.enablePlugin = function (name) { pluginState[name] = true;}
var __________________________Protected__________________________; this.__call = function (evt,pos,event) { var pl; var res = true; if (plugins[evt] && plugins[evt][pos])
for (pl in plugins[evt][pos]) { if (Object.prototype[pl]) continue; var g = __DDI__.plugin[pl].group; if (pluginState[pl] && pluginGroupState[g] || forcedPlugin[pl]) res = res&plugins[evt][pos][pl](event);}
return res;}
var enablePluginGroup = function (g) { if (pluginGroups[this.group]<pluginGroups[g]) pluginGroupState[g] = true;}
var disablePluginGroup = function (g) { if (pluginGroups[this.group]<pluginGroups[g]) pluginGroupState[g] = false;}
var forcePlugin = function (name) { forcedPlugin[name] = true;}
var unforcePlugin = function (name) { delete(forcedPlugin[name]);}
})(), geometry : new (function () { var self = this; var __________________________Public__________________________; this.pageX = null; this.pageY = null; this.dX; this.dY; this.currentTargetOffsetX; this.currentTargetOffsetY; this.targetOffsetX; this.targetOffsetY; this.recalc = function (e) { self.dX = self.pageX; self.dY = self.pageY; var c = document.getElementsByTagName((document.compatMode&&document.compatMode=="CSS1Compat")?"html":"body")[0]; self.pageX = window.event?window.event.clientX+c.scrollLeft:e.pageX; self.pageY = window.event?window.event.clientY+c.scrollTop:e.pageY; self.dX = self.dX==null?0:(self.pageX-self.dX); self.dY = self.dY==null?0:(self.pageY-self.dY); self.recalcCurrentTarget(e); self.recalcTarget(e); if (e!=null) self.apply (e);}; this.apply = function (e,p) { if (p == null) { for (var i in self) if (!Object[i] && typeof self[i] != 'function') e['__'+i] = self[i]
} else { var pL = p.length; for (var i=0;i<pL;i++) e['__'+p[i]] = parseInt(self[p[i]])
}
}
this.calcOffset = function(el) { var x=0,y=0; while (el) { x+=el.offsetLeft; y+=el.offsetTop; el = el.offsetParent;}
return {'x':x,'y':y};}
this.recalcTarget = function (e) { var off = recalcLayer (e, e.__target,'targetOffsetX','targetOffsetY'); this.apply(e,['targetOffsetX','targetOffsetY']); return off;}
this.recalcCurrentTarget = function (e) { var off = recalcLayer (e, e.__currentTarget,'currentTargetOffsetX','currentTargetOffsetY'); this.apply(e,['currentTargetOffsetX','currentTargetOffsetY']); return off;}
var __________________________Private__________________________; var recalcLayer = function (e, el, propX, propY) { var off = {'x' : 0, 'y' : 0}
if (el) { off = self.calcOffset(el); self[propX] = off.x; e[propX] = off.x; el.__offsetX = off.x; e[propY] = off.y; self[propY] = off.y; el.__offsetY = off.y; el.__layerX = (e.clientX||e.x)-off.x; el.__layerY = (e.clientY||e.y)-off.y;}
return off;}
})(), plugin : {}, beforeDrag : false, currentTarget : false, dataTransfer : null, initDrag : function (evt) { var el = evt.target || evt.srcElement; evt.__target = el; __DDI__.geometry.recalc(evt); __DDI__.beforeDrag = el; while (__DDI__.beforeDrag) { if (__DDI__.beforeDrag.__onDragStart) { __DDI__.currentTarget = __DDI__.beforeDrag; evt.__currentTarget = __DDI__.currentTarget; __DDI__.geometry.recalcCurrentTarget(evt); __DDI__.dataTransfer = new __DDI__.__dataTransfer__(evt.__currentTarget); evt.__dataTransfer = __DDI__.dataTransfer; if (false !== __DDI__.dataTransfer.__handleDragStart(evt,el)) break; delete (__DDI__.dataTransfer);}
__DDI__.beforeDrag = __DDI__.beforeDrag.parentNode;}
if (!__DDI__.currentTarget || __DDI__.currentTarget.parentNode == null) { delete (__DDI__.dataTransfer); __DDI__.currentTarget = null; return;}
__DDI__.pluginManager.__call('dragstart','after',evt);}, mouseMover : function (evt) { var el = evt.srcElement || evt.target; evt.__target = el; __DDI__.geometry.recalc(evt); __DDI__.pluginManager.__call('runtime','always',evt); if (!__DDI__.dataTransfer) return; evt.__dataTransfer = __DDI__.dataTransfer; evt.__currentTarget = __DDI__.currentTarget; __DDI__.geometry.recalcCurrentTarget(evt); if (__DDI__.pluginManager.__call('drag','before',evt)) { while (__DDI__.currentTarget !== el &&
(!el.__onDragEnter || el.__onDragEnter &&
(evt.__currentTarget = el, __DDI__.dataTransfer.__handleDragEnter(evt,el)) ) &&
!el.__onDragOver && (el = el.parentNode)) { }
if (el && __DDI__.currentTarget != el) { __DDI__.dataTransfer.__handleDragLeave(evt,__DDI__.currentTarget); __DDI__.currentTarget = el;}
evt.__currentTarget = __DDI__.currentTarget; __DDI__.geometry.recalcCurrentTarget(evt); __DDI__.dataTransfer.__handleDrag (evt,el); __DDI__.dataTransfer.__handleDragOver (evt,el);}
__DDI__.pluginManager.__call('drag','after',evt);}, stopDrag : function (evt) { __DDI__.beforeDrag = false; if (__DDI__.dataTransfer) { var el = evt.srcElement || evt.target; evt.__target = el; __DDI__.geometry.recalc(evt); evt.__dataTransfer = __DDI__.dataTransfer; __DDI__.pluginManager.__call('dragend','before',evt); __DDI__.dataTransfer.__handleDrop(evt,__DDI__.currentTarget); __DDI__.dataTransfer.__handleDragEnd(evt); __DDI__.dataTransfer.__handleDragEnd(evt,__DDI__.currentTarget); delete (__DDI__.dataTransfer); __DDI__.currentTarget = null;}
__DDI__.pluginManager.__call('dragend','after',evt);}, setPlugin : function (name) { return __DDI__.pluginManager.setPlugin(name);}, removePlugin : function (name) { return __DDI__.pluginManager.removePlugin(name);}, enablePlugin : function (name) { return __DDI__.pluginManager.enablePlugin(name);}, disablePlugin : function (name) { return __DDI__.pluginManager.disablePlugin(name);}, init : function () { document.attachEvent('onmousemove',__DDI__.mouseMover); document.attachEvent('onmousedown',__DDI__.initDrag); document.attachEvent('onmouseup',__DDI__.stopDrag);}
}).init(); if (!document.createElementExt) { document.createElementExt = function (tag,c,h,s,ch,p) { var L, i; var el = document.createElement(tag); if (!el) return false; if(c) { el.setAttribute('className',c); el.setAttribute('class',c);}
if(h) { L = h.length; for (i=0; i<L; i++) el.attachEvent(h[i][0],h[i][1]);}
if(s) { L = s.length; for (i=0; i<L; i++) el.style[s[i][0]] = s[i][1];}
if(ch) { L = ch.length; for (i=0; i<L; i++) el.appendChild(ch[i]);}
if(p) { L = p.length; for (i=0; i<L; i++) el[p[i][0]] = p[i][1];}
return el;}
}
__DDI__.plugin.fixNoMouseSelect = new function () { this.name = 'No mouse select'; this.description = 'Plugin is used to disable mouse selection during drag'; this.group = 'DDI_CORE'; var el = false; var reset = false; this.init = function () { if (!el) { el = document.createElementExt('INPUT', null, null, [['width',0], ['height',0], ['border',0], ['padding',0], ['margin',0], ['background','transparent'], ['font-size','0'], ['position','absolute'], ['z-index','-1000'] ], null, [['disabled','disabled'],['id','mouse_select_input_fixx']]); var body = document.getElementsByTagName('body')[0]; body.appendChild(el);}
}
this.drag = { 'after' : function (e) { if (!reset) { el.style.left=e.__pageX+'px'; el.style.top=e.__pageY+'px'; try {el.focus();} catch(e) {el.disabled=false; el.focus(); el.disabled=true}
reset = true;}
}
}
this.dragend = { 'after' : function (e) { reset = false;}
}
this.shutdown = function () { if (el != null) { el.removeNode(); el = null;}
}
}
__DDI__.plugin.moveIT = new function () { var self = this; this.name = 'Element mover'; this.description = 'Plugin is used to move elements'; this.group = 'DDI_SYSTEM'; var onmove = false; var dx, dy; var element = null; this.dragstart = { 'after' : function (e) { if (onmove || !e.__currentTarget.__onMoveStart || e.__currentTarget.__onMoveStart(e) == false) return; onmove = true; dx = e.__pageX-e.__currentTargetOffsetX; dy = e.__pageY-e.__currentTargetOffsetY; element = e.__currentTarget; self.disablePluginGroup('DDI_VISUAL');}
}
this.drag = { 'before' : function (e) { if (!onmove || !element) return true; if (element.__onMove) var r = element.__onMove(e)
var top = e.__pageY-dy; if (r.y.min != null && top<r.y.min) top = r.y.min; var bottom = top + element.offsetHeight; if (r.y.max != null && bottom>r.y.max) top = bottom - element.offsetHeight; var left = e.__pageX-dx; if (r.x.min != null && left<r.x.min) left = r.x.min; var right = left + element.offsetWidth; if (r.x.max != null && right>r.x.max) left = right - element.offsetWidth; if (r.y.move && (r.y.min==null || top>=r.y.min) && (r.y.max==null || bottom<=r.y.max)) element.style.top = top + 'px'; if (r.x.move && (r.x.min==null || left>=r.x.min) && (r.x.max==null || right<=r.x.max)) element.style.left = left + 'px'; return false;}
}
this.dragend = { 'after' : function (e) { onmove = false; element = false; self.enablePluginGroup('DDI_VISUAL');}
}
}; __DDI__.plugin.adjustZIndex = new function () { this.name = 'Adjust ZIndex'; this.description = 'Plugin adjust ZIndex and performs \'always on top\' checks'; this.group = 'DDI_SYSTEM'; var elStack = []; var elTopStack = []; var topStart = 500000; this.dragstart = { 'after' : function (e) { if (!e.__currentTarget.urid) e.__currentTarget.urid = new Date().getMilliseconds(); var urid = e.__currentTarget.urid; var sl = elStack.length; for (var i=0;i<sl;i++) { if (elStack[i] && elStack[i].urid==urid) break;}
if (elStack[i] && elStack[i].urid == urid) { elStack.splice(i,1);}
if (!e.__currentTarget.alwaysOnTop) elStack[elStack.length] = e.__currentTarget; for (i=0;i<=sl;i++) if (elStack[i]) elStack[i].style.zIndex = i+(elStack[i].alwaysOnTop?topStart:1); var sl = elTopStack.length; for (i=0;i<sl;i++) { if (elTopStack[i] && elTopStack[i].urid==urid) break;}
if (elTopStack[i] && elTopStack[i].urid == urid) { elTopStack.splice(i,1);}
if (e.__currentTarget.alwaysOnTop) elTopStack[elTopStack.length] = e.__currentTarget; for (i=0;i<=sl;i++) if (elTopStack[i]) elTopStack[i].style.zIndex = i+(elTopStack[i].alwaysOnTop?topStart:1);}
}
}; __DDI__.plugin.fixDragInMz = new function () { this.name = 'Fix MZ/FF drag'; this.description = "Plugin applies some bugfixes to MZ/FF drag processing"; this.group = 'DDI_CORE'; var tags = {'a':true,'img':true}; this.dragstart = { 'after' : function (e) { if (e.preventDefault) { var oldPos = e.__currentTarget.style.position; var cs = document.defaultView.getComputedStyle(e.__currentTarget,''); switch (cs.position) { case "absolute" :
e.__currentTarget.style.position='static'; break; case "static" :
case "" :
e.__currentTarget.style.position='relative'; break;}
e.__currentTarget.style.position=oldPos; e.preventDefault();}
}
}
}
__DDI__.plugin.fixDragInIe = new function () { this.name = 'Fix IE drag'; this.description = "Plugin stops IE's built-in drag'n'drop for links and images"; this.group = 'DDI_CORE'; var tags = {'a':true,'img':true}; this.dragstart = { 'after' : function (e) { el = e.__target
while (el) { if (tags[String(el.tagName).toLowerCase()]) el.attachEvent('ondragstart',__DDI__.plugin.fixDragInIe.noIeDrag); el = el.parentNode
}
}
}, this.noIeDrag = function (e) { e.cancelBubble = true; e.returnCalue = false; return false;}
};var myconfirmdlg_btn = null; var myconfirmdlg_coords = false; 
document.attachEvent('onkeydown', function(evt) { 
    var dlg = document.getElementById('myconfirmdlg'); 
    if (!dlg) {
        //if(dlg.style.display=="none" || dlg.style.display!="") {
            //return true;  
        //}else {
            return false; 
        //}
    }
    if ((evt.keyCode == 27 || (evt.keyCode == 115 && evt.altKey)) && dlg.style.visibility == 'visible') { 
        myconfirmdlg_click(false);
    }
    //return false;
}); window.attachEvent('onscroll', function(evt) { var dlg = document.getElementById('myconfirmdlg'); if (!dlg) return false; if (dlg.style.visibility == 'visible')
{ dlg.style.left = (parseInt(dlg.style.left) + getClientCenterX() - myconfirmdlg_coords.x) + 'px'; dlg.style.top = (parseInt(dlg.style.top) + getClientCenterY() - myconfirmdlg_coords.y) + 'px'; myconfirmdlg_coords = {x: getClientCenterX(), y: getClientCenterY()};}
return false;}); 
window.attachEvent('onload', function(evt) { var fon = document.createElement("DIV"); fon.id = "myconfirmdlgfon"; fon.style.background = "url('"+myconfirmdlg_path_to_img+"clear.gif')"; fon.style.position = 'absolute'; fon.style.left = '0px'; fon.style.top = '0px'; fon.style.zIndex = 100002; fon.style.visibility = 'hidden'; document.body.appendChild(fon); fon.innerHTML = '<div id="myconfirmdlg"  style="position:absolute; left:0px; top:0px; z-index:100003;visibility:hidden;padding: 10px 10px 15px 15px;background-color:#fff;border:solid 2px black;width:250px;">    <div class="PopUp_Content">        <table width="100%">            <tr id="myconfirmdlg_header" style="display:none;">                <td id="myconfirmdlg_title"><img src="'+myconfirmdlg_path_to_img+'exclam.gif" alt="" width="32" height="32" id="myconfirmdlg_img" style="margin:15px;" /></td>            </tr>          <tr>                <td style="padding:10px;" align="center" id="myconfirmdlg_text">                    Delete selected messages?                </td>            </tr>            <tr>                <td align="center">                <a href="javascript:void(0);" id="mycdok" onclick="myconfirmdlg_click(true);" class="big_btn_type1" style="margin-left: 35px;display:block;float:left; width:60px;">Ok</a>                <a href="javascript:void(0);" id="mycdcnsl" onclick="myconfirmdlg_click(false);" class="big_btn_type1" style="display:block; float:left;width:60px;">Cancel</a></td>            </tr>        </table>    </div></div>'; __DDI__.setPlugin('fixNoMouseSelect'); __DDI__.setPlugin('moveIT'); __DDI__.setPlugin('adjustZIndex'); __DDI__.setPlugin('fixDragInMz'); __DDI__.setPlugin('fixDragInIE'); var el = document.getElementById("myconfirmdlg"); if (el) { el.alwaysOnTop = true; el.__onDragStart = function (e) { if (e.__target.id != 'myconfirmdlg') return; e.__dataTransfer.effectAllowed = 'none';}
el.__onDrag = function (e) { return false;}
el.__onMoveStart = function (e) { var r = true; var p = e.__target; while (p.offsetParent) { if (p.id == 'myconfirmdlg_header') { r = false; break;}
p = p.offsetParent;}
if (r) return false;}
el.__onMove = function (e) { var r = { 'x' : { 'move' : true, 'min' : getBodyScrollLeft()+5, 'max' : (getClientWidth()+getBodyScrollLeft()-20)
}, 'y' : { 'move' : true, 'min' : getBodyScrollTop()+5, 'max' : (getClientHeight()+getBodyScrollTop()-20)
}
}; return r;}
}
return false;}); function myconfirmdlg (msg,type,th) { if (th == null) return true; myconfirmdlg_btn = th; var f = document.getElementById('myconfirmdlgfon'); if (!f) return true; f.style.visibility = 'visible'; f.style.width = (getDocumentWidth() + 'px'); f.style.height = (getDocumentHeight()+20 + 'px'); var dlg = document.getElementById('myconfirmdlg'); if (!dlg) return true; dlg.style.visibility = 'visible'; dlg.style.left = (getClientCenterX()-dlg.clientWidth/2) + 'px'; dlg.style.top = (getClientCenterY()-dlg.clientHeight/2) + 'px'; if (type == 'warning' || type == 'error') { document.getElementById('mycdcnsl').focus();} else { document.getElementById('mycdok').focus();}
if (msg.replace(/(^\s*)|(\s*$)/g, "") == '') msg = '&nbsp;'; document.getElementById('myconfirmdlg_text').innerHTML = msg.replace('\n','<br />'); var title, img; if (type == 'error') { title = 'Error'; img = 'error.gif';} else if (type == 'warning') { title = 'Warning'; img = 'exclam.gif';} else { title = 'Confirm'; img = 'confirm.gif';}
document.getElementById('myconfirmdlg_title').innerHTML = title; /*document.getElementById('myconfirmdlg_img').src = myconfirmdlg_path_to_img + img;*/ myconfirmdlg_coords = {x: getClientCenterX(), y: getClientCenterY()}; return false;}
function myconfirmdlg_click(ok) { var dlg = document.getElementById('myconfirmdlg'); if (!dlg) return false; dlg.style.visibility = 'hidden'; var f = document.getElementById('myconfirmdlgfon'); if (!f) return false; f.style.visibility = 'hidden'; if (myconfirmdlg_btn == null) return false; if (ok) { var tmp = myconfirmdlg_btn.onclick; myconfirmdlg_btn.onclick = null; if (myconfirmdlg_btn.tagName.toLowerCase() == 'a') { if(myconfirmdlg_btn.href.indexOf("javascript:") > -1){eval(myconfirmdlg_btn.href)} else {if(myconfirmdlg_btn.target=='_blank') window.open(myconfirmdlg_btn.href, myconfirmdlg_btn.target); else if(myconfirmdlg_btn.target=='_top') self.parent.location = myconfirmdlg_btn.href; else location.href = myconfirmdlg_btn.href;}} else if (navigator.appName.indexOf('Microsoft') != -1) { myconfirmdlg_btn.click();} else { myconfirmdlg_btn.fireEvent("onclick");}
myconfirmdlg_btn.onclick = tmp;}
myconfirmdlg_btn.focus(); myconfirmdlg_btn = null; myconfirmdlg_coords = false; return false;}
function getClientWidth() { var w=0; if (self.innerHeight) w = self.innerWidth; else if (document.documentElement && document.documentElement.clientWidth) w = document.documentElement.clientWidth; else if (document.body) w = document.body.clientWidth; return w;}
function getClientHeight() { var h=0; if (self.innerHeight) h = self.innerHeight; else if (document.documentElement && document.documentElement.clientHeight) h = document.documentElement.clientHeight; else if (document.body) h = document.body.clientHeight; return h;}
function getClientCenterX() { return parseInt(getClientWidth()/2)+getBodyScrollLeft();}
function getClientCenterY() { return parseInt(getClientHeight()/2)+getBodyScrollTop();}
function getBodyScrollTop() { return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);}
function getBodyScrollLeft() { return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);}
function getDocumentHeight() { return (document.body.scrollHeight > document.body.offsetHeight)?document.body.scrollHeight:document.body.offsetHeight;}
function getDocumentWidth() { return (document.body.scrollWidth > document.body.offsetWidth)?document.body.scrollWidth:document.body.offsetWidth;}