Changeset 317

Show
Ignore:
Timestamp:
09/03/10 09:57:05 (2 years ago)
Author:
Nafania
Message:

Изменена функция pager немного, для удобного построения LIMIT запросов.
Мелкие фиксы.
Обновлен jquery до последней версии.
Фикс ошибки, вызывающей sql ошибку Duplicate entry 'n' for key 'PRIMARY' occured in sql query UPDATE forum_search_results SET search_id = n, search_time = t, search_array = WHERE session_id = 'x', для этого апдейт базы.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • admin/admin_mass_email.php

    r212 r317  
    121121                        $messenger->template('admin_send_email'); 
    122122 
    123                         $messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']); 
     123                        /*$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']); 
    124124                        $messenger->headers('X-AntiAbuse: User_id - ' . $userdata['uid']); 
    125125                        $messenger->headers('X-AntiAbuse: Username - ' . $userdata['name']); 
    126                         $messenger->headers('X-AntiAbuse: User IP - ' . $user_ip); 
     126                        $messenger->headers('X-AntiAbuse: User IP - ' . $user_ip);*/ 
    127127 
    128128                        $messenger->subject($subject); 
  • admin/admin_release_groups.php

    r212 r317  
    148148                                $result = $db->sql_query($sql); 
    149149                                $group_data = $db->sql_fetchrow($result); 
    150                                 if( @unlink($root_path . 'pic/groups/' . $group_data['pic_url']) ) { 
     150                                       @unlink($root_path . 'pic/groups/' . $group_data['pic_url']); 
    151151                                        $sql = 'DELETE FROM ' . RELEASE_GROUPS_TABLE . ' WHERE group_id = ' . $group_id; 
    152152                                        $db->sql_query($sql); 
     
    158158                                                $message = $lang['release_groups_del_success'] . "<br /><br />" . sprintf($lang['click_return_release_groups'], "<a href=\"" . append_sid("admin_release_groups.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>"); 
    159159                                                trigger_error($message); 
    160                                         } 
    161                                 } 
    162                                 else 
    163                                 { 
    164                                                 trigger_error("Couldn't delete release group"); 
    165160                                } 
    166161 
  • admin/admin_users.php

    r316 r317  
    105105                                'autodemote' => 0, 
    106106                                'title' => '', 
    107                                 'autodemote' => 0, 
    108107                                'account_status' => 0, 
    109108                                'user_status' => 0, 
  • ajax.php

    r313 r317  
    444444                                'TAG_TYPE' => TYPE_TORRENT, 
    445445                                'ID' => $id, 
     446                                'ALLOW_ADD_TAGS' => $allow_add_tags, 
    446447                        )); 
    447448 
  • bookmarks.php

    r313 r317  
    113113$torrentsperpage = ( !$userdata['torrentsperpage'] ? 30 : $userdata['torrentsperpage'] ); 
    114114 
    115 list($pagertop, $pagerbottom, $limit) = pager($torrentsperpage, $count, 'bookmarks.php?'); 
     115list($pagertop, $pagerbottom, $offset, $limit) = pager($torrentsperpage, $count, 'bookmarks.php?'); 
    116116 
    117 $sql = 'SELECT b.id AS bookmarkid, u.uid AS owner, u.privacy, t.fid, t.category, t.leechers, t.seeders, t.name, t.completed, t.free, t.size, t.ctime, t.comments, t.numfiles, t.filename, t.owner, t.hidden, t.numratings, t.ratingsum, t.numfiles, t.filename, t.size, t.completed, t.category, t.moderated, t.banned, u.name AS username, u.title, u.class, u.donor, u.name_append, u.enabled, u.warneduntil, u.parke
     117$sql = 'SELECT b.id AS bookmarkid, t.fid, t.category, t.leechers, t.seeders, t.name, t.completed, t.free, t.size, t.ctime, t.comments, t.numfiles, t.filename, t.owner, t.hidden, t.numratings, t.ratingsum, t.numfiles, t.filename, t.size, t.completed, t.category, t.moderated, t.banned, u.privacy, u.parked, u.name AS username, u.title, u.class, u.donor, u.name_append, u.enabled, u.warneduntil, u.ui
    118118        FROM ' . BOOKMARKS_TABLE . ' b, ' . TORRENTS_TABLE . ' t, ' . USERS_TABLE . ' u 
    119         WHERE b.userid = ' . $userdata['uid'] . ' AND b.torrentid = t.fid AND t.owner = u.uid ' . $orderby . ' ' . $limit
    120 $result = $db->sql_query($sql); 
     119        WHERE b.userid = ' . $userdata['uid'] . ' AND b.torrentid = t.fid AND t.owner = u.uid ' . $orderby
     120$result = $db->sql_query_limit($sql, $limit, $offset); 
    121121 
    122122$template->assign_vars(array( 
  • browse.php

    r316 r317  
    55require ($root_path . 'include/functions_selects.php'); 
    66require ($root_path . 'include/functions_search.php'); 
     7 
     8function _build_where ( $wherea ) { 
     9        $where = ''; 
     10        foreach ( $wherea AS $key => $vals ) { 
     11                foreach ( $vals AS $_null => $val ) { 
     12                        $where .= ( $where ? ' AND ' : '' ) .  $key . ' ' . $val; 
     13                } 
     14        } 
     15 
     16        return $where; 
     17} 
    718 
    819if ( empty($_REQUEST['cat']) && !empty($_REQUEST['uri']) ) { 
     
    3344$page = request_var('page', 0); 
    3445$count = 0; 
    35 $cats_sql = array(); 
    3646$addparam = array(); 
    3747$wherea = array(); 
     
    6979        } 
    7080 
    71         $orderby = 'ORDER BY ' . $column . ' ' . $ascdesc; 
     81        $orderby = $column . ' ' . $ascdesc; 
    7282        $addparam[] = 'sort=' . $sort; 
    7383        $addparam[] = 'type=' . $type; 
    7484} 
    7585else { 
    76         $orderby = 'ORDER BY t.ctime DESC'; 
     86        $orderby = 't.ctime DESC'; 
    7787 
    7888} 
    7989 
    8090if ( $userdata['class'] < UC_MODERATOR ) { 
    81         $wherea[] = 't.moderated = 1'; 
    82         $wherea[] = 't.banned = 0'; 
    83         $wherea[] = 't.hidden = 0'; 
     91        $wherea['t.moderated'][] = ' = 1'; 
     92        $wherea['t.banned'][] = ' = 0'; 
     93        $wherea['t.hidden'][] = ' = 0'; 
    8494} 
    8595 
     
    93103        case 2: 
    94104                $addparam[] = 'incldead=2'; 
    95                 $wherea[] = 't.visible = 0'; 
     105                $wherea['t.visible'][] = ' = 0'; 
    96106        break; 
    97107 
     
    102112                $free = ( $incldead == 3 ? 1 : ( $incldead == 9 ? 2 : 4 ) ); 
    103113                $addparam[] = 'incldead=' . $incldead; 
    104                 $wherea[] = 't.free = ' . $free; 
    105                 $wherea[] = 't.visible = 1'; 
     114                $wherea['t.free'][] = ' = ' . $free; 
     115                $wherea['t.visible'][] = ' = 1'; 
    106116        break; 
    107117 
     
    109119        case 4: 
    110120                $addparam[] = 'incldead=4'; 
    111                 $wherea[] = 't.seeders = 0'; 
    112                 $wherea[] = 't.leechers > 0'; 
     121                $wherea['t.seeders'][] = ' = 0'; 
     122                $wherea['t.leechers'][] = '> 0'; 
    113123        break; 
    114124 
     
    116126        case 5: 
    117127                $addparam[] = 'incldead=5'; 
    118                 $wherea[] = 't.owner = ' . $userdata['uid']; 
     128                $wherea['t.owner'][] = ' = ' . $userdata['uid']; 
     129                unset($wherea['t.moderated']); 
    119130        break; 
    120131 
     
    123134                if ( $userdata['hiddentorrents'] || $userdata['class'] >= UC_MODERATOR ) { 
    124135                        $addparam[] = 'incldead=6'; 
    125                         $wherea[] = 't.hidden = 1'; 
     136                        $wherea['t.hidden'][] = ' = 1'; 
    126137                } 
    127138        break; 
     
    131142                if ( $userdata['class'] >= UC_MODERATOR ) { 
    132143                        $addparam[] = 'incldead=7'; 
    133                         $wherea[] = 't.banned = 1'; 
     144                        $wherea['t.banned'][] = ' = 1'; 
    134145                } 
    135146        break; 
     
    139150                if ( $userdata['class'] >= UC_MODERATOR ) { 
    140151                        $addparam[] = 'incldead=8'; 
    141                         $wherea[] = 't.moderated = 0'; 
     152                        $wherea['t.moderated'][] = ' = 0'; 
    142153                } 
    143154        break; 
     
    180191} 
    181192 
    182 //if ( !$userdata['hiddentorrents'] && $userdata['class'] < UC_MODERATOR ) { 
    183 //      $wherea[] = 't.hidden = 0'; 
    184 //} 
    185  
    186193if ( defined('USE_XBTT') ) { 
    187         $wherea[] = 't.flags <> 1'; 
     194        $wherea['t.flags'][] = ' <> 1'; 
    188195} 
    189196 
     
    208215        $wherecatina = $new_wherecatina; 
    209216        if ( sizeof($wherecatina) ) { 
    210                 $wherea[] = 't.category IN (' . implode(', ', $wherecatina) . ')'; 
    211                 $cats_sql[] = 't.category IN (' . implode(', ', $wherecatina) . ')'; 
     217                $wherea['t.category'][] = ' IN (' . implode(', ', $wherecatina) . ')'; 
    212218        } 
    213219} 
     
    305311 
    306312if ( sizeof($not_in_cats) ) { 
    307         $wherea[] = 't.category NOT IN (' . implode(', ', $not_in_cats) . ')'; 
    308         $cats_sql[] = 't.category NOT IN (' . implode(', ', $not_in_cats) . ')'; 
     313        $wherea['t.category'][] = ' NOT IN (' . implode(', ', $not_in_cats) . ')'; 
    309314} 
    310315 
     
    331336     if ( !$search_id ) { 
    332337 
    333              $add_where = $cats_sql
     338             $add_where = array()
    334339             if ( sizeof($wherea) ) { 
    335                      $add_where = array_merge($add_where, $wherea); 
     340                foreach ( $wherea AS $key => $vals ) { 
     341                        foreach ( $vals AS $_null => $val ) { 
     342                                $add_where[] =  $key . ' ' . $val; 
     343                        } 
     344                } 
    336345             } 
    337346 
     
    340349                             $where_search = 'tg.tag_name'; 
    341350                             $sql = 'SELECT t.fid AS id FROM ' . TORRENTS_TABLE . ' t LEFT JOIN ' . TAGS_TABLE . ' tg ON (t.fid = tg.tag_for_id)'; 
    342                              $cats_sql[] = 'tg.tag_type = ' . TYPE_TORRENT; 
     351                             $add_where[] = 'tg.tag_type = ' . TYPE_TORRENT; 
    343352                             $strict = true; 
    344353                                $searchstr = str_replace('+', ' ', $searchstr); //strange bug O_o 
     
    361370 
    362371                if ( sizeof($search_ids) ) { 
    363                         $wherea[] = 't.fid IN (' . implode(', ', $search_ids) . ')'; 
     372                        $wherea['t.fid'][] = ' IN (' . implode(', ', $search_ids) . ')'; 
    364373                } 
    365374        } 
     
    373382 
    374383                if ( sizeof($search_ids) ) { 
    375                         $wherea[] = 't.fid IN (' . implode(', ', $search_ids) . ')'; 
     384                        $wherea['t.fid'][] = ' IN (' . implode(', ', $search_ids) . ')'; 
    376385                } 
    377386                $addparam[] = 'search=' . urlencode($searchstr); 
     
    381390        //if ( $config['search_flood_interval'] && !$search_id ) { 
    382391        if ( !$search_id ) { 
    383                 $search_id = mt_rand(); 
     392                $search_id = md5(dss_rand()); 
    384393                $result_array = serialize($search_ids); 
    385394 
    386395                $sql = "UPDATE " . SEARCH_TABLE . " 
    387                                 SET search_id = $search_id, search_time = " . $current_time . ", search_array = '" . $db->sql_escape($result_array) . "' 
     396                                SET search_id = '" . $db->sql_escape($search_id) . "', search_time = " . $current_time . ", search_array = '" . $db->sql_escape($result_array) . "' 
    388397                                WHERE session_id = '" . $userdata['session_id'] . "'"; 
    389  
    390                 if ( !($result = $db->sql_query($sql)) || !$db->sql_affectedrows() ) { 
    391                         $sql = 'INSERT INTO ' . SEARCH_TABLE . ' (search_id, session_id, search_time, search_array) VALUES(' . $search_id . ', \'' . $userdata['session_id'] . '\', ' . $current_time . ', \'' . $db->sql_escape($result_array) . '\')'; 
    392                      $db->sql_query($sql); 
     398                $db->sql_query($sql); 
     399 
     400                if ( !$db->sql_affectedrows() ) { 
     401                        $sql = 'INSERT INTO ' . SEARCH_TABLE . ' (search_id, session_id, search_time, search_array) VALUES(\'' . $db->sql_escape($search_id) . '\', \'' . $userdata['session_id'] . '\', ' . $current_time . ', \'' . $db->sql_escape($result_array) . '\')'; 
     402                        $db->sql_query($sql); 
    393403                } 
    394404 
    395405                if ( sizeof($search_ids) ) { 
    396                         $wherea[] = 't.fid IN (' . implode(', ', $search_ids) . ')'; 
     406                        $wherea['t.fid'][] = ' IN (' . implode(', ', $search_ids) . ')'; 
    397407                } 
    398408                $addparam[] = 'search=' . urlencode($searchstr); 
     
    449459 
    450460//end tags 
    451  
    452 $where = ( sizeof($wherea) ? 'WHERE ' . implode(' AND ', $wherea) : '' ); 
     461$where = _build_where($wherea); 
     462 
     463//$where = ( sizeof($wherea) ? 'WHERE ' . implode(' AND ', $wherea) : '' ); 
    453464 
    454465if ( !$searchstr ) { 
    455         $sql = 'SELECT COUNT(*) AS count FROM ' . TORRENTS_TABLE . ' t ' . $where; 
     466        $sql_array['SELECT'] = 'COUNT(*) AS count'; 
     467        $sql_array['FROM'] = array(TORRENTS_TABLE       => 't'); 
     468        $sql_array['WHERE'] = $where; 
     469 
     470        $sql = $db->sql_build_query('SELECT', $sql_array); 
     471 
    456472        $result = $db->sql_query($sql); 
    457473        $count = ( $row = $db->sql_fetchrow($result) ) ? $row['count'] : 0; 
     
    460476 
    461477if ( $count ) { 
    462         $where = ( $where ? $where . ' AND t.owner = u.uid' : 'WHERE t.owner = u.uid'); 
    463  
     478        $wherea['t.owner'][] = ' = u.uid'; 
    464479        $back_url = $addparam; 
    465480 
     481        $where = _build_where($wherea); 
     482 
    466483        $addparam = ( $addparam ? implode('&amp;', $addparam) . '&amp;' : '' ); 
    467484 
    468         list($pagertop, $pagerbottom, $limit) = pager($torrentsperpage, $count, 'browse.php?' . $addparam); 
    469         $sql = 'SELECT t.fid, t.category, t.leechers, t.seeders, t.name, t.completed, t.free, t.size, t.ctime, t.comments, t.numfiles, t.owner, t.hidden, t.numratings, t.ratingsum, t.banned, t.hidden, t.moderated, u.privacy, u.parked, u.name AS username, u.title, u.class, u.donor, u.name_append, u.enabled, u.warneduntil, u.uid 
    470                 FROM ' . TORRENTS_TABLE . ' t, ' . USERS_TABLE . ' u ' . 
    471                 $where . ' ' . $orderby . ' ' . $limit; 
    472         $result = $db->sql_query($sql); 
     485        list($pagertop, $pagerbottom, $offset, $limit) = pager($torrentsperpage, $count, 'browse.php?' . $addparam); 
     486 
     487        $sql_array['SELECT'] = 't.fid, t.category, t.leechers, t.seeders, t.name, t.completed, t.free, t.size, t.ctime, t.comments, t.numfiles, t.owner, t.hidden, t.numratings, t.ratingsum, t.banned, t.hidden, t.moderated, u.privacy, u.parked, u.name AS username, u.title, u.class, u.donor, u.name_append, u.enabled, u.warneduntil, u.uid'; 
     488        $sql_array['FROM'] = array(TORRENTS_TABLE       => 't', USERS_TABLE => 'u'); 
     489        $sql_array['WHERE'] = $where; 
     490        $sql_array['ORDER_BY'] = $orderby; 
     491 
     492        $sql = $db->sql_build_query('SELECT', $sql_array); 
     493        $result = $db->sql_query_limit($sql, $limit, $offset); 
    473494} 
    474495else { 
  • details.php

    r316 r317  
    688688 
    689689                if ( $row['comments'] ) { 
    690                         list($pagertop, $pagerbottom, $limit) = pager($config['posts_per_page'], $row['comments'], 'details.php?id=' . $id . '&amp;' . ( isset( $_GET['view'] ) ? 'view=comments&amp;' : '' )); 
    691                         commenttable(TYPE_TORRENT, $id, $limit); 
     690                        list($pagertop, $pagerbottom, $offset, $limit) = pager($config['posts_per_page'], $row['comments'], 'details.php?id=' . $id . '&amp;' . ( isset( $_GET['view'] ) ? 'view=comments&amp;' : '' )); 
     691                        commenttable(TYPE_TORRENT, $id, $offset, $limit); 
    692692                } 
    693693                else { 
  • include/bbcode/Xbb/Tags/Img.php

    r296 r317  
    4444        } 
    4545        if ( !$c_src = $this -> checkUrl($src) ) { 
    46                 return '[img]' . $src . '[/img]'; 
     46                return '[img]' . htmlspecialchars($src) . '[/img]'; 
    4747        } 
    4848        else { 
  • include/bbcode/config/parser.config.php

    r283 r317  
    3838    'replacement' => array( 
    3939        "'<a href=\"\\0\" target=\"_blank\">' . str_replace(\$this->base_url, '', '\\0') . '</a>'", 
    40         "'<a href=\"http://\\$2\" target=\"_blank\">' . str_replace('http://' . \$this->base_url, '', '\\2') . '</a>'", 
     40        "'<a href=\"http://\\2\" target=\"_blank\">' . str_replace('http://' . \$this->base_url, '', '\\2') . '</a>'", 
    4141        '<a href="mailto:$0">$0</a>', 
    4242    ), 
  • include/bbcode/lib/geshi.php

    r269 r317  
    19061906        $result = str_replace("\n ", "\n&nbsp;", $result); 
    19071907 
    1908         if ($this->line_numbers == GESHI_NO_LINE_NUMBERS) { 
    1909             $result = nl2br($result); 
    1910        
     1908        //if ($this->line_numbers == GESHI_NO_LINE_NUMBERS) { 
     1909        //    $result = nl2br($result); 
     1910        //
    19111911        return $result; 
    19121912    } 
  • include/functions.php

    r316 r317  
    760760        $start = ( $page - 1 ) * $rpp; 
    761761 
    762         return array($pagertop, $pagerbottom, "LIMIT $start,$rpp"); 
     762        return array($pagertop, $pagerbottom, $start, $rpp); 
    763763} 
    764764 
     
    906906                'M([0-9])-([0-9])-([0-9])' => 'BitTorrent/', 
    907907                '-G3' => 'G3 Torrent', 
    908                 'AZ([0-9])([0-9])([0-9])([0-9])' => 'Azureus/', 
     908                'AZ([0-2])([0-5])([0-9])([0-9])' => 'Azureus/', 
     909                'AZ([3-9])([0-9])([0-9])([0-9])' => 'Vuze/', 
    909910                'LP[0-9]([0-9])([0-9])([0-9])' => 'Lphant/', 
    910911                'DE([0-9])([0-9])([0-9])([0-9])' => 'Deluge/', 
  • include/functions_post.php

    r316 r317  
    11<?php 
    2 function commenttable( $type = TYPE_TORRENT, $id, $limit ) { 
     2function commenttable( $type = TYPE_TORRENT, $id, $offset, $limit ) { 
    33        global $db, $userdata, $lang, $template, $config, $images, $cache, $root_path; 
    44        global $bb_code; 
     
    2626                        AND c.comment_type = ' . $type . ' 
    2727                        AND c.comment_user = u.uid 
    28                         ORDER BY c.comment_added ASC ' . $limit
    29         $result = $db->sql_query($sql); 
     28                        ORDER BY c.comment_added ASC'
     29        $result = $db->sql_query_limit($sql, $limit, $offset); 
    3030 
    3131        $comments_ary = array(); 
  • include/modtask/new_comments.php

    r311 r317  
    66 
    77if ( $count ) { 
    8         list($pagertop, $pagerbottom, $limit) = pager($config['posts_per_page'], $count, 'modtask.php?action=new_comments&amp;'); 
     8        list($pagertop, $pagerbottom, $offset, $limit) = pager($config['posts_per_page'], $count, 'modtask.php?action=new_comments&amp;'); 
    99        $template->assign_vars(array( 
    1010                'PAGERBOTTOM' => $pagerbottom, 
     
    2222                        AND c.comment_user <> ' . $userdata['uid'] . ' 
    2323                        AND c.comment_user = u.uid 
    24                         ORDER BY c.comment_added DESC ' . $limit
    25         $result = $db->sql_query($sql); 
     24                        ORDER BY c.comment_added DESC'
     25        $result = $db->sql_query_limit($sql, $limit, $offset); 
    2626        if ( $row = $db->sql_fetchrow($result) ) { 
    2727 
     
    5555               } 
    5656               $edited_by = (isset($row['comment_editedby']) && $row['comment_editedby'] ? sprintf($lang['edited_by'], '<a href="' . append_sid('userdetails.php?id=' . $row['comment_editedby']) . '"><b>' . $row['edited_by_username'] . '</b></a>', create_date($row['comment_editedat'])):''); 
    57                          
     57 
    5858                        if ( isset($row['fid']) ) { 
    5959                                $last_read = get_tracking($row['comment_type'], $row['fid']); 
  • include/modtask/simpaty.php

    r291 r317  
    5757                } 
    5858                $per_page = 50; 
    59                 list($pagertop, $pagerbottom, $limit) = pager($per_page, $count, 'modtask.php?action=simpaty&amp;user_id=' . $user_id . '&amp;'); 
     59                list($pagertop, $pagerbottom, $offset, $limit) = pager($per_page, $count, 'modtask.php?action=simpaty&amp;user_id=' . $user_id . '&amp;'); 
    6060 
    6161                $sql = 'SELECT s.*, u.name 
    6262                        FROM ' . SIMPATY_TABLE . ' s, ' . USERS_TABLE . " u 
    6363                        WHERE s.touserid = " . $user_id . " AND s.fromuserid = u.uid 
    64                         ORDER BY s.respect_time DESC $limit"; 
    65                 $result = $db->sql_query($sql); 
     64                        ORDER BY s.respect_time DESC"; 
     65                $result = $db->sql_query_limit($sql, $limit, $offset); 
    6666 
    6767                $i = 0; 
  • include/ucp/checkcomm.php

    r316 r317  
    11<?php 
    22 
    3 $sql = 'SELECT COUNT(*) AS count FROM ' . COMMENTS_NOTIFY_TABLE . ' WHERE checkcomm_userid = ' . $userdata['uid'] . ' AND checkcomm_view_status = ' . VIEW_STATUS_NOT_VIEWED; 
    4 $result = $db->sql_query($sql); 
    5 $count = ( $row = $db->sql_fetchrow($result) ) ? intval($row['count']) : 0; 
    6  
    7 list($pagertop, $pagerbottom, $limit) = pager($config['posts_per_page'], $count, 'my.php?type=' . $type . '&amp;'); 
    8  
    9 $i = 0; 
    10  
    11 if ( $count ) { 
    12  
    13         //first sql - get all notifies 
    14         $sql = 'SELECT * 
    15                         FROM ' . COMMENTS_NOTIFY_TABLE . ' 
    16                         WHERE checkcomm_userid = ' . $userdata['uid'] . ' 
    17                         AND checkcomm_view_status = ' . VIEW_STATUS_NOT_VIEWED . ' ' . $limit; 
    18         $result = $db->sql_query($sql); 
    19  
    20         $notify_ary = array(); 
    21         $last_comments = array(); 
    22         $last_posts = array(); 
    23  
    24         while ( $row = $db->sql_fetchrow($result) ) { 
    25                 $notify_ary[$row['checkcomm_type']][$row['checkcomm_for_id']] = $row; 
    26  
    27                 if ( $row['checkcomm_last_comment_id'] <> 0 ) { 
    28                         if ( $row['checkcomm_type'] == TYPE_FORUM_POST ) { 
    29                                 $last_posts[] = $row['checkcomm_last_comment_id']; 
     3switch( $action ){ 
     4        case 'unsubscribe': 
     5                $chk_id = request_var('chk_id', array(0=>0)); 
     6                $notify_type = request_var('notify_type', 0); 
     7                $for_id = request_var('for_id', 0); 
     8 
     9                if ( $notify_type || $for_id ) { 
     10                        $chk_id[$notify_type] = $for_id; 
     11                } 
     12 
     13 
     14                foreach ( $chk_id AS $notify_type => $for_id ) { 
     15                        $sql = 'DELETE FROM ' . COMMENTS_NOTIFY_TABLE . ' WHERE checkcomm_userid = ' . $userdata['uid'] . ' AND checkcomm_for_id = ' . $for_id . ' AND checkcomm_type = ' . $notify_type; 
     16                        $db->sql_query($sql); 
     17                } 
     18 
     19                gc(json_encode(array('msg' => $lang['now_check_off']))); 
     20        break; 
     21 
     22        default: 
     23 
     24                $sql = 'SELECT COUNT(*) AS count FROM ' . COMMENTS_NOTIFY_TABLE . ' WHERE checkcomm_userid = ' . $userdata['uid'] . ' AND checkcomm_view_status = ' . VIEW_STATUS_NOT_VIEWED; 
     25                $result = $db->sql_query($sql); 
     26                $count = ( $row = $db->sql_fetchrow($result) ) ? intval($row['count']) : 0; 
     27 
     28                list($pagertop, $pagerbottom, $offset, $limit) = pager($config['posts_per_page'], $count, 'my.php?type=' . $type . '&amp;'); 
     29 
     30                $i = 0; 
     31 
     32                if ( $count ) { 
     33 
     34                        //first sql - get all notifies 
     35                        $sql = 'SELECT * 
     36                                        FROM ' . COMMENTS_NOTIFY_TABLE . ' 
     37                                        WHERE checkcomm_userid = ' . $userdata['uid'] . ' 
     38                                        AND checkcomm_view_status = ' . VIEW_STATUS_NOT_VIEWED; 
     39                        $result = $db->sql_query_limit($sql, $limit, $offset); 
     40 
     41                        $notify_ary = array(); 
     42                        $last_comments = array(); 
     43                        $last_posts = array(); 
     44 
     45                        while ( $row = $db->sql_fetchrow($result) ) { 
     46                                $notify_ary[$row['checkcomm_type']][$row['checkcomm_for_id']] = $row; 
     47 
     48                                if ( $row['checkcomm_last_comment_id'] <> 0 ) { 
     49                                        if ( $row['checkcomm_type'] == TYPE_FORUM_POST ) { 
     50                                                $last_posts[] = $row['checkcomm_last_comment_id']; 
     51                                        } 
     52                                        else { 
     53                                                $last_comments[] = $row['checkcomm_last_comment_id']; 
     54                                        } 
     55                                } 
    3056                        } 
    31                         else { 
    32                                 $last_comments[] = $row['checkcomm_last_comment_id']; 
     57 
     58                        $comments_data = array(); 
     59                        $forum_posts_data = array(); 
     60 
     61                        if ( sizeof($last_comments) || sizeof($last_posts) ) { 
     62 
     63                                if ( ( !empty($notify_ary[TYPE_TORRENT]) || !empty($notify_ary[TYPE_REQUEST]) || !empty($notify_ary[TYPE_OFFER]) || !empty($notify_ary[TYPE_NEWS]) ) && sizeof($last_comments) ) { 
     64 
     65                                        $sql = 'SELECT c.comment_added AS added, c.comment_id, u.name, u.uid, u.class 
     66                                                        FROM ' . COMMENTS_TABLE . ' c, 
     67                                                        ' . USERS_TABLE . ' u 
     68                                                        WHERE c.comment_user = u.uid 
     69                                                        AND ' . $db->sql_in_set('c.comment_id', $last_comments); 
     70                                        $result = $db->sql_query($sql); 
     71 
     72                                        while ( $row = $db->sql_fetchrow($result) ) { 
     73                                                $comments_data[$row['comment_id']] = $row; 
     74                                        } 
     75                                } 
     76 
     77                                if ( !empty($notify_ary[TYPE_FORUM_POST]) && sizeof($last_posts) ) { 
     78 
     79                                        $sql = 'SELECT p.post_id, p.post_time AS added, u.name, u.uid, u.class 
     80                                                        FROM ' . POSTS_TABLE . ' p, 
     81                                                        ' . USERS_TABLE . ' u 
     82                                                        WHERE p.poster_id = u.uid 
     83                                                        AND ' . $db->sql_in_set('p.post_id', $last_posts); 
     84                                        $result = $db->sql_query($sql); 
     85 
     86                                        while ( $row = $db->sql_fetchrow($result) ) { 
     87                                                $forum_posts_data[$row['post_id']] = $row; 
     88                                        } 
     89                                } 
     90                        } 
     91 
     92                        $cats = $cache->obtain_cats(); 
     93 
     94                        foreach ( $notify_ary AS $notify_type => $ary ) { 
     95 
     96                                $keys = array_keys($ary); 
     97 
     98                                $data_ary = array(); 
     99 
     100                                switch ( $notify_type ) { 
     101                                        case TYPE_TORRENT: 
     102                                                $sql = 'SELECT t.name, t.category, t.fid AS id 
     103                                                                FROM ' . TORRENTS_TABLE . ' t 
     104                                                                WHERE ' . $db->sql_in_set('t.fid', $keys); 
     105                                                $result = $db->sql_query($sql); 
     106 
     107                                                while ( $row = $db->sql_fetchrow($result) ) { 
     108                                                        // www.phpBB-SEO.com SEO TOOLKIT BEGIN 
     109                                                        $seo->set_torrent_url($row['id'], $row['name'], $row['category']); 
     110                                                        // www.phpBB-SEO.com SEO TOOLKIT END 
     111 
     112                                                        $row['u_file'] = 'details.php?id=' . $row['id']; 
     113                                                        $data_ary[$row['id']] = $row; 
     114                                                } 
     115 
     116                                                $type_name = $lang['torrent']; 
     117                                        break; 
     118 
     119                                        case TYPE_REQUEST: 
     120                                                $sql = 'SELECT t.request AS name, t.cat, t.id 
     121                                                                FROM ' . REQUESTS_TABLE . ' t 
     122                                                                WHERE ' . $db->sql_in_set('t.id', $keys); 
     123                                                $result = $db->sql_query($sql); 
     124 
     125                                                while ( $row = $db->sql_fetchrow($result) ) { 
     126                                                        $row['u_file'] = 'requests.php?id=' . $row['id']; 
     127                                                        $data_ary[$row['id']] = $row; 
     128                                                } 
     129 
     130                                                $type_name = $lang['request']; 
     131                                        break; 
     132 
     133                                        case TYPE_OFFER: 
     134                                                $sql = 'SELECT t.name AS name, t.category, t.id 
     135                                                                FROM ' . OFFERS_TABLE . ' t 
     136                                                                WHERE ' . $db->sql_in_set('t.id', $keys); 
     137                                                $result = $db->sql_query($sql); 
     138 
     139                                                while ( $row = $db->sql_fetchrow($result) ) { 
     140                                                        $row['u_file'] = 'requests.php?id=' . $row['id']; 
     141                                                        $data_ary[$row['id']] = $row; 
     142                                                } 
     143 
     144                                                $type_name = $lang['offer']; 
     145                                        break; 
     146 
     147                                        case TYPE_NEWS: 
     148                                                $sql = 'SELECT t.title AS name, t.id 
     149                                                                FROM ' . NEWS_TABLE . ' t 
     150                                                                WHERE ' . $db->sql_in_set('t.id', $keys); 
     151                                                $result = $db->sql_query($sql); 
     152 
     153                                                while ( $row = $db->sql_fetchrow($result) ) { 
     154                                                        $row['u_file'] = 'news.php?id=' . $row['id']; 
     155                                                        $data_ary[$row['id']] = $row; 
     156                                                } 
     157 
     158                                                $type_name = $lang['news']; 
     159                                        break; 
     160 
     161                                        case TYPE_FORUM_POST: 
     162                                                $sql = 'SELECT t.topic_id, topic_title AS name, topic_last_post_time, f.forum_id, f.forum_name, f2.forum_id AS p_forum_id, f2.forum_name AS p_forum_name, c.cat_id, c.cat_title 
     163                                                                FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . ' f 
     164                                                                LEFT JOIN ' . FORUMS_TABLE . ' f2 ON ( f.forum_parent = f2.forum_id ), 
     165                                                                ' . FORUM_CATEGORIES_TABLE . ' c 
     166                                                                WHERE t.forum_id = f.forum_id 
     167                                                                AND f.cat_id = c.cat_id 
     168                                                                AND ' . $db->sql_in_set('t.topic_id', $keys); 
     169                                                $result = $db->sql_query($sql); 
     170 
     171                                                while ( $row = $db->sql_fetchrow($result) ) { 
     172 
     173                                                        // www.phpBB-SEO.com SEO TOOLKIT BEGIN 
     174                                                        $seo->set_url($row['cat_title'], $row['cat_id'], $seo->seo_static['forum_cat']); 
     175                                                        $seo->set_parent($row['forum_id'], $seo->seo_static['forum'], $row['cat_id'], $seo->seo_static['forum_cat']); 
     176 
     177                                                        if ( !empty($row['p_forum_id']) ) { 
     178                                                                $seo->set_url($row['p_forum_name'], $row['p_forum_id'], $seo->seo_static['forum']); 
     179                                                                $seo->set_parent($row['forum_id'], $seo->seo_static['forum'], $row['p_forum_id'], $seo->seo_static['forum']); 
     180                                                        } 
     181 
     182                                                        $seo->set_url($row['forum_name'], $row['forum_id'], $seo->seo_static['forum']); 
     183 
     184                                                        $seo->set_parent($row['topic_id'], $seo->seo_static['topic'], $row['forum_id'], $seo->seo_static['forum']); 
     185                                                        $seo->set_url($row['name'], $row['topic_id'], $seo->seo_static['topic']); 
     186                                                        // www.phpBB-SEO.com SEO TOOLKIT END 
     187 
     188                                                        $row['u_file'] = 'phpbb2.php?page=viewtopic&amp;t=' . $row['topic_id']; 
     189 
     190                                                        $data_ary[$row['topic_id']] = $row; 
     191                                                } 
     192 
     193                                                $type_name = $lang['forum_post']; 
     194                                        break; 
     195                                } 
     196 
     197                                $i = 0; 
     198 
     199                                foreach ( $ary AS $for_id => $data ) { 
     200 
     201                                        ++$i; 
     202 
     203                                        if ( $notify_type == TYPE_FORUM_POST ) { 
     204                                                $comment_data = ( !empty($forum_posts_data[$data['checkcomm_last_comment_id']]) ? $forum_posts_data[$data['checkcomm_last_comment_id']] : false ); 
     205                                        } 
     206                                        else { 
     207                                                $comment_data = ( !empty($comments_data[$data['checkcomm_last_comment_id']]) ? $comments_data[$data['checkcomm_last_comment_id']] : false ); 
     208                                        } 
     209 
     210                                        $info = $data_ary[$for_id]; 
     211 
     212                                        $name = $info['name']; 
     213 
     214                                        if ( $comment_data ) { 
     215                                                $last_post_time = create_date($comment_data['added']); 
     216 
     217                                                if ( $comment_data['uid'] <> ANONYMOUS ) { 
     218                                                        $u_last_poster = append_sid($root_path . 'userdetails.php?id=' . $comment_data['uid']); 
     219                                                        $last_poster_name = parse_username($comment_data); 
     220                                                } 
     221                                                else { 
     222                                                        $u_last_poster = ''; 
     223                                                        $last_poster_name = '<i>' . $lang['unknown'] . '</i>'; 
     224                                                } 
     225                                        } 
     226                                        else { 
     227                                                $last_post_time = $lang['na']; 
     228                                                $u_last_poster = ''; 
     229                                                $last_poster_name = '<i>' . $lang['unknown'] . '</i>'; 
     230                                        } 
     231 
     232                                        if ( $notify_type == TYPE_FORUM_POST ) { 
     233                                                $u_comments = 'phpbb2.php?page=viewtopic&amp;p=' . $data['checkcomm_last_comment_id'] . '#' . $data['checkcomm_last_comment_id']; 
     234                                                //$u_checkoff = 'phpbb2.php?page=viewtopic&amp;t=' . $for_id . '&amp;unwatch=topic'; 
     235                                        } 
     236                                        else { 
     237                                                $u_comments = 'comment.php?cid=' . $data['checkcomm_last_comment_id']; 
     238                                                //$u_checkoff = 'comment.php?type=' . $notify_type . '&amp;action=checkoff&amp;tid=' . $for_id; 
     239                                        } 
     240 
     241                                        $template->assign_block_vars('checkcomm_row', array( 
     242                                                'U_FILE' => append_sid($root_path . $info['u_file']), 
     243                                                //'U_CHECKOFF' => append_sid($root_path . $u_checkoff), 
     244                                                'NAME' => $name, 
     245                                                'TYPE_NAME' => $type_name, 
     246                                                'ADDED' => $last_post_time, 
     247                                                'U_LAST_POSTER' => $u_last_poster, 
     248                                                'U_COMMENTS' => append_sid($root_path . $u_comments), 
     249                                                'LAST_POSTER_NAME' => $last_poster_name, 
     250                                                'ROW_CLASS' => ( $i % 2? $theme['td_class1'] : $theme['td_class2'] ), 
     251 
     252                                                'FOR_ID' => $for_id, 
     253                                                'NOTIFY_TYPE' => $notify_type, 
     254                                        )); 
     255                                } 
    33256                        } 
    34257                } 
    35         } 
    36  
    37         $comments_data = array(); 
    38         $forum_posts_data = array(); 
    39  
    40         if ( sizeof($last_comments) || sizeof($last_posts) ) { 
    41  
    42                 if ( ( !empty($notify_ary[TYPE_TORRENT]) || !empty($notify_ary[TYPE_REQUEST]) || !empty($notify_ary[TYPE_OFFER]) || !empty($notify_ary[TYPE_NEWS]) ) && sizeof($last_comments) ) { 
    43  
    44                         $sql = 'SELECT c.comment_added AS added, c.comment_id, u.name, u.uid, u.class 
    45                                         FROM ' . COMMENTS_TABLE . ' c, 
    46                                         ' . USERS_TABLE . ' u 
    47                                         WHERE c.comment_user = u.uid 
    48                                         AND ' . $db->sql_in_set('c.comment_id', $last_comments); 
    49                         $result = $db->sql_query($sql); 
    50  
    51                         while ( $row = $db->sql_fetchrow($result) ) { 
    52                                 $comments_data[$row['comment_id']] = $row; 
    53                         } 
    54                 } 
    55  
    56                 if ( !empty($notify_ary[TYPE_FORUM_POST]) && sizeof($last_posts) ) { 
    57  
    58                         $sql = 'SELECT p.post_id, p.post_time AS added, u.name, u.uid, u.class 
    59                                         FROM ' . POSTS_TABLE . ' p, 
    60                                         ' . USERS_TABLE . ' u 
    61                                         WHERE p.poster_id = u.uid 
    62                                         AND ' . $db->sql_in_set('p.post_id', $last_posts); 
    63                         $result = $db->sql_query($sql); 
    64  
    65                         while ( $row = $db->sql_fetchrow($result) ) { 
    66                                 $forum_posts_data[$row['post_id']] = $row; 
    67                         } 
    68                 } 
    69         } 
    70  
    71         $cats = $cache->obtain_cats(); 
    72  
    73         foreach ( $notify_ary AS $notify_type => $ary ) { 
    74  
    75                 $keys = array_keys($ary); 
    76  
    77                 $data_ary = array(); 
    78  
    79                 switch ( $notify_type ) { 
    80                         case TYPE_TORRENT: 
    81                                 $sql = 'SELECT t.name, t.category, t.fid AS id 
    82                                                 FROM ' . TORRENTS_TABLE . ' t 
    83                                                 WHERE ' . $db->sql_in_set('t.fid', $keys); 
    84                                 $result = $db->sql_query($sql); 
    85  
    86                                 while ( $row = $db->sql_fetchrow($result) ) { 
    87                                         // www.phpBB-SEO.com SEO TOOLKIT BEGIN 
    88                                         $seo->set_torrent_url($row['id'], $row['name'], $row['category']); 
    89                                         // www.phpBB-SEO.com SEO TOOLKIT END 
    90  
    91                                         $row['u_file'] = 'details.php?id=' . $row['id']; 
    92                                         $data_ary[$row['id']] = $row; 
    93                                 } 
    94  
    95                                 $type_name = $lang['torrent']; 
    96                         break; 
    97  
    98                         case TYPE_REQUEST: 
    99                                 $sql = 'SELECT t.request AS name, t.cat, t.id 
    100                                                 FROM ' . REQUESTS_TABLE . ' t 
    101                                                 WHERE ' . $db->sql_in_set('t.id', $keys); 
    102                                 $result = $db->sql_query($sql); 
    103  
    104                                 while ( $row = $db->sql_fetchrow($result) ) { 
    105                                         $row['u_file'] = 'requests.php?id=' . $row['id']; 
    106                                         $data_ary[$row['id']] = $row; 
    107                                 } 
    108  
    109                                 $type_name = $lang['request']; 
    110                         break; 
    111  
    112                         case TYPE_OFFER: 
    113                                 $sql = 'SELECT t.name AS name, t.category, t.id 
    114                                                 FROM ' . OFFERS_TABLE . ' t 
    115                                                 WHERE ' . $db->sql_in_set('t.id', $keys); 
    116                                 $result = $db->sql_query($sql); 
    117  
    118                                 while ( $row = $db->sql_fetchrow($result) ) { 
    119                                         $row['u_file'] = 'requests.php?id=' . $row['id']; 
    120                                         $data_ary[$row['id']] = $row; 
    121                                 } 
    122  
    123                                 $type_name = $lang['offer']; 
    124                         break; 
    125  
    126                         case TYPE_NEWS: 
    127                                 $sql = 'SELECT t.title AS name, t.id 
    128                                                 FROM ' . NEWS_TABLE . ' t 
    129                                                 WHERE ' . $db->sql_in_set('t.id', $keys); 
    130                                 $result = $db->sql_query($sql); 
    131  
    132                                 while ( $row = $db->sql_fetchrow($result) ) { 
    133                                         $row['u_file'] = 'news.php?id=' . $row['id']; 
    134                                         $data_ary[$row['id']] = $row; 
    135                                 } 
    136  
    137                                 $type_name = $lang['news']; 
    138                         break; 
    139  
    140                         case TYPE_FORUM_POST: 
    141                                 $sql = 'SELECT t.topic_id, topic_title AS name, topic_last_post_time, f.forum_id, f.forum_name, f2.forum_id AS p_forum_id, f2.forum_name AS p_forum_name, c.cat_id, c.cat_title 
    142                                                 FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . ' f 
    143                                                 LEFT JOIN ' . FORUMS_TABLE . ' f2 ON ( f.forum_parent = f2.forum_id ), 
    144                                                 ' . FORUM_CATEGORIES_TABLE . ' c 
    145                                                 WHERE t.forum_id = f.forum_id 
    146                                                 AND f.cat_id = c.cat_id 
    147                                                 AND ' . $db->sql_in_set('t.topic_id', $keys); 
    148                                 $result = $db->sql_query($sql); 
    149  
    150                                 while ( $row = $db->sql_fetchrow($result) ) { 
    151  
    152                                         // www.phpBB-SEO.com SEO TOOLKIT BEGIN 
    153                                         $seo->set_url($row['cat_title'], $row['cat_id'], $seo->seo_static['forum_cat']); 
    154                                         $seo->set_parent($row['forum_id'], $seo->seo_static['forum'], $row['cat_id'], $seo->seo_static['forum_cat']); 
    155  
    156                                         if ( !empty($row['p_forum_id']) ) { 
    157                                                 $seo->set_url($row['p_forum_name'], $row['p_forum_id'], $seo->seo_static['forum']); 
    158                                                 $seo->set_parent($row['forum_id'], $seo->seo_static['forum'], $row['p_forum_id'], $seo->seo_static['forum']); 
    159                                         } 
    160  
    161                                         $seo->set_url($row['forum_name'], $row['forum_id'], $seo->seo_static['forum']); 
    162  
    163                                         $seo->set_parent($row['topic_id'], $seo->seo_static['topic'], $row['forum_id'], $seo->seo_static['forum']); 
    164                                         $seo->set_url($row['name'], $row['topic_id'], $seo->seo_static['topic']); 
    165                                         // www.phpBB-SEO.com SEO TOOLKIT END 
    166  
    167                                         $row['u_file'] = 'phpbb2.php?page=viewtopic&amp;t=' . $row['topic_id']; 
    168  
    169                                         $data_ary[$row['topic_id']] = $row; 
    170                                 } 
    171  
    172                                 $type_name = $lang['forum_post']; 
    173                         break; 
    174                 } 
    175  
    176                 $i = 0; 
    177  
    178                 foreach ( $ary AS $for_id => $data ) { 
    179  
    180                         ++$i; 
    181  
    182                         if ( $notify_type == TYPE_FORUM_POST ) { 
    183                                 $comment_data = ( !empty($forum_posts_data[$data['checkcomm_last_comment_id']]) ? $forum_posts_data[$data['checkcomm_last_comment_id']] : false ); 
    184                         } 
    185                         else { 
    186                                 $comment_data = ( !empty($comments_data[$data['checkcomm_last_comment_id']]) ? $comments_data[$data['checkcomm_last_comment_id']] : false ); 
    187                         } 
    188  
    189                         $info = $data_ary[$for_id]; 
    190  
    191                         $name = $info['name']; 
    192  
    193                         if ( $comment_data ) { 
    194                                 $last_post_time = create_date($comment_data['added']); 
    195  
    196                                 if ( $comment_data['uid'] <> ANONYMOUS ) { 
    197                                         $u_last_poster = append_sid($root_path . 'userdetails.php?id=' . $comment_data['uid']); 
    198                                         $last_poster_name = parse_username($comment_data); 
    199                                 } 
    200                                 else { 
    201                                         $u_last_poster = ''; 
    202                                         $last_poster_name = '<i>' . $lang['unknown'] . '</i>'; 
    203                                 } 
    204                         } 
    205                         else { 
    206                                 $last_post_time = $lang['na']; 
    207                                 $u_last_poster = ''; 
    208                                 $last_poster_name = '<i>' . $lang['unknown'] . '</i>'; 
    209                         } 
    210  
    211                         if ( $notify_type == TYPE_FORUM_POST ) { 
    212                                 $u_comments = 'phpbb2.php?page=viewtopic&amp;p=' . $data['checkcomm_last_comment_id'] . '#' . $data['checkcomm_last_comment_id']; 
    213                                 $u_checkoff = 'phpbb2.php?page=viewtopic&amp;t=' . $for_id . '&amp;unwatch=topic'; 
    214                         } 
    215                         else { 
    216                                 $u_comments = 'comment.php?cid=' . $data['checkcomm_last_comment_id']; 
    217                                 $u_checkoff = 'comment.php?type=' . $notify_type . '&amp;action=checkoff&amp;tid=' . $for_id; 
    218                         } 
    219  
    220                         $template->assign_block_vars('checkcomm_row', array( 
    221                                 'U_FILE' => append_sid($root_path . $info['u_file']), 
    222                                 'U_CHECKOFF' => append_sid($root_path . $u_checkoff), 
    223                                 'NAME' => $name, 
    224                                 'TYPE_NAME' => $type_name, 
    225                                 'ADDED' => $last_post_time, 
    226                                 'U_LAST_POSTER' => $u_last_poster, 
    227                                 'U_COMMENTS' => append_sid($root_path . $u_comments), 
    228                                 'LAST_POSTER_NAME' => $last_poster_name, 
    229                                 'ROW_CLASS' => ( $i % 2? $theme['td_class1'] : $theme['td_class2'] ) 
    230                         )); 
    231                 } 
    232         } 
     258 
     259                $template->assign_vars(array( 
     260                        'PAGERBOTTOM' => $pagerbottom, 
     261                        'COUNT' => $count + $i, 
     262                )); 
     263 
     264                $body = 'ucp_checkcomm_body.html'; 
     265        break; 
    233266} 
    234  
    235 $template->assign_vars(array( 
    236         'PAGERBOTTOM' => $pagerbottom, 
    237         'COUNT' => $count + $i, 
    238 )); 
    239  
    240  
    241 $body = 'ucp_checkcomm_body.html'; 
    242267?> 
  • include/ucp/simpaty.php

    r266 r317  
    88else { 
    99        $per_page = 50; 
    10         list($pagertop, $pagerbottom, $limit) = pager($per_page, $count, 'my.php?type=simpaty&amp;'); 
     10        list($pagertop, $pagerbottom, $offset, $limit) = pager($per_page, $count, 'my.php?type=simpaty&amp;'); 
    1111 
    1212        $sql = 'SELECT s.*, u.name 
    1313                FROM ' . SIMPATY_TABLE . ' s, ' . USERS_TABLE . " u 
    1414                WHERE s.touserid = " . $userdata['uid'] . " AND s.fromuserid = u.uid 
    15                 ORDER BY s.respect_time DESC $limit"; 
    16         $result = $db->sql_query($sql); 
     15                ORDER BY s.respect_time DESC"; 
     16        $result = $db->sql_query_limit($sql, $limit, $offset); 
    1717 
    1818        $template->assign_vars(array( 
  • include/userdetails/comments_history.php

    r313 r317  
    1818        $url = 'userdetails.php?id=' . $id . '&amp;action=comments_history&amp;'; 
    1919 
    20         list( $pagertop, $pagerbottom, $limit ) = pager( $config['posts_per_page'], $count, $url ); 
     20        list($pagertop, $pagerbottom, $offset, $limit) = pager( $config['posts_per_page'], $count, $url ); 
    2121 
    2222        $subject = '<a href="' . append_sid($root_path . 'userdetails.php?id=' . $id) . '"><b>' . $user['name'] . '</b></a>' . get_user_icons( $user, true ); 
     
    2525                                FROM $from_is 
    2626                                WHERE c.comment_user = " . $id . " 
    27                                 ORDER BY $order_is $limit"; 
    28         $result = $db->sql_query( $sql ); 
     27                                ORDER BY $order_is"; 
     28        $result = $db->sql_query_limit($sql, $limit, $offset); 
    2929 
    3030        $template->assign_vars( array( 
  • index.php

    r311 r317  
    267267$count = ( $row = $db->sql_fetchrow($result) ) ? $row['count'] : 0; 
    268268 
    269 list($pagertop, $pagerbottom, $limit) = pager(6, $count, 'index.php?'); 
     269list($pagertop, $pagerbottom, $offset, $limit) = pager(6, $count, 'index.php?'); 
    270270 
    271271$sql = 'SELECT i.*, c.image AS category_image, c.name AS category_name, t.name AS torrent_name, t.category 
     
    276276                AND t.hidden = 0' . 
    277277                ( $userdata['uid'] == ANONYMOUS ? ' AND c.anonymous_view = 1' : '' ) 
    278                 . ' ORDER BY t.ctime DESC ' . $limit
    279 $result = $db->sql_query($sql, 31536000); 
     278                . ' ORDER BY t.ctime DESC'
     279$result = $db->sql_query_limit($sql, $limit, $offset, 31536000); 
    280280$show_releases = false; 
    281281if ( $row = $db->sql_fetchrow($result) ) { 
  • js/ajax_common.js

    r313 r317  
    328328} 
    329329 
     330function unsubscribe ( notify_type, for_id ) { 
     331        $.ajax({ 
     332                url: TRACKER_URL + 'my.php?type=checkcomm&action=unsubscribe&sid=' + SID, 
     333                global: false, 
     334                type: "POST", 
     335                cache: false, 
     336                data: ({notify_type: notify_type, for_id: for_id}), 
     337                dataType: "json", 
     338                success: function(data){ 
     339                        $('#chk_' + for_id).remove(); 
     340                        alert(data.msg); 
     341                } 
     342        }); 
     343} 
  • js/jquery.js

    r269 r317  
    1 /* 
    2  * jQuery JavaScript Library v1.3.2 
     1/*! 
     2 * jQuery JavaScript Library v1.4.2 
    33 * http://jquery.com/ 
    44 * 
    5  * Copyright (c) 2009 John Resig 
    6  * Dual licensed under the MIT and GPL licenses. 
    7  * http://docs.jquery.com/License 
     5 * Copyright 2010, John Resig 
     6 * Dual licensed under the MIT or GPL Version 2 licenses. 
     7 * http://jquery.org/license 
    88 * 
    9  * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) 
    10  * Revision: 6246 
     9 * Includes Sizzle.js 
     10 * http://sizzlejs.com/ 
     11 * Copyright 2010, The Dojo Foundation 
     12 * Released under the MIT, BSD, and GPL Licenses. 
     13 * 
     14 * Date: Sat Feb 13 22:33:48 2010 -0500 
    1115 */ 
    12 (function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); 
    13 /* 
    14  * Sizzle CSS Selector Engine - v0.9.3 
    15  *  Copyright 2009, The Dojo Foundation 
    16  *  Released under the MIT, BSD, and GPL Licenses. 
    17  *  More information: http://sizzlejs.com/ 
    18  */ 
    19 (function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); 
     16(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i? 
     17e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r= 
     18j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g, 
     19"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e= 
     20true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, 
     21Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& 
     22(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, 
     23a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== 
     24"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, 
     25function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)|| 
     26c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded", 
     27L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype, 
     28"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+ 
     29a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f], 
     30d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]=== 
     31a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&& 
     32!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari= 
     33true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; 
     34var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, 
     35parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= 
     36false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= 
     37s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, 
     38applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; 
     39else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, 
     40a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== 
     41w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, 
     42cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ", 
     43i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ", 
     44" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className= 
     45this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i= 
     46e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= 
     47c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); 
     48a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, 
     49function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); 
     50k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), 
     51C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!= 
     52null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type= 
     53e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& 
     54f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; 
     55if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), 
     56fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop|| 
     57d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this, 
     58"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent= 
     59a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y, 
     60isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit= 
     61{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}}; 
     62if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", 
     63e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, 
     64"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, 
     65d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&& 
     66!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}}, 
     67toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector, 
     68u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), 
     69function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q]; 
     70if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, 
     71e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); 
     72t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| 
     73g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[]; 
     74for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length- 
     751)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, 
     76CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}}, 
     77relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]= 
     78l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[]; 
     79h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, 
     80CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, 
     81g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, 
     82text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, 
     83setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= 
     84h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m= 
     85m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== 
     86"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, 
     87h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition|| 
     88!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m= 
     89h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& 
     90q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>"; 
     91if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); 
     92(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: 
     93function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/, 
     94gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length; 
     95c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= 
     96{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== 
     97"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", 
     98d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? 
     99a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== 
     1001&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)? 
     101a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= 
     102c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, 
     103wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, 
     104prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, 
     105this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); 
     106return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, 
     107""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&& 
     108this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]|| 
     109u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length=== 
     1101?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); 
     111return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", 
     112""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= 
     113c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? 
     114c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= 
     115function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= 
     116Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, 
     117"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= 
     118a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= 
     119a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== 
     120"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, 
     121serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), 
     122function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, 
     123global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& 
     124e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? 
     125"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== 
     126false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= 
     127false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", 
     128c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| 
     129d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); 
     130g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== 
     1311223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== 
     132"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; 
     133if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay"); 
     134this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a], 
     135"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)}, 
     136animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing= 
     137j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]); 
     138this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== 
     139"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| 
     140c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; 
     141this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= 
     142this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, 
     143e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length|| 
     144c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement? 
     145function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b= 
     146this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle; 
     147k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&& 
     148f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; 
     149a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); 
     150c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, 
     151d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- 
     152f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": 
     153"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in 
     154e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); 
  • languages/lang_english/lang_main.php

    r316 r317  
    12981298                'forum_post_for_you_disabled_until' => 'Возможность писать сообщения на форуме для вас отключена до %s', 
    12991299 
     1300                'id' => 'ID', 
     1301 
    13001302        'translated_by' => 'Translation to english made by %s', 
    13011303)); 
  • languages/lang_russian/lang_main.php

    r316 r317  
    13201320                'forum_post_for_you_disabled_until' => 'Возможность писать сообщения на форуме для вас отключена до %s', 
    13211321 
     1322                'id' => 'ID', 
     1323 
    13221324        'translated_by' => 'На русский язык перевел %s', 
    13231325)); 
  • log.php

    r280 r317  
    116116 
    117117if ( $count ) { 
    118         list($pagertop, $pagerbottom, $limit) = pager(50, $count, 'log.php?' . ( $query ? 'query=' . $query . '&amp;' : '' ) . ( $log_level_view <> -1 ? 'log_level_view=' . $log_level_view . '&amp;' : '' ) ); 
     118        list($pagertop, $pagerbottom, $offset, $limit) = pager(50, $count, 'log.php?' . ( $query ? 'query=' . $query . '&amp;' : '' ) . ( $log_level_view <> -1 ? 'log_level_view=' . $log_level_view . '&amp;' : '' ) ); 
    119119        $template->assign_vars(array( 
    120120                'PAGERBOTTOM' => $pagerbottom 
     
    124124                        FROM ' . SITELOG_TABLE . ' 
    125125                        WHERE ' . ( $log_level_view <> -1 ? 'log_view_level = ' . $log_level_view : 'log_view_level <= ' . $level ) . 
    126                         ( isset($query) ? ' AND txt LIKE ' . "'%" . $db->sql_escape($query) . "%'" : '' ) . ' ORDER BY added DESC ' . $limit
    127         $result = $db->sql_query($sql); 
     126                        ( isset($query) ? ' AND txt LIKE ' . "'%" . $db->sql_escape($query) . "%'" : '' ) . ' ORDER BY added DESC'
     127        $result = $db->sql_query_limit($sql, $limit, $offset); 
    128128 
    129129        $tor_ary = array(); 
  • message.php

    r313 r317  
    593593 
    594594                if ( $box_limit && ( $count > $box_limit ) && ( $userdata['class'] < UC_MODERATOR ) ) { 
    595                         $limit = 'LIMIT ' . ( $count - $box_limit ) . ', ' . $count; 
    596                   $warning_text = sprintf($lang['inbox_pm_limit_reached_js_text'], $mailbox_name, $box_limit, $count); 
    597                   $count_pager = $box_limit; 
     595                        $limit = 40; 
     596                        $offset = $count - $box_limit; 
     597                        $warning_text = sprintf($lang['inbox_pm_limit_reached_js_text'], $mailbox_name, $box_limit, $count); 
     598                        $count_pager = $box_limit; 
    598599                } 
    599  
    600              list($pagertop, $pagerbottom, $limit_pager) = pager(40, $count_pager, append_sid('message.php?action=viewmailbox&amp;box=' . ( $mailbox == PM_SENTBOX ? PM_SENTBOX : PM_INBOX ) . '&amp;' ) ); 
    601  
    602              $limit = ( isset($limit) ? $limit : $limit_pager ); 
     600                list($pagertop, $pagerbottom, $offset_pager, $limit_pager) = pager(40, $count_pager, append_sid('message.php?action=viewmailbox&amp;box=' . ( $mailbox == PM_SENTBOX ? PM_SENTBOX : PM_INBOX ) . '&amp;' ) ); 
     601 
     602                $limit = ( isset($limit) ? $limit : $limit_pager ); 
     603               $offset = ( isset($offset) ? $offset : $offset_pager ); 
    603604 
    604605                $pm_box_select = '<select name="box">'; 
     
    623624                                FROM ' . PRIVATE_MESSAGES_TABLE . ' m, ' . USERS_TABLE . ' u 
    624625                                WHERE ' . $where . 
    625                        ' ORDER BY added DESC ' . $limit; 
    626  
    627              $result = $db->sql_query($sql); 
     626                       ' ORDER BY added DESC'; 
     627             $result = $db->sql_query_limit($sql, $limit, $offset); 
    628628 
    629629                if ( !$count ) { 
  • news.php

    r316 r317  
    5252 
    5353                if ( $row['news_comments'] ) { 
    54                         list( $pagertop, $pagerbottom, $limit ) = pager( $config['posts_per_page'], $row['news_comments'], 'news.php?id=' . $id . '&amp;' ); 
     54                        list($pagertop, $pagerbottom, $offset, $limit) = pager( $config['posts_per_page'], $row['news_comments'], 'news.php?id=' . $id . '&amp;' ); 
    5555 
    56                         commenttable(TYPE_NEWS, $id, $limit); 
     56                        commenttable(TYPE_NEWS, $id, $offset, $limit); 
    5757                } 
    5858                else { 
  • offers.php

    r316 r317  
    247247 
    248248                $perpage = 20; 
    249                 list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, 'offers.php?action=voteview&amp;offerid=' . $id . '&amp;'); 
     249                list($pagertop, $pagerbottom, $offset, $limit) = pager($perpage, $count, 'offers.php?action=voteview&amp;offerid=' . $id . '&amp;'); 
    250250 
    251251             $sql = 'SELECT u.uid, u.name, u.downloaded, u.uploaded, u.class 
    252252                FROM ' . OFFERS_VOTES_TABLE . ' ov, ' . OFFERS_TABLE . ' o, ' . USERS_TABLE . ' u 
    253                 WHERE ov.offerid = ' . $id . ' AND ov.offerid = o.id AND ov.userid = u.uid ' . $limit
    254                 $result = $db->sql_query($sql); 
     253                WHERE ov.offerid = ' . $id . ' AND ov.offerid = o.id AND ov.userid = u.uid'
     254                $result = $db->sql_query_limit($sql, $limit, $offset); 
    255255 
    256256                $template->assign_vars(array( 
     
    332332 
    333333                if ( $row['comments'] ) { 
    334                         list($pagertop, $pagerbottom, $limit) = pager($config['posts_per_page'], $row['comments'], 'offers.php?id=' . $id . '&amp;', array( 'reverse' => 1 )); 
    335  
    336                         commenttable(TYPE_OFFER, $id, $limit); 
     334                        list($pagertop, $pagerbottom, $offset, $limit) = pager($config['posts_per_page'], $row['comments'], 'offers.php?id=' . $id . '&amp;', array( 'reverse' => 1 )); 
     335 
     336                        commenttable(TYPE_OFFER, $id, $offset, $limit); 
    337337                } 
    338338                else { 
     
    490490                        $perpage = ( $userdata['torrentsperpage'] ? $userdata['torrentsperpage'] : 30 ); 
    491491 
    492                         list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, 'offers.php?' . $search_arr . 'sort=' . $sort . '&amp;' ); 
     492                        list($pagertop, $pagerbottom, $offset, $limit) = pager($perpage, $count, 'offers.php?' . $search_arr . 'sort=' . $sort . '&amp;' ); 
    493493 
    494494                        $sql = 'SELECT u.name AS username, u.class, o.id, o.userid, o.name, o.added, o.votes, o.comments, o.filled, o.filledby, u2.name AS filledby_username, o.category, t.name AS torrent_name, t.category AS t_category 
     
    496496                                        LEFT JOIN ' . USERS_TABLE . ' u2 ON o.filledby = u2.uid 
    497497                                        LEFT JOIN ' . TORRENTS_TABLE . ' t ON o.filled = t.fid, 
    498                                         ' . USERS_TABLE . ' u ' . $where_sql . ' ORDER BY ' . $sort_sql . ' ' . $limit
    499                         $result = $db->sql_query($sql); 
     498                                        ' . USERS_TABLE . ' u ' . $where_sql . ' ORDER BY ' . $sort_sql
     499                        $result = $db->sql_query_limit($sql, $limit, $offset); 
    500500                } 
    501501 
  • phpBB2/index.php

    r316 r317  
    412412                                                                $last_post_time = "<b>" . $lang['added'] . "</b>: " . create_date($forum_data[$j]['post_time']); 
    413413                                                                $last_post = $last_post_time . '<br />'; 
    414                                                                 $last_post .= ( $forum_data[$j]['uid'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? "<b>" . $lang['poster'] . "</b>: " . $forum_data[$j]['post_username'] : "<b>" . $lang['poster']. "</b>: " . $lang['guest']) : "<b>" . $lang['poster'] . "</b>: " . parse_username($forum_data[$j]); 
     414                                                                $last_post .= ( $forum_data[$j]['uid'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? "<b>" . $lang['poster'] . "</b>: " . $forum_data[$j]['post_username'] : "<b>" . $lang['poster']. "</b>: " . $lang['guest']) : "<b>" . $lang['poster'] . "</b>: " . str_replace('%', '%%', parse_username($forum_data[$j])); 
    415415                                                                //$last_post .= "<br /><b>" . $lang['topic'] . '</b>: <a href="' . append_sid($root_path . "phpbb2.php?page=viewtopic&amp;"  . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id']) . '">' . $forum_data[$j]['topic_title'] . '</a>'; 
    416416                                                                $last_post .= "<br /><b>" . $lang['topic'] . '</b>: <a href="%s">' . $forum_data[$j]['topic_title_stripped'] . '</a>'; 
     
    461461                                                        } 
    462462                                                        else { 
    463                                                                 $last_post = str_replace('%', '%%', $last_post); 
    464463                                                                $last_post = sprintf($last_post, append_sid($root_path . "phpbb2.php?page=viewtopic&amp;"  . POST_TOPIC_URL . '=' . $forum_data[$j]['topic_id'])); 
    465464                                                        } 
     
    566565                $seo->set_url($forum_data['topic_title'], $forum_data['topic_id'], $seo->seo_static['topic']); 
    567566 
    568                 $subforums_list[$i]['last_post'] = str_replace('%', '%%', $subforums_list[$i]['last_post'])
     567                //$subforums_list[$i]['last_post'] = $subforums_list[$i]['last_post']
    569568                $subforums_list[$i]['last_post'] = sprintf($subforums_list[$i]['last_post'], append_sid($root_path . "phpbb2.php?page=viewtopic&amp;"  . POST_TOPIC_URL . '=' . $forum_data['topic_id'])); 
    570569                // www.phpBB-SEO.com SEO TOOLKIT END 
  • phpBB2/search.php

    r313 r317  
    637637                unset($store_search_data); 
    638638 
    639                 $search_id = mt_rand(); 
     639                $search_id = md5(dss_rand()); 
    640640 
    641641                $sql = "UPDATE " . SEARCH_TABLE . " 
    642                         SET search_id = $search_id, search_time = $current_time, search_array = '" . $db->sql_escape($result_array) . "' 
     642                        SET search_id = '" . $db->sql_escape($search_id) . "', search_time = $current_time, search_array = '" . $db->sql_escape($result_array) . "' 
    643643                        WHERE session_id = '" . $userdata['session_id'] . "'"; 
    644644                if ( !($result = $db->sql_query($sql)) || !$db->sql_affectedrows() ) 
    645645                { 
    646646                        $sql = "INSERT INTO " . SEARCH_TABLE . " (search_id, session_id, search_time, search_array) 
    647                                 VALUES($search_id, '" . $userdata['session_id'] . "', $current_time, '" . $db->sql_escape($result_array) . "')"; 
     647                                VALUES('" . $db->sql_escape($search_id) . "', '" . $userdata['session_id'] . "', $current_time, '" . $db->sql_escape($result_array) . "')"; 
    648648                        $result = $db->sql_query($sql); 
    649649                } 
     
    656656                        $sql = "SELECT search_array 
    657657                                FROM " . SEARCH_TABLE . " 
    658                                 WHERE search_id = $search_id 
     658                                WHERE search_id = '" . $db->sql_escape($search_id) . "' 
    659659                                        AND session_id = '". $userdata['session_id'] . "'"; 
    660660                        $result = $db->sql_query($sql); 
  • reports.php

    r303 r317  
    4545                $perpage = 25; 
    4646 
    47              list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, 'reports.php?action=view&amp;'); 
     47             list($pagertop, $pagerbottom, $offset, $limit) = pager($perpage, $count, 'reports.php?action=view&amp;'); 
    4848 
    4949                $template->assign_vars(array( 
     
    6161                       ' . USERS_TABLE . " u 
    6262                       WHERE r.addedby = u.uid 
    63                        ORDER BY r.id DESC $limit"; 
    64                 $result = $db->sql_query($sql); 
     63                       ORDER BY r.id DESC"; 
     64                $result = $db->sql_query_limit($sql, $limit, $offset); 
    6565 
    6666                $count_reports_not_solved = 0; 
  • requests.php

    r316 r317  
    253253 
    254254                $perpage = 20; 
    255                 list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, 'requests.php?action=voteview&amp;requestid=' . $id . '&amp;'); 
     255                list($pagertop, $pagerbottom, $offset, $limit) = pager($perpage, $count, 'requests.php?action=voteview&amp;requestid=' . $id . '&amp;'); 
    256256 
    257257                $sql = 'SELECT u.uid, u.name, u.downloaded, u.uploaded, u.class 
    258258                                FROM ' . REQUESTS_VOTES_TABLE . ' a, ' . REQUESTS_TABLE . ' r, ' . USERS_TABLE . ' u 
    259                                 WHERE a.requestid = ' . $id . ' AND a.requestid = r.id AND a.userid = u.uid ' . $limit
    260                 $result = $db->sql_query($sql); 
     259                                WHERE a.requestid = ' . $id . ' AND a.requestid = r.id AND a.userid = u.uid'
     260                $result = $db->sql_query_limit($sql, $limit, $offset); 
    261261 
    262262                $template->assign_vars(array( 
     
    334334 
    335335                if ( $row['comments'] ) { 
    336                         list($pagertop, $pagerbottom, $limit) = pager($config['posts_per_page'], $row['comments'], 'offers.php?id=' . $id . '&amp;', array( 'reverse' => 1 )); 
    337  
    338                         commenttable(TYPE_REQUEST, $id, $limit); 
     336                        list($pagertop, $pagerbottom, $offset, $limit) = pager($config['posts_per_page'], $row['comments'], 'offers.php?id=' . $id . '&amp;', array( 'reverse' => 1 )); 
     337 
     338                        commenttable(TYPE_REQUEST, $id, $offset, $limit); 
    339339                } 
    340340                else { 
     
    489489                        $perpage = ( $userdata['torrentsperpage'] ? $userdata['torrentsperpage'] : 30 ); 
    490490 
    491                         list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, 'requests.php?' . $search_arr . 'sort=' . $sort . '&amp;' ); 
     491                        list($pagertop, $pagerbottom, $offset, $limit) = pager($perpage, $count, 'requests.php?' . $search_arr . 'sort=' . $sort . '&amp;' ); 
    492492 
    493493                        $sql = 'SELECT u.downloaded, u.uploaded, u.name, u.class, r.filled, r.filledby, r.id, r.userid, r.request, r.added, r.hits, r.comments, u2.name AS filledby_username, u2.uid AS filledby_id, r.cat, t.name AS torrent_name, t.category AS t_category 
     
    497497                                        ' . USERS_TABLE . ' u 
    498498                                        ' . $where_sql . ' 
    499                                         ORDER BY ' . $sort_sql . ' ' . $limit
    500                         $result = $db->sql_query($sql); 
     499                                        ORDER BY ' . $sort_sql
     500                        $result = $db->sql_query_limit($sql, $limit, $offset); 
    501501                } 
    502502 
  • templates/main/userdetails.html

    r308 r317  
    2121<table class="border" width="620"> 
    2222        <tr> 
    23                 <td width="160">{L_REGISTER_DATE}</td> 
     23                <td width="160">{L_ID}</td> 
     24                <td>{ID}</td> 
     25        </tr> 
     26        <tr> 
     27                <td>{L_REGISTER_DATE}</td> 
    2428                <td>{REGISTER_DATE}</td> 
    2529        </tr> 
     
    217221 
    218222<!-- INCLUDE overall_footer.html --> 
    219  
  • uploadapp.php

    r277 r317  
    279279 
    280280                $perpage = 20; 
    281                 list($pagertop, $pagerbottom, $limit) = pager(20, $count, 'uploadapp.php?'); 
     281                list($pagertop, $pagerbottom, $offset, $limit) = pager(20, $count, 'uploadapp.php?'); 
    282282                $sql = 'SELECT up.*, u.uploaded, u.downloaded, u.name AS username, u.upload, u.class, u.enabled, u.parked, u.warneduntil, u.donor 
    283283                        FROM ' . UPLOADAPP_TABLE . ' up, ' . USERS_TABLE . ' u 
    284284                        WHERE up.userid = u.uid 
    285                         ORDER BY applied DESC ' . $limit
    286                 $result = $db->sql_query($sql); 
     285                        ORDER BY applied DESC'
     286                $result = $db->sql_query_limit($sql, $limit, $offset); 
    287287                if( !$count ) { 
    288288                        if ( $config['count_candidates_waiting'] <> 0 ) { 
  • users.php

    r308 r317  
    8383$result = $db->sql_query($sql); 
    8484$count = ( $row = $db->sql_fetchrow($result) ) ? intval($row['count']) : 0 ; 
    85 list($pagertop, $pagerbottom, $limit) = pager(100, $count, 'users.php?' . ( !empty($q) ? '&amp;' . $q . '&amp;' : '' )); 
     85list($pagertop, $pagerbottom, $offset, $limit) = pager(100, $count, 'users.php?' . ( !empty($q) ? '&amp;' . $q . '&amp;' : '' )); 
    8686 
    8787$sql = 'SELECT u.uid, u.name, u.class, u.enabled, u.donor, u.warneduntil, u.parked, u.country, u.added, u.user_session_time, c.flagpic, c.name AS country_name 
    8888        FROM ' . USERS_TABLE . ' u, ' . COUNTRIES_TABLE . ' c 
    8989        WHERE u.country = c.id' .  ( $sql_ext ? ' AND ' . $sql_ext : '' ) . ' AND status = 1 
    90         ORDER BY u.name ASC ' . $limit; 
    91  
    92 $result = $db->sql_query($sql); 
     90        ORDER BY u.name ASC'; 
     91$result = $db->sql_query_limit($sql, $limit, $offset); 
    9392 
    9493$template->assign_vars(array( 
  • usersearch.php

    r280 r317  
    7070} 
    7171 
    72 $input_vars = array('d', 'd2', 'icq', 'dip', 'ls', 'ls2', 'skype', 'ma', 'dl', 'dl2', 'aim', 'em', 'r', 'r2', 'msn', 'ip', 'ul', 'ul2', 'yahoo', 'age', 'ac', 'passkey', 'client'); 
    73  
    74 for ( $i = 0; $i < sizeof($input_vars); ++$i ) { 
    75         $GLOBALS[$input_vars[$i]] = ( isset($_GET[$input_vars[$i]]) ? $_GET[$input_vars[$i]] : '' ); 
     72$input_vars = array('d', 'd2', 'icq', 'dip', 'ls', 'ls2', 'skype', 'ma', 'dl', 'dl2', 'aim', 'em', 'r', 'r2', 'msn', 'ip', 'ul', 'ul2', 'yahoo', 'age', 'ac', 'passkey', 'client', 'c', 'gender', 'speed_up', 'speed_down', 'username'); 
     73 
     74foreach ( $input_vars AS $_null => $var_name ) { 
     75        $$var_name = request_var($var_name, ''); 
    7676} 
    7777 
     
    9696//begin class select 
    9797$class_select = '<select name="c"><option value="0">' . $lang['choose'] . '</option>'; 
    98 $class = @$_GET['c']; 
    9998for ($i = 3;;++$i) { 
    100         if ($c = get_user_class_name($i-3)) { 
    101                 $class_select .= '<option value="' . $i . '"' . ($class && $class == $i? 'selected="selected"' : '') . '>' . $c . '</option>'; 
     99        if ($class = get_user_class_name($i-3)) { 
     100                $class_select .= '<option value="' . $i . '"' . ($c && $c == $i? 'selected="selected"' : '') . '>' . $class . '</option>'; 
    102101        } 
    103102        else { 
     
    110109//start gender select 
    111110$gender_select = '<select name="gender" id="gender"><option value="--">' . $lang['choose'] . '</option>'; 
    112 $gender_select .= '<option value="0"' . ( isset($_GET['gender']) && $_GET['gender'] == '0' ? ' selected="selected"':''). '>' . $lang['gender_male'] . '</option>'; 
    113 $gender_select .= '<option value="1"' . ( isset($_GET['gender']) && $_GET['gender'] == '1' ? ' selected="selected"':''). '>' . $lang['gender_female'] . '</option>'; 
     111$gender_select .= '<option value="0"' . ( $gender === 0 ? ' selected="selected"':''). '>' . $lang['gender_male'] . '</option>'; 
     112$gender_select .= '<option value="1"' . ( $gender === 1 ? ' selected="selected"':''). '>' . $lang['gender_female'] . '</option>'; 
    114113$gender_select .= '</select>'; 
    115 $gender_select .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />'; 
    116114//end gender select 
    117115 
     
    129127 
    130128//speeds selects 
    131 $speed_up_select = generate_internet_speed(@$_GET['speed_up'], 'speed_up'); 
    132 $speed_down_select = generate_internet_speed(@$_GET['speed_down'], 'speed_down'); 
     129$speed_up_select = generate_internet_speed($speed_up, 'speed_up'); 
     130$speed_down_select = generate_internet_speed($speed_down, 'speed_down'); 
    133131 
    134132$template->assign_vars(array( 
    135133        'S_FORM_ACTION' => append_sid('usersearch.php'), 
    136         'USERNAME_VALUE' => @$_GET['username']
     134        'USERNAME_VALUE' => $username
    137135        'CLIENT_SELECT' => $client_select, 
    138136        'REG_DATE_SELECT' => $reg_date_select, 
     
    184182        $names_exc = array(); 
    185183        $names_inc = array(); 
    186         $username = ( isset($_GET['username']) ? trim($_GET['username']) : '' ); 
    187184        $names = explode(' ', $username); 
    188185        if ($names[0] !== '') { 
     
    225222                        $where_is[] = '(' . $name_is . ')'; 
    226223                } 
    227                 $q[] = 'username=' . urlencode(trim($_GET['username'])); 
     224                $q[] = 'username=' . urlencode($username); 
    228225        } 
    229226 
     
    244241                } 
    245242                $where_is[] = $email_is; 
    246                 $q[] = 'em='.urlencode(trim($_GET['em'])); 
    247         } 
    248  
    249  
    250         $class = ( isset($_GET['c']) ? intval($_GET['c']) : 0 ); 
    251         if ($class > 0) { 
    252                 $where_is[] = 'u.class=' . ($class - 3); 
    253                 $q[] = 'c='.($class); 
    254         } 
    255  
    256  
    257         $ip = ( isset($_GET['ip']) ? trim($_GET['ip']) : '' ); 
     243                $q[] = 'em='.urlencode($em); 
     244        } 
     245 
     246 
     247        if ($c > 0) { 
     248                $where_is[] = 'u.class=' . ($c - 3); 
     249                $q[] = 'c='.($c); 
     250        } 
     251 
    258252        if ($ip) { 
    259253                $regex = '/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|\*)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|\*)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|\*)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|\*)/'; 
     
    546540        foreach ( $simple_fields2 AS $get_name => $table_name ) { 
    547541                if ( !empty($_GET[$get_name]) ) { 
    548                         $where_is[] = 'u.' . $table_name . ' = ' . "'" . $db->sql_escape(urldecode($_GET[$get_name])) . "'"; 
     542                        $where_is[] = 'u.' . $table_name . ' = ' . "'" . $db->sql_escape(urldecode($$get_name)) . "'"; 
    549543                        $q[] = $get_name . '=' . $_GET[$get_name]; 
    550544                } 
     
    571565 
    572566       $count_sql = 'SELECT COUNT(' . $distinct . 'u.uid) AS count ' . $from_is . $where; 
    573  
    574567       $result = $db->sql_query($count_sql); 
     568 
    575569 
    576570       $count = ( $arr = $db->sql_fetchrow($result) ) ? intval($arr['count']) : 0 ; 
    577571       $perpage = 30; 
    578        list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, 'usersearch.php?' . $q . '&amp;'); 
     572       list($pagertop, $pagerbottom, $offset, $limit) = pager($perpage, $count, 'usersearch.php?' . $q . '&amp;'); 
    579573 
    580574       $select = ' u.uid, u.name, u.email, u.ip, u.class, u.uploaded, u.downloaded, u.donor, u.enabled, u.warneduntil, u.parked'; 
    581        $query = 'SELECT' . $distinct . $select . $from_is . $where . ' ' . $limit
    582  
    583        $result = $db->sql_query($query); 
     575       $sql = 'SELECT' . $distinct . $select . $from_is . $where
     576 
     577       $result = $db->sql_query_limit($sql, $limit, $offset); 
    584578 
    585579       if ( !($user = $db->sql_fetchrow($result)) ) { 
     
    589583              $template->assign_block_vars('switch_count', array( 
    590584                     'PAGERTOP' => $pagertop, 
    591                      'PAGERBOTTOM' => $pagerbottom, ) 
     585                 'PAGERBOTTOM' => $pagerbottom, ) 
    592586              ); 
    593587 
    594588              do { 
     589                        $seo->set_user_url($user['name'], $user['uid']); 
     590 
    595591                     $template->assign_block_vars('switch_count.results_row', array( 
    596                             'U_USERDETAILS' => append_sid('userdetails.php?id=' . $user['uid']), 
     592                            'U_USERDETAILS' => append_sid($root_path . 'userdetails.php?id=' . $user['uid']), 
    597593                            'ID' => $user['uid'], 
    598594                            'USERNAME' => get_user_class_color($user['class'], $user['name']),