Your IP : 216.73.216.89


Current Path : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/
Upload File :
Current File : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/superfish.php

<?php

/**
 * swmenupro v6.0
 * http://swmenupro.com
 * Copyright 2006 Sean White
 * */
defined('_JEXEC') or die('Restricted access');


function SuperfishMenu($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."/" ;
    }
    $name = "";
    $counter = 0;
    $doMenu = 1;
    $uniqueID = $swmenupro['id'];
    $number = count($ordered);
    $activesub = -1;
    $activesub2 = -1;
    $topcount = 0;
    $subcounter = 0;

   
    $str = "<div id=\"sfmenu" . $uniqueID . "\" align=\"" . $swmenupro['position'] . "\" >\n";
    if ($swmenupro['orientation'] == "horizontal") {
        $str .= "<ul  id=\"menu" . $uniqueID . "\" class=\"sw-sf" . $uniqueID . "\"  > \n";
    } else {
        $str .= "<ul  id=\"menu" . $uniqueID . "\" class=\"sw-sf" . $uniqueID . " sf-vertical\"  > \n";
    }
    while ($doMenu) {
        if ($ordered[$counter]['indent'] == 0) {
            $ordered[$counter]['URL'] = str_replace('&', '&amp;', $ordered[$counter]['URL']);
            $name = swmenu_getname($ordered[$counter]);
           if (($counter + 1 != $number) && ($ordered[$counter + 1]['indent'] > $ordered[$counter]['indent']) && $swmenupro['top_sub_indicator']) {
                $name = "<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;
              }

            if ($swmenupro['orientation'] == "vertical") {
                
            }
            $act = 0;
            if (islast($ordered, $counter)) {
                if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
                    $str .= "<li id='sf-" . $uniqueID . $ordered[$counter]['ID'] . "' class='current'> \n";
                    $act = 1;
                    $activesub = $topcount;
                } else {
                    $str .= "<li id='sf-" . $uniqueID . $ordered[$counter]['ID'] . "' > \n";
                }
            } else {
                if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
                    $str .= "<li id='sf-" . $uniqueID . $ordered[$counter]['ID'] . "' class='current'> \n";
                    $act = 1;
                    $activesub = $topcount;
                } else {
                    $str .= "<li id='sf-" . $uniqueID . $ordered[$counter]['ID'] . "' > \n";
                }
            }
            $topcount++;
            if ($ordered[$counter]['TARGETLEVEL'] == "0") {
                if (islast($ordered, $counter)) {
                    $str .= "<a class='item1 last' href=\"javascript:void(0);\" >" . $name . "</a> \n";
                } else {
                    $str .= "<a class='item1' href=\"javascript:void(0);\" >" . $name . "</a> \n";
                }
            } else {
                switch ($ordered[$counter]['TARGET']) {
                    case 1:
                        if (islast($ordered, $counter)) {
                            $str .= '<a href="' . $ordered[$counter]['URL'] . '" target="_blank" class="item1 last" >' . $name . '</a>';
                        } else {
                            $str .= '<a href="' . $ordered[$counter]['URL'] . '" target="_blank" class="item1" >' . $name . '</a>';
                        }
                        break;
                    case 2:
                        if (islast($ordered, $counter)) {
                            $str .= "<a href=\"#\" onclick=\"javascript: window.open('" . $ordered[$counter]['URL'] . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"item1 last\">" . $name . "</a>\n";
                        } else {
                            $str .= "<a href=\"#\" onclick=\"javascript: window.open('" . $ordered[$counter]['URL'] . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"item1\">" . $name . "</a>\n";
                        }
                        break;
                    case 3:
                        if (islast($ordered, $counter)) {
                            $str .= '<a class="item1 last" >' . $name . '</a>';
                        } else {
                            $str .= '<a class="item1" >' . $name . '</a>';
                        }
                        break;
                    default:
                        if (islast($ordered, $counter)) {
                            $str .= "<a href='" . $ordered[$counter]['URL'] . "' class='item1 last'>" . $name . "</a>\n";
                        } else {
                            $str .= "<a href='" . $ordered[$counter]['URL'] . "' class='item1'>" . $name . "</a>\n";
                        }
                        break;
                }
            }
            if ($counter + 1 == $number) {
                $doSubMenu = 0;
                $doMenu = 0;
            } elseif ($ordered[$counter + 1]['indent'] == 0) {
                $doSubMenu = 0;
            } else {
                $doSubMenu = 1;
            }
            $counter++;
            if ($activesub2 == -1) {
                $subcounter = 0;
            }
            while ($doSubMenu) {
                if ($ordered[$counter]['indent'] != 0) {
                    if ($ordered[$counter]['indent'] > $ordered[$counter - 1]['indent']) {
                        $str .= "<ul class='sf-section" . $uniqueID . "' >\n";
                    }
                    $ordered[$counter]['URL'] = str_replace('&', '&amp;', $ordered[$counter]['URL']);
                    $name = swmenu_getname($ordered[$counter]);
                    if (($counter + 1 == $number) || ($ordered[$counter + 1]['indent'] == 0)) {
                        $doSubMenu = 0;
                    }
                    $li_class = "";
                    $classname = "item2";
                    if ($ordered[$counter]['indent'] > $ordered[$counter - 1]['indent']) {
                        $classname .= " first";
                    }
                    if (($counter + 1 == $number) || islast($ordered, $counter)) {
                        $classname .= " last";
                    }
                     if (($counter + 1 != $number) && ($ordered[$counter + 1]['indent'] > $ordered[$counter]['indent']) && $swmenupro['sub_sub_indicator']) {
                        $name = "<img src='" . $live_site . $swmenupro['sub_sub_indicator'] . "' align='" . $swmenupro['sub_sub_indicator_align'] . "' style='position:relative;left:" . $swmenupro['sub_sub_indicator_left'] . "px;top:" . $swmenupro['sub_sub_indicator_top'] . "px;' alt=''  border='0' />" . $name;
                     }
                    //if (($ordered[$counter]['ID'] == $Itemid)) {
                        $li_class = "sf-" . $uniqueID . $ordered[$counter]['ID'] . "";
                    //} else {
                    //    $li_class = "sf-" . $uniqueID . $ordered[$counter]['ID'] . "";
                   // }
                    $str .= "<li id=\"" . $li_class . "\">";
                    if ($ordered[$counter]['TARGETLEVEL'] == "0") {
                        $str .= "<a class=\"" . $classname . "\" href=\"javascript:void(0);\" >" . $name . "</a> ";
                    } else {
                        switch ($ordered[$counter]['TARGET']) {
                            case 1:
                                $str .= '<a href="' . $ordered[$counter]['URL'] . '" target="_blank" class="' . $classname . '" >' . $name . '</a>';
                                break;
                            case 2:
                                $str .= "<a href=\"#\" onclick=\"javascript: window.open('" . $ordered[$counter]['URL'] . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" class=\"" . $classname . "\">" . $name . "</a>\n";
                                break;
                            case 3:
                                $str .= '<a class="' . $classname . '" >' . $name . '</a>';
                                break;
                            default:
                                $str .= "<a href=\"" . $ordered[$counter]['URL'] . "\" class=\"" . $classname . "\" >" . $name . "</a>\n";
                                break;
                        }
                    }
                    if (($counter + 1 == $number) || ($ordered[$counter + 1]['indent'] < $ordered[$counter]['indent'])) {
                        $str .= str_repeat("</li></ul>\n", (($ordered[$counter]['indent']) - (@$ordered[$counter + 1]['indent'])));
                        if ((@$ordered[$counter + 1]['indent'] > 0)) {
                            $str .= "</li> \n";
                        }
                    } else if (($ordered[$counter + 1]['indent'] <= $ordered[$counter]['indent'])) {
                        $str .= "</li> \n";
                    }
                    $counter++;
                }
            }
            $str .= "</li> \n";
        }
        if ($swmenupro['orientation'] == "vertical") {
            
        }
        if ($counter == ($number)) {
            $doMenu = 0;
        }
    }
    $str .= "</ul><hr style=\"display:block;clear:left;margin:-0.66em 0;visibility:hidden;\" /></div> \n";

  

    if ($swmenupro['sub_width'] > 0) {
        $str .= "<script type=\"text/javascript\">\n";
        $str .= "<!--\n";
        $str .= "jQuery(document).ready(function($){\n";
        $str .= "jQuery('.sw-sf" . $uniqueID . "').superfish({\n";
        switch ($swmenupro['extra']) {
            case 1:
                $str .= "animation:   {opacity:'show'},";
                break;
            case 2:
                $str .= "animation:   {height:'show'},";
                break;
            case 3:
                $str .= "animation:   {width:'show'},";
                break;
            case 4:
                $str .= "animation:   {opacity:'show',height:'show'},";
                break;
            case 5:
                $str .= "animation:   {opacity:'show',width:'show'},";
                break;
            default:
                $str .= "speed:   0,";
                break;
        }

        $str .= "autoArrows:  false\n";

        // $str .= "});\n";
        $str .= "});});\n";
        if ($swmenupro['overlay_hack']) {
            $str .= "jQuery('.sw-sf" . $uniqueID . "').parents().css('overflow','visible');\n";
            $str .= "jQuery('html').css('overflow','auto');\n";
            $str .= "jQuery('.sw-sf" . $uniqueID . "').parents().css('z-index','100');\n";
            $str .= "jQuery('.sw-sf" . $uniqueID . "').css('z-index','101');\n";
        }
       
       

      //  $str .= "//--> \n";
      //  $str .= "</script>  \n";
    } else {
        $str .= "<script type=\"text/javascript\">\n";
        $str .= "<!--\n";
        $str .= "jQuery(document).ready(function($){\n";
        $str .= "jQuery('.sw-sf" . $uniqueID . "').supersubs({ \n";
        $str .= "minWidth:8,\n";
        $str .= "maxWidth:80,\n";
        $str .= "extraWidth:2\n";
        $str .= "}).superfish({\n";
        switch ($swmenupro['extra']) {
            case 1:
                $str .= "animation:   {opacity:'show'},";
                break;
            case 2:
                $str .= "animation:   {height:'show'},";
                break;
            case 3:
                $str .= "animation:   {width:'show'},";
                break;
            case 4:
                $str .= "animation:   {opacity:'show',height:'show'},";
                break;
            case 5:
                $str .= "animation:   {opacity:'show',width:'show'},";
                break;
            default:
                $str .= "speed:   0,";
                break;
        }

        $str .= "autoArrows:  false\n";

        $str .= "});});\n";
        if ($swmenupro['overlay_hack']) {
            $str .= "jQuery('.sw-sf" . $uniqueID . "').parents().css('overflow','visible');\n";
            $str .= "jQuery('html').css('overflow','auto');\n";
            $str .= "jQuery('.sw-sf" . $uniqueID . "').parents().css('z-index','100');\n";
            $str .= "jQuery('.sw-sf" . $uniqueID . "').css('z-index','101');\n";
        }


       // $str .= "\n//--> \n";
     //   $str .= "</script>  \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('#sfmenu" . $uniqueID . "').css('z-index','-1');\n";
                $str .= "jQuery('#sfmenu" . $uniqueID . "').wrap('<div></div>');\n";
                $str .= "jQuery('#sfmenu" . $uniqueID . "').parent().css('padding', '" . $swmenupro['main_border_width'] . "px');\n";
                $str .= "jQuery('#sfmenu" . $uniqueID . "').parent().css('background-color', '" . $swmenupro['main_border_color'] . "');\n";
                $str .= "jQuery('#sfmenu" . $uniqueID . "').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('#sfmenu" . $uniqueID . "').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('#outerwrap').css('z-index','1');\n";
                $str .= "}else{\n";
                $str .= "jQuery('#sfmenu" . $uniqueID . "').corner('keep " . $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('#sfmenu" . $uniqueID . "').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('.sw-sf" . $uniqueID . " a.item1').css('z-index','-1');\n";
               // $str .= "jQuery('.sw-sf a.item1').wrap('<span></span>');\n";
                $str .= "jQuery('.sw-sf" . $uniqueID . " a.item1').parent().css('padding', '" . $swmenupro['main_border_over_width'] . "px');\n";
                $str .= "jQuery('.sw-sf" . $uniqueID . " a.item1').parent().css('background-color', '" . $swmenupro['main_border_color_over'] . "');\n";
                $str .= "jQuery('.sw-sf" . $uniqueID . " a.item1').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('.sw-sf" . $uniqueID . " a.item1').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('#outerwrap').css('z-index','1');\n";
                $str .= "}else{\n";
                $str .= "jQuery('.sw-sf" . $uniqueID . " a.item1').corner('keep " . $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('.sw-sf" . $uniqueID . " a.item1').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')){
       
         if (($swmenupro['sub_border_width'] > 0) && ($swmenupro['sub_border_style'] != 'none')) {
                $str .= "if (jQuery.browser.msie && jQuery.browser.version < 9) {\n";
               // $str .= "jQuery('.section').css('z-index','-1');\n";
             //   $str .= "jQuery('.section').wrap('<span></span>');\n";
             //   $str .= "jQuery('.section').parent().css('padding', '" . $swmenupro['sub_border_width'] . "px');\n";
             //   $str .= "jQuery('.section').parent().css('background-color', '" . $swmenupro['sub_border_color'] . "');\n";
                $str .= "jQuery('.sf-section" . $uniqueID . " .item2').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('.section').parent().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'] + $swmenupro['sub_border_width']) . "px');\n";
               // $str .= "jQuery('#outerwrap').css('z-index','1');\n";
                $str .= "}else{\n";
                $str .= "jQuery('.sf-section" . $uniqueID . " .item2').corner('keep " . $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 .= "}\n";
            }else{ 
               if (@$swmenupro['stl_corner'] + @$swmenupro['str_corner'] != 0) {
                   $str .= "jQuery('.sf-section" . $uniqueID . " .item2.first').corner('" . $swmenupro['s_corner_style'] . " " . (@$swmenupro['stl_corner'] ? 'tl' : '') . " " . (@$swmenupro['str_corner'] ? 'tr' : '') . " " . @$swmenupro['s_corner_size'] . "px');\n";
           
                    }
                if (@$swmenupro['sbl_corner'] + @$swmenupro['sbr_corner'] != 0) {
                    $str .= "jQuery('.sf-section" . $uniqueID . " .item2.last').corner('" . $swmenupro['s_corner_style'] . " " . (@$swmenupro['sbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['sbr_corner'] ? 'br' : '') . " " . @$swmenupro['s_corner_size'] . "px');\n";
                }
       }
        
        
        
    }
       
   if ($swmenupro['top_ttf']) {
       $str .= "Cufon.replace('.sw-sf" . $uniqueID . " .item1',{hover: true, fontFamily: '" . $swmenupro['top_font_face'] . "' });\n";
    }
    if ($swmenupro['sub_ttf']) {
        $str .= "Cufon.replace('.sw-sf" . $uniqueID . " .item2',{hover: true, fontFamily: '" . $swmenupro['sub_font_face'] . "' });\n";
    }
    $str .= "//-->\n";
    $str .= "</script>\n";

   
    return $str;
}

?>