/**
  * Print javascript global array of texts
  */
 public static function printJsLanguage()
 {
     WPRC_Loader::includeLanguageContainer();
     $wprcLang = WPRC_LanguageContainer::getLanguageArray();
     if (count($wprcLang) == 0) {
         return false;
     }
     foreach ($wprcLang as $key => $value) {
         $lang_js[] = "'" . $key . "' : '" . $value . "'";
     }
     $lang_js_html = implode(',', $lang_js);
     $js = "<script type=\"text/javascript\">\r\n            var wprcLang = { \r\n                {$lang_js_html} \r\n            };\r\n        </script>";
     echo $js;
 }
    /**
     * Render additional search UI
     * 
     * @param string extension type ( 'plugins' | 'themes' )
     */
    public function renderAdditionalSearchUI($extension_type)
    {
        if (!isset($extension_type)) {
            return false;
        }
        echo '<style type="text/css">#search-' . $extension_type . '{display:none;}</style>';
        $rm = WPRC_Loader::getModel('repositories');
        $extension_type2 = 'plugins_not_deleted';
        switch ($extension_type) {
            case 'plugins':
                $extension_type2 = 'plugins_not_deleted';
                break;
            case 'themes':
                $extension_type2 = 'themes_not_deleted';
                break;
        }
        $repos = $rm->getRepositoriesListByType($extension_type2);
        if (array_key_exists('repos', $_REQUEST)) {
            $selected_repos = (array) $_REQUEST['repos'];
            if (count($selected_repos) > 0) {
                // reassign enabled repositories
                for ($i = 0; $i < count($repos); $i++) {
                    if (in_array($repos[$i]->id, $selected_repos)) {
                        $repos[$i]->repository_enabled = 1;
                    } else {
                        $repos[$i]->repository_enabled = 0;
                    }
                }
            }
        }
        $free = __('Free', 'installer');
        $paid = __('Paid', 'installer');
        $prices_items = array($free => 1, $paid => 1);
        if (array_key_exists('prices', $_REQUEST)) {
            $selected_prices = (array) $_REQUEST['prices'];
            if (count($selected_prices) > 0) {
                // reassign enabled price filters
                foreach ($prices_items as $price => $filter_enabled) {
                    if (in_array($price, $selected_prices)) {
                        $prices_items[$price] = 1;
                    } else {
                        $prices_items[$price] = 0;
                    }
                }
            }
        }
        // --- set caption of the prices list
        // include language class
        WPRC_Loader::includeLanguageContainer();
        $wprcLang = WPRC_LanguageContainer::getLanguageArray();
        if ($prices_items['Free'] && $prices_items['Paid']) {
            $prices_control_caption = $wprcLang['search_free_and_paid_' . $extension_type];
        } else {
            if ($prices_items['Free']) {
                $prices_control_caption = $wprcLang['search_free_' . $extension_type];
            }
            if ($prices_items['Paid']) {
                $prices_control_caption = $wprcLang['search_paid_' . $extension_type];
            }
        }
        $prices_items_selector = array();
        foreach ($prices_items as $key => $item) {
            $prices_items_selector[$key] = array('id' => $key, 'name' => $key, 'enabled' => $item);
        }
        $json_repos = json_encode($repos);
        $json_prices = json_encode($prices_items_selector);
        /*$jsrepos=array();
        		foreach ($repos as $repo)
        		{
        			$jsrepos[]='repos[]='.$repo->id;
        		}
        		$jsrepos='"'.implode('&',$jsrepos).'";';*/
        $wprc_debug = defined('WPRC_DEBUG') && WPRC_DEBUG === true ? 1 : 0;
        echo "<script language=\"javascript\">\r\n        jQuery(document).ready(function()\r\n        {\r\n\t\t\tfunction getRepos()\r\n\t\t\t{\r\n\t\t\t\tvar repos_list='';\r\n\t\t\t\tvar repos=[];\r\n\t\t\t\tvar repos_ret='';\r\n\t\t\t\t/*var selector='';\r\n\t\t\t\tif (jQuery('form#search-themes').length>0)\r\n\t\t\t\t{\r\n\t\t\t\t\tselector='form#search-themes';\r\n\t\t\t\t}\r\n\t\t\t\telse if (jQuery('form#search-plugins').length>0)\r\n\t\t\t\t{\r\n\t\t\t\t\tselector='form#search-plugins';\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tselector='foo';\r\n\t\t\t\t}*/\r\n\t\t\t\t//select[name=\"repos[]\"]\r\n\t\t\t\trepos=jQuery('#repos').val();\r\n\t\t\t\t//repos=repos_list.split(',');\r\n\t\t\t\tfor (var i=0; i<repos.length; i++)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (i==repos.length-1)\r\n\t\t\t\t\t\trepos_ret+='repos[]='+repos[i];\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\trepos_ret+='repos[]='+repos[i]+'&';\r\n\t\t\t\t}\r\n\t\t\t\treturn ({str:repos_ret,arr:repos});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t/* add the repositories from select list dynamically */";
        ?>
                wprc.search.renderAdditionalUI('<?php 
        echo $json_repos;
        ?>
', '<?php 
        echo $json_prices;
        ?>
', '<?php 
        echo $extension_type;
        ?>
', '<?php 
        echo $prices_control_caption;
        ?>
' );
            <?php 
        echo 'wprc.search.renderClearCacheUI(' . $wprc_debug . ', "' . $extension_type . '");';
        echo "jQuery('.popular-tags a').click(function(){\r\n\t\t\t\tvar link=jQuery(this).attr('href');\r\n\t\t\t\tvar repos=getRepos().str;\r\n\t\t\t\tlink=link.replace('type=tag','type=tag&'+repos);\r\n\t\t\t\tjQuery(this).attr('href',link);\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\t/* add the repositories from select list dynamically */\r\n\t\t\tvar featureform=jQuery('.feature-filter').eq(0).parent('form');\r\n\t\t\tfeatureform.submit(function(){ //listen for submit event\r\n\t\t\t\tvar repos=getRepos().arr;\r\n\t\t\t\tjQuery.each(repos, function(i,repo){\r\n\t\t\t\t\tjQuery('<input />').attr('type', 'checkbox')\r\n\t\t\t\t\t\t.attr('name', 'repos[]')\r\n\t\t\t\t\t\t.attr('value', repo)\r\n\t\t\t\t\t\t.attr('checked', 'checked')\r\n\t\t\t\t\t\t.css({display:'none'})\r\n\t\t\t\t\t\t.appendTo(featureform);\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn true;\r\n\t\t\t});\r\n            \r\n        });\r\n        </script>";
    }