| Current Path : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/ |
| Current File : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/trans.php |
<?php
/**
* swmenupro v6.0
* http://swmenupro.com
* Copyright 2006 Sean White
* */
defined('_JEXEC') or die('Restricted access');
function transMenu($ordered, $swmenupro) {
$live_site = JURI::base();
if (substr($live_site, (strlen($live_site) - 1), 1) == "/") {
$live_site = substr($live_site, 0, (strlen($live_site) - 1));
}
if (substr($live_site, (strlen($live_site) - 13), 13) == "administrator") {
$live_site = substr($live_site, 0, (strlen($live_site) - 14));
}
if (substr($live_site, (strlen($live_site) - 1), 1) != "/") {
$live_site =$live_site."/" ;
}
$str = "";
$name = "";
$active_id = 'none';
$topcounter = 0;
$counter = 0;
$count = 0;
$number = count(chain('ID', 'PARENT', 'ORDER', $ordered, $swmenupro['parentid'], 1));
$total = count(chain('ID', 'PARENT', 'ORDER', $ordered, $swmenupro['parentid'], 25));
$str .= "<table id=\"menu_wrap" . $swmenupro['id'] . "\" class=\"swmenu" . $swmenupro['id'] . "\" align=\"" . $swmenupro['position'] . "\"><tr><td><div id=\"td_menu_wrap" . $swmenupro['id'] . "\" >\n";
$str .= "<table cellspacing=\"0\" cellpadding=\"0\" id=\"menu" . $swmenupro['id'] . "\" class=\"menu" . $swmenupro['id'] . "\" > \n";
if (substr($swmenupro['orientation'], 0, 10) == "horizontal") {
$str .= "<tr> \n";
}
foreach ($ordered as $top) {
if ($top['indent'] == 0) {
$top['URL'] = str_replace('&', '&', $top['URL']);
$topcounter++;
$class = "";
$name = swmenu_getname($top);
if (substr($swmenupro['orientation'], 0, 8) == "vertical") {
$str .= "<tr> \n";
}
if ($topcounter == $number) {
$class .= " last" . $swmenupro['id'];
}
if (($topcounter == $number) && ($top["ID"] == $swmenupro['active_menu'])) {
$str .= "<td id=\"trans-active" . $swmenupro['id'] . "\" class=\"" . $class . "\"> \n";
$active_id = "menu" . $swmenupro['id'] . $top['ID'];
} else if ($top["ID"] == $swmenupro['active_menu']) {
$str .= "<td id='trans-active" . $swmenupro['id'] . "' class=\"" . $class . "\"> \n";
$active_id = "menu" . $swmenupro['id'] . $top['ID'];
} else if ($topcounter == $number) {
$str .= "<td class=\"" . $class . "\"> \n";
} else {
$str .= "<td class=\"" . $class . "\"> \n";
}
if (($counter + 1 != $total)&&(@$ordered[$count + 1]['indent'] > $top['indent']) && $swmenupro['top_sub_indicator']) {
$name = "<div><img src='" . $live_site . $swmenupro['top_sub_indicator'] . "' align='" . $swmenupro['top_sub_indicator_align'] . "' style='position:relative;left:" . $swmenupro['top_sub_indicator_left'] . "px;top:" . $swmenupro['top_sub_indicator_top'] . "px;' alt='' border='0' />" . $name."</div>\n";
}
if ($top['TARGETLEVEL'] == "0") {
$str .= "<a id=\"menu" . $swmenupro['id'] . $top['ID'] . "\" href=\"javascript:void(0);\" >" . $name . "</a> \n";
} else {
switch ($top['TARGET']) {
case 1:
$str .= '<a id="menu' . $swmenupro['id'] . $top['ID'] . '" href="' . $top['URL'] . '" target="_blank" >' . $name . '</a>' . "\n";
break;
case 2:
$str .= "<a href=\"#\" id=\"menu" . $swmenupro['id'] . $top['ID'] . "\" onclick=\"javascript: window.open('" . $top['URL'] . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" >" . $name . "</a>\n";
break;
case 3:
$str .= '<a id="menu' . $swmenupro['id'] . $top['ID'] . '" >' . $name . '</a>' . "\n";
break;
default:
$str .= '<a class="item1" id="menu' . $swmenupro['id'] . $top['ID'] . '" href="' . $top['URL'] . '" >';
$str .= $name . '</a>' . "\n";
break;
}
}
$counter++;
$str .= "</td> \n";
if (substr($swmenupro['orientation'], 0, 8) == "vertical") {
$str .= "</tr> \n";
}
}
$count++;
}
if (substr($swmenupro['orientation'], 0, 10) == "horizontal") {
$str .= "</tr> \n";
}
$str .= "</table></div></td></tr></table><hr style=\"display:block;clear:left;margin:-0.66em 0;visibility:hidden;\" /> \n";
$str .= "<div id=\"subwrap" . $swmenupro['id'] . "\"> \n";
$str .= "<script type=\"text/javascript\">\n";
$str .= "<!--\n";
$str .= "if (TransMenu.isSupported()) {\n";
if ($swmenupro['orientation'] == "horizontal/down") {
$str .= "var ms = new TransMenuSet(TransMenu.direction.down, " . $swmenupro['level1_sub_left'] . "," . $swmenupro['level1_sub_top'] . ", TransMenu.reference.bottomLeft);\n";
} elseif ($swmenupro['orientation'] == "horizontal/left") {
$str .= "var ms = new TransMenuSet(TransMenu.direction.dleft, " . $swmenupro['level1_sub_left'] . "," . $swmenupro['level1_sub_top'] . ", TransMenu.reference.bottomRight);\n";
} elseif ($swmenupro['orientation'] == "horizontal/up") {
$str .= "var ms = new TransMenuSet(TransMenu.direction.up, " . $swmenupro['level1_sub_left'] . ", " . $swmenupro['level1_sub_top'] . ", TransMenu.reference.topLeft);\n";
} elseif ($swmenupro['orientation'] == "vertical/right") {
$str .= "var ms = new TransMenuSet(TransMenu.direction.right, " . $swmenupro['level1_sub_left'] . ", " . $swmenupro['level1_sub_top'] . ", TransMenu.reference.topRight);\n";
} elseif ($swmenupro['orientation'] == "vertical/left") {
$str .= "var ms = new TransMenuSet(TransMenu.direction.left, " . $swmenupro['level1_sub_left'] . ", " . $swmenupro['level1_sub_top'] . ", TransMenu.reference.topLeft);\n";
} elseif ($swmenupro['orientation'] == "vertical") {
$str .= "var ms = new TransMenuSet(TransMenu.direction.right, " . $swmenupro['level1_sub_left'] . ", " . $swmenupro['level1_sub_top'] . ", TransMenu.reference.topRight);\n";
} elseif ($swmenupro['orientation'] == "horizontal") {
$str .= "var ms = new TransMenuSet(TransMenu.direction.down, " . $swmenupro['level1_sub_left'] . ", " . $swmenupro['level1_sub_top'] . ", TransMenu.reference.bottomLeft);\n";
}
$par = $ordered[0];
foreach ($ordered as $sub) {
$name = swmenu_getname($sub);
$sub2 = next($ordered);
if ($sub['TARGETLEVEL'] == "0" || $sub['TARGET'] == "3") {
$sub['TARGET'] = 0;
$sub['URL'] = "javascript:void(0);";
}
if (($sub['indent'] == 0) && (($sub2['indent']) == 1)) {
$str .= "var menu" . $swmenupro['id'] . $sub['ID'] . " = ms.addMenu(document.getElementById(\"menu" . $swmenupro['id'] . $sub['ID'] . "\"));\n ";
} else if (($sub['ORDER'] == 1) && ($sub['indent'] > 1)) {
$str .= "var menu" . $swmenupro['id'] . ($sub['ID']) . " = menu" . $swmenupro['id'] . findPar($ordered, $par) . ".addMenu(menu" . $swmenupro['id'] . findPar($ordered, $par) . ".items[" . ($par['ORDER'] - 1) . "]," . $swmenupro['level2_sub_left'] . "," . $swmenupro['level2_sub_top'] . ");\n";
}
if ($sub['indent'] > 0) {
$str .= "menu" . $swmenupro['id'] . findPar($ordered, $sub) . ".addItem(\"" . addslashes($name) . "\", \"" . addslashes($sub['URL']) . "\", \"" . $sub['TARGET'] . "\");\n";
}
$par = $sub;
}
/*
if ($swmenupro['top_ttf']) {
$registry = new JRegistry();
$registry->loadINI($swmenupro['top_ttf']);
$params = $registry->toObject();
$topfontface = @$params->fontFace ? $params->fontFace : 'none';
} else {
$topfontface = "";
}
*/
$str .= "function init" . $swmenupro['id'] . "() {\n";
$str .= "if (TransMenu.isSupported()) {\n";
$str .= "TransMenu.initialize();\n";
$counter = 0;
for ($i = 0; $i < count($ordered); $i++) {
if ($ordered[$i]['indent'] == 0) {
$counter++;
if (@$ordered[$i + 1]['indent'] == 1) {
$str .= "menu" . $swmenupro['id'] . ($ordered[$i]['ID']) . ".onactivate = function() {document.getElementById(\"menu" . $swmenupro['id'] . $ordered[$i]['ID'] . "\").className = \"hover\"; };\n ";
$str .= "menu" . $swmenupro['id'] . ($ordered[$i]['ID']) . ".ondeactivate = function() {document.getElementById(\"menu" . $swmenupro['id'] . $ordered[$i]['ID'] . "\").className = \"\"; };\n ";
} else {
$str .= "document.getElementById(\"menu" . $swmenupro['id'] . $ordered[$i]['ID'] . "\").onmouseover = function() {\n";
$str .= "ms.hideCurrent();\n";
$str .= "this.className = \"hover\";\n";
$str .= "};\n";
$str .= "document.getElementById(\"menu" . $swmenupro['id'] . $ordered[$i]['ID'] . "\").onmouseout = function() { this.className = \"\"; };\n";
}
}
}
$str .= "}}\n";
if ($swmenupro['sub_sub_indicator']) {
$str.="TransMenu.spacerGif = \"" . $live_site . "/modules/mod_swmenupro/images/transmenu/x.gif\";\n";
$str.="TransMenu.dingbatOn = \"" . $live_site . $swmenupro['sub_sub_indicator'] . "\";\n";
$str.="TransMenu.dingbatOff = \"" . $live_site . $swmenupro['sub_sub_indicator'] . "\"; \n";
$str.="TransMenu.sub_indicator = true; \n";
} else {
$str.="TransMenu.dingbatSize = 0;\n";
$str.="TransMenu.spacerGif = \"\";\n";
$str.="TransMenu.dingbatOn = \"\";\n";
$str.="TransMenu.dingbatOff = \"\"; \n";
$str.="TransMenu.sub_indicator = false;\n";
}
$str .= "TransMenu.menuPadding = 0;\n";
$str .= "TransMenu.itemPadding = 0;\n";
$str .= "TransMenu.shadowSize = 2;\n";
$str .= "TransMenu.shadowOffset = 3;\n";
$str .= "TransMenu.shadowColor = \"#888\";\n";
$str .= "TransMenu.shadowPng = \"" . $live_site . "/modules/mod_swmenupro/images/transmenu/grey-40.png\";\n";
$str .= "TransMenu.backgroundColor = \"" . ($swmenupro['sub_back'] ? $swmenupro['sub_back'] : '#fff') . "\";\n";
$str .= "TransMenu.backgroundPng = \"" . $live_site . "/modules/mod_swmenupro/images/transmenu/white-90.png\";\n";
$str .= "TransMenu.hideDelay = " . ($swmenupro['specialB'] * 2) . ";\n";
$str .= "TransMenu.slideTime = " . $swmenupro['specialB'] . ";\n";
$str .= "TransMenu.modid = " . $swmenupro['id'] . ";\n";
$str .= "TransMenu.selecthack = false;\n";
$str .= "TransMenu.autoposition = 1;\n";
$str .= "TransMenu.fontFace = \"" . $swmenupro['top_font_face'] . "\";\n";
$str .= "TransMenu.fontColor = \"" . $swmenupro['main_font_color'] . "\";\n";
$str .= "TransMenu.activeId = \"" . $active_id . "\";\n";
$str .= "TransMenu.preview = \"" . $swmenupro['preview'] . "\";\n";
$str .= "TransMenu.renderAll();\n";
$str .= "if ( typeof window.addEventListener != \"undefined\" )\n";
$str .= "window.addEventListener( \"load\", init" . $swmenupro['id'] . ", false );\n";
$str .= "else if ( typeof window.attachEvent != \"undefined\" ) {\n";
$str .= "window.attachEvent( \"onload\", init" . $swmenupro['id'] . " );\n";
$str .= "}else{\n";
$str .= "if ( window.onload != null ) {\n";
$str .= "var oldOnload = window.onload;\n";
$str .= "window.onload = function ( e ) {\n";
$str .= "oldOnload( e );\n";
$str .= "init" . $swmenupro['id'] . "();\n";
$str .= "}\n}else\n";
$str .= "window.onload = init" . $swmenupro['id'] . "();\n";
$str .= "}\n}\n\n";
if (($swmenupro['c_corner_style'] != 'none') && ($swmenupro['c_corner_style'])&& ($swmenupro['c_corner_style'] != 'curvycorner')){
if (($swmenupro['main_border_width'] > 0) && ($swmenupro['main_border_style'] != 'none')) {
$str .= "if (jQuery.browser.msie && jQuery.browser.version < 9) {\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . "').css('z-index','-1');\n";
// $str .= "jQuery('#td_menu_wrap').wrap('<div></div>');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . "').parent().css('padding', '" . $swmenupro['main_border_width'] . "px');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . "').parent().css('background-color', '" . $swmenupro['main_border_color'] . "');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . "').corner('" . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size']) . "px');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . "').parent().corner('" . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size'] + $swmenupro['main_border_width']) . "px');\n";
//$str .= "jQuery('#td_menu_wrap').parent().css('display','block');\n";
$str .= "}else{\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . "').corner('" . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size']) . "px');\n";
$str .= "}\n";
}else{
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . "').corner('" . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size']) . "px');\n";
}
}
if (($swmenupro['t_corner_style'] != 'none') && ($swmenupro['t_corner_style'])&& ($swmenupro['t_corner_style'] != 'curvycorner')){
if (($swmenupro['main_border_over_width'] > 0) && ($swmenupro['main_border_over_style'] != 'none')) {
$str .= "if (jQuery.browser.msie && jQuery.browser.version < 9) {\n";
//$str .= "jQuery('#td_menu_wrap a').css('z-index','-1');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . " a').wrap('<div></div>');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . " a').parent().css('padding', '" . $swmenupro['main_border_over_width'] . "px');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . " a').parent().css('background-color', '" . $swmenupro['main_border_color_over'] . "');\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . " a').corner('" . $swmenupro['t_corner_style'] . " " . (@$swmenupro['ttl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ttr_corner'] ? 'tr' : '') . " " . (@$swmenupro['tbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['tbr_corner'] ? 'br' : '') . " " . ($swmenupro['t_corner_size']) . "px');\n";
// $str .= "jQuery('#td_menu_wrap a').parent().corner('" . $swmenupro['t_corner_style'] . " " . (@$swmenupro['ttl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ttr_corner'] ? 'tr' : '') . " " . (@$swmenupro['tbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['tbr_corner'] ? 'br' : '') . " " . ($swmenupro['t_corner_size'] + $swmenupro['main_border_over_width']) . "px');\n";
//$str .= "jQuery('#td_menu_wrap').parent().css('display','block');\n";
$str .= "}else{\n";
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . " a').corner('" . $swmenupro['t_corner_style'] . " " . (@$swmenupro['ttl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ttr_corner'] ? 'tr' : '') . " " . (@$swmenupro['tbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['tbr_corner'] ? 'br' : '') . " " . ($swmenupro['t_corner_size']) . "px');\n";
$str .= "}\n";
}else{
$str .= "jQuery('#td_menu_wrap" . $swmenupro['id'] . " a').corner('" . $swmenupro['t_corner_style'] . " " . (@$swmenupro['ttl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ttr_corner'] ? 'tr' : '') . " " . (@$swmenupro['tbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['tbr_corner'] ? 'br' : '') . " " . ($swmenupro['t_corner_size']) . "px');\n";
}
}
if (($swmenupro['s_corner_style'] != 'none') && ($swmenupro['s_corner_style'])&& ($swmenupro['s_corner_style'] != 'curvycorner')){
$str .= "jQuery('#subwrap" . $swmenupro['id'] . " .background').corner('" . $swmenupro['s_corner_style'] . " " . (@$swmenupro['stl_corner'] ? 'tl' : '') . " " . (@$swmenupro['str_corner'] ? 'tr' : '') . " " . (@$swmenupro['sbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['sbr_corner'] ? 'br' : '') . " " . @$swmenupro['s_corner_size'] . "px');\n";
$str .= "jQuery('#subwrap" . $swmenupro['id'] . " .item.hover td ').corner('" . $swmenupro['s_corner_style'] . " " . (@$swmenupro['stl_corner'] ? 'tl' : '') . " " . (@$swmenupro['str_corner'] ? 'tr' : '') . " " . (@$swmenupro['sbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['sbr_corner'] ? 'br' : '') . " " . @$swmenupro['s_corner_size'] . "px');\n";
}
if ($swmenupro['top_ttf']) {
$str .= "Cufon.replace('table.menu" . $swmenupro['id'] . " a',{hover: true, fontFamily: '" . $swmenupro['top_font_face'] . "' });\n";
}
if ($swmenupro['sub_ttf']) {
$str .= "Cufon.replace('#subwrap" . $swmenupro['id'] . " .item ',{hover: true, fontFamily: '" . $swmenupro['sub_font_face'] . "' });\n";
}
if ($swmenupro['overlay_hack']) {
$str .= "jQuery(document).ready(function($){\n";
// $str .= "jQuery('#menu_wrap').parents().css('overflow','visible');\n";
// $str .= "jQuery('html').css('overflow','auto');\n";
$str .= "jQuery('#menu_wrap" . $swmenupro['id'] . "').parents().css('z-index','1');\n";
$str .= "jQuery('#menu_wrap" . $swmenupro['id'] . "').css('z-index','101');\n";
$str .= "});\n";
}
$str .= "//--> \n";
$str .= "</script></div> \n";
return $str;
}
?>