/* * Ez működteti a teljes menürendszert javascript ügyileg. * v:0.1 */ var menuState = false; // A menü állapota true esetén csukva; alapértelmezett csukva var nyithato = false // alapértelmezetten nem var most = 0; // Azt vizsgálja hogy mikor történt a menü állapotának változtatása // 1 esetén az adott függvényhívásban var menuprtmode = false; $j(document).ready(function(){ // Betöltéskor elvégzett paraméter beállítások if(menuprtmode) { $j("#left").css("width","0px").css("display","none"); $j("#right").css("width","100%"); } else baseSettings(); $j('#menuonoff').click(function() { most = 0; mkLeftMenu(); }); checkLeft(); }); // Képernyő méretezésekor beállítja $j(window).on("resize", function(){ baseSettings(); }); // A tartalmi menü szélességét számolja és ha szükséges akkor magasabbra állítja function menuRowWidth() { // A szükséges szélesség megállapítása var menuRowW = 5; $j(".tableMenu .menuItem").each(function(){ menuRowW += $j(this).width(); }); $j(".tableMenu .fastIcon").each(function(){ menuRowW += $j(this).width(); }); // Ha kisebb lenne akkor magasság nővelése if(menuRowW >= $j(".menuRow").width()) { $j(".menuRow").height("90px"); } else { $j(".menuRow").removeAttr( 'style' ); } winWidth = $j(window).innerWidth(); leftCloser = $j("#left").width()<= 180; // Kisebb-e a bal oldal mint 180px leftOptBool = winWidth * 0.15 >= 180; // A bal oldal lehetséges szélessége if(winWidth<=1025 && winWidth<=1041 && deviceType!='mobil'){ closeSet(winWidth,1); menuState = true; } } // Elmenti a menü aktuális állapotát a session-be (nyitott/zárt) function setmenuvar(v) { $j.ajax({ url: root_url+"ajax/menu/s", data: {v: v}, dataType: "html", type: "post", success: function (resp) {} }); } // Betöltéskor és méretezéskori alapműveletek function baseSettings() { setTodoBoxes(); // Todo boxok az adatlapon checkLeft(); // - Jobb oldali menü setSiteHeight(); // - Magasság paddLine(); // - elválasztók szélessége // pl részletese kereső és/vagy vonal searchInpWidth(); // - a gyorskereső inputjának a szélessége menuRowWidth(); // A tartalmi menü szélessége } // Elválasztok szélessége function paddLine(){ var paddLineW = $j(".paddSelect").parents("div").width() - $j(".paddSelect").width() - 20; $j(".paddLine").width(paddLineW); } // Bezárja vagy kinyitja a menüt function mkLeftMenu() { winWidth = $j(window).innerWidth(); // Menü összecsukása if(menuState === false && most !== 1) { closeSet(winWidth); menuState = true; most = 1; setmenuvar(1); $j('.menuSidebar [tooltip]').tooltip('enable'); menuTooltip(); } // Menü kinyitása if(menuState === true && most !== 1) { openSet(winWidth); menuState = false; most = 1; setmenuvar(0); $j('.menuSidebar [tooltip]').tooltip('disable'); menuTooltip(); } } // A bal oldal ellenőrzése function checkLeft() { winWidth = $j(window).innerWidth(); leftCloser = $j("#left").width()<= 180; // Kisebb-e a bal oldal mint 180px leftOptBool = winWidth * 0.15 >= 180; // A bal oldal lehetséges szélessége if(winWidth<=1024 && deviceType!='mobil'){ dNone($j(".logo .text")); var scrnwdth=$j('body').innerWidth(); var headerLeftWidth=50; var headerRightWidth=scrnwdth-headerLeftWidth; var headerHeight=$j("#right .header").height(); $j(".mobilRighticons").css( {"width":headerLeftWidth,"float":"left","height":headerHeight-4,"padding-top":4} ); $j("#right .header").css( {"width":headerRightWidth,"float":"left"} ); }else{ // Menü becsukás ha kisebb a bal oldal mint 180 if(menuState == false && leftCloser == true ) { dNone($j(".logo .text")); rightWidth = winWidth - 50; $j("#left").width( '50px' ); $j("#right").width( rightWidth ); $j("#left").addClass("closed"); nyithato = true; respCorrection("close"); $j("#menuonoff").css("display","none"); } // Ha már be van csukva akkor újraszámolja a szélességeket és azt százalékra állítja if(menuState == true){ rightWidth = winWidth - 50; $j("#left").width( '50px' ); $j("#right").width( rightWidth ); toPercent($j("#left"), winWidth); toPercent($j("#right"), winWidth); } // Menü kinyitás ha nyithato és ha a bal oldal nagyobb mint 180 if(nyithato == true && leftOptBool == true ) { $j("#left").width( '15%' ); $j("#right").width( '85%' ); $j("#left").removeClass("closed"); dBlock($j(".logo .text")); nyithato = false; respCorrection("open"); $j("#menuonoff").css("display","block"); } } } // Reszponzivitás korrekció a menüben lévő elemekre function respCorrection(irany){ if(irany == 'open'){ $j('#left .jog').css( { "left" : "10px", "color" : "#fff" , "width" : "auto" } ); $j("#lastActivity").css("display","block"); $j('.menuSidebar a').removeAttr( "style" ); } else{ $j('#left .jog').css( { "left" : "110%", "color" : "#1c2326", "width" : "200px" } ); $j("#lastActivity").css("display","none"); $j('.menuSidebar a').css( { "width" : "auto"} ); } //menuTooltip(); } // A nyitott állapot esetén szélesség beállítás animálva function openSet(winWidth) { leftOpt = winWidth * 0.15; // A bal oldal lehetséges szélessége rightOpt = winWidth * 0.85; // A jobb oldal lehetséges szélessége // Menü kinyitása animálva divAnimate($j("#left"), leftOpt, winWidth, '15%', 'showAdamo'); divAnimate($j("#right"), rightOpt, winWidth, '85%'); $j("#left").removeClass("closed"); respCorrection("open"); } // A zárt állapot esetén szélesség beállítás animálva / noAnim esetén csak bezárja function closeSet(winWidth, noAnim) { rightWidth = winWidth - 50; if(winWidth < 640) {winwidth = 640;} if(rightWidth < 640) {rightWidth = 590;} dNone($j(".logo .text")); // Menü bezárása animálva if(typeof(noAnim) == "undefined") { divAnimate($j("#left"), '50px', winWidth); divAnimate($j("#right"), rightWidth, winWidth); } // Nem animálva - setmenuvar miatt szükséges else { $j("#left").width("50px"); $j("#right").width(rightWidth); toPercent($j("#left"), winWidth); toPercent($j("#right"), winWidth); } respCorrection("close"); $j("#left").addClass("closed"); } // Animálva beállítja a szélességét a megadott elemnek majd átalakítja százalékos értékre a szélességét function divAnimate(item, itemWidth, winWidth, setPercent, extra) { item.animate( { width: itemWidth }, function(){ if(typeof(extra) != 'undefined') { if($j("#left").width()>= 180) { dBlock($j(".logo .text")); } } if(typeof(setPercent) == 'undefined') { toPercent(item, winWidth); } else { item.width(setPercent); } } ); } // Átalakítja százalékos értékre a megadott item szélesség az ablak szélességéhez képest function toPercent(item, winWidth) { toPerc = item.width() / winWidth; toPerc *= 100; item.width(toPerc+'%'); } //var magassagotallitok = 0; // Magasság beállítása ha túl kicsi a tartalom function setSiteHeight() { // Aktuális magasságok lekérése var siteHeight = $j("#content").height(); var leftHeight = $j("#left").css({"height":"auto"}).height(); var winHeight=$j(window).innerHeight(); //console.log('site:', siteHeight, 'left:', leftHeight, 'win:', winHeight); // A magasságoktól függően a magasság beállítás módja változó if (siteHeight<=winHeight && leftHeight <= winHeight) { // Ha a bal oldali és a jobb oldali tartalom is kisebb mint az ablak magasság $j("#wrapper").height(winHeight); $j("#right").height(winHeight); $j("#left").height(winHeight); } else if (leftHeight >= siteHeight ){ // Ha a jobb oldali tartalom nagyobb mint a bal oldali $j("#right").height(leftHeight+50); $j("#wrapper").height(leftHeight+50); $j("#left").height(leftHeight+50); } else { // Minden más esetben setSiteAuto(); } //magassagotallitok++; //console.log(magassagotallitok); } // Automatikus magasság beállítás function setSiteAuto() { $j("#right").height('auto'); var rightHeight = $j("#right").height(); $j("#left").height(rightHeight); } // Elrejti az adott elemet function dNone(item) { item.addClass("displayNone"); item.removeClass("displayBlock"); } // Megjeleníti az adott elemet function dBlock(item) { item.removeClass("displayNone"); item.addClass("displayBlock"); } // Hoverre később jelenjen meg a fény a menün és icon változtatása $j(document).on("mouseover", ".listItem", function(){ var ListItemActive = ''; if( $j(this).hasClass("active") ) { ListItemActive = 'act'; } activeMenuOn($j(this), ListItemActive, 0 ); }); $j(document).on("mouseover", ".menuSidebar .menuItem", function(){ activeMenuOn($j(this), "bpos", 36 ); }); $j(document).on("mouseover", ".menuRow .menuItem", function(){ activeMenuOn($j(this), "bpos", 25 ); }); $j(document).on("mouseover", ".menuHeader .menuItem:not(.menu-disbl)", function(){ activeMenuOn($j(this), "bpos", 43 ); }); // Hover végén tűnjön el a fény a menün és icon változtatása $j(document).on("mouseout", ".listItem", function(){ var ListItemActive = ''; if( $j(this).hasClass("active") ) { ListItemActive = 'act'; } activeMenuOff($j(this), ListItemActive, 0 ); }); $j(document).on("mouseout", ".menuSidebar .menuItem", function(){ activeMenuOff($j(this), "bpos", 36 ); }); $j(document).on("mouseout", ".menuRow .menuItem", function(){ activeMenuOff($j(this), "bpos", 25 ); }); $j(document).on("mouseout", ".menuHeader .menuItem:not(.menu-disbl)", function(){ activeMenuOff($j(this), "bpos", 43 ); }); // Menü hover function activeMenuOn(item, mod, posDiff) { // Megváltoztatja a background positiont hoverre if(!item.hasClass("active") && mod == "bpos" ) { changeBpos(item, "on", posDiff); } if( mod != 'act') { // Hozzáadja a fényt hoverre item.find(".hovershad").stop().fadeTo(500 , 1); } } // Menü hover vége function activeMenuOff(item, mod, posDiff) { // Megváltoztatja a background positiont hoverre if(!item.hasClass("active") && mod == "bpos") { changeBpos(item, "off", posDiff); } if( mod != 'act') { // Eltávolítja a fényt a hover végén item.find(".hovershad").stop().fadeTo(500 , 0); } } // Background position változtatás function changeBpos(item, irany, posDiff) { var icon=item.find(".icon"); changeBposIcon(icon,irany,posDiff); } function changeBposIcon(icon, irany, posDiff) { if(icon.length>0) { var bpos = icon.css("background-position").split(" "); if(irany == "on") { var newbpos = "0px "+(parseInt(bpos[1])-posDiff)+"px"; } if(irany == "off"){ var newbpos = "0px "+(parseInt(bpos[1])+posDiff)+"px"; } icon.css("background-position", newbpos); } } function menuTooltip(){ if(menuState == false) { $j('.menuSidebar [tooltip]').tooltip('disable'); } else { $j('.menuSidebar [tooltip]').tooltip('enable'); } }