New dhtmlxGantt library, and etemplate2 widget to use it (work in progress)

This commit is contained in:
Nathan Gray
2014-04-16 19:47:29 +00:00
parent 3b68b8bff8
commit c4f56f2c3b
280 changed files with 30260 additions and 480 deletions

View File

@ -0,0 +1,944 @@
dhtmlx=function(obj){
for (var a in obj) dhtmlx[a]=obj[a];
return dhtmlx; //simple singleton
};
dhtmlx.extend_api=function(name,map,ext){
var t = window[name];
if (!t) return; //component not defined
window[name]=function(obj){
if (obj && typeof obj == "object" && !obj.tagName){
var that = t.apply(this,(map._init?map._init(obj):arguments));
//global settings
for (var a in dhtmlx)
if (map[a]) this[map[a]](dhtmlx[a]);
//local settings
for (var a in obj){
if (map[a]) this[map[a]](obj[a]);
else if (a.indexOf("on")==0){
this.attachEvent(a,obj[a]);
}
}
} else
var that = t.apply(this,arguments);
if (map._patch) map._patch(this);
return that||this;
};
window[name].prototype=t.prototype;
if (ext)
dhtmlXHeir(window[name].prototype,ext);
};
dhtmlxAjax={
get:function(url,callback){
var t=new dtmlXMLLoaderObject(true);
t.async=(arguments.length<3);
t.waitCall=callback;
t.loadXML(url)
return t;
},
post:function(url,post,callback){
var t=new dtmlXMLLoaderObject(true);
t.async=(arguments.length<4);
t.waitCall=callback;
t.loadXML(url,true,post)
return t;
},
getSync:function(url){
return this.get(url,null,true)
},
postSync:function(url,post){
return this.post(url,post,null,true);
}
}
/**
* @desc: xmlLoader object
* @type: private
* @param: funcObject - xml parser function
* @param: object - jsControl object
* @param: async - sync/async mode (async by default)
* @param: rSeed - enable/disable random seed ( prevent IE caching)
* @topic: 0
*/
function dtmlXMLLoaderObject(funcObject, dhtmlObject, async, rSeed){
this.xmlDoc="";
if (typeof (async) != "undefined")
this.async=async;
else
this.async=true;
this.onloadAction=funcObject||null;
this.mainObject=dhtmlObject||null;
this.waitCall=null;
this.rSeed=rSeed||false;
return this;
};
dtmlXMLLoaderObject.count = 0;
/**
* @desc: xml loading handler
* @type: private
* @param: dtmlObject - xmlLoader object
* @topic: 0
*/
dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){
var once = true;
this.check=function (){
if ((dhtmlObject)&&(dhtmlObject.onloadAction != null)){
if ((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){
if (!once)
return;
once=false; //IE 5 fix
dtmlXMLLoaderObject.count++;
if (typeof dhtmlObject.onloadAction == "function")
dhtmlObject.onloadAction(dhtmlObject.mainObject, null, null, null, dhtmlObject);
if (dhtmlObject.waitCall){
dhtmlObject.waitCall.call(this,dhtmlObject);
dhtmlObject.waitCall=null;
}
}
}
};
return this.check;
};
/**
* @desc: return XML top node
* @param: tagName - top XML node tag name (not used in IE, required for Safari and Mozilla)
* @type: private
* @returns: top XML node
* @topic: 0
*/
dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName, oldObj){
if (this.xmlDoc.responseXML){
var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName);
if(temp.length==0 && tagName.indexOf(":")!=-1)
var temp = this.xmlDoc.responseXML.getElementsByTagName((tagName.split(":"))[1]);
var z = temp[0];
} else
var z = this.xmlDoc.documentElement;
if (z){
this._retry=false;
return z;
}
if (!this._retry&&_isIE){
this._retry=true;
var oldObj = this.xmlDoc;
this.loadXMLString(this.xmlDoc.responseText.replace(/^[\s]+/,""), true);
return this.getXMLTopNode(tagName, oldObj);
}
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
(oldObj||this.xmlDoc),
this.mainObject
]);
return document.createElement("DIV");
};
/**
* @desc: load XML from string
* @type: private
* @param: xmlString - xml string
* @topic: 0
*/
dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString, silent){
if (!_isIE){
var parser = new DOMParser();
this.xmlDoc=parser.parseFromString(xmlString, "text/xml");
} else {
this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
this.xmlDoc.async=this.async;
this.xmlDoc.onreadystatechange = function(){};
this.xmlDoc["loadXM"+"L"](xmlString);
}
if (silent)
return;
if (this.onloadAction)
this.onloadAction(this.mainObject, null, null, null, this);
if (this.waitCall){
this.waitCall();
this.waitCall=null;
}
}
/**
* @desc: load XML
* @type: private
* @param: filePath - xml file path
* @param: postMode - send POST request
* @param: postVars - list of vars for post request
* @topic: 0
*/
dtmlXMLLoaderObject.prototype.loadXML=function(filePath, postMode, postVars, rpc){
if (this.rSeed)
filePath+=((filePath.indexOf("?") != -1) ? "&" : "?")+"a_dhx_rSeed="+(new Date()).valueOf();
this.filePath=filePath;
if ((!_isIE)&&(window.XMLHttpRequest))
this.xmlDoc=new XMLHttpRequest();
else {
this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP");
}
if (this.async)
this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this);
this.xmlDoc.open(postMode ? "POST" : "GET", filePath, this.async);
if (rpc){
this.xmlDoc.setRequestHeader("User-Agent", "dhtmlxRPC v0.1 ("+navigator.userAgent+")");
this.xmlDoc.setRequestHeader("Content-type", "text/xml");
}
else if (postMode)
this.xmlDoc.setRequestHeader('Content-type', (this.contenttype || 'application/x-www-form-urlencoded'));
this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest");
this.xmlDoc.send(null||postVars);
if (!this.async)
(new this.waitLoadFunction(this))();
};
/**
* @desc: destructor, cleans used memory
* @type: private
* @topic: 0
*/
dtmlXMLLoaderObject.prototype.destructor=function(){
this._filterXPath = null;
this._getAllNamedChilds = null;
this._retry = null;
this.async = null;
this.rSeed = null;
this.filePath = null;
this.onloadAction = null;
this.mainObject = null;
this.xmlDoc = null;
this.doXPath = null;
this.doXPathOpera = null;
this.doXSLTransToObject = null;
this.doXSLTransToString = null;
this.loadXML = null;
this.loadXMLString = null;
// this.waitLoadFunction = null;
this.doSerialization = null;
this.xmlNodeToJSON = null;
this.getXMLTopNode = null;
this.setXSLParamValue = null;
return null;
}
dtmlXMLLoaderObject.prototype.xmlNodeToJSON = function(node){
var t={};
for (var i=0; i<node.attributes.length; i++)
t[node.attributes[i].name]=node.attributes[i].value;
t["_tagvalue"]=node.firstChild?node.firstChild.nodeValue:"";
for (var i=0; i<node.childNodes.length; i++){
var name=node.childNodes[i].tagName;
if (name){
if (!t[name]) t[name]=[];
t[name].push(this.xmlNodeToJSON(node.childNodes[i]));
}
}
return t;
}
/**
* @desc: Call wrapper
* @type: private
* @param: funcObject - action handler
* @param: dhtmlObject - user data
* @returns: function handler
* @topic: 0
*/
function callerFunction(funcObject, dhtmlObject){
this.handler=function(e){
if (!e)
e=window.event;
funcObject(e, dhtmlObject);
return true;
};
return this.handler;
};
/**
* @desc: Calculate absolute position of html object
* @type: private
* @param: htmlObject - html object
* @topic: 0
*/
function getAbsoluteLeft(htmlObject){
return getOffset(htmlObject).left;
}
/**
* @desc: Calculate absolute position of html object
* @type: private
* @param: htmlObject - html object
* @topic: 0
*/
function getAbsoluteTop(htmlObject){
return getOffset(htmlObject).top;
}
function getOffsetSum(elem) {
var top=0, left=0;
while(elem) {
top = top + parseInt(elem.offsetTop);
left = left + parseInt(elem.offsetLeft);
elem = elem.offsetParent;
}
return {top: top, left: left};
}
function getOffsetRect(elem) {
var box = elem.getBoundingClientRect();
var body = document.body;
var docElem = document.documentElement;
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
var clientTop = docElem.clientTop || body.clientTop || 0;
var clientLeft = docElem.clientLeft || body.clientLeft || 0;
var top = box.top + scrollTop - clientTop;
var left = box.left + scrollLeft - clientLeft;
return { top: Math.round(top), left: Math.round(left) };
}
function getOffset(elem) {
if (elem.getBoundingClientRect) {
return getOffsetRect(elem);
} else {
return getOffsetSum(elem);
}
}
/**
* @desc: Convert string to it boolean representation
* @type: private
* @param: inputString - string for covertion
* @topic: 0
*/
function convertStringToBoolean(inputString){
if (typeof (inputString) == "string")
inputString=inputString.toLowerCase();
switch (inputString){
case "1":
case "true":
case "yes":
case "y":
case 1:
case true:
return true;
break;
default: return false;
}
}
/**
* @desc: find out what symbol to use as url param delimiters in further params
* @type: private
* @param: str - current url string
* @topic: 0
*/
function getUrlSymbol(str){
if (str.indexOf("?") != -1)
return "&"
else
return "?"
}
function dhtmlDragAndDropObject(){
if (window.dhtmlDragAndDrop)
return window.dhtmlDragAndDrop;
this.lastLanding=0;
this.dragNode=0;
this.dragStartNode=0;
this.dragStartObject=0;
this.tempDOMU=null;
this.tempDOMM=null;
this.waitDrag=0;
window.dhtmlDragAndDrop=this;
return this;
};
dhtmlDragAndDropObject.prototype.removeDraggableItem=function(htmlNode){
htmlNode.onmousedown=null;
htmlNode.dragStarter=null;
htmlNode.dragLanding=null;
}
dhtmlDragAndDropObject.prototype.addDraggableItem=function(htmlNode, dhtmlObject){
htmlNode.onmousedown=this.preCreateDragCopy;
htmlNode.dragStarter=dhtmlObject;
this.addDragLanding(htmlNode, dhtmlObject);
}
dhtmlDragAndDropObject.prototype.addDragLanding=function(htmlNode, dhtmlObject){
htmlNode.dragLanding=dhtmlObject;
}
dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(e){
if ((e||window.event) && (e||event).button == 2)
return;
if (window.dhtmlDragAndDrop.waitDrag){
window.dhtmlDragAndDrop.waitDrag=0;
document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU;
document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM;
return false;
}
if (window.dhtmlDragAndDrop.dragNode)
window.dhtmlDragAndDrop.stopDrag(e);
window.dhtmlDragAndDrop.waitDrag=1;
window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup;
window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove;
window.dhtmlDragAndDrop.dragStartNode=this;
window.dhtmlDragAndDrop.dragStartObject=this.dragStarter;
document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy;
document.body.onmousemove=window.dhtmlDragAndDrop.callDrag;
window.dhtmlDragAndDrop.downtime = new Date().valueOf();
if ((e)&&(e.preventDefault)){
e.preventDefault();
return false;
}
return false;
};
dhtmlDragAndDropObject.prototype.callDrag=function(e){
if (!e)
e=window.event;
dragger=window.dhtmlDragAndDrop;
if ((new Date()).valueOf()-dragger.downtime<100) return;
//if ((e.button == 0)&&(_isIE))
// return dragger.stopDrag();
if (!dragger.dragNode){
if (dragger.waitDrag){
dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode, e);
if (!dragger.dragNode)
return dragger.stopDrag();
dragger.dragNode.onselectstart=function(){return false;}
dragger.gldragNode=dragger.dragNode;
document.body.appendChild(dragger.dragNode);
document.body.onmouseup=dragger.stopDrag;
dragger.waitDrag=0;
dragger.dragNode.pWindow=window;
dragger.initFrameRoute();
}
else return dragger.stopDrag(e, true);
}
if (dragger.dragNode.parentNode != window.document.body && dragger.gldragNode){
var grd = dragger.gldragNode;
if (dragger.gldragNode.old)
grd=dragger.gldragNode.old;
//if (!document.all) dragger.calculateFramePosition();
grd.parentNode.removeChild(grd);
var oldBody = dragger.dragNode.pWindow;
if (grd.pWindow && grd.pWindow.dhtmlDragAndDrop.lastLanding)
grd.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(grd.pWindow.dhtmlDragAndDrop.lastLanding);
// var oldp=dragger.dragNode.parentObject;
if (_isIE){
var div = document.createElement("Div");
div.innerHTML=dragger.dragNode.outerHTML;
dragger.dragNode=div.childNodes[0];
} else
dragger.dragNode=dragger.dragNode.cloneNode(true);
dragger.dragNode.pWindow=window;
// dragger.dragNode.parentObject=oldp;
dragger.gldragNode.old=dragger.dragNode;
document.body.appendChild(dragger.dragNode);
oldBody.dhtmlDragAndDrop.dragNode=dragger.dragNode;
}
dragger.dragNode.style.left=e.clientX+15+(dragger.fx
? dragger.fx*(-1)
: 0)
+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px";
dragger.dragNode.style.top=e.clientY+3+(dragger.fy
? dragger.fy*(-1)
: 0)
+(document.body.scrollTop||document.documentElement.scrollTop)+"px";
if (!e.srcElement)
var z = e.target;
else
z=e.srcElement;
dragger.checkLanding(z, e);
}
dhtmlDragAndDropObject.prototype.calculateFramePosition=function(n){
//this.fx = 0, this.fy = 0;
if (window.name){
var el = parent.frames[window.name].frameElement.offsetParent;
var fx = 0;
var fy = 0;
while (el){
fx+=el.offsetLeft;
fy+=el.offsetTop;
el=el.offsetParent;
}
if ((parent.dhtmlDragAndDrop)){
var ls = parent.dhtmlDragAndDrop.calculateFramePosition(1);
fx+=ls.split('_')[0]*1;
fy+=ls.split('_')[1]*1;
}
if (n)
return fx+"_"+fy;
else
this.fx=fx;
this.fy=fy;
}
return "0_0";
}
dhtmlDragAndDropObject.prototype.checkLanding=function(htmlObject, e){
if ((htmlObject)&&(htmlObject.dragLanding)){
if (this.lastLanding)
this.lastLanding.dragLanding._dragOut(this.lastLanding);
this.lastLanding=htmlObject;
this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding, this.dragStartNode, e.clientX,
e.clientY, e);
this.lastLanding_scr=(_isIE ? e.srcElement : e.target);
} else {
if ((htmlObject)&&(htmlObject.tagName != "BODY"))
this.checkLanding(htmlObject.parentNode, e);
else {
if (this.lastLanding)
this.lastLanding.dragLanding._dragOut(this.lastLanding, e.clientX, e.clientY, e);
this.lastLanding=0;
if (this._onNotFound)
this._onNotFound();
}
}
}
dhtmlDragAndDropObject.prototype.stopDrag=function(e, mode){
dragger=window.dhtmlDragAndDrop;
if (!mode){
dragger.stopFrameRoute();
var temp = dragger.lastLanding;
dragger.lastLanding=null;
if (temp)
temp.dragLanding._drag(dragger.dragStartNode, dragger.dragStartObject, temp, (_isIE
? event.srcElement
: e.target));
}
dragger.lastLanding=null;
if ((dragger.dragNode)&&(dragger.dragNode.parentNode == document.body))
dragger.dragNode.parentNode.removeChild(dragger.dragNode);
dragger.dragNode=0;
dragger.gldragNode=0;
dragger.fx=0;
dragger.fy=0;
dragger.dragStartNode=0;
dragger.dragStartObject=0;
document.body.onmouseup=dragger.tempDOMU;
document.body.onmousemove=dragger.tempDOMM;
dragger.tempDOMU=null;
dragger.tempDOMM=null;
dragger.waitDrag=0;
}
dhtmlDragAndDropObject.prototype.stopFrameRoute=function(win){
if (win)
window.dhtmlDragAndDrop.stopDrag(1, 1);
for (var i = 0; i < window.frames.length; i++){
try{
if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop))
window.frames[i].dhtmlDragAndDrop.stopFrameRoute(window);
} catch(e){}
}
try{
if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win))
parent.dhtmlDragAndDrop.stopFrameRoute(window);
} catch(e){}
}
dhtmlDragAndDropObject.prototype.initFrameRoute=function(win, mode){
if (win){
window.dhtmlDragAndDrop.preCreateDragCopy();
window.dhtmlDragAndDrop.dragStartNode=win.dhtmlDragAndDrop.dragStartNode;
window.dhtmlDragAndDrop.dragStartObject=win.dhtmlDragAndDrop.dragStartObject;
window.dhtmlDragAndDrop.dragNode=win.dhtmlDragAndDrop.dragNode;
window.dhtmlDragAndDrop.gldragNode=win.dhtmlDragAndDrop.dragNode;
window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag;
window.waitDrag=0;
if (((!_isIE)&&(mode))&&((!_isFF)||(_FFrv < 1.8)))
window.dhtmlDragAndDrop.calculateFramePosition();
}
try{
if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win))
parent.dhtmlDragAndDrop.initFrameRoute(window);
}catch(e){}
for (var i = 0; i < window.frames.length; i++){
try{
if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop))
window.frames[i].dhtmlDragAndDrop.initFrameRoute(window, ((!win||mode) ? 1 : 0));
} catch(e){}
}
}
_isFF = false;
_isIE = false;
_isOpera = false;
_isKHTML = false;
_isMacOS = false;
_isChrome = false;
_FFrv = false;
_KHTMLrv = false;
_OperaRv = false;
if (navigator.userAgent.indexOf('Macintosh') != -1)
_isMacOS=true;
if (navigator.userAgent.toLowerCase().indexOf('chrome')>-1)
_isChrome=true;
if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){
_KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5));
if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+
_isFF=true;
_FFrv = 1.9;
} else
_isKHTML=true;
} else if (navigator.userAgent.indexOf('Opera') != -1){
_isOpera=true;
_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3));
}
else if (navigator.appName.indexOf("Microsoft") != -1){
_isIE=true;
if ((navigator.appVersion.indexOf("MSIE 8.0")!= -1 || navigator.appVersion.indexOf("MSIE 9.0")!= -1 || navigator.appVersion.indexOf("MSIE 10.0")!= -1 ) && document.compatMode != "BackCompat"){
_isIE=8;
}
} else {
_isFF=true;
_FFrv = parseFloat(navigator.userAgent.split("rv:")[1])
}
//multibrowser Xpath processor
dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){
if (_isKHTML || (!_isIE && !window.XPathResult))
return this.doXPathOpera(xpathExp, docObj);
if (_isIE){ //IE
if (!docObj)
if (!this.xmlDoc.nodeName)
docObj=this.xmlDoc.responseXML
else
docObj=this.xmlDoc;
if (!docObj)
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
(docObj||this.xmlDoc),
this.mainObject
]);
if (namespace != null)
docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); //
if (result_type == 'single'){
return docObj.selectSingleNode(xpathExp);
}
else {
return docObj.selectNodes(xpathExp)||new Array(0);
}
} else { //Mozilla
var nodeObj = docObj;
if (!docObj){
if (!this.xmlDoc.nodeName){
docObj=this.xmlDoc.responseXML
}
else {
docObj=this.xmlDoc;
}
}
if (!docObj)
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
(docObj||this.xmlDoc),
this.mainObject
]);
if (docObj.nodeName.indexOf("document") != -1){
nodeObj=docObj;
}
else {
nodeObj=docObj;
docObj=docObj.ownerDocument;
}
var retType = XPathResult.ANY_TYPE;
if (result_type == 'single')
retType=XPathResult.FIRST_ORDERED_NODE_TYPE
var rowsCol = new Array();
var col = docObj.evaluate(xpathExp, nodeObj, function(pref){
return namespace
}, retType, null);
if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){
return col.singleNodeValue;
}
var thisColMemb = col.iterateNext();
while (thisColMemb){
rowsCol[rowsCol.length]=thisColMemb;
thisColMemb=col.iterateNext();
}
return rowsCol;
}
}
function _dhtmlxError(type, name, params){
if (!this.catches)
this.catches=new Array();
return this;
}
_dhtmlxError.prototype.catchError=function(type, func_name){
this.catches[type]=func_name;
}
_dhtmlxError.prototype.throwError=function(type, name, params){
if (this.catches[type])
return this.catches[type](type, name, params);
if (this.catches["ALL"])
return this.catches["ALL"](type, name, params);
alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]);
return null;
}
window.dhtmlxError=new _dhtmlxError();
//opera fake, while 9.0 not released
//multibrowser Xpath processor
dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){
//this is fake for Opera
var z = xpathExp.replace(/[\/]+/gi, "/").split('/');
var obj = null;
var i = 1;
if (!z.length)
return [];
if (z[0] == ".")
obj=[docObj]; else if (z[0] == ""){
obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, ""));
i++;
} else
return [];
for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]);
if (z[i-1].indexOf("[") != -1)
obj=this._filterXPath(obj, z[i-1]);
return obj;
}
dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){
var c = new Array();
var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, "");
for (var i = 0; i < a.length; i++)
if (a[i].getAttribute(b))
c[c.length]=a[i];
return c;
}
dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){
var c = new Array();
if (_isKHTML)
b=b.toUpperCase();
for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){
if (_isKHTML){
if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b)
c[c.length]=a[i].childNodes[j];
}
else if (a[i].childNodes[j].tagName == b)
c[c.length]=a[i].childNodes[j];
}
return c;
}
function dhtmlXHeir(a, b){
for (var c in b)
if (typeof (b[c]) == "function")
a[c]=b[c];
return a;
}
function dhtmlxEvent(el, event, handler){
if (el.addEventListener)
el.addEventListener(event, handler, false);
else if (el.attachEvent)
el.attachEvent("on"+event, handler);
}
//============= XSL Extension ===================================
dtmlXMLLoaderObject.prototype.xslDoc=null;
dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){
if (!xslDoc)
xslDoc=this.xslDoc
if (xslDoc.responseXML)
xslDoc=xslDoc.responseXML;
var item =
this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc,
"http:/\/www.w3.org/1999/XSL/Transform", "single");
if (item != null)
item.firstChild.nodeValue=paramValue
}
dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){
if (!xslDoc)
xslDoc=this.xslDoc;
if (xslDoc.responseXML)
xslDoc=xslDoc.responseXML
if (!xmlDoc)
xmlDoc=this.xmlDoc;
if (xmlDoc.responseXML)
xmlDoc=xmlDoc.responseXML
//MOzilla
if (!_isIE){
if (!this.XSLProcessor){
this.XSLProcessor=new XSLTProcessor();
this.XSLProcessor.importStylesheet(xslDoc);
}
var result = this.XSLProcessor.transformToDocument(xmlDoc);
} else {
var result = new ActiveXObject("Msxml2.DOMDocument.3.0");
try{
xmlDoc.transformNodeToObject(xslDoc, result);
}catch(e){
result = xmlDoc.transformNode(xslDoc);
}
}
return result;
}
dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){
var res = this.doXSLTransToObject(xslDoc, xmlDoc);
if(typeof(res)=="string")
return res;
return this.doSerialization(res);
}
dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){
if (!xmlDoc)
xmlDoc=this.xmlDoc;
if (xmlDoc.responseXML)
xmlDoc=xmlDoc.responseXML
if (!_isIE){
var xmlSerializer = new XMLSerializer();
return xmlSerializer.serializeToString(xmlDoc);
} else
return xmlDoc.xml;
}
/**
* @desc:
* @type: private
*/
dhtmlxEventable=function(obj){
obj.attachEvent=function(name, catcher, callObj){
name='ev_'+name.toLowerCase();
if (!this[name])
this[name]=new this.eventCatcher(callObj||this);
return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID)
}
obj.callEvent=function(name, arg0){
name='ev_'+name.toLowerCase();
if (this[name])
return this[name].apply(this, arg0);
return true;
}
obj.checkEvent=function(name){
return (!!this['ev_'+name.toLowerCase()])
}
obj.eventCatcher=function(obj){
var dhx_catch = [];
var z = function(){
var res = true;
for (var i = 0; i < dhx_catch.length; i++){
if (dhx_catch[i] != null){
var zr = dhx_catch[i].apply(obj, arguments);
res=res&&zr;
}
}
return res;
}
z.addEvent=function(ev){
if (typeof (ev) != "function")
ev=eval(ev);
if (ev)
return dhx_catch.push(ev)-1;
return false;
}
z.removeEvent=function(id){
dhx_catch[id]=null;
}
return z;
}
obj.detachEvent=function(id){
if (id != false){
var list = id.split(':'); //get EventName and ID
this[list[0]].removeEvent(list[1]); //remove event
}
}
obj.detachAllEvents = function(){
for (var name in this){
if (name.indexOf("ev_")==0){
this.detachEvent(name);
this[name] = null;
}
}
}
obj = null;
};

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
/* effects: opacity, slide */
dhtmlXMenuObject.prototype.enableEffect = function(name, maxOpacity, effectSpeed) {
this._menuEffect = (name=="opacity"||name=="slide"||name=="slide+"?name:false);
for (var a in this.idPull) {
if (a.search(/polygon/) === 0) {
this._pOpacityApply(a,(_isIE?100:1));
this.idPull[a].style.height = "";
}
}
// opacity max value
this._pOpMax = (typeof(maxOpacity)=="undefined"?100:maxOpacity)/(_isIE?1:100);
// opacity css styles
this._pOpStyleName = (_isIE?"filter":"opacity");
this._pOpStyleValue = (_isIE?"progid:DXImageTransform.Microsoft.Alpha(Opacity=#)":"#");
// count of steps to open full polygon
this._pSlSteps = (_isIE?10:20);
// timeout to open polygon
this._pSlTMTimeMax = effectSpeed||50;
}
// extended show
dhtmlXMenuObject.prototype._showPolygonEffect = function(pId) {
this._pShowHide(pId, true);
};
// extended hide
dhtmlXMenuObject.prototype._hidePolygonEffect = function(pId) {
this._pShowHide(pId, false);
};
// apply opacity css
dhtmlXMenuObject.prototype._pOpacityApply = function(pId, val) {
this.idPull[pId].style[this._pOpStyleName] = String(this._pOpStyleValue).replace("#", val||this.idPull[pId]._op);
};
dhtmlXMenuObject.prototype._pShowHide = function(pId, mode) {
if (!this.idPull) return;
// check if mode in progress
if (this.idPull[pId]._tmShow != null) {
if ((this.idPull[pId]._step_h > 0 && mode == true) || (this.idPull[pId]._step_h < 0 && mode == false)) return;
window.clearTimeout(this.idPull[pId]._tmShow);
this.idPull[pId]._tmShow = null;
this.idPull[pId]._max_h = null;
}
if (mode == false && (this.idPull[pId].style.visibility == "hidden" || this.idPull[pId].style.display == "none")) return;
if (mode == true && this.idPull[pId].style.display == "none") {
this.idPull[pId].style.visibility = "hidden";
this.idPull[pId].style.display = "";
}
// init values or show-hide revert
if (this.idPull[pId]._max_h == null) {
this.idPull[pId]._max_h = parseInt(this.idPull[pId].offsetHeight);
this.idPull[pId]._h = (mode==true?0:this.idPull[pId]._max_h);
this.idPull[pId]._step_h = Math.round(this.idPull[pId]._max_h/this._pSlSteps)*(mode==true?1:-1);
if (this.idPull[pId]._step_h == 0) return;
this.idPull[pId]._step_tm = Math.round(this._pSlTMTimeMax/this._pSlSteps);
if (this._menuEffect == "slide+" || this._menuEffect == "opacity") {
this.idPull[pId].op_tm = this.idPull[pId]._step_tm;
this.idPull[pId].op_step = (this._pOpMax/this._pSlSteps)*(mode==true?1:-1);
if (_isIE) this.idPull[pId].op_step = Math.round(this.idPull[pId].op_step);
this.idPull[pId]._op = (mode==true?0:this._pOpMax);
this._pOpacityApply(pId);
} else {
this.idPull[pId]._op = (_isIE?100:1);
this._pOpacityApply(pId);
}
// show first time
if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = "0px";
this.idPull[pId].style.visibility = "visible";
}
// run cycle
this._pEffectSet(pId, this.idPull[pId]._h+this.idPull[pId]._step_h);
}
dhtmlXMenuObject.prototype._pEffectSet = function(pId, t) {
if (!this.idPull) return;
if (this.idPull[pId]._tmShow) window.clearTimeout(this.idPull[pId]._tmShow);
// check and apply next step
this.idPull[pId]._h = Math.max(0,Math.min(t,this.idPull[pId]._max_h));
if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = this.idPull[pId]._h+"px";
t += this.idPull[pId]._step_h;
if (this._menuEffect == "slide+" || this._menuEffect == "opacity") {
this.idPull[pId]._op = Math.max(0,Math.min(this._pOpMax,this.idPull[pId]._op+this.idPull[pId].op_step));
this._pOpacityApply(pId);
}
if ((this.idPull[pId]._step_h > 0 && t <= this.idPull[pId]._max_h) || (this.idPull[pId]._step_h < 0 && t >= 0)) {
// continue
var k = this;
this.idPull[pId]._tmShow = window.setTimeout(function(){k._pEffectSet(pId,t);}, this.idPull[pId]._step_tm);
} else {
// clear height
if (this._menuEffect.search(/slide/) === 0) this.idPull[pId].style.height = "";
// hide completed
if (this.idPull[pId]._step_h < 0) this.idPull[pId].style.visibility = "hidden";
if (this._menuEffect == "slide+" || this._menuEffect == "opacity") {
this.idPull[pId]._op = (this.idPull[pId]._step_h<0?(_isIE?100:1):this._pOpMax);
this._pOpacityApply(pId);
}
// clear values
this.idPull[pId]._tmShow = null;
this.idPull[pId]._h = null;
this.idPull[pId]._max_h = null;
///this.idPull[pId]._step_h = null;
this.idPull[pId]._step_tm = null;
}
};

View File

@ -0,0 +1,999 @@
/****************************************************************************************************************************************************/
/* EXTENDED MODULE INFO */
dhtmlXMenuObject.prototype.extendedModule = "DHXMENUEXT";
/****************************************************************************************************************************************************/
/* ENABLING/DISBLING */
/**
* @desc: enables an item
* @param: id - item's id to enable
* @param: state - true|false
* @type: public
*/
dhtmlXMenuObject.prototype.setItemEnabled = function(id) {
// modified in 0.4
this._changeItemState(id, "enabled", this._getItemLevelType(id));
}
/**
* @desc: disables an item
* @param: id - item's id to disablei
* @type: public
*/
dhtmlXMenuObject.prototype.setItemDisabled = function(id) {
this._changeItemState(id, "disabled", this._getItemLevelType(id));
}
/**
* @desc: returns true if the item is enabled
* @param: id - the item to check
* @type: public
*/
dhtmlXMenuObject.prototype.isItemEnabled = function(id) {
return (this.itemPull[this.idPrefix+id]!=null?(this.itemPull[this.idPrefix+id]["state"]=="enabled"):false);
}
/* enable/disable sublevel item */
dhtmlXMenuObject.prototype._changeItemState = function(id, newState, levelType) {
var t = false;
var j = this.idPrefix + id;
if ((this.itemPull[j] != null) && (this.idPull[j] != null)) {
if (this.itemPull[j]["state"] != newState) {
this.itemPull[j]["state"] = newState;
if (this.itemPull[j]["parent"] == this.idPrefix+this.topId && !this.context) {
this.idPull[j].className = "dhtmlxMenu_"+this.skin+"_TopLevel_Item_"+(this.itemPull[j]["state"]=="enabled"?"Normal":"Disabled");
} else {
this.idPull[j].className = "sub_item"+(this.itemPull[j]["state"]=="enabled"?"":"_dis");
}
this._updateItemComplexState(this.idPrefix+id, this.itemPull[this.idPrefix+id]["complex"], false);
this._updateItemImage(id, levelType);
// if changeItemState attached to onClick event and changing applies to selected item all selection should be reparsed
if ((this.idPrefix + this.menuLastClicked == j) && (levelType != "TopLevel")) {
this._redistribSubLevelSelection(j, this.itemPull[j]["parent"]);
}
if (levelType == "TopLevel" && !this.context) { // rebuild style.left and show nested polygons
// this._redistribTopLevelSelection(id, "parent");
}
}
}
return t;
}
/****************************************************************************************************************************************************/
/* SET/GET TEXT */
/**
* @desc: returns item's text
* @param: id - the item
* @type: public
*/
dhtmlXMenuObject.prototype.getItemText = function(id) {
return (this.itemPull[this.idPrefix+id]!=null?this.itemPull[this.idPrefix+id]["title"]:"");
}
/**
* @desc: sets text for the item
* @param: id - the item
* @param: text - a new text
* @type: public
*/
dhtmlXMenuObject.prototype.setItemText = function(id, text) {
id = this.idPrefix + id;
if ((this.itemPull[id] != null) && (this.idPull[id] != null)) {
this._clearAndHide();
this.itemPull[id]["title"] = text;
if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.context) {
// top level
var tObj = null;
for (var q=0; q<this.idPull[id].childNodes.length; q++) {
try { if (this.idPull[id].childNodes[q].className == "top_level_text") tObj = this.idPull[id].childNodes[q]; } catch(e) {}
}
if (String(this.itemPull[id]["title"]).length == "" || this.itemPull[id]["title"] == null) {
if (tObj != null) tObj.parentNode.removeChild(tObj);
} else {
if (!tObj) {
tObj = document.createElement("DIV");
tObj.className = "top_level_text";
if (this._rtl && this.idPull[id].childNodes.length > 0) this.idPull[id].insertBefore(tObj,this.idPull[id].childNodes[0]); else this.idPull[id].appendChild(tObj);
}
tObj.innerHTML = this.itemPull[id]["title"];
}
} else {
// sub level
var tObj = null;
for (var q=0; q<this.idPull[id].childNodes[1].childNodes.length; q++) {
if (String(this.idPull[id].childNodes[1].childNodes[q].className||"") == "sub_item_text") tObj = this.idPull[id].childNodes[1].childNodes[q];
}
if (String(this.itemPull[id]["title"]).length == "" || this.itemPull[id]["title"] == null) {
if (tObj) {
tObj.parentNode.removeChild(tObj);
tObj = null;
this.idPull[id].childNodes[1].innerHTML = "&nbsp;";
}
} else {
if (!tObj) {
tObj = document.createElement("DIV");
tObj.className = "sub_item_text";
this.idPull[id].childNodes[1].innerHTML = "";
this.idPull[id].childNodes[1].appendChild(tObj);
}
tObj.innerHTML = this.itemPull[id]["title"];
}
}
}
}
/****************************************************************************************************************************************************/
/**
* @desc: loads menu data from an html and calls onLoadFunction when loading is done
* @param: object - html data container
* @param: clearAfterAdd - true|false, removes the container object after the data is loaded
* @param: onLoadFunction - is called after the data is loaded (but before clearing html content if clear is set to true)
* @type: public
*/
dhtmlXMenuObject.prototype.loadFromHTML = function(objId, clearAfterAdd, onLoadFunction) {
//alert(4)
// this.idPrefix = this._genStr(12);
this.itemTagName = "DIV";
if (typeof(objId) == "string") { objId = document.getElementById(objId); }
this._buildMenu(objId, null);
this.init();
if (clearAfterAdd) { objId.parentNode.removeChild(objId); }
if (onLoadFunction != null) { onLoadFunction(); }
}
/****************************************************************************************************************************************************/
/* SHOW/HIDE */
/**
* @desc: hides an item
* @param: id - the item to hide
* @type: public
*/
dhtmlXMenuObject.prototype.hideItem = function(id) {
this._changeItemVisible(id, false);
}
/**
* @desc: shows an item
* @param: id - the item to show
* @type: public
*/
dhtmlXMenuObject.prototype.showItem = function(id) {
this._changeItemVisible(id, true);
}
/**
* @desc: returns true if the item is hidden
* @param: id - the item to check
* @type: public
*/
dhtmlXMenuObject.prototype.isItemHidden = function(id) {
var isHidden = null;
if (this.idPull[this.idPrefix+id] != null) { isHidden = (this.idPull[this.idPrefix+id].style.display == "none"); }
return isHidden;
}
/* show/hide item in menu, optimized for version 0.3 */
dhtmlXMenuObject.prototype._changeItemVisible = function(id, visible) {
var itemId = this.idPrefix+id;
if (this.itemPull[itemId] == null) return;
if (this.itemPull[itemId]["type"] == "separator") { itemId = "separator_"+itemId; }
if (this.idPull[itemId] == null) return;
this.idPull[itemId].style.display = (visible?"":"none");
this._redefineComplexState(this.itemPull[this.idPrefix+id]["parent"]);
}
/****************************************************************************************************************************************************/
/* USERDATA */
//#menu_userdata:06062008{
/**
* @desc: sets userdata for an item
* @param: id - the item
* @param: name - the name of userdata (string)
* @param: value - the value of userdata (usually string)
* @type: public
*/
dhtmlXMenuObject.prototype.setUserData = function(id, name, value) {
this.userData[this.idPrefix+id+"_"+name] = value;
}
/**
* @desc: returns item's userdata
* @param: id - the item
* @param: name - the name of userdata (string)
* @type: public
*/
dhtmlXMenuObject.prototype.getUserData = function(id, name) {
return (this.userData[this.idPrefix+id+"_"+name]!=null?this.userData[this.idPrefix+id+"_"+name]:null);
}
//#}
/****************************************************************************************************************************************************/
/* OPENMODE/TIMEOUT */
/**
* @desc: sets open mode for the menu
* @param: mode - win|web, the default mode is web, in the win mode a user should click anywhere to hide the menu, in the web mode - just put the mouse pointer out of the menu area
* @type: public
*/
dhtmlXMenuObject.prototype.setOpenMode = function(mode) {
if (mode == "win" || mode == "web") this.menuMode = mode; else this.menuMode == "web";
}
/**
* @desc: sets hide menu timeout (web mode only)
* @param: tm - timeout, ms, 400 default
* @type: public
*/
dhtmlXMenuObject.prototype.setWebModeTimeout = function(tm) {
this.menuTimeoutMsec = (!isNaN(tm)?tm:400);
}
/****************************************************************************************************************************************************/
/* DYNAMICAL LOADING */
/**
* @desc: enables dynamic loading of sublevels
* @param: url - server-side script, transmitted params are action=loadMenu and parentId
* @param: icon - true|false, replaces elemet's arrow with loading image while loading
* @type: public
*/
dhtmlXMenuObject.prototype.enableDynamicLoading = function(url, icon) {
this.dLoad = true;
this.dLoadUrl = url;
this.dLoadSign = (String(this.dLoadUrl).search(/\?/)==-1?"?":"&");
this.loaderIcon = icon;
this.init();
}
/* internal, show/hide loader icon */
dhtmlXMenuObject.prototype._updateLoaderIcon = function(id, state) {
if (this.idPull[id] == null) return;
if (String(this.idPull[id].className).search("TopLevel_Item") >= 0) return;
// get arrow
var ind = (this._rtl?0:2);
if (!this.idPull[id].childNodes[ind]) return;
if (!this.idPull[id].childNodes[ind].childNodes[0]) return;
var aNode = this.idPull[id].childNodes[ind].childNodes[0];
if (String(aNode.className).search("complex_arrow") === 0) aNode.className = "complex_arrow"+(state?"_loading":"");
}
/****************************************************************************************************************************************************/
/* IMAGES */
/**
* @desc: returns item's image - array(img, imgDis)
* @param: id - the item
* @type: public
*/
dhtmlXMenuObject.prototype.getItemImage = function(id) {
var imgs = new Array(null, null);
id = this.idPrefix+id;
if (this.itemPull[id]["type"] == "item") {
imgs[0] = this.itemPull[id]["imgen"];
imgs[1] = this.itemPull[id]["imgdis"];
}
return imgs;
}
/**
* @desc: sets an image for the item
* @param: id - the item
* @param: img - the image for the enabled item (empty string for none)
* @param: imgDis - the image for the disabled item (empty string for none)
* @type: public
*/
dhtmlXMenuObject.prototype.setItemImage = function(id, img, imgDis) {
if (this.itemPull[this.idPrefix+id]["type"] != "item") return;
this.itemPull[this.idPrefix+id]["imgen"] = img;
this.itemPull[this.idPrefix+id]["imgdis"] = imgDis;
this._updateItemImage(id, this._getItemLevelType(id));
}
/**
* @desc: removes both enabled and disabled item images
* @param: id - the item
* @type: public
*/
dhtmlXMenuObject.prototype.clearItemImage = function(id) {
this.setItemImage(id, "", "");
}
/****************************************************************************************************************************************************/
/* CONTEXT STUFF */
/* public: context menu auto open/close enable/disable */
/**
* @desc: sets to false to prevent showing a contextual menu by a click
* @param: mode - true/false
* @type: public
*/
dhtmlXMenuObject.prototype.setAutoShowMode = function(mode) {
this.contextAutoShow = (mode==true?true:false);
}
/**
* @desc: sets to false to prevent hiding a contextual menu by a click
* @param: mode - true/false
* @type: public
*/
dhtmlXMenuObject.prototype.setAutoHideMode = function(mode) {
this.contextAutoHide = (mode==true?true:false);
}
/**
* @desc: sets to true will hide all opened contextual menu polygons on mouseout
* @param: mode - true/false
* @type: public
*/
dhtmlXMenuObject.prototype.setContextMenuHideAllMode = function(mode) {
this.contextHideAllMode = (mode==true?true:false);
}
/**
* @desc: retutn hide all contextual menu mode
* @type: public
*/
dhtmlXMenuObject.prototype.getContextMenuHideAllMode = function() {
return this.contextHideAllMode;
}
/****************************************************************************************************************************************************/
/* VISIBLE AREA */
/**
* @desc: sets the area in which the menu can appear, if the area is not set, the menu will occupy all available visible space
* @param: x1, x2 - int, leftmost and rightmost coordinates by x axis
* @param: y1, y2 - int, topmost and bottommost coordinates by y axis
* @type: public
*/
dhtmlXMenuObject.prototype.setVisibleArea = function(x1, x2, y1, y2) {
this._isVisibleArea = true;
this.menuX1 = x1;
this.menuX2 = x2;
this.menuY1 = y1;
this.menuY2 = y2;
}
/****************************************************************************************************************************************************/
/* TOOLTOPS */
// tooltips, added in 0.4
/**
* @desc: sets tooltip for a menu item
* @param: id - menu item's id
* @param: tip - tooltip
* @type: public
*/
dhtmlXMenuObject.prototype.setTooltip = function(id, tip) {
id = this.idPrefix+id;
if (!(this.itemPull[id] != null && this.idPull[id] != null)) return;
this.idPull[id].title = (tip.length > 0 ? tip : null);
this.itemPull[id]["tip"] = tip;
}
/**
* @desc: returns tooltip of a menu item
* @param: id - menu item's id
* @type: public
*/
dhtmlXMenuObject.prototype.getTooltip = function(id) {
if (this.itemPull[this.idPrefix+id] == null) return null;
return this.itemPull[this.idPrefix+id]["tip"];
}
/****************************************************************************************************************************************************/
/* HOTKEYS */
//#menu_hotkey:06062008#{
// hot-keys, added in 0.4
/**
* @desc: sets menu hot-key (just text label)
* @param: id - menu item's id
* @param: hkey - hot-key text
* @type: public
*/
dhtmlXMenuObject.prototype.setHotKey = function(id, hkey) {
id = this.idPrefix+id;
if (!(this.itemPull[id] != null && this.idPull[id] != null)) return;
if (this.itemPull[id]["parent"] == this.idPrefix+this.topId && !this.context) return;
if (this.itemPull[id]["complex"]) return;
var t = this.itemPull[id]["type"];
if (!(t == "item" || t == "checkbox" || t == "radio")) return;
// retrieve obj
var hkObj = null;
try { if (this.idPull[id].childNodes[this._rtl?0:2].childNodes[0].className == "sub_item_hk") hkObj = this.idPull[id].childNodes[this._rtl?0:2].childNodes[0]; } catch(e){}
if (hkey.length == 0) {
// remove if exists
this.itemPull[id]["hotkey_backup"] = this.itemPull[id]["hotkey"];
this.itemPull[id]["hotkey"] = "";
if (hkObj != null) hkObj.parentNode.removeChild(hkObj);
} else {
// add if needed or change
this.itemPull[id]["hotkey"] = hkey;
this.itemPull[id]["hotkey_backup"] = null;
//
if (hkObj == null) {
hkObj = document.createElement("DIV");
hkObj.className = "sub_item_hk";
var item = this.idPull[id].childNodes[this._rtl?0:2];
while (item.childNodes.length > 0) item.removeChild(item.childNodes[0]);
item.appendChild(hkObj);
}
hkObj.innerHTML = hkey;
}
}
/**
* @desc: returns item's hot-key (just text label)
* @param: id - menu item's id
* @type: public
*/
dhtmlXMenuObject.prototype.getHotKey = function(id) {
if (this.itemPull[this.idPrefix+id] == null) return null;
return this.itemPull[this.idPrefix+id]["hotkey"];
}
/****************************************************************************************************************************************************/
/* MISC */
//#}
/* set toplevel item selected */
dhtmlXMenuObject.prototype.setItemSelected = function(id) {
if (this.itemPull[this.idPrefix+id] == null) return null;
// console.log(this.itemPull[this.idPrefix+id]);
}
/**
* @desc: set top level additional text (in case of usual menubar)
* @param: text - text
* @type: public
*/
dhtmlXMenuObject.prototype.setTopText = function(text) {
if (this.context) return;
if (this._topText == null) {
this._topText = document.createElement("DIV");
this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this._rtl?"left":(this._align=="left"?"right":"left"));
this.base.appendChild(this._topText);
}
this._topText.innerHTML = text;
}
/**
* @desc: set top level menu align
* @param: align - left|right
* @type: public
*/
dhtmlXMenuObject.prototype.setAlign = function(align) {
if (this._align == align) return;
if (align == "left" || align == "right") {
// if (this.setRTL) this.setRTL(false);
this._align = align;
if (this.cont) this.cont.className = (this._align=="right"?"align_right":"align_left");
if (this._topText != null) this._topText.className = "dhtmlxMenu_TopLevel_Text_"+(this._align=="left"?"right":"left");
}
}
/**
* @desc: set href to item, overwrite old if exists
* @param: itemId
* @param: href - url to open instead of onClik event handling
* @param: target - target attribute
* @type: public
*/
dhtmlXMenuObject.prototype.setHref = function(itemId, href, target) {
if (this.itemPull[this.idPrefix+itemId] == null) return;
this.itemPull[this.idPrefix+itemId]["href_link"] = href;
if (target != null) this.itemPull[this.idPrefix+itemId]["href_target"] = target;
}
/**
* @desc: clears item href and back item to default onClick behavior
* @param: itemId
* @type: public
*/
dhtmlXMenuObject.prototype.clearHref = function(itemId) {
if (this.itemPull[this.idPrefix+itemId] == null) return;
delete this.itemPull[this.idPrefix+itemId]["href_link"];
delete this.itemPull[this.idPrefix+itemId]["href_target"];
}
/*
File [id="file"] -> Open [id="open"] -> Last Save [id="lastsave"]
getCircuit("lastsave") will return Array("file", "open", "lastsave");
*/
/**
* @desc: return array with ids from topmost parent to chosen item
* @param: id - chosen item id
* @type: public
*/
dhtmlXMenuObject.prototype.getCircuit = function(id) {
var parents = new Array(id);
while (this.getParentId(id) != this.topId) {
id = this.getParentId(id);
parents[parents.length] = id;
}
return parents.reverse();
}
/* export to function */
/* WTF?
dhtmlXMenuObject.prototype.generateSQL = function() {
var sql = "INSERT INTO `dhtmlxmenu_demo` (`itemId`, `itemParentId`, `itemOrder`, `itemText`, `itemType`, `itemEnabled`, `itemChecked`, `itemGroup`, `itemImage`, `itemImageDis`) VALUES ";
var values = "";
var q = 0;
for (var a in this.itemPull) {
values += (values.length>0?", ":"")+"('"+a.replace(this.idPrefix,"")+"',"+
"'"+(this.itemPull[a]["parent"]!=null?this.itemPull[a]["parent"].replace(this.idPrefix,""):"")+"',"+
"'"+(q++)+"',"+
"'"+this.itemPull[a]["title"]+"',"+
"'"+(this.itemPull[a]["type"]!="item"?this.itemPull[a]["type"]:"")+"',"+
"'"+(this.itemPull[a]["state"]=="enabled"?"1":"0")+"',"+
"'"+(this.itemPull[a]["checked"]!=null?(this.itemPull[a]["checked"]?"1":"0"):"0")+"',"+
"'"+(this.itemPull[a]["group"]!=null?this.itemPull[a]["group"]:"")+"',"+
"'"+this.itemPull[a]["imgen"]+"',"+
"'"+this.itemPull[a]["imgdis"]+"')";
}
return sql+values;
}
*/
//#menu_overflow:06062008#{
/****************************************************************************************************************************************************/
/* OVERFLOW */
/* clear all selected subitems in polygon, implemented in 0.4 */
dhtmlXMenuObject.prototype._clearAllSelectedSubItemsInPolygon = function(polygon) {
var subIds = this._getSubItemToDeselectByPolygon(polygon);
// hide opened polygons and selected items
for (var q=0; q<this._openedPolygons.length; q++) { if (this._openedPolygons[q] != polygon) { this._hidePolygon(this._openedPolygons[q]); } }
for (var q=0; q<subIds.length; q++) { if (this.idPull[subIds[q]] != null) { if (this.itemPull[subIds[q]]["state"] == "enabled") { this.idPull[subIds[q]].className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_Item_Normal"; } } }
}
/* define normal/disabled arrows in polygon */
dhtmlXMenuObject.prototype._checkArrowsState = function(id) {
var polygon = this.idPull["polygon_"+id];
var arrowUp = this.idPull["arrowup_"+id];
var arrowDown = this.idPull["arrowdown_"+id];
if (polygon.scrollTop == 0) {
arrowUp.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowUp_Disabled";
} else {
arrowUp.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowUp" + (arrowUp.over ? "_Over" : "");
}
if (polygon.scrollTop + polygon.offsetHeight < polygon.scrollHeight) {
arrowDown.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowDown" + (arrowDown.over ? "_Over" : "");
} else {
arrowDown.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowDown_Disabled";
}
}
/* add up-limit-arrow */
dhtmlXMenuObject.prototype._addUpArrow = function(id) {
var main_self = this;
var arrow = document.createElement("DIV");
arrow.pId = this.idPrefix+id;
arrow.id = "arrowup_"+this.idPrefix+id;
arrow.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowUp";
arrow.innerHTML = "<div class='dhtmlxMenu_"+this.skin+"_SubLevelArea_Arrow'><div class='dhtmlxMenu_SubLevelArea_Arrow_Icon'></div></div>";
arrow.style.display = "none";
arrow.over = false;
arrow.onselectstart = function(e) { e = e||event; e.returnValue = false; return false; }
arrow.oncontextmenu = function(e) { e = e||event; e.returnValue = false; return false; }
// actions
arrow.onmouseover = function() {
if (main_self.menuMode == "web") { window.clearTimeout(main_self.menuTimeoutHandler); }
main_self._clearAllSelectedSubItemsInPolygon(this.pId);
if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Disabled") return;
this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Over";
this.over = true;
main_self._canScrollUp = true;
main_self._doScrollUp(this.pId, true);
}
arrow.onmouseout = function() {
if (main_self.menuMode == "web") {
window.clearTimeout(main_self.menuTimeoutHandler);
main_self.menuTimeoutHandler = window.setTimeout(function(){main_self._clearAndHide();}, main_self.menuTimeoutMsec, "JavaScript");
}
this.over = false;
main_self._canScrollUp = false;
if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp_Disabled") return;
this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowUp";
window.clearTimeout(main_self._scrollUpTM);
}
arrow.onclick = function(e) {
e = e||event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}
//
// var polygon = this.idPull["polygon_"+this.idPrefix+id];
// polygon.insertBefore(arrow, polygon.childNodes[0]);
document.body.insertBefore(arrow, document.body.firstChild);
this.idPull[arrow.id] = arrow;
}
dhtmlXMenuObject.prototype._addDownArrow = function(id) {
var main_self = this;
var arrow = document.createElement("DIV");
arrow.pId = this.idPrefix+id;
arrow.id = "arrowdown_"+this.idPrefix+id;
arrow.className = "dhtmlxMenu_"+this.skin+"_SubLevelArea_ArrowDown";
arrow.innerHTML = "<div class='dhtmlxMenu_"+this.skin+"_SubLevelArea_Arrow'><div class='dhtmlxMenu_SubLevelArea_Arrow_Icon'></div></div>";
arrow.style.display = "none";
arrow.over = false;
arrow.onselectstart = function(e) { e = e||event; e.returnValue = false; return false; }
arrow.oncontextmenu = function(e) { e = e||event; e.returnValue = false; return false; }
// actions
arrow.onmouseover = function() {
if (main_self.menuMode == "web") { window.clearTimeout(main_self.menuTimeoutHandler); }
main_self._clearAllSelectedSubItemsInPolygon(this.pId);
if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Disabled") return;
this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Over";
this.over = true;
main_self._canScrollDown = true;
main_self._doScrollDown(this.pId, true);
}
arrow.onmouseout = function() {
if (main_self.menuMode == "web") {
window.clearTimeout(main_self.menuTimeoutHandler);
main_self.menuTimeoutHandler = window.setTimeout(function(){main_self._clearAndHide();}, main_self.menuTimeoutMsec, "JavaScript");
}
this.over = false;
main_self._canScrollDown = false;
if (this.className == "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown_Disabled") return;
this.className = "dhtmlxMenu_"+main_self.skin+"_SubLevelArea_ArrowDown";
window.clearTimeout(main_self._scrollDownTM);
}
arrow.onclick = function(e) {
e = e||event;
e.returnValue = false;
e.cancelBubble = true;
return false;
}
document.body.insertBefore(arrow, document.body.firstChild);
this.idPull[arrow.id] = arrow;
}
dhtmlXMenuObject.prototype._removeUpArrow = function(id) {
var fullId = "arrowup_"+this.idPrefix+id;
this._removeArrow(fullId);
}
dhtmlXMenuObject.prototype._removeDownArrow = function(id) {
var fullId = "arrowdown_"+this.idPrefix+id;
this._removeArrow(fullId);
}
dhtmlXMenuObject.prototype._removeArrow = function(fullId) {
var arrow = this.idPull[fullId];
arrow.onselectstart = null;
arrow.oncontextmenu = null;
arrow.onmouseover = null;
arrow.onmouseout = null;
arrow.onclick = null;
if (arrow.parentNode) arrow.parentNode.removeChild(arrow);
arrow = null;
this.idPull[fullId] = null;
try { delete this.idPull[fullId]; } catch(e) {}
}
dhtmlXMenuObject.prototype._isArrowExists = function(id) {
if (this.idPull["arrowup_"+id] != null && this.idPull["arrowdown_"+id] != null) return true;
return false;
}
/* scroll down */
dhtmlXMenuObject.prototype._doScrollUp = function(id, checkArrows) {
var polygon = this.idPull["polygon_"+id];
if (this._canScrollUp && polygon.scrollTop > 0) {
var theEnd = false;
var nextScrollTop = polygon.scrollTop - this._scrollUpTMStep;
if (nextScrollTop < 0) {
theEnd = true;
nextScrollTop = 0;
}
polygon.scrollTop = nextScrollTop;
if (!theEnd) {
var that = this;
this._scrollUpTM = window.setTimeout(function() { that._doScrollUp(id, false); }, this._scrollUpTMTime);
}
} else {
this._canScrollUp = false;
this._checkArrowsState(id);
}
if (checkArrows) {
this._checkArrowsState(id);
}
}
dhtmlXMenuObject.prototype._doScrollDown = function(id, checkArrows) {
var polygon = this.idPull["polygon_"+id];
if (this._canScrollDown && polygon.scrollTop + polygon.offsetHeight <= polygon.scrollHeight) {
var theEnd = false;
var nextScrollTop = polygon.scrollTop + this._scrollDownTMStep;
if (nextScrollTop + polygon.offsetHeight > polygon.scollHeight) {
theEnd = true;
nextScrollTop = polygon.scollHeight - polygon.offsetHeight;
}
polygon.scrollTop = nextScrollTop;
if (!theEnd) {
var that = this;
this._scrollDownTM = window.setTimeout(function() { that._doScrollDown(id, false); }, this._scrollDownTMTime);
}
} else {
this._canScrollDown
this._checkArrowsState(id);
}
if (checkArrows) {
this._checkArrowsState(id);
}
}
//
dhtmlXMenuObject.prototype._countPolygonItems = function(id) {
var count = 0;
for (var a in this.itemPull) {
var par = this.itemPull[a]["parent"];
var tp = this.itemPull[a]["type"];
if (par == this.idPrefix+id && (tp == "item" || tp == "radio" || tp == "checkbox")) { count++; }
}
return count;
}
/* limit maximum items on single polygon, default - 0 = no limit */
/**
* @desc: limits the maximum number of visible items in polygons
* @param: itemsNum - count of the maximum number of visible items
* @type: public
*/
dhtmlXMenuObject.prototype.setOverflowHeight = function(itemsNum) {
// set auto overflow mode
if (itemsNum === "auto") {
this.limit = 0;
this.autoOverflow = true;
return;
}
// no existing limitation, now new limitation
if (this.limit == 0 && itemsNum <= 0) return;
// hide menu to prevent visible changes
this._clearAndHide();
// redefine existing limitation, arrows will added automatically with showPlygon
if (this.limit >= 0 && itemsNum > 0) {
this.limit = itemsNum;
return;
}
// remove existing limitation
if (this.limit > 0 && itemsNum <= 0) {
for (var a in this.itemPull) {
if (this._isArrowExists(a)) {
var b = String(a).replace(this.idPrefix, "");
this._removeUpArrow(b);
this._removeDownArrow(b);
// remove polygon's height
this.idPull["polygon_"+a].style.height = "";
}
}
this.limit = 0;
return;
}
}
//#}
/****************************************************************************************************************************************************/
/* RADIOBUTTONS */
//#menu_radio:06062008{
dhtmlXMenuObject.prototype._getRadioImgObj = function(id) {
try { var imgObj = this.idPull[this.idPrefix+id].childNodes[(this._rtl?2:0)].childNodes[0] } catch(e) { var imgObj = null; }
return imgObj;
}
dhtmlXMenuObject.prototype._setRadioState = function(id, state) {
// if (this.itemPull[this.idPrefix+id]["state"] != "enabled") return;
var imgObj = this._getRadioImgObj(id);
if (imgObj != null) {
// fix, added in 0.4
var rObj = this.itemPull[this.idPrefix+id];
rObj["checked"] = state;
rObj["imgen"] = "rdbt_"+(rObj["checked"]?"1":"0");
rObj["imgdis"] = rObj["imgen"];
imgObj.className = "sub_icon "+rObj["imgen"];
}
}
dhtmlXMenuObject.prototype._radioOnClickHandler = function(id, type, casState) {
if (type.charAt(1)=="d" || this.itemPull[this.idPrefix+id]["group"]==null) return;
// deselect all from the same group
var group = this.itemPull[this.idPrefix+id]["group"];
if (this.checkEvent("onRadioClick")) {
if (this.callEvent("onRadioClick", [group, this.getRadioChecked(group), id, this.contextMenuZoneId, casState])) {
this.setRadioChecked(group, id);
}
} else {
this.setRadioChecked(group, id);
}
// call onClick if exists
if (this.checkEvent("onClick")) this.callEvent("onClick", [id]);
}
/**
* @desc: returns a checked radio button in the group
* @param: group - radio button group
* @type: public
*/
dhtmlXMenuObject.prototype.getRadioChecked = function(group) {
var id = null;
for (var q=0; q<this.radio[group].length; q++) {
var itemId = this.radio[group][q].replace(this.idPrefix, "");
var imgObj = this._getRadioImgObj(itemId);
if (imgObj != null) {
var checked = (imgObj.className).match(/rdbt_1$/gi);
if (checked != null) id = itemId;
}
}
return id;
}
/**
* @desc: checks a radio button inside the group
* @param: group - radio button group
* @param: id - radio button's id
* @type: public
*/
dhtmlXMenuObject.prototype.setRadioChecked = function(group, id) {
if (this.radio[group] == null) return;
for (var q=0; q<this.radio[group].length; q++) {
var itemId = this.radio[group][q].replace(this.idPrefix, "");
this._setRadioState(itemId, (itemId==id));
}
}
/**
* @desc: adds a new radio button, sibling|child mode
* @param: mode - (string) sibling|child
* @param: nextToId - the item after which the radio button will be added in the "sibling" mode or parent item's id in the "child" mode
* @param: pos - the item's position in the child mode (null for sibling)
* @param: itemId - id of a new radio button
* @param: itemText - text of a new radio button
* @param: group - radiogroup's id
* @param: state - checked|unchecked
* @param: disabled - enabled|disabled
* @type: public
*/
dhtmlXMenuObject.prototype.addRadioButton = function(mode, nextToId, pos, itemId, itemText, group, state, disabled) {
// radiobutton
/*
if (this.itemPull[this.idPrefix+nextToId] == null) return;
if (this.itemPull[this.idPrefix+nextToId]["parent"] == this.idPrefix+this.topId) return;
*/
if (this.context && nextToId == this.topId) {
// adding radiobutton as first element to context menu
// do nothing
} else {
if (this.itemPull[this.idPrefix+nextToId] == null) return;
if (mode == "child" && this.itemPull[this.idPrefix+nextToId]["type"] != "item") return;
// if (this.itemPull[this.idPrefix+nextToId]["parent"] == this.idPrefix+this.topId && !this.context) return;
}
//
//
var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24));
var img = "rdbt_"+(state?"1":"0");
var imgDis = img;
//
if (mode == "sibling") {
var parentId = this.idPrefix+this.getParentId(nextToId);
this._addItemIntoGlobalStrorage(id, parentId, itemText, "radio", disabled, img, imgDis);
this._renderSublevelItem(id, this.getItemPosition(nextToId));
} else {
var parentId = this.idPrefix+nextToId;
this._addItemIntoGlobalStrorage(id, parentId, itemText, "radio", disabled, img, imgDis);
if (this.idPull["polygon_"+parentId] == null) { this._renderSublevelPolygon(parentId, parentId); }
this._renderSublevelItem(id, pos-1);
this._redefineComplexState(parentId);
}
//
var gr = (group!=null?group:this._genStr(24));
this.itemPull[id]["group"] = gr;
//
if (this.radio[gr]==null) { this.radio[gr] = new Array(); }
this.radio[gr][this.radio[gr].length] = id;
//
if (state == true) this.setRadioChecked(gr, String(id).replace(this.idPrefix, ""));
}
//#}
/****************************************************************************************************************************************************/
/* CHECKBOXES */
//#menu_checks:06062008{
dhtmlXMenuObject.prototype._getCheckboxState = function(id) {
if (this.itemPull[this.idPrefix+id] == null) return null;
return this.itemPull[this.idPrefix+id]["checked"];
}
dhtmlXMenuObject.prototype._setCheckboxState = function(id, state) {
if (this.itemPull[this.idPrefix+id] == null) return;
this.itemPull[this.idPrefix+id]["checked"] = state;
}
dhtmlXMenuObject.prototype._updateCheckboxImage = function(id) {
if (this.idPull[this.idPrefix+id] == null) return;
this.itemPull[this.idPrefix+id]["imgen"] = "chbx_"+(this._getCheckboxState(id)?"1":"0");
this.itemPull[this.idPrefix+id]["imgdis"] = this.itemPull[this.idPrefix+id]["imgen"];
try { this.idPull[this.idPrefix+id].childNodes[(this._rtl?2:0)].childNodes[0].className = "sub_icon "+this.itemPull[this.idPrefix+id]["imgen"]; } catch(e){}
}
dhtmlXMenuObject.prototype._checkboxOnClickHandler = function(id, type, casState) {
if (type.charAt(1)=="d") return;
if (this.itemPull[this.idPrefix+id] == null) return;
var state = this._getCheckboxState(id);
if (this.checkEvent("onCheckboxClick")) {
if (this.callEvent("onCheckboxClick", [id, state, this.contextMenuZoneId, casState])) {
this.setCheckboxState(id, !state);
}
} else {
this.setCheckboxState(id, !state);
}
// call onClick if exists
if (this.checkEvent("onClick")) this.callEvent("onClick", [id]);
}
/**
* @desc: sets checkbox's state
* @param: id - the item
* @param: state - a new state (true|false)
* @type: public
*/
dhtmlXMenuObject.prototype.setCheckboxState = function(id, state) {
this._setCheckboxState(id, state);
this._updateCheckboxImage(id);
}
/**
* @desc: returns current checkbox's state
* @param: id - the item
* @type: public
*/
dhtmlXMenuObject.prototype.getCheckboxState = function(id) {
return this._getCheckboxState(id);
}
/**
* @desc: adds a new checkbox, sibling|child mode
* @param: mode - (string) sibling|child
* @param: nextToId - the item after which the checkbox will be added in the "sibling" mode or parent item's id in the "child" mode
* @param: pos - item's position in the child mode (null for sibling)
* @param: itemId - id of a new checkbox
* @param: itemText - text of a new checkbox
* @param: state - checked|unchecked
* @param: disabled - enabled|disabled
* @type: public
*/
dhtmlXMenuObject.prototype.addCheckbox = function(mode, nextToId, pos, itemId, itemText, state, disabled) {
// checks
if (this.context && nextToId == this.topId) {
// adding checkbox as first element to context menu
// do nothing
} else {
if (this.itemPull[this.idPrefix+nextToId] == null) return;
if (mode == "child" && this.itemPull[this.idPrefix+nextToId]["type"] != "item") return;
// if (this.itemPull[this.idPrefix+nextToId]["parent"] == this.idPrefix+this.topId && !this.context) return;
}
//
var img = "chbx_"+(state?"1":"0");
var imgDis = img;
//
if (mode == "sibling") {
var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24));
var parentId = this.idPrefix+this.getParentId(nextToId);
this._addItemIntoGlobalStrorage(id, parentId, itemText, "checkbox", disabled, img, imgDis);
this.itemPull[id]["checked"] = state;
this._renderSublevelItem(id, this.getItemPosition(nextToId));
} else {
var id = this.idPrefix+(itemId!=null?itemId:this._genStr(24));
var parentId = this.idPrefix+nextToId;
this._addItemIntoGlobalStrorage(id, parentId, itemText, "checkbox", disabled, img, imgDis);
this.itemPull[id]["checked"] = state;
if (this.idPull["polygon_"+parentId] == null) { this._renderSublevelPolygon(parentId, parentId); }
this._renderSublevelItem(id, pos-1);
this._redefineComplexState(parentId);
}
}
//#}
/****************************************************************************************************************************************************/
/* SERIALIZE */
dhtmlXMenuObject.prototype._readLevel = function(parentId) {
var xml = "";
for (var a in this.itemPull) {
if (this.itemPull[a]["parent"] == parentId) {
var imgEn = "";
var imgDis = "";
var hotKey = "";
var itemId = String(this.itemPull[a]["id"]).replace(this.idPrefix,"");
var itemType = "";
var itemText = (this.itemPull[a]["title"]!=""?' text="'+this.itemPull[a]["title"]+'"':"");
var itemState = "";
if (this.itemPull[a]["type"] == "item") {
if (this.itemPull[a]["imgen"] != "") imgEn = ' img="'+this.itemPull[a]["imgen"]+'"';
if (this.itemPull[a]["imgdis"] != "") imgDis = ' imgdis="'+this.itemPull[a]["imgdis"]+'"';
if (this.itemPull[a]["hotkey"] != "") hotKey = '<hotkey>'+this.itemPull[a]["hotkey"]+'</hotkey>';
}
if (this.itemPull[a]["type"] == "separator") {
itemType = ' type="separator"';
} else {
if (this.itemPull[a]["state"] == "disabled") itemState = ' enabled="false"';
}
if (this.itemPull[a]["type"] == "checkbox") {
itemType = ' type="checkbox"'+(this.itemPull[a]["checked"]?' checked="true"':"");
}
if (this.itemPull[a]["type"] == "radio") {
itemType = ' type="radio" group="'+this.itemPull[a]["group"]+'" '+(this.itemPull[a]["checked"]?' checked="true"':"");
}
xml += "<item id='"+itemId+"'"+itemText+itemType+imgEn+imgDis+itemState+">";
xml += hotKey;
if (this.itemPull[a]["complex"]) xml += this._readLevel(a);
xml += "</item>";
}
}
return xml;
}
/**
* @desc: serialize menu to xml
* @type: public
*/
dhtmlXMenuObject.prototype.serialize = function() {
var xml = "<menu>"+this._readLevel(this.idPrefix+this.topId)+"</menu>";
return xml;
}
/****************************************************************************************************************************************************/

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 626 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1015 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 628 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,342 @@
/*
"DHX SKYBLUE" DHTMLXMENU SKIN 2009
*/
/****************************************************************************************************************************************************/
/* TOPLEVEL */
.dhtmlxMenu_dhx_black_Middle {
position: relative;
height: 24px;
border: none;
background-image: url("../imgs/dhxmenu_dhx_black/dhtmlxmenu_bg.gif");
background-position: top;
background-repeat: repeat-x;
-moz-user-select: none;
}
.dhtmlxMenu_dhx_black_Middle.dir_left div.align_left {
float: left;
}
.dhtmlxMenu_dhx_black_Middle.dir_left div.align_right {
float: right;
}
/****************************************************************************************************************************************************/
/* TOPLEVEL ITEMS */
/* toplevel item normal */
div.dhtmlxMenu_dhx_black_TopLevel_Item_Normal,
div.dhtmlxMenu_dhx_black_TopLevel_Item_Disabled,
div.dhtmlxMenu_dhx_black_TopLevel_Item_Selected {
position: relative;
float: left;
font-family: Tahoma;
font-size: 12px;
font-weight: normal;
cursor: default;
white-space: nowrap;
-moz-user-select: none;
height: 20px;
line-height: 20px;
vertical-align: middle;
margin-top: 1px;
margin-left: 0px;
margin-right: 2px;
border: transparent 1px solid;
padding-left: 4px;
padding-right: 4px;
background: none;
color: #ffffff;
}
div.dhtmlxMenu_dhx_black_TopLevel_Item_Normal,
div.dhtmlxMenu_dhx_black_TopLevel_Item_Disabled {
#border-color: #000000;
#filter:progid:DXImageTransform.Microsoft.Chroma(color='#000000');
}
/* toplevel item disabled */
div.dhtmlxMenu_dhx_black_TopLevel_Item_Disabled {
color: #999999 !important;
}
/* toplevel item selected (over) */
div.dhtmlxMenu_dhx_black_TopLevel_Item_Selected {
margin-top: 1px;
margin-left: 0px;
margin-right: 2px;
background-image: url("../imgs/dhxmenu_dhx_black/dhtmlxmenu_bg.gif");
background-repeat: repeat-x;
background-position: top;
border-top: #000000 1px solid;
border-left: #000000 1px solid;
border-right: #909090 1px solid;
border-bottom: #909090 1px solid;
}
/* toplevel separator */
.dhtmlxMenu_dhx_black_Middle div.top_sep {
font-size: 1px;
cursor: default;
-moz-user-select: none;
background-color: #959595;
height: 22px;
position: relative;
float: left;
width: 1px;
margin-top: 1px;
margin-left: 0px;
margin-right: 2px;
}
/* top level image */
.dhtmlxMenu_dhx_black_Middle img.dhtmlxMenu_TopLevel_Item_Icon {
float: left;
margin: 2px 2px 0px 2px;
width: 18px;
height: 18px;
}
/* top level text*/
div.dhtmlxMenu_dhx_black_TopLevel_Item_Normal div.top_level_text,
div.dhtmlxMenu_dhx_black_TopLevel_Item_Disabled div.top_level_text,
div.dhtmlxMenu_dhx_black_TopLevel_Item_Selected div.top_level_text {
float: left;
margin-left: 2px;
margin-right: 2px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL POLYGON */
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon {
position: absolute;
background-color: #585757;
border: #8C8B8B 1px solid;
overflow: hidden;
}
/* IE6 sublevel undercover fix */
iframe.dhtmlxMenu_IE6CoverFix_dhx_black {
position: absolute;
border: none;
background: #000000;
filter: alpha(opacity=100);
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ITEMS */
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl {
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item {
height: 24px;
cursor: default;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis {
height: 24px;
cursor: default;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected {
height: 24px;
cursor: default;
background-color: #3d3d3d;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon {
width: 24px;
text-align: left;
-moz-user-select: none;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon {
width: 18px;
height: 18px;
margin-top: 2px;
margin-right: 0px;
margin-left: 6px;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_text {
vertical-align: middle;
padding-left: 4px;
padding-right: 4px;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text {
font-family: Tahoma;
font-size: 12px;
font-weight: normal;
color: #ffffff;
white-space: nowrap;
text-align: left;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text {
color: #888787 !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk {
padding-left: 8px;
padding-right: 8px;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk {
font-family: Tahoma;
font-size: 11px;
color: #cecece;
text-align: right;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk {
color: #888787 !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon tr.sub_sep {
height: 3px;
font-size: 1px;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon div.sub_sep {
font-size: 1px;
background-image: url("../imgs/dhxmenu_dhx_black/dhtmlxmenu_subsepbg.gif");
background-repeat: repeat-x;
background-position: center center;
cursor: default;
height: 3px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ARROWS */
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow {
width: 4px;
height: 24px;
background-image: url("../imgs/dhxmenu_dhx_black/dhtmlxmenu_subar.gif");
background-repeat: no-repeat;
background-position: 0px 0px;
float: right;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow {
background-position: -4px 0px !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow {
background-position: -8px 0px !important;
}
/****************************************************************************************************************************************************/
/* LOADING ICON */
div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
position: absolute;
width: 11px;
height: 11px;
background-position: center top;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_black/dhtmlxmenu_loader.gif");
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon_left div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
top: 6px;
left: none;
right: 6px;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon_right div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
top: 6px;
right: none;
left: 6px;
_right: -38px;
}
/****************************************************************************************************************************************************/
/* UP/DOWN OVERFLOW ARROWS */
div.dhtmlxMenu_dhx_black_SubLevelArea_Arrow {
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center center;
background-color: #eaf2fb;
text-align: center;
overflow: hidden;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Arrow div.dhtmlxMenu_SubLevelArea_Arrow_Icon {
position: relative;
margin-top: 5px;
margin-left: auto;
margin-right: auto;
width: 9px;
height: 5px;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_black/dhtmlxmenu_upar.gif");
}
/* up arrows */
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowUp,
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowUp_Over,
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowUp_Disabled {
position: absolute;
height: 16px;
height= 18px;
padding: 1px 1px 0px 1px;
font-size: 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-bottom: none;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowUp div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -27px 0px; }
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowUp_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -36px 0px; }
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowUp_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -45px 0px; }
/* down arrows */
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowDown,
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowDown_Over,
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowDown_Disabled {
position: absolute;
height: 16px;
height= 18px;
font-size: 1px;
padding: 1px 1px 0px 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-top: none;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowDown div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: 0px 0px; }
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowDown_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -9px 0px; }
div.dhtmlxMenu_dhx_black_SubLevelArea_ArrowDown_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -18px 0px; }
/****************************************************************************************************************************************************/
/* TOPLEVEL TEXT */
.dhtmlxMenu_dhx_black_Middle div.dhtmlxMenu_TopLevel_Text_right {
position: absolute;
top: 5px;
left: none;
right: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
.dhtmlxMenu_dhx_black_Middle div.dhtmlxMenu_TopLevel_Text_left {
position: absolute;
top: 5px;
right: none;
left: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
/****************************************************************************************************************************************************/
/* ITEM'S CHECKS, RADIOS */
/* sublevel */
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon {
float: left;
margin: 0px 2px 0px 2px;
width: 18px;
height: 18px;
background-position: top right;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_black/dhtmlxmenu_chrd.gif");
}
/* checkboxes */
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 {
background-position: 0px 0px !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 {
background-position: -18px 0px !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 {
background-position: -36px 0px !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 {
background-position: -54px 0px !important;
}
/* radios */
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 {
background-position: -72px 0px !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 {
background-position: -90px 0px !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 {
background-position: -108px 0px !important;
}
div.dhtmlxMenu_dhx_black_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 {
background-position: -126px 0px !important;
}

View File

@ -0,0 +1,342 @@
/*
"DHX SKYBLUE" DHTMLXMENU SKIN 2009
*/
/****************************************************************************************************************************************************/
/* TOPLEVEL */
.dhtmlxMenu_dhx_blue_Middle {
position: relative;
height: 24px;
border: none;
background-image: url("../imgs/dhxmenu_dhx_blue/dhtmlxmenu_bg.gif");
background-position: top;
background-repeat: repeat-x;
-moz-user-select: none;
}
.dhtmlxMenu_dhx_blue_Middle.dir_left div.align_left {
float: left;
}
.dhtmlxMenu_dhx_blue_Middle.dir_left div.align_right {
float: right;
}
/****************************************************************************************************************************************************/
/* TOPLEVEL ITEMS */
/* toplevel item normal */
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Normal,
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Disabled,
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Selected {
position: relative;
float: left;
font-family: Tahoma;
font-size: 12px;
font-weight: normal;
cursor: default;
white-space: nowrap;
-moz-user-select: none;
height: 20px;
line-height: 20px;
vertical-align: middle;
margin-top: 1px;
margin-left: 0px;
margin-right: 2px;
padding-left: 4px;
padding-right: 4px;
border: transparent 1px solid;
aborder-top: #e8f0f4 1px solid;
aborder-bottom: #d2e3ea 1px solid;
background: none;
color: #000000;
}
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Normal,
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Disabled {
#border-color: #FFFFFF;
#filter:progid:DXImageTransform.Microsoft.Chroma(color='#FFFFFF');
}
/* toplevel item disabled */
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Disabled {
color: #999999 !important;
}
/* toplevel item selected (over) */
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Selected {
margin-top: 1px;
margin-left: 0px;
margin-right: 2px;
background-image: url("../imgs/dhxmenu_dhx_blue/dhtmlxmenu_bg.gif");
background-repeat: repeat-x;
background-position: top;
border-top: #C2D5DC 1px solid;
border-left: #C2D5DC 1px solid;
border-right: #FFFFFF 1px solid;
border-bottom: #FFFFFF 1px solid;
}
/* toplevel separator */
.dhtmlxMenu_dhx_blue_Middle div.top_sep {
font-size: 1px;
cursor: default;
-moz-user-select: none;
background-color: #c2d5dc;
height: 22px;
position: relative;
float: left;
width: 1px;
margin-top: 1px;
margin-left: 0px;
margin-right: 2px;
}
/* top level image */
.dhtmlxMenu_dhx_blue_Middle img.dhtmlxMenu_TopLevel_Item_Icon {
float: left;
margin: 2px 2px 0px 2px;
width: 18px;
height: 18px;
}
/* top level text*/
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Normal div.top_level_text,
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Disabled div.top_level_text,
div.dhtmlxMenu_dhx_blue_TopLevel_Item_Selected div.top_level_text {
float: left;
margin-left: 2px;
margin-right: 2px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL POLYGON */
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon {
position: absolute;
background-color: #E8F0F4;
border: #C2D5DC 1px solid;
overflow: hidden;
}
/* IE6 sublevel undercover fix */
iframe.dhtmlxMenu_IE6CoverFix_dhx_blue {
position: absolute;
border: none;
background: #000000;
filter: alpha(opacity=100);
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ITEMS */
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl {
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item {
height: 24px;
cursor: default;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis {
height: 24px;
cursor: default;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected {
height: 24px;
cursor: default;
background-color: #d3e2e5;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon {
width: 24px;
text-align: left;
-moz-user-select: none;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon {
width: 18px;
height: 18px;
margin-top: 2px;
margin-right: 0px;
margin-left: 6px;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_text {
vertical-align: middle;
padding-left: 4px;
padding-right: 4px;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text {
font-family: Tahoma;
font-size: 12px;
font-weight: normal;
color: #000000;
white-space: nowrap;
text-align: left;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text {
color: #999999 !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk {
padding-left: 8px;
padding-right: 8px;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk {
font-family: Tahoma;
font-size: 11px;
color: #333333;
text-align: right;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk {
color: #cecece !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon tr.sub_sep {
height: 3px;
font-size: 1px;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon div.sub_sep {
font-size: 1px;
background-image: url("../imgs/dhxmenu_dhx_blue/dhtmlxmenu_subsepbg.gif");
background-repeat: repeat-x;
background-position: center center;
cursor: default;
height: 3px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ARROWS */
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow {
width: 4px;
height: 24px;
background-image: url("../imgs/dhxmenu_dhx_blue/dhtmlxmenu_subar.gif");
background-repeat: no-repeat;
background-position: 0px 0px;
float: right;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow {
background-position: -4px 0px !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow {
background-position: -8px 0px !important;
}
/****************************************************************************************************************************************************/
/* LOADING ICON */
div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
position: absolute;
width: 11px;
height: 11px;
background-position: center top;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_blue/dhtmlxmenu_loader.gif");
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon_left div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
top: 6px;
left: none;
right: 6px;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon_right div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
top: 6px;
right: none;
left: 6px;
_right: -38px;
}
/****************************************************************************************************************************************************/
/* UP/DOWN OVERFLOW ARROWS */
div.dhtmlxMenu_dhx_blue_SubLevelArea_Arrow {
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center center;
background-color: #eaf2fb;
text-align: center;
overflow: hidden;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Arrow div.dhtmlxMenu_SubLevelArea_Arrow_Icon {
position: relative;
margin-top: 5px;
margin-left: auto;
margin-right: auto;
width: 9px;
height: 5px;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_blue/dhtmlxmenu_upar.gif");
}
/* up arrows */
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowUp,
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowUp_Over,
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowUp_Disabled {
position: absolute;
height: 16px;
height= 18px;
padding: 1px 1px 0px 1px;
font-size: 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-bottom: none;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowUp div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -27px 0px; }
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowUp_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -36px 0px; }
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowUp_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -45px 0px; }
/* down arrows */
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowDown,
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowDown_Over,
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowDown_Disabled {
position: absolute;
height: 16px;
height= 18px;
font-size: 1px;
padding: 1px 1px 0px 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-top: none;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowDown div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: 0px 0px; }
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowDown_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -9px 0px; }
div.dhtmlxMenu_dhx_blue_SubLevelArea_ArrowDown_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -18px 0px; }
/****************************************************************************************************************************************************/
/* TOPLEVEL TEXT */
.dhtmlxMenu_dhx_blue_Middle div.dhtmlxMenu_TopLevel_Text_right {
position: absolute;
top: 5px;
left: none;
right: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
.dhtmlxMenu_dhx_blue_Middle div.dhtmlxMenu_TopLevel_Text_left {
position: absolute;
top: 5px;
right: none;
left: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
/****************************************************************************************************************************************************/
/* ITEM'S CHECKS, RADIOS */
/* sublevel */
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon {
float: left;
margin: 0px 2px 0px 2px;
width: 18px;
height: 18px;
background-position: top right;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_blue/dhtmlxmenu_chrd.gif");
}
/* checkboxes */
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 {
background-position: 0px 0px !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 {
background-position: -18px 0px !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 {
background-position: -36px 0px !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 {
background-position: -54px 0px !important;
}
/* radios */
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 {
background-position: -72px 0px !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 {
background-position: -90px 0px !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 {
background-position: -108px 0px !important;
}
div.dhtmlxMenu_dhx_blue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 {
background-position: -126px 0px !important;
}

View File

@ -0,0 +1,347 @@
/*
"DHX SKYBLUE" DHTMLXMENU SKIN 2009
*/
/****************************************************************************************************************************************************/
/* TOPLEVEL */
.dhtmlxMenu_dhx_skyblue_Middle {
position: relative;
height: 24px;
border: none;
background-color: #ebebeb;
-moz-user-select: none;
}
.dhtmlxMenu_dhx_skyblue_Layout, .dhtmlxMenu_dhx_skyblue_Accordion {
border-bottom: #cedce8 1px solid;
}
.dhtmlxMenu_dhx_skyblue_Middle.in_acccell, .dhtmlxMenu_dhx_skyblue_Middle.in_layoutcell {
height: 25px;
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhxmenu_bg_acccell.gif");
background-position: top;
background-repeat: repeat-x;
}
.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_left {
float: left;
}
.dhtmlxMenu_dhx_skyblue_Middle.dir_left div.align_right {
float: right;
}
/****************************************************************************************************************************************************/
/* TOPLEVEL ITEMS */
/* toplevel item normal */
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal,
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled,
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected {
position: relative;
float: left;
font-family: Tahoma;
font-size: 11px;
font-weight: normal;
cursor: default;
white-space: nowrap;
-moz-user-select: none;
height: 22px;
line-height: 22px;
vertical-align: middle;
margin-top: 1px;
margin-left: 0px;
margin-right: 2px;
padding-left: 4px;
padding-right: 4px;
border-left: #ebebeb 1px solid;
border-right: #ebebeb 1px solid;
background: none;
color: #000000;
}
/* toplevel item disabled */
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled {
color: #999999 !important;
}
/* toplevel item selected (over) */
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected {
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhxmenu_topselbg.gif") !important;
background-repeat: repeat-x !important;
background-position: top !important;
border-left: #ffb951 1px solid !important;
border-right: #ffb951 1px solid !important;
}
/* toplevel separator */
.dhtmlxMenu_dhx_skyblue_Middle div.top_sep {
font-size: 1px;
cursor: default;
-moz-user-select: none;
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhxmenu_topsepbg.gif");
background-repeat: no-repeat;
background-position: top center;
height: 24px;
position: relative;
float: left;
width: 3px;
margin-left: 0px;
margin-right: 2px;
}
/* top level image */
.dhtmlxMenu_dhx_skyblue_Middle img.dhtmlxMenu_TopLevel_Item_Icon {
float: left;
margin: 2px 2px 0px 2px;
width: 18px;
height: 18px;
}
/* top level text*/
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Normal div.top_level_text,
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Disabled div.top_level_text,
div.dhtmlxMenu_dhx_skyblue_TopLevel_Item_Selected div.top_level_text {
float: left;
margin-left: 2px;
margin-right: 2px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL POLYGON */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon {
position: absolute;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
overflow: hidden;
padding-top: 1px;
padding-bottom: 1px;
}
/* IE6 sublevel undercover fix */
iframe.dhtmlxMenu_IE6CoverFix_dhx_skyblue {
position: absolute;
border: none;
background: #000000;
filter: alpha(opacity=100);
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ITEMS */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl {
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item {
height: 24px;
cursor: default;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis {
height: 24px;
cursor: default;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected {
height: 24px;
cursor: default;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td {
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhxmenu_subselbg.gif") !important;
background-repeat: repeat-x;
background-position: top;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon {
width: 24px;
text-align: left;
-moz-user-select: none;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon {
width: 18px;
height: 18px;
margin-top: 2px;
margin-right: 0px;
margin-left: 6px;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_text {
vertical-align: middle;
padding-left: 4px;
padding-right: 4px;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text {
font-family: Tahoma;
font-size: 11px;
font-weight: normal;
color: #000000;
white-space: nowrap;
text-align: left;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text {
color: #999999 !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk {
padding-left: 8px;
padding-right: 8px;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk {
font-family: Tahoma;
font-size: 10px;
color: #4985b7;
text-align: right;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk {
color: #cecece !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon tr.sub_sep {
height: 3px;
font-size: 1px;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon div.sub_sep {
font-size: 1px;
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhxmenu_subsepbg.gif");
background-repeat: repeat-x;
background-position: top;
cursor: default;
height: 3px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ARROWS */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow {
width: 4px;
height: 24px;
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_subar.gif");
background-repeat: no-repeat;
background-position: 0px 0px;
float: right;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow {
background-position: -4px 0px !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow {
background-position: -8px 0px !important;
}
/****************************************************************************************************************************************************/
/* LOADING ICON */
div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
position: absolute;
width: 11px;
height: 11px;
background-position: center top;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_loader.gif");
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon_left div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
top: 6px;
left: none;
right: 6px;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon_right div.dhtmlxMenu_SubLevelArea_Item_Arrow_Loading {
top: 6px;
right: none;
left: 6px;
_right: -38px;
}
/****************************************************************************************************************************************************/
/* UP/DOWN OVERFLOW ARROWS */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Arrow {
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center center;
background-color: #eaf2fb;
text-align: center;
overflow: hidden;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Arrow div.dhtmlxMenu_SubLevelArea_Arrow_Icon {
position: relative;
margin-top: 5px;
margin-left: auto;
margin-right: auto;
width: 9px;
height: 5px;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_upar.gif");
}
/* up arrows */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp,
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over,
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled {
position: absolute;
height: 16px;
height= 18px;
padding: 1px 1px 0px 1px;
font-size: 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-bottom: none;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -27px 0px; }
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -36px 0px; }
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowUp_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -45px 0px; }
/* down arrows */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown,
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over,
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled {
position: absolute;
height: 16px;
height= 18px;
font-size: 1px;
padding: 1px 1px 0px 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-top: none;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: 0px 0px; }
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -9px 0px; }
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_ArrowDown_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -18px 0px; }
/****************************************************************************************************************************************************/
/* TOPLEVEL TEXT */
.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_right {
position: absolute;
top: 5px;
left: none;
right: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
.dhtmlxMenu_dhx_skyblue_Middle div.dhtmlxMenu_TopLevel_Text_left {
position: absolute;
top: 5px;
right: none;
left: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
/****************************************************************************************************************************************************/
/* ITEM'S CHECKS, RADIOS */
/* sublevel */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon {
float: left;
margin: 0px 2px 0px 2px;
width: 18px;
height: 18px;
background-position: top right;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_skyblue/dhtmlxmenu_chrd.gif");
}
/* checkboxes */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 {
background-position: 0px 0px !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 {
background-position: -18px 0px !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 {
background-position: -36px 0px !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 {
background-position: -54px 0px !important;
}
/* radios */
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 {
background-position: -72px 0px !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 {
background-position: -90px 0px !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 {
background-position: -108px 0px !important;
}
div.dhtmlxMenu_dhx_skyblue_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 {
background-position: -126px 0px !important;
}

View File

@ -0,0 +1,356 @@
/*
"dhx_terrace" DHTMLXMENU SKIN 20012/05
*/
/****************************************************************************************************************************************************/
/* TOPLEVEL */
.dhtmlxMenu_dhx_terrace_Middle {
position: relative;
height: 32px;
border: none;
/*border-left: #cecece 1px solid;*/
-moz-user-select: none;
/*
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
*/
}
/*
.dhtmlxMenu_dhx_terrace_Layout, .dhtmlxMenu_dhx_terrace_Accordion {
border-bottom: #cedce8 1px solid;
}
.dhtmlxMenu_dhx_terrace_Middle.in_acccell, .dhtmlxMenu_dhx_terrace_Middle.in_layoutcell {
height: 25px;
background-image: url("../imgs/dhxmenu_dhx_terrace/dhxmenu_bg_acccell.gif");
background-position: top;
background-repeat: repeat-x;
}
*/
.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_left {
float: left;
}
.dhtmlxMenu_dhx_terrace_Middle.dir_left div.align_right {
float: right;
}
/****************************************************************************************************************************************************/
/* TOPLEVEL ITEMS */
/* toplevel item normal */
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected {
position: relative;
float: left;
font-family: Arial;
font-size: 12px;
font-weight: normal;
cursor: default;
white-space: nowrap;
-moz-user-select: none;
height: 32px;
line-height: 32px;
vertical-align: middle;
margin: 0px;
padding-left: 12px;
padding-right: 12px;
aborder-left: #cecece 1px solid;
border-right: #cecece 1px solid;
background-image: url("../imgs/dhxmenu_dhx_terrace/dhxmenu_bg_item.gif");
background-repeat: repeat-x;
color: #2f2f2f;
}
/*
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal:last-child,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled:last-child,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected:last-child {
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal:first-child,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled:first-child,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected:first-child {
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
*/
/* toplevel item disabled */
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled {
color: #999999 !important;
}
/* toplevel item selected (over) */
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected {
background-image: url("../imgs/dhxmenu_dhx_terrace/dhxmenu_bg_item_sel.gif");
}
/* toplevel separator */
.dhtmlxMenu_dhx_terrace_Middle div.top_sep {
font-size: 1px;
cursor: default;
-moz-user-select: none;
height: 32px;
position: relative;
float: left;
width: 14px;
/*border-right: #cecece 1px solid;*/
}
/* top level image */
.dhtmlxMenu_dhx_terrace_Middle img.dhtmlxMenu_TopLevel_Item_Icon {
float: left;
margin: 7px 6px 0px 0px;
width: 18px;
height: 18px;
}
/* top level text*/
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Normal div.top_level_text,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Disabled div.top_level_text,
div.dhtmlxMenu_dhx_terrace_TopLevel_Item_Selected div.top_level_text {
float: left;
margin-left: 2px;
margin-right: 2px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL POLYGON */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon {
position: absolute;
background-color: #ffffff;
border: #c0c0c0 1px solid;
overflow: hidden;
padding-top: 7px;
padding-bottom: 5px;
box-shadow: 1px 1px 6px #909090;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
border-top-right-radius: 5px;
filter:progid:DXImageTransform.Microsoft.Shadow(color=#a0a0a0,direction=135,strength=3);
}
/* IE6 sublevel undercover fix */
iframe.dhtmlxMenu_IE6CoverFix_dhx_terrace {
position: absolute;
border: none;
background: #000000;
filter: alpha(opacity=100);
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ITEMS */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl {
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item {
height: 26px;
cursor: default;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis {
height: 26px;
cursor: default;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected {
height: 26px;
cursor: default;
background-color: #f0ede7;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon {
width: 35px;
text-align: left;
-moz-user-select: none;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon {
width: 18px;
height: 18px;
margin-top: 2px;
margin-right: 0px;
margin-left: 12px;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_text {
vertical-align: middle;
padding-left: 4px;
padding-right: 4px;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text {
font-family: Arial;
font-size: 13px;
font-weight: normal;
color: #2f2f2f;
white-space: nowrap;
text-align: left;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text {
color: #999999 !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk {
padding-left: 12px;
padding-right: 16px;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk {
padding-top: 1px;
font-family: Arial;
font-size: 11px;
color: #747473;
text-align: right;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk {
color: #cecece !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon tr.sub_sep {
height: 5px;
font-size: 1px;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon div.sub_sep {
font-size: 1px;
background-image: url("../imgs/dhxmenu_dhx_terrace/dhxmenu_bg_subsep.gif");
background-repeat: repeat-x;
background-position: top;
cursor: default;
height: 5px;
overflow: hidden;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ARROWS */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow {
width: 5px;
height: 26px;
background-image: url("../imgs/dhxmenu_dhx_terrace/dhtmlxmenu_subar.gif");
background-repeat: no-repeat;
background-position: 0px 0px;
float: right;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow {
background-position: -5px 0px !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow {
background-position: -10px 0px !important;
}
/****************************************************************************************************************************************************/
/* LOADING ICON */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow_loading {
aposition: absolute;
width: 16px;
height: 16px;
background-position: center top;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_terrace/dhtmlxmenu_loader.gif");
top: 0px;
left: none;
right: 0px;
}
/****************************************************************************************************************************************************/
/* UP/DOWN OVERFLOW ARROWS */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Arrow {
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center center;
background-color: #eaf2fb;
text-align: center;
overflow: hidden;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Arrow div.dhtmlxMenu_SubLevelArea_Arrow_Icon {
position: relative;
margin-top: 5px;
margin-left: auto;
margin-right: auto;
width: 9px;
height: 5px;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_terrace/dhtmlxmenu_upar.gif");
}
/* up arrows */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp,
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Over,
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled {
position: absolute;
height: 16px;
height= 18px;
padding: 1px 1px 0px 1px;
font-size: 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-bottom: none;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -27px 0px; }
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -36px 0px; }
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowUp_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -45px 0px; }
/* down arrows */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown,
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Over,
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled {
position: absolute;
height: 16px;
height= 18px;
font-size: 1px;
padding: 1px 1px 0px 1px;
background-color: #eaf2fb;
border: #a4bed4 1px solid;
border-top: none;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: 0px 0px; }
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -9px 0px; }
div.dhtmlxMenu_dhx_terrace_SubLevelArea_ArrowDown_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -18px 0px; }
/****************************************************************************************************************************************************/
/* TOPLEVEL TEXT */
.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_right {
position: absolute;
top: 5px;
left: none;
right: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
.dhtmlxMenu_dhx_terrace_Middle div.dhtmlxMenu_TopLevel_Text_left {
position: absolute;
top: 5px;
right: none;
left: 8px;
font-family: Tahoma;
font-size: 11px;
color: #000000;
cursor: default;
}
/****************************************************************************************************************************************************/
/* ITEM'S CHECKS, RADIOS */
/* sublevel */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon {
float: left;
margin-left: 12px;
width: 18px;
height: 18px;
background-position: top right;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_terrace/dhtmlxmenu_chrd.gif");
}
/* checkboxes */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 {
background-position: 0px 0px !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 {
background-position: -18px 0px !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 {
background-position: -36px 0px !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 {
background-position: -54px 0px !important;
}
/* radios */
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 {
background-position: -72px 0px !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 {
background-position: -90px 0px !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 {
background-position: -108px 0px !important;
}
div.dhtmlxMenu_dhx_terrace_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 {
background-position: -126px 0px !important;
}

View File

@ -0,0 +1,364 @@
/*
"DHX SKYBLUE" DHTMLXMENU SKIN 2009
*/
/****************************************************************************************************************************************************/
/* TOPLEVEL */
.dhtmlxMenu_dhx_web_Middle {
position: relative;
height: 20px;
border: none;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_topbg.gif");
background-position: top;
background-repeat: repeat-x;
-moz-user-select: none;
padding: 0px 7px;
}
.dhtmlx_winviewport.dhtmlx_skin_dhx_web div.dhtmlxMenu_dhx_web_Middle,
.dhxlayout_fullscreened div.dhtmlxMenu_dhx_web_Middle,
.dhx_tabbar_zone.dhx_tabbar_zone_dhx_web div.dhtmlxMenu_dhx_web_Middle,
.dhx_acc_base_dhx_web div.dhtmlxMenu_dhx_web_Middle,
.dhtmlx_skin_dhx_web div.dhtmlx_window_active div.dhtmlxMenu_dhx_web_Middle,
.dhtmlx_skin_dhx_web div.dhtmlx_window_inactive div.dhtmlxMenu_dhx_web_Middle,
table.dhtmlxLayoutPolyContainer_dhx_web td.dhtmlxLayoutSinglePoly div.dhtmlxMenu_dhx_web_Middle {
height: 29px !important;
}
.dhtmlxMenu_dhx_web_Middle.dir_left div.align_left {
float: left;
}
.dhtmlxMenu_dhx_web_Middle.dir_left div.align_right {
float: right;
}
/* menu in window, layout, accordion have bottom margin 9px */
/*
.dhtmlx_skin_dhx_web div.dhtmlx_wins_body_inner div.dhtmlxMenu_dhx_web_Middle,
table.dhtmlxLayoutPolyContainer_dhx_web td.dhtmlxLayoutSinglePoly div.dhtmlxMenu_dhx_web_Middle {
height: 27px !important;
}
.dhtmlxMenu_dhx_web_Layout, .dhtmlxMenu_dhx_web_Accordion {
border-bottom: #cedce8 1px solid;
}
.dhtmlxMenu_dhx_web_Middle.in_acccell, .dhtmlxMenu_dhx_web_Middle.in_layoutcell {
height: 27px;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_bg_acccell.gif");
background-position: top;
background-repeat: repeat-x;
}
*/
/****************************************************************************************************************************************************/
/* TOPLEVEL ITEMS */
/* toplevel item normal */
div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal,
div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled,
div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected {
position: relative;
float: left;
font-family: Tahoma;
font-size: 12px;
font-weight: normal;
cursor: default;
white-space: nowrap;
-moz-user-select: none;
height: 20px;
line-height: 20px;
vertical-align: middle;
margin: 0px 2px 100px 0px;
padding: 0px 5px;
color: #000000;
}
div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal {
border-left: #ececec 1px solid !important;
border-right: #ececec 1px solid !important;
/*
background-image:url("../imgs/dhxmenu_dhx_web/dhxmenu_topsepbg.gif");
background-position:right center;
background-repeat:no-repeat;
*/
}
/* toplevel item disabled */
div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled {
color: #999999 !important;
}
/* toplevel item selected (over) */
div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected {
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_topselbg.gif");
background-repeat: repeat-x;
border-left: #ffffff 1px solid !important;
border-right: #ffffff 1px solid !important;
}
/* toplevel separator */
.dhtmlxMenu_dhx_web_Middle div.top_sep {
font-size: 1px;
cursor: default;
-moz-user-select: none;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_topsepbg.gif");
background-repeat: no-repeat;
background-position: top center;
height: 20px;
position: relative;
float: left;
width: 3px;
margin-left: 0px;
margin-right: 2px;
}
/* top level image */
.dhtmlxMenu_dhx_web_Middle img.dhtmlxMenu_TopLevel_Item_Icon {
float: left;
margin: 2px 2px 0px 2px;
width: 16px;
height: 16px;
}
/* top level text*/
div.dhtmlxMenu_dhx_web_TopLevel_Item_Normal div.top_level_text,
div.dhtmlxMenu_dhx_web_TopLevel_Item_Disabled div.top_level_text,
div.dhtmlxMenu_dhx_web_TopLevel_Item_Selected div.top_level_text {
float: left;
margin-left: 2px;
margin-right: 2px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL POLYGON */
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon {
position: absolute;
background-color: #ececec;
border: #ffffff 1px solid;
overflow: hidden;
padding-top: 1px;
padding-bottom: 1px;
box-shadow: 2px 3px 13px #666666;
-moz-box-shadow: 2px 3px 13px #666666;
-webkit-box-shadow: 2px 3px 13px #666666;
-khtml-box-shadow: 2px 3px 13px #666666;
filter:progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135,strength=3);
-moz-user-select: none;
}
/* IE6 sublevel undercover fix */
iframe.dhtmlxMenu_IE6CoverFix_dhx_web {
position: absolute;
border: none;
background: #000000;
filter: alpha(opacity=100);
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ITEMS */
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl {
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item {
height: 28px;
cursor: default;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis {
height: 28px;
cursor: default;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected {
height: 28px;
cursor: default;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_subselbg.gif");
background-repeat: repeat-x;
background-position: top;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon {
width: 24px;
text-align: left;
-moz-user-select: none;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_icon img.sub_icon {
width: 18px;
height: 18px;
margin-top: 4px;
margin-right: 0px;
margin-left: 6px;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_text {
vertical-align: middle;
padding-left: 4px;
padding-right: 4px;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_item_text {
font-family: Tahoma;
font-size: 12px;
font-weight: normal;
color: #000000;
white-space: nowrap;
text-align: left;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_item_text {
color: #999999 !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk {
padding-left: 8px;
padding-right: 8px;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl td.sub_item_hk div.sub_item_hk {
font-family: Tahoma;
font-size: 10px;
color: #a4bed4;
text-align: right;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected td.sub_item_hk div.sub_item_hk {
color: #999999;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis td.sub_item_hk div.sub_item_hk {
color: #cecece !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon tr.sub_sep {
height: 3px;
font-size: 1px;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon div.sub_sep {
font-size: 1px;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_subsepbg.gif");
background-repeat: repeat-x;
background-position: top;
cursor: default;
height: 3px;
}
/****************************************************************************************************************************************************/
/* SUBLEVEL ARROWS */
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow {
width: 7px;
height: 24px;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_subar.gif");
background-repeat: no-repeat;
background-position: 0px 0px;
float: right;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_selected div.complex_arrow {
background-position: -7px 0px !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.complex_arrow {
background-position: -14px 0px !important;
}
/****************************************************************************************************************************************************/
/* LOADING ICON */
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.complex_arrow_loading {
width: 7px;
height: 24px;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_loader.gif");
background-repeat: no-repeat;
background-position: center center;
float: right;
}
/****************************************************************************************************************************************************/
/* UP/DOWN OVERFLOW ARROWS */
div.dhtmlxMenu_dhx_web_SubLevelArea_Arrow {
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: center center;
text-align: center;
overflow: hidden;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Arrow div.dhtmlxMenu_SubLevelArea_Arrow_Icon {
position: relative;
margin-top: 6px;
margin-left: auto;
margin-right: auto;
width: 29px;
height: 8px;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_upar.gif");
}
/* up arrows */
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp,
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Over,
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled {
position: absolute;
height: 20px;
font-size: 1px;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -87px 0px; }
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -116px 0px; }
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowUp_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -145px 0px; }
/* down arrows */
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown,
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Over,
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled {
position: absolute;
height: 20px;
font-size: 1px;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: 0px 0px; }
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Over div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -29px 0px; }
div.dhtmlxMenu_dhx_web_SubLevelArea_ArrowDown_Disabled div.dhtmlxMenu_SubLevelArea_Arrow_Icon { background-position: -58px 0px; }
/****************************************************************************************************************************************************/
/* TOPLEVEL TEXT */
.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_right {
position: absolute;
top: 0px;
height: 20px;
line-height: 20px;
vertical-align: middle;
left: none;
right: 8px;
font-family: Tahoma;
font-size: 12px;
color: #000000;
cursor: default;
}
.dhtmlxMenu_dhx_web_Middle div.dhtmlxMenu_TopLevel_Text_left {
position: absolute;
top: 0px;
height: 20px;
line-height: 20px;
vertical-align: middle;
right: none;
left: 8px;
font-family: Tahoma;
font-size: 12px;
color: #000000;
cursor: default;
}
/****************************************************************************************************************************************************/
/* ITEM'S CHECKS, RADIOS */
/* sublevel */
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon {
float: left;
margin: 0px 2px 0px 6px;
width: 18px;
height: 18px;
background-position: top right;
background-repeat: no-repeat;
background-image: url("../imgs/dhxmenu_dhx_web/dhxmenu_chrd.gif");
}
/* checkboxes */
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_0 {
background-position: 0px 0px !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.chbx_1 {
background-position: -18px 0px !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_0 {
background-position: -36px 0px !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.chbx_1 {
background-position: -54px 0px !important;
}
/* radios */
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_0 {
background-position: -72px 0px !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl div.sub_icon.rdbt_1 {
background-position: -90px 0px !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_0 {
background-position: -108px 0px !important;
}
div.dhtmlxMenu_dhx_web_SubLevelArea_Polygon table.dhtmlxMebu_SubLevelArea_Tbl tr.sub_item_dis div.sub_icon.rdbt_1 {
background-position: -126px 0px !important;
}