Created
December 30, 2014 14:24
-
-
Save gubi/0e9fcc113f122bec2801 to your computer and use it in GitHub Desktop.
Netexport v8.0 issue
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
onInputData({ | |
"log": { | |
"version": "1.1", | |
"creator": { | |
"name": "Firebug", | |
"version": "2.0" | |
}, | |
"browser": { | |
"name": "Firefox", | |
"version": "34.0" | |
}, | |
"pages": [ | |
{ | |
"startedDateTime": "2014-12-30T15:16:05.476+01:00", | |
"id": "page_2", | |
"title": "Save The Earth - Phyrtual", | |
"pageTimings": { | |
"onContentLoad": 7268, | |
"onLoad": 20442, | |
"comment": "_timeStamps field contains timing data generated using console.timeStamp() method. See Firebug documentation: http://getfirebug.com/wiki/index.php/Console_API", | |
"_timeStamps": [ | |
{ | |
"time": 7268, | |
"label": "Evento 'DOMContentLoaded'" | |
}, | |
{ | |
"time": 20442, | |
"label": "Evento 'load'" | |
} | |
] | |
} | |
} | |
], | |
"entries": [ | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:05.476+01:00", | |
"time": 258, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/project/save-the-earth", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [], | |
"headersSize": 379, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 0, | |
"statusText": "Aborted", | |
"httpVersion": "", | |
"cookies": [], | |
"headers": [], | |
"content": { | |
"mimeType": "", | |
"size": 18053 | |
}, | |
"redirectURL": "", | |
"headersSize": -1, | |
"bodySize": 18053 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 0, | |
"dns": 39, | |
"connect": 54, | |
"send": 0, | |
"wait": 165, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:05.741+01:00", | |
"time": 145, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/project/save-the-earth", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [], | |
"queryString": [], | |
"headersSize": 379, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 0, | |
"statusText": "Aborted", | |
"httpVersion": "", | |
"cookies": [], | |
"headers": [], | |
"content": { | |
"mimeType": "", | |
"size": 18053 | |
}, | |
"redirectURL": "", | |
"headersSize": -1, | |
"bodySize": 18053 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 0, | |
"dns": 91, | |
"connect": 0, | |
"send": 0, | |
"wait": 54, | |
"receive": 0 | |
} | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:05.891+01:00", | |
"time": 2083, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/project/save-the-earth", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 379, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [ | |
{ | |
"name": "SESS7c02ee855825b7d47ff4ec2a5b0aa276", | |
"value": "sinkl94vs7ko66ahjoj02gf1k0", | |
"expires": "2015-01-22T18:49:26.000+01:00", | |
"path": "/" | |
} | |
], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:07 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "text/html; charset=utf-8" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "X-Powered-By", | |
"value": "PHP/5.3.3" | |
}, | |
{ | |
"name": "Set-Cookie", | |
"value": "SESS7c02ee855825b7d47ff4ec2a5b0aa276=sinkl94vs7ko66ahjoj02gf1k0; expires=Thu, 22-Jan-2015 17:49:26 GMT; path=/" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Sun, 19 Nov 1978 05:00:00 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "store, no-cache, must-revalidate, post-check=0, pre-check=0" | |
}, | |
{ | |
"name": "Content-Encoding", | |
"value": "gzip" | |
} | |
], | |
"content": { | |
"mimeType": "text/html", | |
"size": 93565, | |
"text": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"it\" lang=\"it\" dir=\"ltr\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n <meta http-equiv=\"Content-Language\" content=\"it\" />\n <title>Save The Earth - Phyrtual</title>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<meta property=\"og:title\" content=\"Save The Earth\"/>\n<meta property=\"og:image\" content=\"http://phyrtual.org/sites/default/files/imagecache/256/project/1675/logo/save-the-earth.jpg\"/>\n<!--[if IE]><script type=\"text/javascript\" src=\"/sites/all/libraries/soundmanager2/demo/360-player/script/excanvas.js\"></script><![endif]-->\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"Flusso di Contenuti\" href=\"/it/project/save-the-earth/feed\" />\n<meta name=\"revisit-after\" content=\"2 days\" />\n <link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/default/files/css/css_6c302a12c3ee59f1ef460ab22341c4c6.css\" />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"screen\" href=\"/sites/default/files/css/css_42ad0f1f4adaf91d2db92a0e16db955f.css\" />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"print\" href=\"/sites/default/files/css/css_c85ef345e78332bb2af4b70e3f6dc94f.css\" />\n <script type=\"text/javascript\" src=\"/sites/default/files/js/js_a7dcec67b8ffef4c92c235b0eef648a3.js\"></script>\n<script type=\"text/javascript\">\n<!--//--><![CDATA[//><!--\njQuery.extend(Drupal.settings, { \"basePath\": \"/\", \"jcarousel\": { \"carousels\": { \".itu-attachment-thumbs-jcarousel\": { \"scroll\": 1, \"skin\": \"default\", \"selector\": \"..itu-attachment-thumbs-jcarousel\" }, \"jcarousel-dom-1\": { \"view_options\": { \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"project/%/highlights\", \"view_display_id\": \"block_1\", \"view_name\": \"FastKnowledge\", \"jcarousel_dom_id\": 1 }, \"visible\": 1, \"scroll\": 1, \"auto\": 10, \"autoPause\": 1, \"animation\": \"fast\", \"start\": 1, \"easing\": \"swing\", \"skin\": \"default\", \"selector\": \".jcarousel-dom-1\" } }, \"ajaxPath\": \"/it/jcarousel/ajax/views\" }, \"colorbox\": { \"transition\": \"fade\", \"speed\": \"200\", \"opacity\": \"0.80\", \"slideshow\": false, \"slideshowAuto\": false, \"slideshowSpeed\": \"2500\", \"slideshowStart\": \"Start slideshow\", \"slideshowStop\": \"Stop slideshow\", \"current\": \"{current} of {total}\", \"previous\": \"« Prev\", \"next\": \"Next »\", \"close\": \"Close\", \"overlayClose\": true, \"maxWidth\": \"960px\", \"maxHeight\": \"100%\" }, \"fivestar\": { \"titleUser\": \"Il tuo voto: \", \"titleAverage\": \"Media: \", \"feedbackSavingVote\": \"Salvo il tuo voto...\", \"feedbackVoteSaved\": \"Il tuo voto è stato salvato.\", \"feedbackDeletingVote\": \"Deleting your vote...\", \"feedbackVoteDeleted\": \"Your vote has been deleted.\" }, \"googleanalytics\": { \"trackOutgoing\": 1, \"trackMailto\": 1, \"trackDownload\": 1, \"trackDownloadExtensions\": \"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip\" }, \"nodejs\": { \"scheme\": \"http\", \"secure\": 0, \"host\": \"phyrtual.org\", \"port\": \"9998\", \"resource\": \"/socket.io\", \"authToken\": \"69f50ce7931480c541df3841a73195f1\" }, \"spamspan\": { \"m\": \"spamspan\", \"u\": \"u\", \"d\": \"d\", \"h\": \"h\", \"t\": \"t\" }, \"swftools_soundmanager2\": { \"soundManager.url\": \"/sites/all/libraries/soundmanager2/swf/\", \"soundManager.debugMode\": false, \"soundManager.useFlashBlock\": true, \"soundManager.flashVersion\": 8, \"soundManager.useFastPolling\": false, \"soundManager.useHighPerformance\": true, \"threeSixtyPlayer.config.imageRoot\": \"/sites/all/libraries/soundmanager2/demo/360-player/\" }, \"user_relationships_ui\": { \"loadingimage\": \"/it/sites/all/modules/user_relationships/user_relationships_ui/images/loadingAnimation.gif\", \"savingimage\": \"/it/sites/all/modules/user_relationships/user_relationships_ui/images/savingimage.gif\", \"position\": { \"position\": \"absolute\", \"left\": \"0\", \"top\": \"0\" } }, \"facebook_status\": { \"autofocus\": false, \"noautoclear\": false, \"lang_prefix\": \"it/\", \"maxlength\": \"140\", \"refreshLink\": true, \"ttype\": \"textarea\" }, \"themePath\": \"sites/all/themes/phyrtual\", \"viewscarousel\": { \"viewscarousel-phyrtual_dashboard-block_1\": { \"vertical\": 1, \"scroll\": \"3\", \"easing\": \"linear\" } }, \"views\": { \"ajax_path\": [ \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\", \"/it/views/ajax\" ], \"ajaxViews\": [ { \"view_name\": \"phyrtual_dashboard\", \"view_display_id\": \"block_1\", \"view_args\": \"0\", \"view_path\": \"node/1675\", \"view_base_path\": \"dashboard/projects\", \"view_dom_id\": 2, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_toolbar_institution\", \"view_display_id\": \"block_1\", \"view_args\": \"\", \"view_path\": \"node/1675\", \"view_base_path\": null, \"view_dom_id\": 3, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_toolbar_people\", \"view_display_id\": \"block_1\", \"view_args\": \"\", \"view_path\": \"node/1675\", \"view_base_path\": null, \"view_dom_id\": 4, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_toolbar_status\", \"view_display_id\": \"block_1\", \"view_args\": \"\", \"view_path\": \"node/1675\", \"view_base_path\": null, \"view_dom_id\": 5, \"pager_element\": 0 }, { \"view_name\": \"ProfileProjectsCreate\", \"view_display_id\": \"block_1\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"user/%/projects\", \"view_dom_id\": 8, \"pager_element\": 0 }, { \"view_name\": \"ProfileProjectsIPartecipate\", \"view_display_id\": \"block_2\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"user/%/projects/participate\", \"view_dom_id\": 9, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_comments\", \"view_display_id\": \"block_1\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"user/%/comments\", \"view_dom_id\": 10, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_comments\", \"view_display_id\": \"block_2\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"user/%/comments/relationship\", \"view_dom_id\": 11, \"pager_element\": 0 }, { \"view_name\": \"FastKnowledge\", \"view_display_id\": \"block_2\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"project/%/events\", \"view_dom_id\": 13, \"pager_element\": 0 }, { \"view_name\": \"FastKnowledge\", \"view_display_id\": \"block_3\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"project/%/multimedia\", \"view_dom_id\": 14, \"pager_element\": 0 }, { \"view_name\": \"FastKnowledge\", \"view_display_id\": \"block_5\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"project/%/events\", \"view_dom_id\": 16, \"pager_element\": 0 }, { \"view_name\": \"ProjectUpdates\", \"view_display_id\": \"block_1\", \"view_args\": \"1675\", \"view_path\": \"node/1675\", \"view_base_path\": \"project/%/updates\", \"view_dom_id\": 17, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_zone_projects\", \"view_display_id\": \"block_7\", \"view_args\": \"\", \"view_path\": \"node/1074\", \"view_base_path\": null, \"view_dom_id\": 17, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_zone_projects\", \"view_display_id\": \"block_8\", \"view_args\": \"\", \"view_path\": \"node/1074\", \"view_base_path\": null, \"view_dom_id\": 18, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_zone_projects\", \"view_display_id\": \"block_9\", \"view_args\": \"\", \"view_path\": \"node/1074\", \"view_base_path\": null, \"view_dom_id\": 19, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_zone_projects\", \"view_display_id\": \"block_10\", \"view_args\": \"\", \"view_path\": \"node/1074\", \"view_base_path\": null, \"view_dom_id\": 20, \"pager_element\": 0 }, { \"view_name\": \"phyrtual_zone_projects\", \"view_display_id\": \"block_6\", \"view_args\": \"\", \"view_path\": \"node/1074\", \"view_base_path\": null, \"view_dom_id\": 21, \"pager_element\": 0 } ] }, \"quicktabs\": { \"qt_9\": { \"tabs\": [ 0, 0 ] }, \"qt_10\": { \"tabs\": [ 0, 0 ] }, \"qt_12\": { \"tabs\": [ 0, 0 ] }, \"qt_2\": { \"tabs\": [ 0, 0, 0, 0, 0 ] }, \"qt_5\": { \"tabs\": [ 0, 0, 0 ] } }, \"og\": { \"group_context\": { \"nid\": \"1675\", \"title\": \"Save The Earth\", \"type\": \"project\" } } });\n//--><!]]>\n</script>\n<script type=\"text/javascript\">\n<!--//--><![CDATA[//><!--\n//--><!]]>\n</script>\n<script type=\"text/javascript\" src=\"http://phyrtual.org:9998/socket.io/socket.io.js\"></script>\n<script type=\"text/javascript\">\n<!--//--><![CDATA[//><!--]]\n//--><!]]>\n</script>\n <!--[if lte IE 7]><link href=\"/sites/all/themes/phyrtual/css/ie7.css\" rel=\"stylesheet\" type=\"text/css\" media=\"screen, projection\" /><![endif]-->\n<!--[if lte IE 6]><link href=\"/sites/all/themes/phyrtual/css/ie6.css\" rel=\"stylesheet\" type=\"text/css\" media=\"screen, projection\" /><![endif]-->\n<!--[if lt IE 9]><script src=\"http://html5shiv.googlecode.com/svn/trunk/html5.js\"></script><![endif]--> <script type=\"text/javascript\">\n $.extend({\n error: function( msg ) { throw msg; },\n parseJSON: function( data ) {\n if ( typeof data !== \"string\" || !data ) {\n return null;\n }\n data = jQuery.trim( data );\n if ( /^[\\],:{}\\s]*$/.test(data.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, \"@\")\n .replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, \"]\")\n .replace(/(?:^|:|,)(?:\\s*\\[)+/g, \"\")) ) {\n return window.JSON && window.JSON.parse ?\n window.JSON.parse( data ) :\n (new Function(\"return \" + data))();\n } else {\n jQuery.error( \"Invalid JSON: \" + data );\n }\n }\n });\n try {\n jQuery('#drupalchat .subpanel .chatboxcontent').css(\"overflow-y\",\"auto\");\n } catch(e) {}\n </script>\n</head>\n<body id=\"phyrtual\" class=\"not-front not-logged-in page-node node-type-project no-sidebars og-context og-context-1675 it uri-node uri-node-1675 i18n-it\">\n <div id=\"page\" class=\"smart-page-body\">\n\n <div id=\"smart-page-header\">\n\n <div class=\"smart-page-header-language-toolbar-wrapper\">\n <div class=\"smart-page-header-row language-toolbar\">\n <div class=\"right-block\">\n\n <table>\n <tr>\n <td class=\"languages-label\">Lingue: </td>\n <td class=\"languages-box\"><div id=\"block-locale-0\" class=\"block block-locale clear-block\">\r\n <div class=\"block-content\">\r\n <ul><li class=\"en first\"><a href=\"/en/project/save-the-earth\" class=\"language-link\"><img src=\"/sites/all/modules/languageicons/flags/en.png\" alt=\"English\" title=\"English\" class=\"language-icon\" width=\"16\" height=\"12\" /> English</a></li>\n<li class=\"it active\"><a href=\"/it/project/save-the-earth\" class=\"language-link active\"><img src=\"/sites/all/modules/languageicons/flags/it.png\" alt=\"Italiano\" title=\"Italiano\" class=\"language-icon\" width=\"16\" height=\"12\" /> Italiano</a></li>\n<li class=\"pt-br\"><a href=\"/pt-br/project/save-the-earth\" class=\"language-link\"><img src=\"/sites/all/modules/languageicons/flags/pt-br.png\" alt=\"Português\" title=\"Português\" class=\"language-icon\" width=\"16\" height=\"12\" /> Português</a></li>\n<li class=\"es\"><a href=\"/es/project/save-the-earth\" class=\"language-link\"><img src=\"/sites/all/modules/languageicons/flags/es.png\" alt=\"Español\" title=\"Español\" class=\"language-icon\" width=\"16\" height=\"12\" /> Español</a></li>\n<li class=\"fr\"><a href=\"/fr/project/save-the-earth\" class=\"language-link\"><img src=\"/sites/all/modules/languageicons/flags/fr.png\" alt=\"Français\" title=\"Français\" class=\"language-icon\" width=\"16\" height=\"12\" /> Français</a></li>\n<li class=\"el last\"><a href=\"/el/project/save-the-earth\" class=\"language-link\"><img src=\"/sites/all/modules/languageicons/flags/el.png\" alt=\"Ελληνικά\" title=\"Ελληνικά\" class=\"language-icon\" width=\"16\" height=\"12\" /> Ελληνικά</a></li>\n</ul> </div>\r\n</div></td>\n <td class=\"google-translator-box\">\n <div id=\"google_translate_element_wrapper\">\n <div id=\"google_translate_element\"></div>\n </div>\n </td>\n <td class=\"search-label\">\n <div class=\"search-label-inner\">\n Cerca: </div>\n </td>\n <td class=\"search-box\">\n <form method=\"post\" action=\"/it/search\">\n <div class=\"field\">\n <input class=\"searchInput\" type=\"text\" value=\"\" name=\"sq\" />\n <input class=\"button\" type=\"submit\" value=\"\" />\n </div>\n </form>\n </td>\n </tr>\n </table>\n </div>\n <div class=\"left-block\"></div>\n </div>\n </div>\n\n <div class=\"smart-page-header-row login-toolbar\">\n <div class=\"right-block\">\n\n <table>\n <tr>\n <td>\n <div><a href=\"/it/user/password\" title=\"Richiedi una nuova password tramite e-mail.\" class=\"forgotten-password tooltip popups-form\">Password dimenticata?</a></div> </td>\n </tr>\n <tr>\n <td>\n <ul>\n <li><a href=\"/it/user\" title=\"Divertiti con Phyrtual.com\" class=\"smart-button-orange button-login login tooltip popups-form\">Accedi</a></li><li><a href=\"/it/user/register\" title=\"Crea un nuovo profilo utente.\" class=\"smart-button-orange button-login signup join tooltip\">Iscriviti!</a></li> </ul>\n </td>\n </tr>\n </table>\n\n </div>\n <div class=\"left-block\">\n <table>\n <tr>\n <td>\n <a href=\"/it\"></a>\n </td>\n <td>\n <div class=\"text-block-wrapper\">\n <div class=\"text-block\">\n Arricchire la vita delle persone attraverso l'innovazione sociale basata sulla conoscenza, l'arte, la solidarietà e il community building. </div>\n </div>\n </td>\n </tr>\n </table>\n </div>\n </div>\n\n <div class=\"smart-page-header-row maintabs-toolbar\">\n <table>\n <tr>\n <td class=\"what-is-phyrtual\"><a href=\"/it/pages/presentation\">Cos'è Phyrtual?</a></td>\n <td class=\"create-a-project\"><a href=\"/it/node/add/project\">Crea un progetto</a></td>\n <td class=\"support-a-project\"><a href=\"/it/search/open-fundings\">Aiuta un progetto</a></td>\n <!--\n <td class=\"follow-a-project\"><a href=\"/it/search/fundings\">Segui un progetto</a></td>\n -->\n <td class=\"follow-a-project\"><a href=\"/it/search/projects\">Segui un progetto</a></td>\n </tr>\n </table>\n </div>\n\n </div>\n\n <!--\n <div id=\"toolbar-top\"></div>\n <div id=\"toolbar\">\n <div class=\"inner\">\n </div>\n </div>\n -->\n\n \n <div id=\"main\">\n <div class=\"inner\">\n <div id=\"content\">\n <div class=\"content\">\n \r\n <div class=\"project-top\">\r\n <div class=\"project-header\"><div class=\"project-logo\"><a class=\"title\" href=\"/it/project/save-the-earth\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/128/project/1675/logo/save-the-earth.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-128\" width=\"128\" height=\"72\" /></a><a class=\"title-icon concept\" href=\"/it/project/save-the-earth/concept\" title=\"Il progetto in breve\"><span>i</span></a><a class=\"title-icon graph\" href=\"/it/project/save-the-earth/graph\" title=\"Genealogia\"><span>g</span></a></div><div class=\"project-title\"><div class=\"project-tools\">\n<ul class=\"tabs\">\n <li><a href=\"/it/project/save-the-earth/share\" title=\"Embed this project into your website\" id=\"share-project-link\" class=\"tooltip\">Widget</a></li>\n <li><a href=\"https://www.facebook.com/sharer/sharer.php?u=http://phyrtual.org/project/save-the-earth\" title=\"Condividi il progetto su Facebook\" id=\"share-project-on-facebook-link\" class=\"tooltip\" target=\"_blank\">Condividi</a></li>\n \n</ul>\n</div><h1><a class=\"title\" title=\"Save The Earth (1675)\" href=\"/it/project/save-the-earth\">Save The Earth</a><span class=\"project-access\" style=\"color:#2f2\">•</span><span class=\"user-count\">( 9 members )</span> <a class=\"permalink\" style=\"color:#888\" href=\"http://phyrtual.org/itc\" title=\"\">• Shortlink</a> </h1><h2><a class=\"category father\" href=\"/it/search/projects?thematic-area=1472\">Animals</a> <span class=\"sepa\">></span> <a class=\"category\" href=\"/it/search/projects?thematic-area=1492\">Animal Welfare</a></h2><span class=\"project-location\"></span><p class=\"project-description\">an amazing way to discover and defend our wonderful planet</p><div class=\"project-links\"><ul class=\"tabs interact\"><li><a class=\"popups-form\" href=\"/it/user/login?destination=og/subscribe/1675\">Login & Iscrizione</a></li></ul></div></div></div> <div class=\"project-top-left\">\r\n <h2>In primo piano</h2>\r\n <div id=\"block-quicktabs-2\" class=\"block block-quicktabs clear-block\">\r\n <div class=\"block-content\">\r\n <div id=\"quicktabs-2\" class=\"quicktabs_wrapper quicktabs-style-fastknowledge\"><ul class=\"quicktabs_tabs quicktabs-style-fastknowledge\"><li class=\"qtab-0 active first\"><a href=\"/it/project/save-the-earth?quicktabs_2=0#quicktabs-2\" id=\"quicktabs-tab-2-0\" class=\"qt_tab active\">Highlights</a></li><li class=\"qtab-1\"><a href=\"/it/project/save-the-earth?quicktabs_2=1#quicktabs-2\" id=\"quicktabs-tab-2-1\" class=\"qt_tab active\">News</a></li><li class=\"qtab-2\"><a href=\"/it/project/save-the-earth?quicktabs_2=2#quicktabs-2\" id=\"quicktabs-tab-2-2\" class=\"qt_tab active\">Multimedia</a></li><li class=\"qtab-3\"><a href=\"/it/project/save-the-earth?quicktabs_2=3#quicktabs-2\" id=\"quicktabs-tab-2-3\" class=\"qt_tab active\">Polls</a></li><li class=\"qtab-4 last\"><a href=\"/it/project/save-the-earth?quicktabs_2=4#quicktabs-2\" id=\"quicktabs-tab-2-4\" class=\"qt_tab active\">Events</a></li></ul><div id=\"quicktabs_container_2\" class=\"quicktabs_main quicktabs-style-fastknowledge\"><div id=\"quicktabs_tabpage_2_0\" class=\"quicktabs_tabpage\"><div class=\"view view-FastKnowledge view-id-FastKnowledge view-display-id-block_1 view-dom-id-12\">\r\n \r\n \r\n \r\n <div class=\"view-content\">\r\n <ul class=\"jcarousel jcarousel-view--FastKnowledge--block-1 jcarousel-dom-1\">\r\n <li class=\"jcarousel-item-1 odd\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/german-shepherds-against-poachers\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/black-and-red-training-german-shepherd-puppy-images.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/german-shepherds-against-poachers\">German Shepherds against poachers.</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">Illegal trade of ivory or the poaching activity in Africa for the sale of mamal preacious leather dramas is still a reality.\nThus, since 2011, the Big Life Foundation decided to adopt four German...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-2 even\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/asian-pollution-hits-hard-north-american-climate\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/454414567-78654-990x742.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/asian-pollution-hits-hard-north-american-climate\">Asian pollution hits hard North American climate</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">The great financial development which is bringing forward the Oriental countries, e.g China, is producing high amounts of smog released into the atmosphere, exactly like a big black cloud which is...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-3 odd\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/ebola-s-case-victims-number-could-increase-a-lot\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/virus-ebola.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/ebola-s-case-victims-number-could-increase-a-lot\">Ebola's Case: Victims number could increase...</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">Ebola epidemic which has burst Africa since the August of this year could rafforce itself and spread to more than a million people during the next mouths, according U.S. Centers for Desease Control...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-4 even\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/the-whole-structure-of-spinosaurus\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/spinosaurus-skeleton.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/the-whole-structure-of-spinosaurus\">The Whole structure of Spinosaurus.</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">The fossil bones found between sandstones in Moroccan Sahara belonged to the Spinosaurus aegyptiacus. All these bone pieces are being joined togheter to obtain the most complete dinosaur's structure...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-5 odd\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/video/biogeochemical-cycles-part-4-phosphorus-cycle\" class=\"imagecache video video-nodelink video-field_video_file\"><img width=\"640\" height=\"384\" alt=\"\" src=\"http://phyrtual.org/sites/default/files/imagecache/carouselshare/video_thumbs/5410/video-thumb-for-5410-1.jpg\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/video/biogeochemical-cycles-part-4-phosphorus-cycle\">Biogeochemical Cycles part 4- phosphorus cycle</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">The last biogeochemical cycle is finally finished. Any else request? </span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-6 even\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/alien-technology-in-medical-surgery\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/2d0hmw0.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/alien-technology-in-medical-surgery\">Alien technology in medical surgery</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">Every films, comics or books which talk about alien's invasion on Earth displayed the famous \"tracton beam\", used by UFO spacecrafts to kidnap the poor humans.\nNot many people are aware, but for some...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-7 odd\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/a-breath-of-oxygen-for-amazon\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/amazon-rainforest-hero.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/a-breath-of-oxygen-for-amazon\">A breath of oxygen for Amazon</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">A real miracle took place in the last decade, and just now the findings of the Brazil's operation can be shown.\nAccording a Dan Nepstad's research, who comes from the Earth Innovation Institute (USA...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-8 even\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/operation-save-the-chamois\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/camoscio.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/operation-save-the-chamois\">Operation "Save the chamois"</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">Appennine Chamois live only in Italy and it is know by the experts as the \"most beautiful chamois in the world\".\nA recent rescue plan performed by Abruzzo region with all the five protect areas of...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-9 odd\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/that-big-plastic-continent-in-our-earth\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/big-391692-9494-08-web-07-endstation-meer.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/that-big-plastic-continent-in-our-earth\">That big plastic continent in our Earth.</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">When the first map of Ocean plastic garbage was created, marine ecologists was astonished and baffled. \nThe Spanish marine ecologist Andres Cozar Cabanas ( \"Cabanas\" written with tilde) and a...</span>\n</div>\n</li>\r\n <li class=\"jcarousel-item-10 even\"><div class=\"views-field-photo\">\n <span class=\"field-content\">\n <a href=\"/it/project/1675/news/the-lethal-botulinum-toxins-discovedered-the-mechanisms\" class=\"imagecache imagecache-carouselshare imagecache-linked imagecache-carouselshare_linked\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/botulino2.jpg\" alt=\"\" title=\"\" class=\"imagecache imagecache-carouselshare\" width=\"640\" height=\"384\" /></a> </span>\n</div>\n\n<div class=\"views-field-title\">\n <span class=\"field-content\"><a href=\"/it/project/1675/news/the-lethal-botulinum-toxins-discovedered-the-mechanisms\">The lethal botulinum toxins: discovedered the...</a></span>\n</div>\n\n<div class=\"views-field-body\">\n <span class=\"field-content\">Researchers at Harvard Medical School have just discovered the molecular mechanisms by wich the botulinum toxins is able to avoid gastrointestinal apparatus destruction and attack our nervous system...</span>\n</div>\n</li>\r\n </ul>\r\n </div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n</div> </div><div id=\"quicktabs_tabpage_2_1\" class=\"quicktabs_tabpage quicktabs-hide\"><div class=\"view view-FastKnowledge view-id-FastKnowledge view-display-id-block_2 view-dom-id-13\">\r\n \r\n \r\n \r\n <div class=\"view-content\">\r\n <div class=\"item-list\">\r\n <ul>\r\n <li class=\"views-row views-row-1 views-row-odd views-row-first\"> \r\n <div class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/german-shepherds-against-poachers\">German Shepherds against poachers.</a></span>\r\n </div>\r\n \r\n <div class=\"views-field-created\">\r\n <span class=\"field-content\">24 novembre 2014</span>\r\n </div>\r\n \r\n <div class=\"views-field-field-news-photo-fid\">\r\n <span class=\"field-content\"><a href=\"http://phyrtual.org/sites/default/files/project/1675/news/black-and-red-training-german-shepherd-puppy-images.jpg\" title=\"German Shepherds against poachers.\" class=\"colorbox imagefield imagefield-imagelink imagefield-field_news_photo\" rel=\"gallery-2878\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/60x60/project/1675/news/black-and-red-training-german-shepherd-puppy-images.jpg\" alt=\"\" title=\"German Shepherds against poachers.\" class=\"imagecache imagecache-60x60\" width=\"60\" height=\"60\" /></a></span>\r\n </div>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">Illegal trade of ivory or the poaching activity in Africa for the sale of mamal preacious leather dramas is still a reality.\nThus, since 2011, the Big Life Foundation decided to adopt four German Shepherds in order to counteract poaching activity in Tanzania. These German Shepherds come from a...</span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-2 views-row-even\"> \r\n <div class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/asian-pollution-hits-hard-north-american-climate\">Asian pollution hits hard North American climate</a></span>\r\n </div>\r\n \r\n <div class=\"views-field-created\">\r\n <span class=\"field-content\">27 ottobre 2014</span>\r\n </div>\r\n \r\n <div class=\"views-field-field-news-photo-fid\">\r\n <span class=\"field-content\"><a href=\"http://phyrtual.org/sites/default/files/project/1675/news/454414567-78654-990x742.jpg\" title=\"Asian pollution hits hard North American climate\" class=\"colorbox imagefield imagefield-imagelink imagefield-field_news_photo\" rel=\"gallery-2857\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/60x60/project/1675/news/454414567-78654-990x742.jpg\" alt=\"\" title=\"Asian pollution hits hard North American climate\" class=\"imagecache imagecache-60x60\" width=\"60\" height=\"60\" /></a></span>\r\n </div>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">The great financial development which is bringing forward the Oriental countries, e.g China, is producing high amounts of smog released into the atmosphere, exactly like a big black cloud which is keeping on mouving to North America.\nAsian pollution is leading stronger cyclones through the Pacific...</span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-3 views-row-odd\"> \r\n <div class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/ebola-s-case-victims-number-could-increase-a-lot\">Ebola's Case: Victims number could increase...</a></span>\r\n </div>\r\n \r\n <div class=\"views-field-created\">\r\n <span class=\"field-content\">24 settembre 2014</span>\r\n </div>\r\n \r\n <div class=\"views-field-field-news-photo-fid\">\r\n <span class=\"field-content\"><a href=\"http://phyrtual.org/sites/default/files/project/1675/news/virus-ebola.jpg\" title=\"Ebola's Case: Victims number could increase a lot.\" class=\"colorbox imagefield imagefield-imagelink imagefield-field_news_photo\" rel=\"gallery-2840\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/60x60/project/1675/news/virus-ebola.jpg\" alt=\"\" title=\"Ebola's Case: Victims number could increase a lot.\" class=\"imagecache imagecache-60x60\" width=\"60\" height=\"60\" /></a></span>\r\n </div>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">Ebola epidemic which has burst Africa since the August of this year could rafforce itself and spread to more than a million people during the next mouths, according U.S. Centers for Desease Control and Prevention ( CDC) data.\nIn January 2015, about 1,4 million of people in West Africa arre going to...</span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-4 views-row-even\"> \r\n <div class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/the-whole-structure-of-spinosaurus\">The Whole structure of Spinosaurus.</a></span>\r\n </div>\r\n \r\n <div class=\"views-field-created\">\r\n <span class=\"field-content\">11 settembre 2014</span>\r\n </div>\r\n \r\n <div class=\"views-field-field-news-photo-fid\">\r\n <span class=\"field-content\"><a href=\"http://phyrtual.org/sites/default/files/project/1675/news/spinosaurus-skeleton.jpg\" title=\"The Whole structure of Spinosaurus.\" class=\"colorbox imagefield imagefield-imagelink imagefield-field_news_photo\" rel=\"gallery-2827\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/60x60/project/1675/news/spinosaurus-skeleton.jpg\" alt=\"\" title=\"The Whole structure of Spinosaurus.\" class=\"imagecache imagecache-60x60\" width=\"60\" height=\"60\" /></a></span>\r\n </div>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">The fossil bones found between sandstones in Moroccan Sahara belonged to the Spinosaurus aegyptiacus. All these bone pieces are being joined togheter to obtain the most complete dinosaur's structure ever seen, competed of skull, claws and bones which compose the sail on its back.\nAccording to the...</span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-5 views-row-odd views-row-last\"> \r\n <div class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/alien-technology-in-medical-surgery\">Alien technology in medical surgery</a></span>\r\n </div>\r\n \r\n <div class=\"views-field-created\">\r\n <span class=\"field-content\">6 agosto 2014</span>\r\n </div>\r\n \r\n <div class=\"views-field-field-news-photo-fid\">\r\n <span class=\"field-content\"><a href=\"http://phyrtual.org/sites/default/files/project/1675/news/2d0hmw0.jpg\" title=\"Alien technology in medical surgery\" class=\"colorbox imagefield imagefield-imagelink imagefield-field_news_photo\" rel=\"gallery-2823\"><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/60x60/project/1675/news/2d0hmw0.jpg\" alt=\"\" title=\"Alien technology in medical surgery\" class=\"imagecache imagecache-60x60\" width=\"60\" height=\"60\" /></a></span>\r\n </div>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">Every films, comics or books which talk about alien's invasion on Earth displayed the famous \"tracton beam\", used by UFO spacecrafts to kidnap the poor humans.\nNot many people are aware, but for some years ago, it's been known that the light ( especially laser ray) may attract microscopic amounts...</span>\r\n </div>\r\n</li>\r\n </ul>\r\n</div> </div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n</div> </div><div id=\"quicktabs_tabpage_2_2\" class=\"quicktabs_tabpage quicktabs-hide\"><div class=\"view view-FastKnowledge view-id-FastKnowledge view-display-id-block_3 view-dom-id-14\">\r\n \r\n \r\n \r\n <div class=\"view-content\">\r\n <div class=\"item-list\">\r\n <ul>\r\n <li class=\"views-row views-row-1 views-row-odd views-row-first\"> \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/wonders-around-the-world12\">Wonders around the world...12</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">24 novembre 2014</span>\r\n </span>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">Palouse's waterfall ( Washington, USA) are classified as one of the most amazing waterfall in all Amrican continent. They're higher than Niagara waterfalls, by reaching the 60 meters height.</span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-2 views-row-even\"> \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/the-human-body8\">The Human Body...8</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">31 agosto 2014</span>\r\n </span>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">This tissue pattern shows the pancreatic duct ( the central hole) surrounded by a cuboidal epithelium. The pancreas produces and sets free digestive enzymes into the bile duct, through the pancreatic...</span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-3 views-row-odd\"> \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Video</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/video/biogeochemical-cycles-part-4-phosphorus-cycle\">Biogeochemical Cycles part 4- phosphorus cycle</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">8 agosto 2014</span>\r\n </span>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">The last biogeochemical cycle is finally finished. Any else request? </span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-4 views-row-even\"> \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/the-phosphorus-periodic-element-n%C2%B015\">The Phosphorus ( Periodic Element N°15)</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">11 ottobre 2013</span>\r\n </span>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">PHOSPHORUS\n ( from the Greek world \"phosphoros\", which brings the light)\nSYMBOL: P\nATOMIC NUMBER: 15\nMOLAR MASS (g/mol): 30,97\nNORMAL STATE: solid\nDENSITY ( g*cm-3): 1,82\nMELTING POINT ( °C): 44...</span>\r\n </div>\r\n</li>\r\n <li class=\"views-row views-row-5 views-row-odd views-row-last\"> \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/the-chlorine-periodic-element-n%C2%B0-17\">The Chlorine ( periodic element N° 17)</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">6 agosto 2014</span>\r\n </span>\r\n \r\n <div class=\"views-field-body\">\r\n <span class=\"field-content\">CHLORINE\n( from the Greek \"chloros\"= yellow-greenish)\nSYMBOL: Cl\nATOMIC NUMBER: 17\nMOLAR MASS ( g\\mol): 35,45\nNORMAL STATE: gaseous \nDENSITY ( g*cm-3): 1,66\nMELTING POINT ( °C): -101\nBOILING...</span>\r\n </div>\r\n</li>\r\n </ul>\r\n</div> </div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n</div> </div><div id=\"quicktabs_tabpage_2_3\" class=\"quicktabs_tabpage quicktabs-hide\"><div class=\"view view-FastKnowledge view-id-FastKnowledge view-display-id-block_4 view-dom-id-15\">\r\n \r\n \r\n \r\n <div class=\"view-empty\">\r\n No contents available yet!\n </div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n</div> </div><div id=\"quicktabs_tabpage_2_4\" class=\"quicktabs_tabpage quicktabs-hide\"><div class=\"view view-FastKnowledge view-id-FastKnowledge view-display-id-block_5 view-dom-id-16\">\r\n \r\n \r\n \r\n <div class=\"view-empty\">\r\n No contents available yet!\n </div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n</div> </div></div></div> </div>\r\n</div><div id=\"block-views-ProjectUpdates-block_1\" class=\"block block-views clear-block\">\r\n <h2>Attività</h2>\r\n <div class=\"block-content\">\r\n <div class=\"view view-ProjectUpdates view-id-ProjectUpdates view-display-id-block_1 view-dom-id-17\">\r\n <div class=\"view-header\">\r\n <a href=\"/it/project/save-the-earth/feed\" title=\"Save The Earth\" class=\"feed feed-icon\"><span class=\"text\">Save The Earth Activities Feed</span></a> </div>\r\n \r\n \r\n \r\n <div class=\"view-content\">\r\n <div class=\"views-row views-row-1 views-row-odd views-row-first\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/german-shepherds-against-poachers\">German Shepherds against poachers.</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">5 settimane 1 giorno</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-2 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/wonders-around-the-world12\">Wonders around the world...12</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">5 settimane 1 giorno</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-3 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/asian-pollution-hits-hard-north-american-climate\">Asian pollution hits hard North American climate</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">9 settimane 1 giorno</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-4 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Caso di Studio / Stile Libero</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/case-study-free-style/molecular-biology\">molecular biology</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">11 settimane 6 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-5 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/ebola-s-case-victims-number-could-increase-a-lot\">Ebola's Case: Victims number could increase a lot.</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">13 settimane 6 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-6 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/the-whole-structure-of-spinosaurus\">The Whole structure of Spinosaurus.</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">15 settimane 4 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-7 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/the-human-body8\">The Human Body...8</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">17 settimane 1 giorno</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-8 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Video</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/video/biogeochemical-cycles-part-4-phosphorus-cycle\">Biogeochemical Cycles part 4- phosphorus cycle</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">20 settimane 3 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-9 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/the-chlorine-periodic-element-n%C2%B0-17\">The Chlorine ( periodic element N° 17)</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">20 settimane 5 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-10 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/alien-technology-in-medical-surgery\">Alien technology in medical surgery</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">20 settimane 5 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-11 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/a-breath-of-oxygen-for-amazon\">A breath of oxygen for Amazon</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">20 settimane 5 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-12 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/animal-of-the-week28\">Animal of the Week...28</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">22 settimane 4 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-13 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/operation-save-the-chamois\">Operation "Save the chamois"</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">22 settimane 4 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-14 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/that-big-plastic-continent-in-our-earth\">That big plastic continent in our Earth.</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">23 settimane 5 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-15 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/the-lethal-botulinum-toxins-discovedered-the-mechanisms\">The lethal botulinum toxins: discovedered the mechanisms.</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">26 settimane 4 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-16 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/closer-encounter11\">Closer Encounter...11</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">26 settimane 4 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-17 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/the-human-body7\">The Human Body...7</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">28 settimane 6 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-18 views-row-even\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Foto</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/multimedia/photo/the-human-body6\">The Human Body...6</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">28 settimane 6 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-19 views-row-odd\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/a-synthetic-genome-for-escherichia-coli\">A synthetic genome for Escherichia Coli.</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">33 settimane 3 giorni</span>\r\n </span>\r\n </div>\r\n <div class=\"views-row views-row-20 views-row-even views-row-last\">\r\n \r\n <span class=\"views-field-type\">\r\n <span class=\"field-content\">Notizie</span>\r\n </span>\r\n \r\n <span class=\"views-field-title\">\r\n <span class=\"field-content\"><a href=\"/it/project/1675/news/the-secret-of-cell-reprogramming-is-in-lizards\">The secret of cell reprogramming is in lizards.</a></span>\r\n </span>\r\n \r\n <span class=\"views-field-created\">\r\n <span class=\"field-content\">33 settimane 3 giorni</span>\r\n </span>\r\n </div>\r\n </div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n</div> </div>\r\n</div> </div>\r\n <div class=\"project-top-right\">\r\n <div id=\"block-block-9\" class=\"block block-block clear-block\">\r\n <div class=\"block-content\">\r\n <span class=\"tot_count hidden\">102</span><span class=\"tot_count hidden\">102</span><span class=\"tot_count hidden\">102</span><span class=\"tot_count hidden\">102</span><span class=\"tot_count hidden\">102</span>\n <div class=\"project-menu-combined-empty\">\n <h2><a href=\"/it/project/save-the-earth/concept\">Il progetto in breve</a></h2>\n <div class=\"conceptBody\">\n Nature is is something of extraordinary, adjusted by flimsy and precises Laws which human activity is being destroying them, with the disappearance of many living organisms. This web-corner has been created to sensitize you in order to take with heart ...<br/><a href=\"/it/project/save-the-earth/concept\">Leggi tutto ››</a>\n </div>\n </div><div class=\"project-menu-combined\"><h2>Strumenti</h2><div class=\"tools items-list\"><ul class=\"menu\"><li><a href=\"http://www.skype.com\" absolute=\"1\" target=\"_blank\">Skype</a></li><li><a href=\"http://cmap.ihmc.us\" absolute=\"1\" target=\"_blank\">cMap</a></li></ul></div><h2>Conoscenza veloce</h2><div class=\"fast-knowledge items-list\"><ul class=\"menu\"><li class=\"highlights\"><a href=\"/it/project/1675/highlights\">In primo piano <span class=\"menu-count\">(34)</span> </a></li><li class=\"news\"><a href=\"/it/project/1675/news\">Notizie <span class=\"menu-count\">(64)</span> </a></li><li class=\"multimedia\"><a href=\"/it/project/1675/multimedia\">Multimedia <span class=\"menu-count\">(130)</span> </a></li></ul></div><h2>Conoscenza approfondita</h2><div class=\"deep-knowledge items-list\"><ul class=\"menu\"><li class=\"development-plans\"><a href=\"/it/project/1675/development-plans\">Piani di Sviluppo <span class=\"menu-count\">(1)</span> </a></li><li class=\"case-studies\"><a href=\"/it/project/1675/case-studies\">Casi Studio <span class=\"menu-count\">(10)</span> </a></li></ul></div></div> </div>\r\n</div><div id=\"block-quicktabs-5\" class=\"block block-quicktabs clear-block\">\r\n <div class=\"block-content\">\r\n <div id=\"quicktabs-5\" class=\"quicktabs_wrapper quicktabs-style-zen\"><ul class=\"quicktabs_tabs quicktabs-style-zen\"><li class=\"qtab-0 active first\"><a href=\"/it/project/save-the-earth?quicktabs_5=0#quicktabs-5\" id=\"quicktabs-tab-5-0\" class=\"qt_tab active\">Persone</a></li><li class=\"qtab-1\"><a href=\"/it/project/save-the-earth?quicktabs_5=1#quicktabs-5\" id=\"quicktabs-tab-5-1\" class=\"qt_tab active\">Istituzioni</a></li><li class=\"qtab-2 last\"><a href=\"/it/project/save-the-earth?quicktabs_5=2#quicktabs-5\" id=\"quicktabs-tab-5-2\" class=\"qt_tab active\">Progetti</a></li></ul><div id=\"quicktabs_container_5\" class=\"quicktabs_main quicktabs-style-zen\"><div id=\"quicktabs_tabpage_5_0\" class=\"quicktabs_tabpage\"><div id=\"block-phyrtual_project-1\" class=\"block block-phyrtual_project clear-block\">\r\n <div class=\"block-content\">\r\n <ul class=\"user-list user-list-people\"><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-211.jpg\" alt=\"Mattia Cola\" title=\"Mattia Cola\" class=\"user-picture\" width=\"32\" height=\"32\" /></li><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-12.jpg\" alt=\"Elisa Amorelli\" title=\"Elisa Amorelli\" class=\"user-picture\" width=\"32\" height=\"32\" /></li><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-154.jpg\" alt=\"Alfonso Molina\" title=\"Alfonso Molina\" class=\"user-picture\" width=\"32\" height=\"32\" /></li><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-160.jpg\" alt=\"Francesco Fagnini\" title=\"Francesco Fagnini\" class=\"user-picture\" width=\"32\" height=\"32\" /></li><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-27.jpg\" alt=\"Cecilia Stajano\" title=\"Cecilia Stajano\" class=\"user-picture\" width=\"32\" height=\"32\" /></li></ul> </div>\r\n</div></div><div id=\"quicktabs_tabpage_5_1\" class=\"quicktabs_tabpage quicktabs-hide\"><div id=\"block-phyrtual_project-2\" class=\"block block-phyrtual_project clear-block\">\r\n <div class=\"block-content\">\r\n <ul class=\"user-list user-list-institution\"><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-446.jpg\" alt=\"C.S.A. Serpentara\" title=\"C.S.A. Serpentara\" class=\"user-picture\" width=\"32\" height=\"32\" /></li><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-448.jpg\" alt=\"C.S.A. Pullino\" title=\"C.S.A. Pullino\" class=\"user-picture\" width=\"32\" height=\"32\" /></li><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-447.jpg\" alt=\"C.S.A. Ostialido\" title=\"C.S.A. Ostialido\" class=\"user-picture\" width=\"32\" height=\"32\" /></li><li><img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-442.jpg\" alt=\"csatestaccio\" title=\"csatestaccio\" class=\"user-picture\" width=\"32\" height=\"32\" /></li></ul> </div>\r\n</div></div><div id=\"quicktabs_tabpage_5_2\" class=\"quicktabs_tabpage quicktabs-hide\"><div id=\"block-phyrtual_project-0\" class=\"block block-phyrtual_project clear-block\">\r\n <div class=\"block-content\">\r\n <span class=\"empty-block-text\">Questo Progetto non ha Progetti figli.</span> </div>\r\n</div></div></div></div> </div>\r\n</div> </div>\r\n </div>\r\n <div class=\"project-bottom\">\r\n <div class=\"project-community\" style=\"clear:both;\">\r\n \r\n</div>\r\n<h2>Commenti</h2>\n<div id=\"comments\">\n <a id=\"comment-3316\"></a>\n<div class=\"comment comment comment-published clear-block\">\r\n <div class=\"comment-left\">\r\n <div class=\"picture\"><div class=\"picture\">\n <img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/sites/all/themes/phyrtual/images/profile/default-picture.png?1419948967\" alt=\"Ritratto di Anonymous\" title=\"Ritratto di Anonymous\" class=\"imagecache imagecache-32x32\" width=\"32\" height=\"32\" /></div>\n</div>\r\n </div>\r\n <div class=\"comment-right\">\r\n <div class=\"author\"><strong>Anonymous</strong></div>\r\n <div class=\"date\">Sab, 27/12/2014 - 09:18</div>\r\n <div class=\"text\"></div>\r\n <div class=\"links button\"><ul class=\"links\"><li class=\"comment_forbidden first last\"></li>\n</ul></div>\r\n </div>\r\n</div><a id=\"comment-3114\"></a>\n<div class=\"comment comment comment-published clear-block\">\r\n <div class=\"comment-left\">\r\n <div class=\"picture\"><div class=\"picture\">\n <img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/sites/all/themes/phyrtual/images/profile/default-picture.png?1419948967\" alt=\"Ritratto di Anonymous\" title=\"Ritratto di Anonymous\" class=\"imagecache imagecache-32x32\" width=\"32\" height=\"32\" /></div>\n</div>\r\n </div>\r\n <div class=\"comment-right\">\r\n <div class=\"author\"><strong>Anonymous</strong></div>\r\n <div class=\"date\">Lun, 22/12/2014 - 14:57</div>\r\n <div class=\"text\"><strong><a href=\"http://www.herewatcheswest.com/\">watches</a></strong><br><br /><br><strong><a href=\"http://www.herewatcheswest.com/\">watches</a></strong><br><br /><br><strong><a href=\"http://www.herewatcheswest.com/\">swiss Mechanical movement replica watches</a></strong><br><br /><br><br /><br><br><title>Fake Gorgeous Rolex Daytona AAA Watches [P5T5] - $191.00 : Professional replica watches stores, herewatcheswest.com</title><br><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><br><meta name=\"keywords\" content=\"Fake Gorgeous Rolex Daytona AAA Watches [P5T5] Fake Tag Heuer Fake Rolex Fake Hublot Fake Omega Fake Montblanc Fake Audemars Piguet Fake Cartier Fake Chopard Fake Ferrari Fake Franck Muller Fake Iwc Fake Jaeger Le Coultre Fake Longines Fake Oris Fake Panerai Fake Piaget Fake Vacheron Constantin Fake Zenith Fake Bvlgari Fake Breitling Fake Bell Ross Fake Emporio Armani Fake Burberry cheap replica watches online sales\" /><br><meta name=\"description\" content=\"Professional replica watches stores Fake Gorgeous Rolex Daytona AAA Watches [P5T5] - Back: Stainless steel push in back with Rolex markingsGender: MenMovement: Kinetic (Automatic)Quality: Japanese MiyotaCase: Brushed stainless steel caseBracelet: Brushed and polished stainless steel link chain with fold over clasp and Rolex crown engravingBracelet Length: 202 x 20 mmBezel: Ion-plated bezel \" /><br><meta http-equiv=\"imagetoolbar\" content=\"no\" /><br><br><base href=\"http://www.herewatcheswest.com/\" /><br><link rel=\"canonical\" href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daytona-aaa-watches-p5t5-p-351.html\" /><br><br><link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.herewatcheswest.com/includes/templates/polo/css/style_imagehover.css\" /><br><link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.herewatcheswest.com/includes/templates/polo/css/stylesheet.css\" /><br><link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.herewatcheswest.com/includes/templates/polo/css/stylesheet_css_buttons.css\" /><br><link rel=\"stylesheet\" type=\"text/css\" media=\"print\" href=\"http://www.herewatcheswest.com/includes/templates/polo/css/print_stylesheet.css\" /><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><style><br>#sddm<br>{\tmargin: 0 auto;<br>\tpadding: 0;<br>\tz-index: 30;<br>\tbackground-color:#F4F4F4;<br>\twidth: 80px;<br>\theight:23px;<br>\tfloat: right;<br> margin-right: 70px;}<br><br>#sddm li<br>{\tmargin: 0;<br>\tpadding: 0;<br>\tlist-style: none;<br>\tfloat: left;<br>\tfont: bold 12px arial}<br><br>#sddm li a<br>{\tdisplay: block;<br>\tmargin: 0 1px 0 0;<br>\tpadding: 4px 10px;<br>\twidth: 60px;<br>\tbackground: #BABABA;<br>\tcolor: #D5D5D5;<br>\ttext-align: center;<br>\ttext-decoration: none}<br><br>#sddm li a:hover<br>{\tbackground: #49A3FF}<br><br>#sddm div<br>{\tposition: absolute;<br>\tvisibility: hidden;<br>\tmargin: 0;<br>\tpadding: 0;<br>\tbackground: #EAEBD8;<br>\tborder: 1px solid #5970B2}<br><br>\t#sddm div a<br>\t{\tposition: relative;<br>\t\tdisplay: block;<br>\t\tmargin: 0;<br>\t\tpadding: 5px 10px;<br>\t\twidth: auto;<br>\t\twhite-space: nowrap;<br>\t\ttext-align: left;<br>\t\ttext-decoration: none;<br>\t\tbackground: #EAEBD8;<br>\t\tcolor: #2875DE;<br>\t\tfont: 12px arial}<br><br>\t#sddm div a:hover<br>\t{\tbackground: #49A3FF;<br>\t\tcolor: #FFF}<br></style><br><br><br><br><ul id=\"sddm\"><br>\t<li><a href=\"http://www.herewatcheswest.com/\" onmouseover=\"mopen('m1')\" onmouseout=\"mclosetime()\">Language</a><br>\t\t<div id=\"m1\" onmouseover=\"mcancelclosetime()\" onmouseout=\"mclosetime()\"><br><a href=\"http://www.herewatcheswest.com/de/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/gericon.gif\" alt=\"Deutsch\" title=\" Deutsch \" height=\"15\" width=\"24\" />Deutsch</a><br>\t\t<a href=\"http://www.herewatcheswest.com/fr/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/fricon.gif\" alt=\"Français\" title=\" Français \" height=\"15\" width=\"24\" />Français</a><br>\t\t<a href=\"http://www.herewatcheswest.com/it/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/iticon.gif\" alt=\"italiano\" title=\" italiano \" height=\"15\" width=\"24\" />Italiano</a><br>\t\t<a href=\"http://www.herewatcheswest.com/es/\"> <br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/esicon.gif\" alt=\"Español\" title=\" Español \" height=\"15\" width=\"24\" />Español</a><br>\t\t<a href=\"http://www.herewatcheswest.com/pt/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/pticon.gif\" alt=\"Português\" title=\" Português \" height=\"15\" width=\"24\" />Português</a><br>\t\t<a href=\"http://www.herewatcheswest.com/jp/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/jpicon.gif\" alt=\"日本語\" title=\" 日本語 \" height=\"14\" width=\"24\" />日本語</a><br>\t\t<a href=\"http://www.herewatcheswest.com/ru/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/ruicon.gif\" alt=\"russian\" title=\" russian \" height=\"15\" width=\"24\" />Russian</a><br>\t\t<a href=\"http://www.herewatcheswest.com/ar/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/aricon.gif\" alt=\"arabic\" title=\" arabic \" height=\"15\" width=\"24\" />Arabic</a><br>\t\t<a href=\"http://www.herewatcheswest.com/no/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/noicon.gif\" alt=\"norwegian\" title=\" norwegian \" height=\"15\" width=\"24\" />Norwegian</a><br>\t\t<a href=\"http://www.herewatcheswest.com/sv/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/svicon.gif\" alt=\"swedish\" title=\" swedish \" height=\"15\" width=\"24\" />Swedish</a><br>\t\t<a href=\"http://www.herewatcheswest.com/da/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/daicon.gif\" alt=\"danish\" title=\" danish \" height=\"15\" width=\"24\" />Danish</a><br>\t\t<a href=\"http://www.herewatcheswest.com/nl/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/nlicon.gif\" alt=\"Nederlands\" title=\" Nederlands\" height=\"15\" width=\"24\" />Nederlands</a><br>\t\t<a href=\"http://www.herewatcheswest.com/fi/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/fiicon.gif\" alt=\"finland\" title=\" finland \" height=\"15\" width=\"24\" />Finland</a><br>\t\t<a href=\"http://www.herewatcheswest.com/ie/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/gaicon.gif\" alt=\"ireland\" title=\" ireland \" height=\"15\" width=\"24\" />Ireland</a><br>\t\t<a href=\"http://www.herewatcheswest.com/\"><br>\t\t<img src=\"http://www.herewatcheswest.com/langimg/icon.gif\" alt=\"English\" title=\" English \" height=\"15\" width=\"24\" />English</a><br>\t\t</div><br>\t</li><br></ul><br><div><br><br><br><br><br><br><div id=\"head\"><br><div id =\"head_bg\"><br><br><div id=\"head_right\"><br> <div id=\"head_right_top\"><br></div><br> <div id=\"head_right_bottom\"><br> <div id=\"head_right_bottom_left\"><br> \t\tWelcome!<br>\t\t <a href=\"http://www.herewatcheswest.com/index.php?main_page=login\">Sign In</a><br>\tor <a href=\"http://www.herewatcheswest.com/index.php?main_page=create_account\">Register</a><br>\t\t\t<br> </div><br> <div id=\"head_right_bottom_right\"><br> <div id=\"cartBoxEmpty\"><a href=\"http://www.herewatcheswest.com/index.php?main_page=shopping_cart\"><img class=\"cart-icon empty float-left\" src=\"http://www.herewatcheswest.com/includes/templates/polo/images/spacer.gif\" /></a>Your cart is empty</div>\t<br> </div><br> </div><br></div><br><br><br><br><br><br><div class=\"clear\" style=\"clear:both\"></div><br><br><br><br><div id=\"head_left\"><br> <a href=\"http://www.herewatcheswest.com/\"><img src=\"http://www.herewatcheswest.com/includes/templates/polo/images/logo.gif\" alt=\"Powered by Zen Cart :: The Art of E-Commerce\" title=\" Powered by Zen Cart :: The Art of E-Commerce \" width=\"303\" height=\"66\" /></a></div><br><br> <div id=\"head_center\"><br> \t <form name=\"quick_find_header\" action=\"http://www.herewatcheswest.com/index.php?main_page=advanced_search_result\" method=\"get\"><input type=\"hidden\" name=\"main_page\" value=\"advanced_search_result\" /><input type=\"hidden\" name=\"search_in_description\" value=\"1\" /><div class=\"search-header-input\"><input type=\"text\" name=\"keyword\" size=\"32\" maxlength=\"130\" value=\"Search...\" onfocus=\"if (this.value == 'Search...') this.value = '';\" onblur=\"if (this.value == '') this.value = 'Search...';\" /></div><div class=\"button-search-header\"><input type=\"image\" src=\"http://www.herewatcheswest.com/includes/templates/polo/images/search_header_button.gif\" value=\"Serch\" /></div></form> </div><br><br><br><br><br><br><br><br><br> <br></div><br></div><br><div class=\"clear\" style=\"clear:both\"></div><br> <div id=\"header_menu\"><br> <ul id=\"lists\"><br> <br><br> <div class=\"menu-middle\"> <br> <ul><br> \t<li class=\"is-here\"><a href=\"http://www.herewatcheswest.com/index.php\">Home</a></li><br> <li class=\"menu-mitop\"><a href=\"http://www.herewatcheswest.com/fake-rolex-c-2.html\">Fake Rolex Watches</a></li><br> <li class=\"menu-mitop\"><a href=\"http://www.herewatcheswest.com/fake-omega-c-4.html\">Fake OMEGA Watches</a></li><br> <li class=\"menu-mitop\"><a href=\"http://www.herewatcheswest.com/fake-cartier-c-7.html\">Fake Cartier Watches</a></li><br>\t\t</ul><br> </div><br> <br><br><br> </ul><br><br> </div><br><br><div class=\"clear\" style=\"clear:both\"></div><br><div id=\"content\"><br><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" id=\"contentMainWrapper\"><br> <tr><br><br> <td id=\"navColumnOne\" class=\"columnLeft\" style=\"width: 220px\"><br><div id=\"navColumnOneWrapper\" style=\"width: 220px\"><br><div class=\"leftBoxContainer\" id=\"currencies\" style=\"width: 220px\"><br><div class=\"sidebox-header-left \"><h3 class=\"leftBoxHeading \" id=\"currenciesHeading\"><label>Currencies</label></h3></div><br><div id=\"currenciesContent\" class=\"sideBoxContent centeredContent\"><form name=\"currencies_form\" action=\"http://www.herewatcheswest.com/\" method=\"get\"><select name=\"currency\" onchange=\"this.form.submit();\"><br> <option value=\"USD\" selected=\"selected\">US Dollar</option><br> <option value=\"CNY\">CNY</option><br> <option value=\"EUR\">Euro</option><br> <option value=\"GBP\">GB Pound</option><br> <option value=\"CAD\">Canadian Dollar</option><br> <option value=\"AUD\">Australian Dollar</option><br> <option value=\"JPY\">Jappen Yen</option><br> <option value=\"NOK\">Norske Krone</option><br> <option value=\"SEK\">Swedish Krone</option><br> <option value=\"DKK\">Danish Krone</option><br></select><br><input type=\"hidden\" name=\"main_page\" value=\"product_info\" /><input type=\"hidden\" name=\"products_id\" value=\"351\" /></form></div></div><br><br><br><div class=\"leftBoxContainer\" id=\"categories\" style=\"width: 220px\"><br><div class=\"sidebox-header-left main-sidebox-header-left\"><h3 class=\"leftBoxHeading main-sidebox-header-right\" id=\"categoriesHeading\">Categories</h3></div><br><div id=\"categoriesContent\" class=\"sideBoxContent\"><br><div class=\"categories-top-list no-dots\"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-audemars-piguet-c-6.html\">Fake Audemars Piguet</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-bell-ross-c-21.html\">Fake Bell Ross</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-breitling-c-20.html\">Fake Breitling</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-burberry-c-23.html\">Fake Burberry</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-bvlgari-c-19.html\">Fake Bvlgari</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-cartier-c-7.html\">Fake Cartier</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-chopard-c-8.html\">Fake Chopard</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-emporio-armani-c-22.html\">Fake Emporio Armani</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-ferrari-c-9.html\">Fake Ferrari</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-franck-muller-c-10.html\">Fake Franck Muller</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-hublot-c-3.html\">Fake Hublot</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-iwc-c-11.html\">Fake Iwc</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-jaeger-le-coultre-c-12.html\">Fake Jaeger Le Coultre</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-longines-c-13.html\">Fake Longines</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-montblanc-c-5.html\">Fake Montblanc</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-omega-c-4.html\">Fake Omega</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-oris-c-14.html\">Fake Oris</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-panerai-c-15.html\">Fake Panerai</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-piaget-c-16.html\">Fake Piaget</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-rolex-c-2.html\"><span class=\"category-subs-selected\">Fake Rolex</span></a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-tag-heuer-c-1.html\">Fake Tag Heuer</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-vacheron-constantin-c-17.html\">Fake Vacheron Constantin</a></div><br><div class=\"categories-top-list \"><a class=\"category-top\" href=\"http://www.herewatcheswest.com/fake-zenith-c-18.html\">Fake Zenith</a></div><br></div></div><br><br><br><div class=\"leftBoxContainer\" id=\"featured\" style=\"width: 220px\"><br><div class=\"sidebox-header-left \"><h3 class=\"leftBoxHeading \" id=\"featuredHeading\">Featured - <a href=\"http://www.herewatcheswest.com/featured_products.html\"> [more]</a></h3></div><br><div class=\"sideBoxContent centeredContent\"><a href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-with-computer-dial-aaa-watches-v7o7-p-338.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Gorgeous-Rolex-Day-Date-Automatic-with-Computer.jpg\" alt=\"Fake Gorgeous Rolex Day-Date Automatic with Computer Dial AAA Watches [V7O7]\" title=\" Fake Gorgeous Rolex Day-Date Automatic with Computer Dial AAA Watches [V7O7] \" width=\"130\" height=\"98\" /></a><a class=\"sidebox-products\" href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-with-computer-dial-aaa-watches-v7o7-p-338.html\">Fake Gorgeous Rolex Day-Date Automatic with Computer Dial AAA Watches [V7O7]</a><div>$192.00</div></div><div class=\"sideBoxContent centeredContent\"><a href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-with-blue-dialstick-marking-aaa-watches-d7m9-p-337.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Gorgeous-Rolex-Day-Date-Automatic-with-Blue-Dial-7.jpg\" alt=\"Fake Gorgeous Rolex Day-Date Automatic with Blue Dial-Stick Marking AAA Watches [D7M9]\" title=\" Fake Gorgeous Rolex Day-Date Automatic with Blue Dial-Stick Marking AAA Watches [D7M9] \" width=\"130\" height=\"98\" /></a><a class=\"sidebox-products\" href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-with-blue-dialstick-marking-aaa-watches-d7m9-p-337.html\">Fake Gorgeous Rolex Day-Date Automatic with Blue Dial-Stick Marking AAA Watches [D7M9]</a><div>$192.00</div></div><div class=\"sideBoxContent centeredContent\"><a href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-with-black-dialroman-marking-aaa-watches-n2l7-p-335.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Gorgeous-Rolex-Day-Date-Automatic-with-Black-Dial.jpg\" alt=\"Fake Gorgeous Rolex Day-Date Automatic with Black Dial-Roman Marking AAA Watches [N2L7]\" title=\" Fake Gorgeous Rolex Day-Date Automatic with Black Dial-Roman Marking AAA Watches [N2L7] \" width=\"130\" height=\"98\" /></a><a class=\"sidebox-products\" href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-with-black-dialroman-marking-aaa-watches-n2l7-p-335.html\">Fake Gorgeous Rolex Day-Date Automatic with Black Dial-Roman Marking AAA Watches [N2L7]</a><div>$186.00</div></div><div class=\"sideBoxContent centeredContent\"><a href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-full-gold-with-diamond-bezel-and-dial-aaa-watches-d5e6-p-334.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Gorgeous-Rolex-Day-Date-Automatic-Full-Gold-with.jpg\" alt=\"Fake Gorgeous Rolex Day-Date Automatic Full Gold with Diamond Bezel and Dial AAA Watches [D5E6]\" title=\" Fake Gorgeous Rolex Day-Date Automatic Full Gold with Diamond Bezel and Dial AAA Watches [D5E6] \" width=\"130\" height=\"98\" /></a><a class=\"sidebox-products\" href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daydate-automatic-full-gold-with-diamond-bezel-and-dial-aaa-watches-d5e6-p-334.html\">Fake Gorgeous Rolex Day-Date Automatic Full Gold with Diamond Bezel and Dial AAA Watches [D5E6]</a><div>$184.00</div></div></div><br><br></div></td><br> <td id=\"columnCenter\" valign=\"top\"><br><br> <div id=\"navBreadCrumb\"> <a href=\"http://www.herewatcheswest.com/\">Home</a> :: <br> <a href=\"http://www.herewatcheswest.com/fake-rolex-c-2.html\">Fake Rolex</a> :: <br>Fake Gorgeous Rolex Daytona AAA Watches [P5T5]<br></div><br><br><br><br><br><br><br><div class=\"centerColumn\" id=\"productGeneral\"><br><br><br><br><br><form name=\"cart_quantity\" action=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daytona-aaa-watches-p5t5-p-351.html?action=add_product\" method=\"post\" enctype=\"multipart/form-data\"><br><br><div style=\"float:left; width:350px;\"><br><br><br><br><br><br><br><br><br><br><br><br><link rel=\"stylesheet\" href=\"http://www.herewatcheswest.com/style/jqzoom.css\" type=\"text/css\" media=\"screen\" /><br><br><link rel=\"stylesheet\" href=\"http://www.herewatcheswest.com/style/jqzoomimages.css\" type=\"text/css\" media=\"screen\" /><br><br><style type=\"text/css\"><br>.jqzoom{<br><br>float:left;<br><br>position:relative;<br><br>padding:0px;<br><br>cursor:pointer;<br>width:301px;<br>height:480px;<br>}</style><br><br><br><br><br><br><br><br><br><br><br><br><br><br><div id=\"productMainImage\" class=\"centeredContent back\"><br><br><br><div class=\"jqzoom\" > <a href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daytona-aaa-watches-p5t5-p-351.html\" ><img src=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5-.jpg\" alt=\"Fake Gorgeous Rolex Daytona AAA Watches [P5T5]\" jqimg=\"images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5-.jpg\" id=\"jqzoomimg\" /></a></div><br><br><div style=\"clear:both;\"></div><br><br><br><br><div id='jqzoomimages' class=\"smallimages\"></div><br><br><br><br><br></div><br><br></div><br><div style=\"width:260px; float:left; margin-left:30px; margin-top:15px;\" id='pb-left-column'><br><div style=\"font-weight:bold; padding-bottom:10px; font-size:14px;\">Fake Gorgeous Rolex Daytona AAA Watches [P5T5]</div><br><br><span id=\"productPrices\" class=\"productGeneral\"><br>$191.00</span><br><br><br><br><br><br><br><br><br><br><br><br> <div id=\"cartAdd\"><br> Add to Cart: <input type=\"text\" name=\"cart_quantity\" value=\"1\" maxlength=\"6\" size=\"4\" /><br /><br /><input type=\"hidden\" name=\"products_id\" value=\"351\" /><input type=\"image\" src=\"http://www.herewatcheswest.com/includes/templates/polo/buttons/english/button_in_cart.gif\" alt=\"Add to Cart\" title=\" Add to Cart \" /> </div><br> <br><br class=\"clearBoth\" /><br></div><br><br><br><br><br class=\"clearBoth\" /><br> <br><div id=\"productDescription\" class=\"productGeneral biggerText\"><br><div class=\"tabTitles\"><br><ul><br> <li> <h4 tid=\"t1\" class=\"cur\"><strong class=\"\"><span>Description</span></strong></h4> </li><br></ul><br></div><br><br>\t<div class=\"products_description_1\"><br> <br> <p></p><p><strong>Back:</strong> Stainless steel push in back with Rolex markings</p><p><strong>Gender:</strong> Men</p><p><strong>Movement:</strong> Kinetic (Automatic)</p><p><strong>Quality:</strong> Japanese Miyota</p><p><strong>Case:</strong> Brushed stainless steel case</p><p><strong>Bracelet:</strong> Brushed and polished stainless steel link chain with fold over clasp and Rolex crown engraving</p><p><strong>Bracelet Length:</strong> 202 x 20 mm</p><p><strong>Bezel:</strong> Ion-plated bezel with seconds and minutes marked</p><p><strong>Band Type:</strong> Stainless Steel</p><p><strong>Diameter:</strong> 51 x 43 mm </p><p><strong>Watch Clasp:</strong> Security Clasp</p><p><strong>Glass:</strong> Sapphire Crystal</p><p><strong>Crown:</strong> Brushed stainless steel crown with Rolex crown engraving</p><p><strong>Case Thickness:</strong> 13 mm</p> <br> </div><br></div><br><br><br class=\"clearBoth\" /><br><br><br><div id=\"img_bg\" align=\"center\"><br><br><p style='text-align:center;'><a target=\"_blank\" href=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5-.jpg\"><img itemprop=\"image\" src=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5-.jpg\" width=700px alt=\"/watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5-.jpg\" /></a></p><p style='text-align:center;'><a target=\"_blank\" href=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--1.jpg\"><img itemprop=\"image\" src=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--1.jpg\" width=700px alt=\"/watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--1.jpg\" /></a></p><p style='text-align:center;'><a target=\"_blank\" href=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--2.jpg\"><img itemprop=\"image\" src=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--2.jpg\" width=700px alt=\"/watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--2.jpg\" /></a></p><p style='text-align:center;'><a target=\"_blank\" href=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--3.jpg\"><img itemprop=\"image\" src=\"http://www.herewatcheswest.com/images//watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--3.jpg\" width=700px alt=\"/watches_12/Rolex/Gorgeous-Rolex-Daytona-AAA-Watches-P5T5--3.jpg\" /></a></p><br></div><br><br><br><br><br><br><br><div class=\"centerBoxWrapper\" id=\"similar_product\"><br><h2 class=\"centerBoxHeading\">Related Products</h2><br><br><table><tr><br><td style=\"display:block;float:left;width:24.5%;\"><br><div style=\"width:160px;height:200px;\"><br><a href=\"http://www.herewatcheswest.com/fake-popular-rolex-datejust-aaa-watches-b5k7-p-573.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Popular-Rolex-Datejust-AAA-Watches-B5K7-.jpg\" alt=\"Fake Popular Rolex Datejust AAA Watches [B5K7]\" title=\" Fake Popular Rolex Datejust AAA Watches [B5K7] \" width=\"133\" height=\"200\" /></a></div><a href=\"http://www.herewatcheswest.com/fake-popular-rolex-datejust-aaa-watches-b5k7-p-573.html\">Fake Popular Rolex Datejust AAA Watches [B5K7]</a><br></td><br><td style=\"display:block;float:left;width:24.5%;\"><br><div style=\"width:160px;height:200px;\"><br><a href=\"http://www.herewatcheswest.com/fake-great-rolex-daydate-movement-with-computer-dialdiamond-marking-aaa-watches-r8m1-p-413.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Great-Rolex-Day-Date-Swiss-ETA-2836-Movement-with.jpg\" alt=\"Fake Great Rolex Day-Date Movement with Computer Dial-Diamond Marking AAA Watches [R8M1]\" title=\" Fake Great Rolex Day-Date Movement with Computer Dial-Diamond Marking AAA Watches [R8M1] \" width=\"160\" height=\"120\" /></a></div><a href=\"http://www.herewatcheswest.com/fake-great-rolex-daydate-movement-with-computer-dialdiamond-marking-aaa-watches-r8m1-p-413.html\">Fake Great Rolex Day-Date Movement with Computer Dial-Diamond Marking AAA Watches [R8M1]</a><br></td><br><td style=\"display:block;float:left;width:24.5%;\"><br><div style=\"width:160px;height:200px;\"><br><a href=\"http://www.herewatcheswest.com/fake-cool-rolex-datejust-movement-two-tone-with-computer-dial-aaa-watches-w2b1-p-190.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Cool-Rolex-Datejust-Swiss-ETA-2836-Movement-Two-11.jpg\" alt=\"Fake Cool Rolex Datejust Movement Two Tone with Computer Dial AAA Watches [W2B1]\" title=\" Fake Cool Rolex Datejust Movement Two Tone with Computer Dial AAA Watches [W2B1] \" width=\"160\" height=\"120\" /></a></div><a href=\"http://www.herewatcheswest.com/fake-cool-rolex-datejust-movement-two-tone-with-computer-dial-aaa-watches-w2b1-p-190.html\">Fake Cool Rolex Datejust Movement Two Tone with Computer Dial AAA Watches [W2B1]</a><br></td><br><td style=\"display:block;float:left;width:24.5%;\"><br><div style=\"width:160px;height:200px;\"><br><a href=\"http://www.herewatcheswest.com/fake-cool-rolex-datejust-aaa-watches-r5u6-p-174.html\"><img src=\"http://www.herewatcheswest.com/images/_small//watches_12/Rolex/Cool-Rolex-Datejust-AAA-Watches-R5U6-.jpg\" alt=\"Fake Cool Rolex Datejust AAA Watches [R5U6]\" title=\" Fake Cool Rolex Datejust AAA Watches [R5U6] \" width=\"133\" height=\"200\" /></a></div><a href=\"http://www.herewatcheswest.com/fake-cool-rolex-datejust-aaa-watches-r5u6-p-174.html\">Fake Cool Rolex Datejust AAA Watches [R5U6]</a><br></td><br></tr></table><br></div><br><br><br><br><br><br><br><br><br> <br><br><br><br><br><br><br><br><div id=\"productReviewLink\" class=\"buttonRow back\"><a href=\"http://www.herewatcheswest.com/index.php?main_page=product_reviews_write&products_id=351\"><img src=\"http://www.herewatcheswest.com/includes/templates/polo/buttons/english/button_write_review.gif\" alt=\"Write Review\" title=\" Write Review \" width=\"98\" height=\"19\" /></a></div><br><br class=\"clearBoth\" /><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></form><br><br></div><br><br></td><br><br><br><br> </tr><br></table><br></div><br><br><style><br>.articles{width:900px; margin:0 auto;}<br>.articles ul{width:900px; }\t<br>.articles li{width:450px; float:left;}<br></style><br>\t<div class=\"articles\"><br>\t\t<ul><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=902\" target=\"_blank\">Vintage Wine Scammer Kurniawan Sentenced to 10 Years Jail </a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=901\" target=\"_blank\">Margaret Carlson on love, lies, luxury goods and a governor </a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=900\" target=\"_blank\">Rolex Replica Watches </a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=899\" target=\"_blank\">ASTRO Studios Launches MINUS-8: Watches With a West Coast Vibe </a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=898\" target=\"_blank\">Luxury Swiss watch exports to China shoot up</a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=897\" target=\"_blank\">Dubai Customs seizes fake goods worth Dh17.6m in first half of this year | GulfNews.com</a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=896\" target=\"_blank\">Let good sense prevail on the road</a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=895\" target=\"_blank\">Wine collector set for sentencing on fraud charges </a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=894\" target=\"_blank\">High End Swiss Rolex Replica </a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2&article_id=893\" target=\"_blank\">Lost Luggage Goes To Unclaimed Baggage Center </a></li><br>\t\t<li><a href=\"http://www.herewatcheswest.com/index.php?main_page=page_2\" target=\"_blank\">More News</a></li><br>\t\t</ul><br>\t</div><br><br style=\"clear:both;\" /><br><br><div id=\"navSuppWrapper\"><br><br class=\"clearBoth\" /> <br><div id=\"navSupp\" style=\" margin-bottom:10px; margin-top:8px; width:100%; text-align:center;\"><br><a style=\"color:#000; font:12px;\" href=\"http://www.herewatcheswest.com/index.php\">Home</a> <br><a style=\"color:#000; font:12px;\" href=\"http://www.herewatcheswest.com/index.php?main_page=shippinginfo\">Shipping</a> <br><a style=\"color:#000; font:12px;\" href=\"http://www.herewatcheswest.com/index.php?main_page=Payment_Methods\">Wholesale</a> <br><a style=\"color:#000; font:12px;\" href=\"http://www.herewatcheswest.com/index.php?main_page=shippinginfo\">Order Tracking</a> <br><a style=\"color:#000; font:12px;\" href=\"http://www.herewatcheswest.com/index.php?main_page=Coupons\">Coupons</a> <br><a style=\"color:#000; font:12px;\" href=\"http://www.herewatcheswest.com/index.php?main_page=Payment_Methods\">Payment Methods</a> <br><a style=\"color:#000; font:12px;\" href=\"http://www.herewatcheswest.com/index.php?main_page=contact_us\">Contact Us</a> <br><br></div><br><br><div style=\" margin-bottom:10px; margin-top:10px; width:100%; text-align:center;\"><br> <a style=\"font-weight:bold; color:#000;\" href=\"http://www.newbizpacks.com/replica-omega-watches-c-4.html\" target=\"_blank\">REPLICA OMEGA</a> <br> <a style=\"font-weight:bold; color:#000;\" href=\"http://www.newbizpacks.com/replica-patek-philippe-c-24.html\" target=\"_blank\">REPLICA PATEK PHILIPPE </a> <br> <a style=\"font-weight:bold; color:#000;\" href=\"http://www.newbizpacks.com/replica-rolex-watches-c-3.html\" target=\"_blank\">REPLICA ROLEX </a> <br> <a style=\"font-weight:bold; color:#000;\" href=\"http://www.newbizpacks.com/replica-iwc-watches-c-7.html\" target=\"_blank\">REPLICA IWC </a> <br> <a style=\"font-weight:bold; color:#000;\" href=\"http://www.newbizpacks.com/replica-cartier-watches-c-16.html\" target=\"_blank\">REPLICA CARTIER </a> <br> <a style=\"font-weight:bold; color:#000;\" href=\"http://www.newbizpacks.com/replica-breitling-c-2.html\" target=\"_blank\">REPLICA BREITLING </a> <br><br></div><br><DIV align=\"center\"> <a href=\"http://www.herewatcheswest.com/fake-gorgeous-rolex-daytona-aaa-watches-p5t5-p-351.html\" ><IMG src=\"http://www.herewatcheswest.com/includes/templates/polo/images/payment.png\" /></a> </div><br><div align=\"center\" style=\"color:#000;\">Copyright © 2012-2014 All Rights Reserved. </div><br><br><br></div><br><br></div><br><br><br><br><br><br><br><br><strong><a href=\"http://www.herewatcheswest.com/\">swiss replica watches aaa+</a></strong><br><br /><br><strong><a href=\"http://www.herewatcheswest.com/\">swiss replica watches</a></strong><br><br /><br></div>\r\n <div class=\"links button\"><ul class=\"links\"><li class=\"comment_forbidden first last\"></li>\n</ul></div>\r\n </div>\r\n</div><a id=\"comment-354\"></a>\n<div class=\"comment comment comment-published clear-block\">\r\n <div class=\"comment-left\">\r\n <div class=\"picture\"><div class=\"picture\">\n <img src=\"http://phyrtual.org/it/sites/default/files/imagecache/32x32/pictures/picture-27.jpg?1419948967\" alt=\"Ritratto di Cecilia Stajano\" title=\"Ritratto di Cecilia Stajano\" class=\"imagecache imagecache-32x32\" width=\"32\" height=\"32\" /></div>\n</div>\r\n </div>\r\n <div class=\"comment-right\">\r\n <div class=\"author\"><a href=\"/it/user/cecilia\">Cecilia Stajano</a></div>\r\n <div class=\"date\">Ven, 12/10/2012 - 15:43</div>\r\n <div class=\"text\">complimenti per il logo! dire che sono teneri questi cuccioli è dire poco! già dal logo questo progetto mi ispira...ora vado e lo leggo!<br>cecilia</div>\r\n <div class=\"links button\"><ul class=\"links\"><li class=\"comment_forbidden first last\"></li>\n</ul></div>\r\n </div>\r\n</div></div>\n<a href=\"/it/user/register\" title=\"Crea un nuovo profilo utente.\" class=\"signup join tooltip popups-form\">Scrivi un commento...</a><br /><br /> </div>\r\n \r\n </div>\n </div>\n </div>\n </div>\n\n <div id=\"footer\">\n <div class=\"footer-content\">\n <div class=\"footer-left\">\n <a href=\"/\">PHYRTUAL.ORG</a><br /><br />\n A project of:<br />\n <a href=\"http://www.mondodigitale.org/\">fondazione mondo digitale</a>\n </div>\n <div class=\"footer-right\">\n <a title=\"Code of Conduct\" href=\"/it/code-of-conduct\">Code of Conduct</a><br />\n <a title=\"Copyright Policy\" href=\"/it/copyright-policy\">Copyright Policy</a><br />\n <a title=\"Guidelines\" href=\"/it/guidelines\">Guidelines</a><br />\n <a title=\"Privacy Policy\" href=\"/it/privacy-policy\">Privacy Policy</a><br />\n </div>\n </div>\n </div>\n\n <div id=\"user_relationships_popup_form\" class=\"user_relationships_ui_popup_form\"></div><script type=\"text/javascript\" src=\"/sites/default/files/js/js_3e2fdc6cd579498ab19443c9f582522e.js\"></script>\n<script type=\"text/javascript\">\n<!--//--><![CDATA[//><!--\njQuery.extend(Drupal.settings, { \"modernizrPath\": \"sites/all/libraries/modernizr/modernizr.min.js\" });\n//--><!]]>\n</script>\n<script type=\"text/javascript\">\n<!--//--><![CDATA[//><!--\nvar _gaq = _gaq || [];_gaq.push([\"_setAccount\", \"UA-19726987-2\"]);_gaq.push([\"_trackPageview\"]);(function() {var ga = document.createElement(\"script\");ga.type = \"text/javascript\";ga.async = true;ga.src = (\"https:\" == document.location.protocol ? \"https://ssl\" : \"http://www\") + \".google-analytics.com/ga.js\";var s = document.getElementsByTagName(\"script\")[0];s.parentNode.insertBefore(ga, s);})();\n//--><!]]>\n</script>\n </div>\n <script type=\"text/javascript\">\n function googleTranslateElementInit() {\n new google.translate.TranslateElement({\n pageLanguage: 'auto',\n autoDisplay: false,\n layout: google.translate.TranslateElement.InlineLayout.SIMPLE\n }, 'google_translate_element');\n }\n </script>\n <script type=\"text/javascript\" src=\"http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit\"></script>\n</body>\n</html>\n" | |
}, | |
"redirectURL": "", | |
"headersSize": 452, | |
"bodySize": 18053 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 1, | |
"dns": 34, | |
"connect": 53, | |
"send": 0, | |
"wait": 1920, | |
"receive": 75 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:06.125+01:00", | |
"time": 153, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org:9998/socket.io/1/?t=1419948966104", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org:9998" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Origin", | |
"value": "http://phyrtual.org" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [ | |
{ | |
"name": "t", | |
"value": "1419948966104" | |
} | |
], | |
"headersSize": 472, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Content-Type", | |
"value": "text/plain" | |
}, | |
{ | |
"name": "Access-Control-Allow-Origin", | |
"value": "http://phyrtual.org" | |
}, | |
{ | |
"name": "Access-Control-Allow-Credentials", | |
"value": "true" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:06 GMT" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
} | |
], | |
"content": { | |
"mimeType": "text/plain", | |
"size": 83 | |
}, | |
"redirectURL": "", | |
"headersSize": 224, | |
"bodySize": 83 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 0, | |
"dns": 34, | |
"connect": 53, | |
"send": 0, | |
"wait": 66, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "9998" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:06.300+01:00", | |
"time": 172, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org:9998/socket.io/1/websocket/9SaxqDIV0x9G-aKGyWdS", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org:9998" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Sec-WebSocket-Version", | |
"value": "13" | |
}, | |
{ | |
"name": "Origin", | |
"value": "http://phyrtual.org" | |
}, | |
{ | |
"name": "Sec-WebSocket-Key", | |
"value": "ato0REJ/zmt5WGUA2C1MBQ==" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive, Upgrade" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Upgrade", | |
"value": "websocket" | |
} | |
], | |
"queryString": [], | |
"headersSize": 531, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 101, | |
"statusText": "Switching Protocols", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Upgrade", | |
"value": "websocket" | |
}, | |
{ | |
"name": "Connection", | |
"value": "Upgrade" | |
}, | |
{ | |
"name": "Sec-WebSocket-Accept", | |
"value": "cAPV2Qo7oM41hkPiKfvfwtR6p+A=" | |
} | |
], | |
"content": { | |
"mimeType": "text/plain", | |
"size": 0 | |
}, | |
"redirectURL": "", | |
"headersSize": 129, | |
"bodySize": 0 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 0, | |
"dns": 35, | |
"connect": 79, | |
"send": 0, | |
"wait": 58, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "9998" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.032+01:00", | |
"time": 120, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/default/files/css/css_6c302a12c3ee59f1ef460ab22341c4c6.css", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "text/css,*/*;q=0.1" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 429, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "text/css" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Tue, 05 Aug 2014 14:26:38 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Encoding", | |
"value": "gzip" | |
} | |
], | |
"content": { | |
"mimeType": "text/css", | |
"size": 67921, | |
"text": "\r\n\r\n\r\n#upload-attachments{margin:10px 0 0;}#edit-upload-wrapper{background:transparent url(/sites/all/modules/itweak_upload/images/attachment.png) no-repeat left center;padding-left:30px;}#upload-attachments{background:transparent;border-collapse:separate !important;border-spacing:0 6px;border:none;}#upload-attachments tr,#upload-attachments th,#upload-attachments td{background:transparent;border:none;}#attach-wrapper tbody{border:none;}#attach-wrapper .list{white-space:nowrap;}#attach-wrapper .file a{cursor:pointer;font-size:85%;margin-left:1em;}#attach-wrapper .file a:hover{background-color:#DDD;}#attach-wrapper .file a.itu-remove:hover{color:red;}#attach-wrapper .itu-insert .details,#attach-wrapper .list .details,#attach-wrapper .file .details{color:#777;display:block;font-size:85%;}#attach-wrapper .file input{margin-top:-2px;}#attach-wrapper .file{width:100%;padding-left:1em;}#attach-wrapper td.itu-insert a{cursor:pointer;font-size:85%;margin-right:0.5em;}#attach-wrapper td.itu-insert a:hover{background-color:#DDD;}#attach-wrapper td.itu-insert a.itu-insert:hover{color:green;}#attach-wrapper td.itu-insert select{font-size:85%;}a.itu-insert-file{background:#F0F0F0 url(/sites/all/modules/itweak_upload/images/mime-16.png) no-repeat 4px 0;border:1px solid #AAAAAA;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:-2px 2px 2px 0 #C8C8C8;-moz-box-shadow:-2px 2px 2px 0 #C8C8C8;box-shadow:-2px 2px 2px 0 #C8C8C8;display:inline-block;padding:2px 6px 2px 24px !important;margin:0 3px !important;min-width:80px;height:18px;min-height:18px;width:auto;font-weight:bold;text-decoration:none !important;}a.itu-insert-file:hover,a.itu-insert-file:active{background-color:#DDD;text-decoration:none !important;}.itu-insert-file.mime-ai{background-position:4px -32px !important;}.itu-insert-file.mime-odt,.itu-insert-file.mime-doc,.itu-insert-file.mime-docx{background-position:4px -64px !important;}.itu-insert-file.mime-eps{background-position:4px -96px !important;}.itu-insert-file.mime-gif{background-position:4px -192px !important;}.itu-insert-file.mime-gz{background-position:4px -128px !important;}.itu-insert-file.mime-id,.itu-insert-file.mime-indd{background-position:4px -160px !important;}.itu-insert-file.mime-jpg,.itu-insert-file.mime-jpeg{background-position:4px -192px !important;}.itu-insert-file.mime-pdf{background-position:4px -224px !important;}.itu-insert-file.mime-png{background-position:4px -256px !important;}.itu-insert-file.mime-odp,.itu-insert-file.mime-pps,.itu-insert-file.mime-ppt,.itu-insert-file.mime-pptx{background-position:4px -288px !important;}.itu-insert-file.mime-ps{background-position:4px -320px !important;}.itu-insert-file.mime-psd{background-position:4px -352px !important;}.itu-insert-file.mime-mp4,.itu-insert-file.mime-avi,.itu-insert-file.mime-mov{background-position:4px -384px !important;}.itu-insert-file.mime-rar{background-position:4px -416px !important;}.itu-insert-file.mime-svg{background-position:4px -448px !important;}.itu-insert-file.mime-swf{background-position:4px -480px !important;}.itu-insert-file.mime-tar{background-position:4px -512px !important;}.itu-insert-file.mime-ods,.itu-insert-file.mime-xls,.itu-insert-file.mime-xlsx{background-position:4px -544px !important;}.itu-insert-file.mime-zip{background-position:4px -576px !important;}#attach-wrapper .mime{background:transparent url(/sites/all/modules/itweak_upload/images/mime-32.png) no-repeat center 0;font-size:14px;padding:0;width:32px;min-width:32px;}#attach-wrapper .mime-ai .mime{background-position:center -64px;}#attach-wrapper .mime-odt .mime,#attach-wrapper .mime-doc .mime,#attach-wrapper .mime-docx .mime{background-position:center -128px;}#attach-wrapper .mime-eps .mime{background-position:center -192px;}#attach-wrapper .mime-gif .mime{background-position:center -384px;}#attach-wrapper .mime-gz .mime{background-position:center -256px;}#attach-wrapper .mime-id .mime,#attach-wrapper .mime-indd .mime{background-position:center -320px;}#attach-wrapper .mime-jpg .mime,#attach-wrapper .mime-jpeg .mime{background-position:center -384px;}#attach-wrapper .mime-pdf .mime{background-position:center -448px;}#attach-wrapper .mime-png .mime{background-position:center -512px;}#attach-wrapper .mime-odp .mime,#attach-wrapper .mime-pps .mime,#attach-wrapper .mime-ppt .mime,#attach-wrapper .mime-pptx .mime{background-position:center -576px;}#attach-wrapper .mime-ps .mime{background-position:center -640px;}#attach-wrapper .mime-psd .mime{background-position:center -704px;}#attach-wrapper .mime-mp4 .mime,#attach-wrapper .mime-avi .mime,#attach-wrapper .mime-mov .mime{background-position:center -768px;}#attach-wrapper .mime-rar .mime{background-position:center -832px;}#attach-wrapper .mime-svg .mime{background-position:center -896px;}#attach-wrapper .mime-swf .mime{background-position:center -960px;}#attach-wrapper .mime-tar .mime{background-position:center -1024px;}#attach-wrapper .mime-ods .mime,#attach-wrapper .mime-xls .mime,#attach-wrapper .mime-xlsx .mime{background-position:center -1088px;}#attach-wrapper .mime-zip .mime{background-position:center -1152px;}table.itu-attachment-list tr,table.itu-attachment-list th,table.itu-attachment-list td{padding:0;margin:0;background:none;border:none;width:0;height:0;}.itu-attachments{width:auto;padding:0;}table.itu-attachment-list{margin:0;border:none;border-collapse:collapse !important;width:100% !important;*border:1px solid #DDD !important;}table.itu-attachment-list.withoutstats thead{display:none;}table.itu-attachment-list.withstats thead{display:table-header-group;text-wrap:none;white-space:nowrap;background:none;border:none;}table.itu-attachment-list.withstats thead .preview,table.itu-attachment-list.withstats thead .file{opacity:0;filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity:0;}table.itu-attachment-list thead .download_count,table.itu-attachment-list thead .download_last,table.itu-attachment-list thead .download_stats{text-align:left;}table.itu-attachment-list thead th{border:none;}table.itu-attachment-list tbody{border:1px solid #DDD !important;background:none;}table.itu-attachment-list tr{height:auto;background:none !important;}table.itu-attachment-list tbody td{padding-top:3px;padding-bottom:3px;}table.itu-attachment-list tbody tr:hover{background:#DDD !important;}table.itu-attachment-list .file{width:80%;*width:auto;}table.itu-attachment-list .download_count{padding-right:1em;padding-left:1em;text-align:right;width:auto;}table.itu-attachment-list .download_last{padding-right:1em;width:auto;text-wrap:none;white-space:nowrap;}table.itu-attachment-list .size{padding-right:1em;width:auto;text-align:right;text-wrap:none;white-space:nowrap;}table.itu-attachment-list .mime{background:transparent url(/sites/all/modules/itweak_upload/images/mime-16.png) no-repeat center 0;padding:0 7px;margin:0;width:16px;min-width:16px;height:22px;min-height:22px;}.itu-attachment-list .mime-ai{background-position:center -32px !important;}.itu-attachment-list .mime-odt,.itu-attachment-list .mime-doc,.itu-attachment-list .mime-docx{background-position:center -64px !important;}.itu-attachment-list .mime-eps{background-position:center -96px !important;}.itu-attachment-list .mime-gif{background-position:center -192px !important;}.itu-attachment-list .mime-gz{background-position:center -128px !important;}.itu-attachment-list .mime-id,.itu-attachment-list .mime-indd{background-position:center -160px !important;}.itu-attachment-list .mime-jpg,.itu-attachment-list .mime-jpeg{background-position:center -192px !important;}.itu-attachment-list .mime-pdf{background-position:center -224px !important;}.itu-attachment-list .mime-png{background-position:center -256px !important;}.itu-attachment-list .mime-odp,.itu-attachment-list .mime-pps,.itu-attachment-list .mime-ppt,.itu-attachment-list .mime-pptx{background-position:center -288px !important;}.itu-attachment-list .mime-ps{background-position:center -320px !important;}.itu-attachment-list .mime-psd{background-position:center -352px !important;}.itu-attachment-list .mime-mp4,.itu-attachment-list .mime-avi,.itu-attachment-list .mime-mov{background-position:center -384px !important;}.itu-attachment-list .mime-rar{background-position:center -416px !important;}.itu-attachment-list .mime-svg{background-position:center -448px !important;}.itu-attachment-list .mime-swf{background-position:center -480px !important;}.itu-attachment-list .mime-tar{background-position:center -512px !important;}.itu-attachment-list .mime-ods,.itu-attachment-list .mime-xls,.itu-attachment-list .mime-xlsx{background-position:center -544px !important;}.itu-attachment-list .mime-zip{background-position:center -576px !important;}.itu-attachment-images *{margin:0;padding:0;}.itu-attachment-images{border:1px solid #DDD;margin:1em 0;padding:5px 0 5px 5px;overflow-x:auto;}.forum-post-wrapper .itu-attachment-images{margin-right:1em;}.forum-post-wrapper .itu-attachments{padding-right:1em;}.itu-attachment-images .item-list{margin:0 !important;padding:0 !important;}.itu-attachment-images ul{white-space:nowrap;list-style:none;margin:0 !important;padding:0 !important;}.itu-attachment-images ul li{display:inline;list-style:none;background:none !important;margin:0 !important;padding:0 !important;}.itu-attachment-images ul li.last{padding-right:5px !important;}.itu-attachment-thumb{padding:0;margin:0;display:inline;text-align:center;vertical-align:baseline;}.itu-attachment-thumb a{padding:0;margin:0;text-decoration:none;display:block;height:auto;vertical-align:baseline;}.itu-attachment-thumb a img{padding:0;margin:0;border:2px solid #DDD;vertical-align:middle;}.itu-attachment-thumb a:hover img{border:2px solid #000;}.itu-attachment-images .itu-attachment-thumb a{display:inline;}.ahah-progress{width:100% !important;}.ahah-progress-bar{width:100% !important;margin:0 !important;}.jcarousellite{position:relative;padding-left:33px;padding-right:33px;}.jcarousellite .item-list{display:block;}.itu-attachment-jcarousellite-prev,.itu-attachment-jcarousellite-next{display:block;position:absolute;top:0px;width:31px;height:100%;text-decoration:none !important;}.itu-attachment-jcarousellite-prev{background:url(/sites/all/modules/itweak_upload/images/imageNavLeft.gif) no-repeat 2px 50%;left:0;}.itu-attachment-jcarousellite-next{background:url(/sites/all/modules/itweak_upload/images/imageNavRight.gif) no-repeat 2px 50%;right:0;}.itu-attachment-jcarousellite-prev:hover{background-position:-52px 50%;background-color:#DDD;}.itu-attachment-jcarousellite-next:hover{background-position:-52px 50%;background-color:#DDD;}.itu-attachment-jcarousellite-prev:active{background-position:-106px 50%;}.itu-attachment-jcarousellite-next:active{background-position:-106px 50%;}.jcarousellite ul div{margin:0 4px 0 0;}\n\r\n\r\n\r\n.jcarousel-skin-default{text-align:center;}.jcarousel-skin-default .jcarousel-container-horizontal{width:440px;height:102px;padding:20px 40px;margin:auto;}.jcarousel-skin-default .jcarousel-container-vertical{width:102px;height:440px;padding:40px 20px;margin:auto;}.jcarousel-skin-default .jcarousel-clip-horizontal{width:440px;overflow:hidden;}.jcarousel-skin-default .jcarousel-clip-vertical{height:440px;overflow:hidden;}.jcarousel-skin-default .jcarousel-item{padding:0;width:100px;height:100px;overflow:hidden;border:1px solid #CCC;list-style:none;background:#fff none;}.jcarousel-skin-default .jcarousel-item-horizontal{margin:0 4px;}.jcarousel-skin-default .jcarousel-item-vertical{margin:4px 0;}.jcarousel-skin-default .jcarousel-item-placeholder{background:#fff url(/sites/all/modules/jcarousel/skins/default/throbber.gif) no-repeat center center;color:#000;}.jcarousel-skin-default .jcarousel-next,.jcarousel-skin-default .jcarousel-prev{display:block;width:32px;height:32px;background-image:url(/sites/all/modules/jcarousel/skins/default/arrows.png);}.jcarousel-skin-default .jcarousel-next-disabled,.jcarousel-skin-default .jcarousel-prev-disabled{display:none;}.jcarousel-skin-default .jcarousel-prev-horizontal{position:absolute;top:55px;left:10px;background-position:0 0;}.jcarousel-skin-default .jcarousel-prev-horizontal:hover{background-position:-32px 0;}.jcarousel-skin-default .jcarousel-prev-horizontal:active{background-position:-64px 0;}.jcarousel-skin-default .jcarousel-next-horizontal{position:absolute;top:55px;right:10px;background-position:0 -32px;}.jcarousel-skin-default .jcarousel-next-horizontal:hover{background-position:-32px -32px;}.jcarousel-skin-default .jcarousel-next-horizontal:active{background-position:-64px -32px;}.jcarousel-skin-default .jcarousel-prev-vertical{position:absolute;top:10px;left:55px;background-position:0 -64px;}.jcarousel-skin-default .jcarousel-prev-vertical:hover{background-position:-32px -64px;}.jcarousel-skin-default .jcarousel-prev-vertical:active{background-position:-64px -64px;}.jcarousel-skin-default .jcarousel-next-vertical{position:absolute;bottom:10px;left:55px;background-position:0 -96px;}.jcarousel-skin-default .jcarousel-next-vertical:hover{background-position:-32px -96px;}.jcarousel-skin-default .jcarousel-next-vertical:active{background-position:-64px -96px;}.jcarousel-skin-default .jcarousel-navigation{margin:0;padding:0;}.jcarousel-skin-default .jcarousel-navigation li{display:inline;margin:0 2px 0 0;padding:0;background:none;}.jcarousel-skin-default .jcarousel-navigation li.active a{font-weight:bold;text-decoration:none;}\n\n.book-navigation .menu{border-top:1px solid #888;padding:1em 0 0 3em;}.book-navigation .page-links{border-top:1px solid #888;border-bottom:1px solid #888;text-align:center;padding:0.5em;}.book-navigation .page-previous{text-align:left;width:42%;display:block;float:left;}.book-navigation .page-up{margin:0 5%;width:4%;display:block;float:left;}.book-navigation .page-next{text-align:right;width:42%;display:block;float:right;}#book-outline{min-width:56em;}.book-outline-form .form-item{margin-top:0;margin-bottom:0;}#edit-book-bid-wrapper .description{clear:both;}#book-admin-edit select{margin-right:24px;}#book-admin-edit select.progress-disabled{margin-right:0;}#book-admin-edit tr.ahah-new-content{background-color:#ffd;}#book-admin-edit .form-item{float:left;}\n\n.node-unpublished{background-color:#fff4f4;}.preview .node{background-color:#ffffea;}#node-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#node-admin-buttons{float:left;margin-left:0.5em;clear:right;}td.revision-current{background:#ffc;}.node-form .form-text{display:block;width:95%;}.node-form .container-inline .form-text{display:inline;width:auto;}.node-form .standard{clear:both;}.node-form textarea{display:block;width:95%;}.node-form .attachments fieldset{float:none;display:block;}.terms-inline{display:inline;}\n\n.poll .bar{height:1em;margin:1px 0;background-color:#ddd;}.poll .bar .foreground{background-color:#000;height:1em;float:left;}.poll .links{text-align:center;}.poll .percent{text-align:right;}.poll .total{text-align:center;}.poll .vote-form{text-align:center;}.poll .vote-form .choices{text-align:left;margin:0 auto;display:table;}.poll .vote-form .choices .title{font-weight:bold;}.node-form #edit-poll-more{margin:0;}td.poll-chtext{width:80%;}td.poll-chvotes .form-text{width:85%;}\n\n\nfieldset{margin-bottom:1em;padding:.5em;}form{margin:0;padding:0;}hr{height:1px;border:1px solid gray;}img{border:0;}table{border-collapse:collapse;}th{text-align:left;padding-right:1em;border-bottom:3px solid #ccc;}.clear-block:after{content:\".\";display:block;height:0;clear:both;visibility:hidden;}.clear-block{display:inline-block;}/*_\\*/\n* html .clear-block{height:1%;}.clear-block{display:block;}/* End hide from IE-mac */\n\n\n\nbody.drag{cursor:move;}th.active img{display:inline;}tr.even,tr.odd{background-color:#eee;border-bottom:1px solid #ccc;padding:0.1em 0.6em;}tr.drag{background-color:#fffff0;}tr.drag-previous{background-color:#ffd;}td.active{background-color:#ddd;}td.checkbox,th.checkbox{text-align:center;}tbody{border-top:1px solid #ccc;}tbody th{border-bottom:1px solid #ccc;}thead th{text-align:left;padding-right:1em;border-bottom:3px solid #ccc;}.breadcrumb{padding-bottom:.5em}div.indentation{width:20px;height:1.7em;margin:-0.4em 0.2em -0.4em -0.4em;padding:0.42em 0 0.42em 0.6em;float:left;}div.tree-child{background:url(/misc/tree.png) no-repeat 11px center;}div.tree-child-last{background:url(/misc/tree-bottom.png) no-repeat 11px center;}div.tree-child-horizontal{background:url(/misc/tree.png) no-repeat -11px center;}.error{color:#e55;}div.error{border:1px solid #d77;}div.error,tr.error{background:#fcc;color:#200;padding:2px;}.warning{color:#e09010;}div.warning{border:1px solid #f0c020;}div.warning,tr.warning{background:#ffd;color:#220;padding:2px;}.ok{color:#008000;}div.ok{border:1px solid #00aa00;}div.ok,tr.ok{background:#dfd;color:#020;padding:2px;}.item-list .icon{color:#555;float:right;padding-left:0.25em;clear:right;}.item-list .title{font-weight:bold;}.item-list ul{margin:0 0 0.75em 0;padding:0;}.item-list ul li{margin:0 0 0.25em 1.5em;padding:0;list-style:disc;}ol.task-list li.active{font-weight:bold;}.form-item{margin-top:1em;margin-bottom:1em;}tr.odd .form-item,tr.even .form-item{margin-top:0;margin-bottom:0;white-space:nowrap;}tr.merge-down,tr.merge-down td,tr.merge-down th{border-bottom-width:0 !important;}tr.merge-up,tr.merge-up td,tr.merge-up th{border-top-width:0 !important;}.form-item input.error,.form-item textarea.error,.form-item select.error{border:2px solid red;}.form-item .description{font-size:0.85em;}.form-item label{display:block;font-weight:bold;}.form-item label.option{display:inline;font-weight:normal;}.form-checkboxes,.form-radios{margin:1em 0;}.form-checkboxes .form-item,.form-radios .form-item{margin-top:0.4em;margin-bottom:0.4em;}.marker,.form-required{color:#f00;}.more-link{text-align:right;}.more-help-link{font-size:0.85em;text-align:right;}.nowrap{white-space:nowrap;}.item-list .pager{clear:both;text-align:center;}.item-list .pager li{background-image:none;display:inline;list-style-type:none;padding:0.5em;}.pager-current{font-weight:bold;}.tips{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;font-size:0.9em;}dl.multiselect dd.b,dl.multiselect dd.b .form-item,dl.multiselect dd.b select{font-family:inherit;font-size:inherit;width:14em;}dl.multiselect dd.a,dl.multiselect dd.a .form-item{width:10em;}dl.multiselect dt,dl.multiselect dd{float:left;line-height:1.75em;padding:0;margin:0 1em 0 0;}dl.multiselect .form-item{height:1.75em;margin:0;}.container-inline div,.container-inline label{display:inline;}ul.primary{border-collapse:collapse;padding:0 0 0 1em;white-space:nowrap;list-style:none;margin:5px;height:auto;line-height:normal;border-bottom:1px solid #bbb;}ul.primary li{display:inline;}ul.primary li a{background-color:#ddd;border-color:#bbb;border-width:1px;border-style:solid solid none solid;height:auto;margin-right:0.5em;padding:0 1em;text-decoration:none;}ul.primary li.active a{background-color:#fff;border:1px solid #bbb;border-bottom:#fff 1px solid;}ul.primary li a:hover{background-color:#eee;border-color:#ccc;border-bottom-color:#eee;}ul.secondary{border-bottom:1px solid #bbb;padding:0.5em 1em;margin:5px;}ul.secondary li{display:inline;padding:0 1em;border-right:1px solid #ccc;}ul.secondary a{padding:0;text-decoration:none;}ul.secondary a.active{border-bottom:4px solid #999;}#autocomplete{position:absolute;border:1px solid;overflow:hidden;z-index:100;}#autocomplete ul{margin:0;padding:0;list-style:none;}#autocomplete li{background:#fff;color:#000;white-space:pre;cursor:default;}#autocomplete li.selected{background:#0072b9;color:#fff;}html.js input.form-autocomplete{background-image:url(/misc/throbber.gif);background-repeat:no-repeat;background-position:100% 2px;}html.js input.throbbing{background-position:100% -18px;}html.js fieldset.collapsed{border-bottom-width:0;border-left-width:0;border-right-width:0;margin-bottom:0;height:1em;}html.js fieldset.collapsed *{display:none;}html.js fieldset.collapsed legend{display:block;}html.js fieldset.collapsible legend a{padding-left:15px;background:url(/misc/menu-expanded.png) 5px 75% no-repeat;}html.js fieldset.collapsed legend a{background-image:url(/misc/menu-collapsed.png);background-position:5px 50%;}* html.js fieldset.collapsed legend,* html.js fieldset.collapsed legend *,* html.js fieldset.collapsed table *{display:inline;}html.js fieldset.collapsible{position:relative;}html.js fieldset.collapsible legend a{display:block;}html.js fieldset.collapsible .fieldset-wrapper{overflow:auto;}.resizable-textarea{width:95%;}.resizable-textarea .grippie{height:9px;overflow:hidden;background:#eee url(/misc/grippie.png) no-repeat center 2px;border:1px solid #ddd;border-top-width:0;cursor:s-resize;}html.js .resizable-textarea textarea{margin-bottom:0;width:100%;display:block;}.draggable a.tabledrag-handle{cursor:move;float:left;height:1.7em;margin:-0.4em 0 -0.4em -0.5em;padding:0.42em 1.5em 0.42em 0.5em;text-decoration:none;}a.tabledrag-handle:hover{text-decoration:none;}a.tabledrag-handle .handle{margin-top:4px;height:13px;width:13px;background:url(/misc/draggable.png) no-repeat 0 0;}a.tabledrag-handle-hover .handle{background-position:0 -20px;}.joined + .grippie{height:5px;background-position:center 1px;margin-bottom:-2px;}.teaser-checkbox{padding-top:1px;}div.teaser-button-wrapper{float:right;padding-right:5%;margin:0;}.teaser-checkbox div.form-item{float:right;margin:0 5% 0 0;padding:0;}textarea.teaser{display:none;}html.js .no-js{display:none;}.progress{font-weight:bold;}.progress .bar{background:#fff url(/misc/progress.gif);border:1px solid #00375a;height:1.5em;margin:0 0.2em;}.progress .filled{background:#0072b9;height:1em;border-bottom:0.5em solid #004a73;width:0%;}.progress .percentage{float:right;}.progress-disabled{float:left;}.ahah-progress{float:left;}.ahah-progress .throbber{width:15px;height:15px;margin:2px;background:transparent url(/misc/throbber.gif) no-repeat 0px -18px;float:left;}tr .ahah-progress .throbber{margin:0 2px;}.ahah-progress-bar{width:16em;}#first-time strong{display:block;padding:1.5em 0 .5em;}tr.selected td{background:#ffc;}table.sticky-header{margin-top:0;background:#fff;}#clean-url.install{display:none;}html.js .js-hide{display:none;}#system-modules div.incompatible{font-weight:bold;}#system-themes-form div.incompatible{font-weight:bold;}span.password-strength{visibility:hidden;}input.password-field{margin-right:10px;}div.password-description{padding:0 2px;margin:4px 0 0 0;font-size:0.85em;max-width:500px;}div.password-description ul{margin-bottom:0;}.password-parent{margin:0 0 0 0;}input.password-confirm{margin-right:10px;}.confirm-parent{margin:5px 0 0 0;}span.password-confirm{visibility:hidden;}span.password-confirm span{font-weight:normal;}\n\nul.menu{list-style:none;border:none;text-align:left;}ul.menu li{margin:0 0 0 0.5em;}li.expanded{list-style-type:circle;list-style-image:url(/misc/menu-expanded.png);padding:0.2em 0.5em 0 0;margin:0;}li.collapsed{list-style-type:disc;list-style-image:url(/misc/menu-collapsed.png);padding:0.2em 0.5em 0 0;margin:0;}li.leaf{list-style-type:square;list-style-image:url(/misc/menu-leaf.png);padding:0.2em 0.5em 0 0;margin:0;}li a.active{color:#000;}td.menu-disabled{background:#ccc;}ul.links{margin:0;padding:0;}ul.links.inline{display:inline;}ul.links li{display:inline;list-style-type:none;padding:0 0.5em;}.block ul{margin:0;padding:0 0 0.25em 1em;}\n\n#permissions td.module{font-weight:bold;}#permissions td.permission{padding-left:1.5em;}#access-rules .access-type,#access-rules .rule-type{margin-right:1em;float:left;}#access-rules .access-type .form-item,#access-rules .rule-type .form-item{margin-top:0;}#access-rules .mask{clear:both;}#user-login-form{text-align:center;}#user-admin-filter ul{list-style-type:none;padding:0;margin:0;width:100%;}#user-admin-buttons{float:left;margin-left:0.5em;clear:right;}#user-admin-settings fieldset .description{font-size:0.85em;padding-bottom:.5em;}.profile{clear:both;margin:1em 0;}.profile .picture{float:right;margin:0 1em 1em 0;}.profile h3{border-bottom:1px solid #ccc;}.profile dl{margin:0 0 1.5em 0;}.profile dt{margin:0 0 0.2em 0;font-weight:bold;}.profile dd{margin:0 0 1em 0;}\n\r\n\r\n\r\n.field .field-label,.field .field-label-inline,.field .field-label-inline-first{font-weight:bold;}.field .field-label-inline,.field .field-label-inline-first{display:inline;}.field .field-label-inline{visibility:hidden;}.node-form .content-multiple-table td.content-multiple-drag{width:30px;padding-right:0;}.node-form .content-multiple-table td.content-multiple-drag a.tabledrag-handle{padding-right:.5em;}.node-form .content-add-more .form-submit{margin:0;}.node-form .number{display:inline;width:auto;}.node-form .text{width:auto;}.form-item #autocomplete .reference-autocomplete{white-space:normal;}.form-item #autocomplete .reference-autocomplete label{display:inline;font-weight:normal;}#content-field-overview-form .advanced-help-link,#content-display-overview-form .advanced-help-link{margin:4px 4px 0 0;}#content-field-overview-form .label-group,#content-display-overview-form .label-group,#content-copy-export-form .label-group{font-weight:bold;}table#content-field-overview .label-add-new-field,table#content-field-overview .label-add-existing-field,table#content-field-overview .label-add-new-group{float:left;}table#content-field-overview tr.content-add-new .tabledrag-changed{display:none;}table#content-field-overview tr.content-add-new .description{margin-bottom:0;}table#content-field-overview .content-new{font-weight:bold;padding-bottom:.5em;}.advanced-help-topic h3,.advanced-help-topic h4,.advanced-help-topic h5,.advanced-help-topic h6{margin:1em 0 .5em 0;}.advanced-help-topic dd{margin-bottom:.5em;}.advanced-help-topic span.code{background-color:#EDF1F3;font-family:\"Bitstream Vera Sans Mono\",Monaco,\"Lucida Console\",monospace;font-size:0.9em;padding:1px;}.advanced-help-topic .content-border{border:1px solid #AAA}\n\r\n#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;}#cboxOverlay{position:fixed;width:100%;height:100%;}#cboxMiddleLeft,#cboxBottomLeft{clear:left;}#cboxContent{position:relative;}#cboxLoadedContent{overflow:auto;}#cboxTitle{margin:0;}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer;}.cboxPhoto{float:left;margin:auto;border:0;display:block;}.cboxIframe{width:100%;height:100%;display:block;border:0;}#cboxOverlay{background:#fff;}#colorbox{}#cboxTopLeft{width:25px;height:25px;background:url(/sites/all/libraries/colorbox/example4/images/border1.png) no-repeat 0 0;}#cboxTopCenter{height:25px;background:url(/sites/all/libraries/colorbox/example4/images/border1.png) repeat-x 0 -50px;}#cboxTopRight{width:25px;height:25px;background:url(/sites/all/libraries/colorbox/example4/images/border1.png) no-repeat -25px 0;}#cboxBottomLeft{width:25px;height:25px;background:url(/sites/all/libraries/colorbox/example4/images/border1.png) no-repeat 0 -25px;}#cboxBottomCenter{height:25px;background:url(/sites/all/libraries/colorbox/example4/images/border1.png) repeat-x 0 -75px;}#cboxBottomRight{width:25px;height:25px;background:url(/sites/all/libraries/colorbox/example4/images/border1.png) no-repeat -25px -25px;}#cboxMiddleLeft{width:25px;background:url(/sites/all/libraries/colorbox/example4/images/border2.png) repeat-y 0 0;}#cboxMiddleRight{width:25px;background:url(/sites/all/libraries/colorbox/example4/images/border2.png) repeat-y -25px 0;}#cboxContent{background:#fff;overflow:hidden;}#cboxError{padding:50px;border:1px solid #ccc;}#cboxLoadedContent{margin-bottom:20px;}#cboxTitle{position:absolute;bottom:0px;left:0;text-align:center;width:100%;color:#999;}#cboxCurrent{position:absolute;bottom:0px;left:100px;color:#999;}#cboxSlideshow{position:absolute;bottom:0px;right:42px;color:#444;}#cboxPrevious{position:absolute;bottom:0px;left:0;color:#444;}#cboxNext{position:absolute;bottom:0px;left:63px;color:#444;}#cboxLoadingOverlay{background:#fff url(/sites/all/libraries/colorbox/example4/images/loading.gif) no-repeat 5px 5px;}#cboxClose{position:absolute;bottom:0;right:0;display:block;color:#444;}.cboxIE #cboxTopLeft,.cboxIE #cboxTopCenter,.cboxIE #cboxTopRight,.cboxIE #cboxBottomLeft,.cboxIE #cboxBottomCenter,.cboxIE #cboxBottomRight,.cboxIE #cboxMiddleLeft,.cboxIE #cboxMiddleRight{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);}.cboxIE6 #cboxTopLeft{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderTopLeft.png);}.cboxIE6 #cboxTopCenter{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderTopCenter.png);}.cboxIE6 #cboxTopRight{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderTopRight.png);}.cboxIE6 #cboxBottomLeft{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderBottomLeft.png);}.cboxIE6 #cboxBottomCenter{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderBottomCenter.png);}.cboxIE6 #cboxBottomRight{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderBottomRight.png);}.cboxIE6 #cboxMiddleLeft{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderMiddleLeft.png);}.cboxIE6 #cboxMiddleRight{background:url(/sites/all/libraries/colorbox/example4/images/ie6/borderMiddleRight.png);}.cboxIE6 #cboxTopLeft,.cboxIE6 #cboxTopCenter,.cboxIE6 #cboxTopRight,.cboxIE6 #cboxBottomLeft,.cboxIE6 #cboxBottomCenter,.cboxIE6 #cboxBottomRight,.cboxIE6 #cboxMiddleLeft,.cboxIE6 #cboxMiddleRight{_behavior:expression(this.src = this.src ? this.src:this.currentStyle.backgroundImage.split('\"')[1],this.style.background = \"none\",this.style.filter = \"progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\" + this.src + \",sizingMethod='scale')\");}\n.ctools-locked{color:red;border:1px solid red;padding:1em;}.ctools-owns-lock{background:#FFFFDD none repeat scroll 0 0;border:1px solid #F0C020;padding:1em;}a.ctools-ajaxing,input.ctools-ajaxing,button.ctools-ajaxing,select.ctools-ajaxing{padding-right:18px !important;background:url(/sites/all/modules/ctools/images/status-active.gif) right center no-repeat;}div.ctools-ajaxing{float:left;width:18px;background:url(/sites/all/modules/ctools/images/status-active.gif) center center no-repeat;}\n\n.container-inline-date{width:auto;clear:both;display:inline-block;vertical-align:top;margin-right:0.5em;}.container-inline-date .form-item{float:none;padding:0;margin:0;}.container-inline-date .form-item .form-item{float:left;}.container-inline-date .form-item,.container-inline-date .form-item input{width:auto;}.container-inline-date .description{clear:both;}.container-inline-date .form-item input,.container-inline-date .form-item select,.container-inline-date .form-item option{margin-right:5px;}.container-inline-date .date-spacer{margin-left:-5px;}.views-right-60 .container-inline-date div{padding:0;margin:0;}.container-inline-date .date-timezone .form-item{float:none;width:auto;clear:both;}#calendar_div,#calendar_div td,#calendar_div th{margin:0;padding:0;}#calendar_div,.calendar_control,.calendar_links,.calendar_header,.calendar{width:185px;border-collapse:separate;margin:0;}.calendar td{padding:0;}span.date-display-single{}span.date-display-start{}span.date-display-end{}span.date-display-separator{}.date-repeat-input{float:left;width:auto;margin-right:5px;}.date-repeat-input select{min-width:7em;}.date-repeat fieldset{clear:both;float:none;}.date-views-filter-wrapper{min-width:250px;}.date-views-filter input{float:left !important;margin-right:2px !important;padding:0 !important;width:12em;min-width:12em;}.date-nav{width:100%;}.date-nav div.date-prev{text-align:left;width:24%;float:left;}.date-nav div.date-next{text-align:right;width:24%;float:right;}.date-nav div.date-heading{text-align:center;width:50%;float:left;}.date-nav div.date-heading h3{margin:0;padding:0;}.date-clear{float:none;clear:both;display:block;}.date-clear-block{float:none;width:auto;clear:both;}.date-clear-block:after{content:\" \";display:block;height:0;clear:both;visibility:hidden;}.date-clear-block{display:inline-block;}/*_\\*/\n * html .date-clear-block{height:1%;}.date-clear-block{display:block;}/* End hide from IE-mac */\n\n.date-container .date-format-delete{margin-top:1.8em;margin-left:1.5em;float:left;}.date-container .date-format-name{float:left;}.date-container .date-format-type{float:left;padding-left:10px;}.date-container .select-container{clear:left;float:left;}div.date-calendar-day{line-height:1;width:40px;float:left;margin:6px 10px 0 0;background:#F3F3F3;border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #bbb;border-bottom:1px solid #bbb;color:#999;text-align:center;font-family:Georgia,Arial,Verdana,sans;}div.date-calendar-day span{display:block;text-align:center;}div.date-calendar-day span.month{font-size:.9em;background-color:#B5BEBE;color:white;padding:2px;text-transform:uppercase;}div.date-calendar-day span.day{font-weight:bold;font-size:2em;}div.date-calendar-day span.year{font-size:.9em;padding:2px;}\n\n.timeEntry_control{vertical-align:middle;margin-left:2px;}* html .timeEntry_control{margin-top:-4px;}\n\r\n\r\n\r\n.filefield-icon{margin:0 2px 0 0;}.filefield-element{margin:1em 0;white-space:normal;}.filefield-element .widget-preview{float:left;padding:0 10px 0 0;margin:0 10px 0 0;border-width:0 1px 0 0;border-style:solid;border-color:#CCC;max-width:30%;}.filefield-element .widget-edit{float:left;max-width:70%;}.filefield-element .filefield-preview{width:16em;overflow:hidden;}.filefield-element .widget-edit .form-item{margin:0 0 1em 0;}.filefield-element input.form-submit,.filefield-element input.form-file{margin:0;}.filefield-element input.progress-disabled{float:none;display:inline;}.filefield-element div.ahah-progress,.filefield-element div.throbber{display:inline;float:none;padding:1px 13px 2px 3px;}.filefield-element div.ahah-progress-bar{display:none;margin-top:4px;width:28em;padding:0;}.filefield-element div.ahah-progress-bar div.bar{margin:0;}\n\r\nform.fivestar-widget{clear:both;display:block;}form.fivestar-widget select,form.fivestar-widget input{margin:0;}.fivestar-combo-stars .fivestar-static-form-item{float:left;margin-right:40px;}.fivestar-combo-stars .fivestar-form-item{float:left;}.fivestar-static-form-item .form-item,.fivestar-form-item .form-item{margin:0;}div.fivestar-widget-static{display:block;}div.fivestar-widget-static br{clear:left;}div.fivestar-widget-static .star{float:left;width:17px;height:15px;overflow:hidden;text-indent:-999em;background:url(/sites/all/modules/fivestar/widgets/default/star.gif) no-repeat 0 0;}div.fivestar-widget-static .star span.on{display:block;width:100%;height:100%;background:url(/sites/all/modules/fivestar/widgets/default/star.gif) no-repeat 0 -32px;}div.fivestar-widget-static .star span.off{display:block;width:100%;height:100%;background:url(/sites/all/modules/fivestar/widgets/default/star.gif) no-repeat 0 0;}div.fivestar-widget{display:block;}div.fivestar-widget .cancel,div.fivestar-widget .star{float:left;width:17px;height:15px;overflow:hidden;text-indent:-999em;}div.fivestar-widget .cancel,div.fivestar-widget .cancel a{background:url(/sites/all/modules/fivestar/widgets/default/delete.gif) no-repeat 0 -16px;text-decoration:none;}div.fivestar-widget .star,div.fivestar-widget .star a{background:url(/sites/all/modules/fivestar/widgets/default/star.gif) no-repeat 0 0;text-decoration:none;}div.fivestar-widget .cancel a,div.fivestar-widget .star a{display:block;width:100%;height:100%;background-position:0 0;cursor:pointer;}div.fivestar-widget div.on a{background-position:0 -16px;}div.fivestar-widget div.hover a,div.rating div a:hover{background-position:0 -32px;}form.fivestar-widget div.description{margin-bottom:0;}\n\ndiv.fivestar-widget-static .star{background-image:url(/sites/default/files/fivestar/basic/star.png);}div.fivestar-widget-static .star span.on{background-image:url(/sites/default/files/fivestar/basic/star.png);}div.fivestar-widget-static .star span.off{background-image:url(/sites/default/files/fivestar/basic/star.png);}div.fivestar-widget .cancel,div.fivestar-widget .cancel a{background-image:url(/sites/default/files/fivestar/basic/cancel.png);}div.fivestar-widget .star,div.fivestar-widget .star a{background-image:url(/sites/default/files/fivestar/basic/star.png);}div.fivestar-widget div.hover a,div.rating div a:hover{background-image:url(/sites/default/files/fivestar/basic/star.png);}\n\r\ndiv.toboggan-container{text-align:center;}div.toboggan-login-link-container{text-align:left;}div.toboggan-login-link-container a{text-decoration:none;}div.toboggan-block-message{text-align:left;}div.user-login-block{text-align:left;}div.user-login-block a{text-align:left;}\n.oembed{display:block;clear:right;float:right;margin:5px 0 10px 5px;text-align:center;padding:5px;border-top:1px solid #a3a3a3;border-right:1px solid #888;border-bottom:1px solid #747474;border-left:1px solid #888;background:#c9c9c9;color:#494949;-moz-border-radius:4px;-webkit-border-radius:4px;}.oembed .oembed-title{display:block;margin:-5px -5px 5px;border-top:1px solid #dedede;-moz-border-radius:3px;-webkit-border-radius:3px;line-height:normal;padding:5px 8px 3px;color:#000;text-shadow:1px 1px 1px #fff;font-weight:700;font-size:10px;font-family:Verdana;}.oembed .oembed-content{display:block;border-top:0;}.oembed .oembed-photo img,.oembed .oembed-content object,.oembed .oembed-content embed{display:block;margin:0 auto;}.oembed .oembed-content .node{max-width:300px;margin:0;border:0;padding:0;}\n.og-picture-wrapper{border-bottom:1px dotted;padding:5px 0px;text-align:center;}.og-picture-wrapper .picture{float:none;}#block-og-5 div.item-list ul{padding:0;margin:0;}#block-og-5 div.item-list ul ul li{margin:0}#block-og-0 .form-item{margin-bottom:.4em;}#block-og-0 h2 a{text-decoration:none;}.groups .links{display:inline;}.view-id-og_members_faces table td,.view-id-og_members_block{text-align:center;vertical-align:bottom;}.view-id-og_members_block .item-list ul li{border-top:#CCCCCC 1px dotted;padding-top:4px;list-style:none;background:none;margin-left:0;padding-left:0em;text-indent:-1em;}.view-id-og_members_faces tr.row-first td,.view-id-og_members_block ul li:first-child{border-top:none;}.view-id-og_members_faces div.picture,.view-id-og_members_block div.picture{float:none;}.views-field-is-admin{font-style:italic;}\n\r\n\r\n.red{color:red;}.green{color:green;}\n\r\n\r\na.go{display:block;width:18px;height:18px;background:url(/sites/all/modules/swftools/flowplayer3/images/up.png) no-repeat;margin:5px 0 5px 105px;cursor:pointer;}a.go:hover,a.go.down:hover{background-position:0px -18px;}a.go.up{margin-top:20px;}a.go.down{background-image:url(/sites/all/modules/swftools/flowplayer3/images/down.png);}div.swftools-flowplayer3-playlist{position:relative;overflow:hidden;height:288px !important;}div.swftools-flowplayer3-playlist,div.clips{width:260px;}div.swftools-flowplayer3-playlist-container{float:left;}.swftools-flowplayer3-container{display:block;height:375px;width:500px;text-align:center;margin:0;padding:0;float:left;}.clips{float:left;}.swftools-flowplayer3-container img.flowplayer3-play-button{margin-top:146px;border:0px;}.swftools-flowplayer3-container:hover{}div.clips a{background:url(/sites/all/modules/swftools/flowplayer3/images/h80.png);display:block;background-color:#fefeff;padding:12px 15px;height:46px;width:195px;font-size:12px;border:1px outset #ccc;text-decoration:none;letter-spacing:-1px;color:#000;overflow:hidden;}div.clips a img{float:left;padding-right:15px;}div.clips a.first{border-top-width:1px;}div.clips a.playing,div.clips a.paused,div.clips a.progress{background:url(/sites/all/modules/swftools/flowplayer3/images/light.png) no-repeat 0px -69px;width:225px;border:0;}div.clips a.progress{opacity:0.6;}div.clips a.paused{background-position:0 0;}div.clips a span{display:block;font-size:11px;color:#666;}div.clips a em{font-style:normal;color:#f00;}div.clips a:hover{background-color:#f9f9fa;}div.clips a.playing:hover,div.clips a.paused:hover,div.clips a.progress:hover{background-color:transparent !important;}div.clips.petrol a{background-color:#193947;color:#fff;border:1px outset #193947;}div.clips.petrol a.playing,div.clips.petrol a.paused,div.clips.petrol a.progress{background:url(/sites/all/modules/swftools/flowplayer3/images/dark.png) no-repeat 0px -69px;border:0;}div.clips.petrol a.paused{background-position:0 0;}div.clips.petrol a span{color:#aaa;}div.clips.petrol a em{color:#FCA29A;font-weight:bold;}div.clips.petrol a:hover{background-color:#274D58;}div.clips.petrol a.playing:hover,div.clips.petrol a.paused:hover,div.clips.petrol a.progress:hover{background-color:transparent !important;}\n\r\n\r\n#sm2-container{position:absolute;width:1px;height:1px;overflow:hidden;_overflow:hidden;}#sm2-container object,#sm2-container embed{width:48px;height:48px;max-width:48px;max-height:48px;}#sm2-container.swf_timedout{position:relative;width:48px;height:48px;}#sm2-container.swf_timedout,#sm2-container.swf_timedout object,#sm2-container.swf_timedout embed{min-width:48px;min-height:48px;}#sm2-container.swf_unblocked{width:1px;height:1px;}#sm2-container.swf_loaded object,#sm2-container.swf_loaded embed,#sm2-container.swf_unblocked object,#sm2-container.swf_unblocked embed{left:-9999em;top:-9999em;}#sm2-container.swf_error{display:none;}#sm2-container.high_performance,#sm2-container.high_performance.swf_timeout{position:absolute;position:fixed;}#sm2-container.high_performance{overflow:hidden;_top:-9999px;_left:-9999px;bottom:0px;left:0px;z-index:99;}#sm2-container.high_performance.swf_loaded,#sm2-container.high_performance.swf_unblocked{z-index:auto;}#sm2-container.high_performance.swf_loaded,#sm2-container.high_performance.swf_unblocked,#sm2-container.high_performance.swf_unblocked object,#sm2-container.high_performance.swf_unblocked embed{height:8px;width:8px;}#sm2-container.high_performance.swf_loaded{top:auto;bottom:0px;left:0px;}#sm2-container.high_performance.swf_loaded object,#sm2-container.high_performance.swf_loaded embed,#sm2-container.high_performance.swf_unblocked object,#sm2-container.high_performance.swf_unblocked embed{left:auto;top:auto;}#sm2-container.high_performance.swf_timedout{z-index:99;}\n\r\n\r\n.ui360,.sm2-360ui{position:relative;}.ui360,.sm2-360ui{min-width:50px;min-height:50px;}.sm2-360ui{width:50px;height:50px;}.ui360,.ui360 *{vertical-align:middle;}.sm2-360ui{position:relative;display:inline-block;float:left;*display:inline;}.sm2-360ui.sm2_playing,.sm2-360ui.sm2_paused{z-index:10;}.ui360 a{float:left;display:inline;position:relative;color:#000;text-decoration:none;left:3px;top:18px;text-indent:50px;}.ui360 a.sm2_link{text-indent:0px;}.ui360 a,.ui360 a:hover,.ui360 a:focus{padding:2px;margin-left:-2px;margin-top:-2px;}.ui360 a:hover,.ui360 a:focus{background:#eee;border-radius:3px;outline:none;}.ui360 .sm2-canvas{position:absolute;left:0px;top:0px;}.ui360 .sm2-timing{position:absolute;display:block;left:0px;top:0px;width:100%;height:100%;margin:0px;font:11px \"helvetica neue\",helvetica,monaco,lucida,terminal,monospace;color:#666;text-align:center;line-height:50px;}.ui360 .sm2-timing.alignTweak{text-indent:1px;}.ui360 .sm2-cover{position:absolute;left:0px;top:0px;width:100%;height:100%;z-index:2;display:none;background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==);}.ui360 .sm2-360btn{position:absolute;display:block;top:50%;left:50%;width:50px;height:50px;margin-left:-25px;margin-top:-25px;border-radius:25px;cursor:pointer;z-index:3;}.ui360 .sm2-360data{display:inline-block;font-family:helvetica;}.sm2-inline-block .ui360 .sm2-360btn,.ui360 .sm2-360ui.sm2_playing .sm2-360btn,.ui360 .sm2-360ui.sm2_paused .sm2-360btn{width:22px;height:22px;margin-left:-11px;margin-top:-11px;}.ui360 .sm2-360ui.sm2_playing .sm2-cover,.ui360 .sm2-360ui.sm2_paused .sm2-cover{display:block;}.ui360,.ui360 .sm2-360btn-default,.ui360 .sm2-360ui.sm2_paused .sm2-360btn{background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-play.png) no-reoeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAABoUlEQVR42sWVu2oCQRhGU/s8gpVYJeQJNkZSbiH4QNuLlQZS21sJayGYaOEFVFDxNiremj9zig2uzk5YQpKFg8PMd75ZZle9E5Ff4e+Ll8tlQuNoPI2vUcCYOdbIxCmm9F5T0YgNMmS/LebSwWdNa7VayXq9ls1mI9vtVna7nQBj5lgjQxYHN7KY3QkiUbDf7+V4PMrpdArBHGtkyOJc3/n1mVaUUl+F5/PZSrABDi4dpmKH3QkixQEHlw5TsccZmsRCoSD1et1ajkuHqdg/HA5GKZPJCOTzeanVasYMLh2mYsXDIGAoDuG6rlSr1WCdBxrcsTIWazgrQiHS6bSRYJ3XDzeq2O/3+9Ltdm9IpVIhstmslEqlUAY36ii8ZrMpjUbjhmQyKeA4jhSLRWMGN+rhOZ1Oh8ANuVxOyuUy40hwo163RK/XeyPQbrdjgYNr/ILAYDB41Gf1wZnFAQfX+iM0HA5fxuPx+2g0Ej22QoYsDq61mGsymTxMp9NX/Sk2yJDFsRZfXpzXbDZ7WiwW3nw+9zUKGDPHGpkL5V//mn7OJyJZApyzeUS5AAAAAElFTkSuQmCC);*background-image:url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-play.png);background-repeat:no-repeat;}.ui360{background-position:14px 50%;_background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-play.gif) no-repeat 14px 50%;}.ui360 .sm2-360btn-default,.ui360 .sm2-360ui.sm2_paused .sm2-360btn{background-position:50% 50%;_background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-play.gif) no-repeat 50% 50%;}.ui360 .sm2-360btn-default,.ui360 .sm2-360ui.sm2_paused .sm2-360btn{cursor:pointer;}.ui360 .sm2-360btn-default:hover,.ui360 .sm2-360ui.sm2_paused .sm2-360btn:hover{background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-play-light.png) no-repeat 50% 50%;_background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-play.gif) no-repeat 50% 50%;cursor:pointer;}.ui360 .sm2-360ui.sm2_playing .sm2-360btn:hover,.ui360 .sm2-360btn-playing:hover{background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-pause-light.png) no-repeat 50% 50%;_background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/360-button-pause-light.gif) no-repeat 50% 50%;cursor:pointer;}.ui360 .sm2-360ui.sm2_playing .sm2-timing{visibility:visible;}.ui360 .sm2-360ui.sm2_buffering .sm2-timing{visibility:hidden;}.ui360 .sm2-360ui .sm2-timing,.ui360 .sm2-360ui .sm2-360btn:hover + .sm2-timing,.ui360 .sm2-360ui.sm2_paused .sm2-timing{visibility:hidden;}.ui360 .sm2-360ui.sm2_dragging .sm2-timing,.ui360 .sm2-360ui.sm2_dragging .sm2-360btn:hover + .sm2-timing{visibility:visible;}.ui360 .sm2-360ui.sm2_playing .sm2-360btn,.ui360 .sm2-360ui.sm2_dragging .sm2-360btn,.ui360 .sm2-360ui.sm2_dragging .sm2-360btn:hover,.ui360 .sm2-360ui.sm2_dragging .sm2-360btn-playing:hover{background:transparent;cursor:auto;}.ui360 .sm2-360ui.sm2_buffering .sm2-360btn,.ui360 .sm2-360ui.sm2_buffering .sm2-360btn:hover{background:transparent url(/sites/all/libraries/soundmanager2/demo/360-player/icon_loading_spinner.gif) no-repeat 50% 50%;opacity:0.5;visibility:visible;}.sm2-inline-list .ui360,.sm2-inline-block .ui360{position:relative;display:inline-block;float:left;_display:inline;margin-bottom:-15px;}.sm2-inline-list .ui360{margin-right:-2px;}.sm2-inline-block .ui360{margin-right:8px;}.sm2-inline-list .ui360 a{display:none;}ul.ui360playlist{list-style-type:none;}ul.ui360playlist,ul.ui360playlist li{margin:0px;padding:0px;}div.ui360 div.metadata{display:none;}div.ui360 a span.metadata,div.ui360 a span.metadata *{vertical-align:baseline;}\n\r\n.swftools-accessible-hidden{display:none;}\n\r\n\r\n.user_relationships_ui_popup_form{margin:5px;padding:5px;border:5px solid black;background:#dddddd;display:none;width:500px;position:absolute;z-index:1000;}#user_relationships_popup_form_saving{font-weight:bold;background:url(/sites/all/modules/user_relationships/user_relationships_ui/images/savingimage.gif) no-repeat 12px 1px;display:none;padding:0 1em 0 36px;float:left;}#user_relationships_popup_form_saving p{margin:0;}#user_relationships_popup_form_saving_notice{font-size:0.9em;font-style:italic;background:#FFC;}\n\r\n.filefield-element .filefield-file-info,.video_thumbnail{min-width:100px;min-height:100px;}.filefield-element .imagefield-preview{min-width:100px;min-height:100px;}.filefield-element .imagefield-text{max-width:40em;}.filefield-element .uploadfield-text{max-width:40em;}.video_thumbnail{min-width:100px;min-height:100px;}.uploadfield{}.uploadfield-nodelink{}.uploadfield-video-thumb{}.uploadfield-video-thumb img{width:250px;min-height:210px;}.uploadfield-video-thumb span{background:url(/sites/all/modules/video/images/play.png) no-repeat;width:50px;height:112px;position:absolute;margin:65px 100px;}.uploadfield-video-thumb span:hover{background-position:-50px 0px;}.video-width-text{width:10px;}.video-thumb-selection{}.video-thumb-selection .form-item{}.video-thumbnails{}.video-thumbnails .form-item{float:left;margin-right:10px;max-width:30%;padding-right:10px;}.video-bypass-auto-conversion{}.video-default-thumbnail{}.video-data{}.video_image_teaser{float:left;padding:0.5em;}br.video_image_clear{clear:both;}.video_image_view{}.video-ffmpeg-helper-inprogress{border:1px solid red;padding:.5em;}.widget-edit{max-width:70%;}.widget-edit .form-item{white-space:normal !important;}.admin_flv_player_wrapper{display:none;}* html object.video-object{display:none;}* html object.video-object{display:inline;}* html object.video-object{display:none;}\nspan.wysiwyg_imageupload{border:1px solid #CCC;padding:4px 4px 0px 4px;background:#F3F3F3;text-align:center;margin:0 auto;}.imgupl_floating_none{float:none;display:table;text-align:center;}.imgupl_floating_none_left{float:none;display:table;text-align:left;}span.wysiwyg_imageupload.imgupl_floating_none_left{margin:0 0;}.imgupl_floating_none_right{float:none;display:block;text-align:right;}span.wysiwyg_imageupload.imgupl_floating_none_right{margin:0 0;}.imgupl_floating_left{float:left;padding-right:2px;}.imgupl_floating_right{float:right;padding-left:2px;}img.imgupl_styles_spacing_5,div.imgupl_styles_spacing_5{padding:5px;}img.imgupl_styles_spacing_10,div.imgupl_styles_spacing_10{padding:10px;}img.imgupl_styles_spacing_20,div.imgupl_styles_spacing_20{padding:20px;}img.imgupl_styles_spacing_20_black_border,div.imgupl_styles_spacing_20_black_border{margin:20px;border:1px solid #000;}img.imgupl_styles_black_border,div.imgupl_styles_black_border{border:1px solid #000;}div.imgupl_styles_spacing_20 img.imgupl_styles_spacing_20,div.imgupl_styles_spacing_20_black_border img.imgupl_styles_spacing_20_black_border,div.imgupl_styles_spacing_5 img.imgupl_styles_spacing_5,div.imgupl_styles_spacing_10 img.imgupl_styles_spacing_10,div.imgupl_styles_black_border img.imgupl_styles_black_border{border:0px solid transparent;padding:0px;margin:0px;}div.imgupl_styles_spacing_20_black_border .image_title,div.imgupl_styles_black_border .image_title{margin:1px 0px 2px 2px;text-decoration:none;}.image_title{font-size:0.857em;}#image_preview{float:right;}#image_details{float:left;}.image_meta{display:block;}#image_details_form{width:300px;}#edit-start-upload{display:inline;margin-top:25px;margin-left:5px;}#edit-wysiwyg-imageupload-file-wrapper{display:inline;}.uploading{background-image:url(/sites/all/modules/wysiwyg_imageupload/plugins/imgupload/images/throbber.gif);background-position:center center;background-repeat:no-repeat;height:130px;width:500px;}#wysiwyg-imageupload-edit-form{width:700px;}.clearfix:after{clear:both;content:\".\";display:block;font-size:0;height:0;visibility:hidden;}.clearfix{display:block;}\n\n.farbtastic{position:relative;}.farbtastic *{position:absolute;cursor:crosshair;}.farbtastic,.farbtastic .wheel{width:195px;height:195px;}.farbtastic .color,.farbtastic .overlay{top:47px;left:47px;width:101px;height:101px;}.farbtastic .wheel{background:url(/misc/farbtastic/wheel.png) no-repeat;width:195px;height:195px;}.farbtastic .overlay{background:url(/misc/farbtastic/mask.png) no-repeat;}.farbtastic .marker{width:17px;height:17px;margin:-8px 0 0 -8px;overflow:hidden;background:url(/misc/farbtastic/marker.png) no-repeat;}\n\r\n.calendar-calendar tr.odd,.calendar-calendar tr.even{background-color:#fff;}.calendar-calendar table{border-collapse:collapse;border-spacing:0;margin:0 auto;padding:0;width:100%;}.calendar-calendar .month-view table{border:none;padding:0;margin:0;width:100%;}.calendar-calendar .year-view td{width:32%;padding:1px;border:none;}.calendar-calendar .year-view td table td{width:13%;padding:0;}.calendar-calendar tr{padding:0;margin:0;background-color:white;}.calendar-calendar th{color:#fff;background-color:#ccc;text-align:center;margin:0;}.calendar-calendar th a{font-weight:bold;color:#fff;background-color:#ccc;}.calendar-calendar td{width:12%;min-width:12%;border:1px solid #ccc;color:#777;text-align:right;vertical-align:top;margin:0;padding:0;}.calendar-calendar .mini{border:none;}.calendar-calendar td.week{width:1%;min-width:1%;}.calendar-calendar .week{clear:both;font-style:normal;color:#555;font-size:0.8em;}.calendar-calendar .week a{font-weight:normal;}.calendar-calendar .inner{min-height:5em;height:auto !important;height:5em;padding:0;margin:0;}.calendar-calendar .inner div{padding:0;margin:0;}.calendar-calendar .inner p{padding:0 0 .8em 0;margin:0;}.calendar-calendar td a{font-weight:bold;text-decoration:none;}.calendar-calendar td a:hover{text-decoration:underline;}.calendar-calendar td.year,.calendar-calendar td.month{text-align:center;}.calendar-calendar th.days{color:#ccc;background-color:#224;text-align:center;padding:1px;margin:0;}.calendar-calendar div.day{float:right;text-align:center;padding:0.125em 0.25em 0 0.25em;margin:0;background-color:#f3f3f3;border:1px solid gray;border-width:0 0 1px 1px;clear:both;width:1.5em;}.calendar-calendar div.calendar{background-color:#fff;border:solid 1px #ddd;text-align:left;margin:0 .25em .25em 0;width:96%;float:right;clear:both;}.calendar-calendar .day-view div.calendar{float:none;width:98%;margin:1% 1% 0 1%;}.calendar-calendar div.title{font-size:.8em;text-align:center;}.calendar-calendar div.title a{color:#000;}.calendar-calendar div.title a:hover{color:#c00;}.calendar-calendar .content{clear:both;padding:3px;padding-left:5px;}.calendar div.form-item{white-space:normal;}table td.mini,table th.mini,table.mini td.week{padding:0 1px 0 0;margin:0;}table td.mini a{font-weight:normal;}.calendar-calendar .mini-day-off{padding:0px;}.calendar-calendar .mini-day-on{padding:0px;}table .mini-day-on a{text-decoration:underline;}.calendar-calendar .mini .title{font-size:.8em;}.mini .calendar-calendar .week{font-size:.7em;}.mini-row{width:100%;border:none;}.mini{width:32%;vertical-align:top;}.calendar-calendar .stripe{height:5px;width:auto;font-size:1px !important;line-height:1px !important;}.calendar-calendar .day-view .stripe{width:100%;}table.calendar-legend{background-color:#ccc;width:100%;margin:0;padding:0;}table.calendar-legend tr.odd .stripe,table.calendar-legend tr.even .stripe{height:12px !important;font-size:9px !important;line-height:10px !important;}.calendar-legend td{text-align:left;}.calendar-empty{font-size:1px;line-height:1px;}.calendar-calendar td.calendar-agenda-hour{font-family:serif;text-align:right;border:none;border-top:1px #333 dotted;padding-top:.25em;width:1%;}.calendar-calendar td.calendar-agenda-no-hours{min-width:1%;}.calendar-calendar td.calendar-agenda-hour .calendar-hour{font-size:1.2em;font-weight:bold;}.calendar-calendar td.calendar-agenda-hour .calendar-ampm{font-size:1em;}.calendar-calendar td.calendar-agenda-items{border:1px #333 dotted;text-align:left;}.calendar-calendar td.calendar-agenda-items div.calendar{width:auto;padding:.25em;margin:0;}.calendar-calendar div.calendar div.inner .calendar-agenda-empty{width:100%;text-align:center;vertical-align:middle;padding:1em 0;background-color:#fff;}.calendar-date-select form{text-align:right;float:right;width:25%;}.calendar-date-select div,.calendar-date-select input,.calendar-date-select label{text-align:right;padding:0;margin:0;float:right;clear:both;}.calendar-date-select .description{float:right;}.calendar-label{font-weight:bold;display:block;clear:both;}.calendar-calendar div.date-nav{background-color:#ccc;color:#777;padding:0.2em;width:auto;border:1px solid #ccc;}.calendar-calendar div.date-nav a,.calendar-calendar div.date-nav h3{color:#777;}.calendar-calendar th.days{background-color:#eee;color:#777;font-weight:bold;border:1px solid #ccc;}.calendar-calendar td.empty{background:#ccc;border-color:#ccc;}.calendar-calendar table.mini td.empty{background:#fff;border-color:#fff;}.calendar-calendar td div.day{border:1px solid #ccc;border-top:none;border-right:none;margin-bottom:2px;}.calendar-calendar td .inner div,.calendar-calendar td .inner div a{background:#eee;}.calendar-calendar div.calendar{border:none;font-size:x-small;}.calendar-calendar td .inner div.calendar div,.calendar-calendar td .inner div.calendar div a{border:none;background:#ffc;padding:0 2px;}.calendar-calendar td .inner div.calendar div.calendar-more,.calendar-calendar td .inner div.calendar div.calendar-more a{color:#444;background:#fff;text-align:right;}.calendar-calendar td .inner .view-field,.calendar-calendar td .inner .view-field a{color:#444;font-weight:normal;}.calendar-calendar td span.date-display-single,.calendar-calendar td span.date-display-start,.calendar-calendar td span.date-display-end,.calendar-calendar td span.date-display-separator{font-weight:bold;}.calendar-calendar td .inner div.day a{color:#4b85ac;}.calendar-calendar tr td.today,.calendar-calendar tr.odd td.today,.calendar-calendar tr.even td.today{background-color:#C3D6E4;}.calendar-calendar td .inner div.calendar div div.view-data-node-data-field-date-field-date-value{border-bottom:1px solid #ccc;}.calendar-calendar td.past{}.calendar-calendar td.future{}.calendar-calendar td.has-events{}.calendar-calendar td.has-no-events{}\n\r\n\r\ndiv.fieldgroup{margin:.5em 0 1em 0;}div.fieldgroup .content{padding-left:1em;}\n.views-exposed-form .views-exposed-widget{float:left;padding:.5em 1em 0 0;}.views-exposed-form .views-exposed-widget .form-submit{margin-top:1.6em;}.views-exposed-form .form-item,.views-exposed-form .form-submit{margin-top:0;margin-bottom:0;}.views-exposed-form label{font-weight:bold;}.views-exposed-widgets{margin-bottom:.5em;}html.js a.views-throbbing,html.js span.views-throbbing{background:url(/sites/all/modules/views/images/status-active.gif) no-repeat right center;padding-right:18px;}div.view div.views-admin-links{font-size:xx-small;margin-right:1em;margin-top:1em;}.block div.view div.views-admin-links{margin-top:0;}div.view div.views-admin-links ul{margin:0;padding:0;}div.view div.views-admin-links li{margin:0;padding:0 0 2px 0;z-index:201;}div.view div.views-admin-links li a{padding:0;margin:0;color:#ccc;}div.view div.views-admin-links li a:before{content:\"[\";}div.view div.views-admin-links li a:after{content:\"]\";}div.view div.views-admin-links-hover a,div.view div.views-admin-links:hover a{color:#000;}div.view div.views-admin-links-hover,div.view div.views-admin-links:hover{background:transparent;}div.view div.views-hide{display:none;}div.view div.views-hide-hover,div.view:hover div.views-hide{display:block;position:absolute;z-index:200;}div.view:hover div.views-hide{margin-top:-1.5em;}.views-view-grid tbody{border-top:none;}\n\n.indented{margin-left:25px;}.comment-unpublished{background-color:#fff4f4;}.preview .comment{background-color:#ffffea;}\n\r\n.jcarousel-container{position:relative;}.jcarousel-clip{z-index:2;padding:0;margin:0;overflow:hidden;position:relative;}.jcarousel-list{z-index:1;overflow:hidden;position:relative;top:0;left:0;margin:0;padding:0;}.jcarousel-list li,.jcarousel-item{float:left;list-style:none;width:75px;height:75px;}.jcarousel-next{z-index:3;display:none;}.jcarousel-prev{z-index:3;display:none;}\n.jcarousel-skin-ie7 .jcarousel-container{-moz-border-radius:10px;background:#D4D0C8;border:1px solid #808080;}.jcarousel-skin-ie7 .jcarousel-container-horizontal{width:245px;padding:20px 40px;}.jcarousel-skin-ie7 .jcarousel-container-vertical{width:75px;height:245px;padding:40px 20px;}.jcarousel-skin-ie7 .jcarousel-clip-horizontal{width:245px;height:77px;}.jcarousel-skin-ie7 .jcarousel-clip-vertical{width:77px;height:245px;}.jcarousel-skin-ie7 .jcarousel-item{width:75px;height:75px;border:1px solid #fff;}.jcarousel-skin-ie7 .jcarousel-item:hover{border-color:#808080;}.jcarousel-skin-ie7 .jcarousel-item-horizontal{margin-right:7px;}.jcarousel-skin-ie7 .jcarousel-item-vertical{margin-bottom:7px;}.jcarousel-skin-ie7 .jcarousel-item-placeholder{}.jcarousel-skin-ie7 .jcarousel-next-horizontal{position:absolute;top:43px;right:5px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/modules/viewscarousel/skins/ie7/next-horizontal.gif) no-repeat 0 0;}.jcarousel-skin-ie7 .jcarousel-next-horizontal:hover{background-position:-32px 0;}.jcarousel-skin-ie7 .jcarousel-next-horizontal:active{background-position:-64px 0;}.jcarousel-skin-ie7 .jcarousel-next-disabled-horizontal,.jcarousel-skin-ie7 .jcarousel-next-disabled-horizontal:hover,.jcarousel-skin-ie7 .jcarousel-next-disabled-horizontal:active{cursor:default;background-position:-96px 0;}.jcarousel-skin-ie7 .jcarousel-prev-horizontal{position:absolute;top:43px;left:5px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/modules/viewscarousel/skins/ie7/prev-horizontal.gif) no-repeat 0 0;}.jcarousel-skin-ie7 .jcarousel-prev-horizontal:hover{background-position:-32px 0;}.jcarousel-skin-ie7 .jcarousel-prev-horizontal:active{background-position:-64px 0;}.jcarousel-skin-ie7 .jcarousel-prev-disabled-horizontal,.jcarousel-skin-ie7 .jcarousel-prev-disabled-horizontal:hover,.jcarousel-skin-ie7 .jcarousel-prev-disabled-horizontal:active{cursor:default;background-position:-96px 0;}.jcarousel-skin-ie7 .jcarousel-next-vertical{position:absolute;bottom:5px;left:43px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/modules/viewscarousel/skins/ie7/next-vertical.gif) no-repeat 0 0;}.jcarousel-skin-ie7 .jcarousel-next-vertical:hover{background-position:0 -32px;}.jcarousel-skin-ie7 .jcarousel-next-vertical:active{background-position:0 -64px;}.jcarousel-skin-ie7 .jcarousel-next-disabled-vertical,.jcarousel-skin-ie7 .jcarousel-next-disabled-vertical:hover,.jcarousel-skin-ie7 .jcarousel-next-disabled-vertical:active{cursor:default;background-position:0 -96px;}.jcarousel-skin-ie7 .jcarousel-prev-vertical{position:absolute;top:5px;left:43px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/modules/viewscarousel/skins/ie7/prev-vertical.gif) no-repeat 0 0;}.jcarousel-skin-ie7 .jcarousel-prev-vertical:hover{background-position:0 -32px;}.jcarousel-skin-ie7 .jcarousel-prev-vertical:active{background-position:0 -64px;}.jcarousel-skin-ie7 .jcarousel-prev-disabled-vertical,.jcarousel-skin-ie7 .jcarousel-prev-disabled-vertical:hover,.jcarousel-skin-ie7 .jcarousel-prev-disabled-vertical:active{cursor:default;background-position:0 -96px;}\n\n.quicktabs-hide{display:none;}ul.quicktabs_tabs{margin-top:0;}ul.quicktabs_tabs li{display:inline;background:none;list-style-type:none;padding:2px;white-space:nowrap;}ul.quicktabs_tabs li a:focus{outline:none;}\n\n\n\n.quicktabs_main.quicktabs-style-zen{clear:both;}ul.quicktabs_tabs.quicktabs-style-zen{margin:0 0 10px 0;padding:0 0 3px;font-size:1em;list-style:none;height:21px;background:transparent url(/sites/all/modules/quicktabs/tabstyles/zen/images/tab-bar.png) repeat-x left bottom;}*html ul.quicktabs_tabs.quicktabs-style-zen li{margin-bottom:-5px;}ul.quicktabs_tabs.quicktabs-style-zen li{float:left;margin:0 5px;padding:0 0 0 5px;background:transparent url(/sites/all/modules/quicktabs/tabstyles/zen/images/tab-left-ie6.png) no-repeat left -38px;}ul.quicktabs_tabs.quicktabs-style-zen li a{font:bold 12px/170% Verdana;font-size-adjust:none;display:block;margin:0;padding:4px 17px 0px 12px;border-width:0;font-weight:bold;text-decoration:none;background:transparent url(/sites/all/modules/quicktabs/tabstyles/zen/images/tab-right-ie6.png) no-repeat right -38px;}ul.quicktabs_tabs.quicktabs-style-zen li:hover a{border-width:0;background:transparent url(/sites/all/modules/quicktabs/tabstyles/zen/images/tab-right-ie6.png) no-repeat right -76px;}quicktabs_tabs.quicktabs-style-zen li:hover{background:transparent url(/sites/all/modules/quicktabs/tabstyles/zen/images/tab-left-ie6.png) no-repeat left -76px;}ul.quicktabs_tabs.quicktabs-style-zen li.active a,ul.quicktabs_tabs.quicktabs-style-zen li.active a:hover{text-decoration:none;border-width:0;background:transparent url(/sites/all/modules/quicktabs/tabstyles/zen/images/tab-right-ie6.png) no-repeat right 0;}ul.quicktabs_tabs.quicktabs-style-zen li.active{background:transparent url(/sites/all/modules/quicktabs/tabstyles/zen/images/tab-left-ie6.png) no-repeat left 0;}\n\r\n\r\n\r\nhtml,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;font:inherit;line-height:inherit;background:transparent;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}caption,th,td{font-weight:normal;text-align:left;}ol,ul{list-style:none;}ins{text-decoration:none;}del{text-decoration:line-through;}audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}audio:not([controls]) {display:none;}[hidden]{display:none;}svg:not(:root) {overflow:hidden;}:hover,:active,:focus{outline:0;}body,button,input,select,textarea{-webkit-text-size-adjust:none;}mark{background:#fd6;color:#000;}pre,code,kbd,samp{font-family:monospace,serif;_font-family:'courier new',monospace;}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word;}nav ul,nav ol{list-style:none;list-style-image:none;}img{border:0;-ms-interpolation-mode:bicubic;}fieldset{margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;*margin-left:-7px;}button,input,select,textarea{margin:0;vertical-align:middle;*vertical-align:middle;}button,input{line-height:normal;}button,input[type=\"button\"],input[type=\"reset\"],input[type=\"submit\"]{cursor:pointer;-webkit-appearance:button;*overflow:visible;}input[type=\"checkbox\"],input[type=\"radio\"]{box-sizing:border-box;padding:0;margin-left:1px;vertical-align:baseline;}input[type=\"search\"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}\n.tipsy{padding:5px;position:absolute;z-index:100000;}.tipsy-inner{padding:5px 8px 4px 8px;background-color:#000;color:#fff;font-size:.75em;font-weight:200;letter-spacing:0.05em;max-width:220px;text-align:center;text-shadow:0 1px 0 #000;}.tipsy-inner{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.tipsy-arrow{position:absolute;background:url(/sites/all/themes/phyrtual/images/tipsy.gif) no-repeat top left;width:9px;height:5px;}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-4px;}.tipsy-nw .tipsy-arrow{top:0;left:10px;}.tipsy-ne .tipsy-arrow{top:0;right:10px;}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-4px;background-position:bottom left;}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;background-position:bottom left;}.tipsy-se .tipsy-arrow{bottom:0;right:10px;background-position:bottom left;}.tipsy-e .tipsy-arrow{top:50%;margin-top:-4px;right:0;width:5px;height:9px;background-position:top right;}.tipsy-w .tipsy-arrow{top:50%;margin-top:-4px;left:0;width:5px;height:9px;}\n" | |
}, | |
"redirectURL": "", | |
"headersSize": 289, | |
"bodySize": 14461 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 0, | |
"dns": 0, | |
"connect": 0, | |
"send": 0, | |
"wait": 65, | |
"receive": 55 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.037+01:00", | |
"time": 183, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/default/files/css/css_42ad0f1f4adaf91d2db92a0e16db955f.css", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "text/css,*/*;q=0.1" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 429, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "text/css" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Tue, 05 Aug 2014 14:26:16 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Encoding", | |
"value": "gzip" | |
} | |
], | |
"content": { | |
"mimeType": "text/css", | |
"size": 134562, | |
"text": "\r\n\r\n\r\n\r\nhtml{overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;background-color:#ddd;}iframe,iframe html{background-color:#fff;}body{color:#222;font-family:'Lucida Grande','Tahoma','Verdana','Arial',sans-serif;font-size:13px;}body#tinymce{background-color:#ddd;margin:4px;padding:6px 2px;}a,a:visited,a:link{color:#00a9ed;}a:hover,a:active,a.active,li.active a,li a.active{color:#ff6e27;}a.permalink{display:none;}a.readmore{display:block;font-size:.8em;text-decoration:none;text-align:right;float:right;clear:both;}img.left,.left img,img[align=left]{margin:4px 8px 4px 0;}img.right,.right img,img[align=right]{margin:4px 0 4px 8px;}.inline .caption{display:block;color:#444;font-size:.8em;font-style:italic;}.inline-left .caption{text-align:left;}.inline-right .caption{text-align:right;}.inline .caption strong{font-weight:400;}.hidden{display:none;}strong,b{color:#444;font-size:1.02em;font-weight:800;font-style:normal;}em,i{color:#444;font-style:italic;}h2 em{font-style:normal;}a strong,a b,a em,a i{color:#00a9ed;}a strong,a b{font-weight:600;}a em,a i{font-weight:400;}dfn{font-style:italic;}h1,h2,h3,h4,h5,h6{}hr{height:1px;line-height:1px;background-color:#00a9ed;border:none;}abbr{}abbr[title]{border-bottom:1px dotted;}acronym{}address{}blockquote,q,cite{font-size:.9em;color:#666;padding:5px;margin:1em 40px;font-weight:400;font-style:italic;}kbd,tt,pre,code{color:#444;font-weight:400;}small{font-size:75%;}ins{}del{}s{}samp{}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;padding:.2em;}sup{top:-0.5em;}sub{bottom:-0.25em;}#toolbar sub,#toolbar sup{color:#f44;font-weight:400;font-size:.8em;padding:0 3px;background-color:#f44;color:#fff;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}var{}dl,dt,dd,ol,ul,li{}p ul li,table ul li{list-style:inside circle;}p ul li:hover,table ul li:hover{list-style:inside disc;}p li ul li,table li ul li{list-style:inside square;}div ol li,div ol li:hover,div li ol li{list-style:inside decimal;}dl{}dt{}dt{text-decoration:none;}dd{font-size:.9em;color:#444;margin:1px 2px 8px 2px;padding:2px 4px 2px 8px;border-left:4px solid #eee;}.field-label{color:#444;font-size:1em;margin-top:4px;font-weight:400;}.field-label a{text-decoration:none;}.field-items{margin:0;}.field-item{font-size:.9em;color:#444;margin:0;padding:0;}.field-type-text .field-item,.field-type-email .field-item,.field-type-link .field-item{margin:0 2px;padding:1px 4px 1px 8px;border-left:2px solid #eee;}fieldset{position:relative;margin:18px 0 18px 0;padding:0 !important;}html.js fieldset.collapsed{padding:0 10px;margin:0px 0 18px 0;height:auto;}fieldset legend{font-size:13px;line-height:18px;font-weight:normal;display:block;color:#fff;width:100%;background-color:#00a9ed;line-height:27px;padding-left:9px;background:-webkit-gradient(linear,0 0,0 100%,from(#40AEDB),to(#009BD4));background:-webkit-linear-gradient(#40AEDB,#009BD4);background:-moz-linear-gradient(#40AEDB,#009BD4);background:-ms-linear-gradient(#40AEDB,#009BD4);background:-o-linear-gradient(#40AEDB,#009BD4);background:linear-gradient(#40AEDB,#009BD4);-pie-background:linear-gradient(#40AEDB,#009BD4);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.jquery_ui_dialog-dialog-wrapper .ui-widget-header{background:-webkit-gradient(linear,0 0,0 100%,from(#40AEDB),to(#009BD4));background:-webkit-linear-gradient(#40AEDB,#009BD4);background:-moz-linear-gradient(#40AEDB,#009BD4);background:-ms-linear-gradient(#40AEDB,#009BD4);background:-o-linear-gradient(#40AEDB,#009BD4);background:linear-gradient(#40AEDB,#009BD4);-pie-background:linear-gradient(#40AEDB,#009BD4);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}fieldset.collapsed legend{margin-bottom:0;}fieldset.collapsible legend a{color:#fff;text-decoration:none;}fieldset.collapsible legend a:hover{color:#eee;}fieldset .fieldset-wrapper{padding-top:18px;}legend + .form-item{padding-top:18px !important;}fieldset div.picture{padding-top:18px;margin-bottom:18px;}fieldset.fieldgroup,html.js fieldset.fieldgroup.collapsed{margin:20px 0;padding:4px 8px;border:none;}fieldset.fieldgroup legend,html.js fieldset.collapsed.fieldgroup legend{font-size:11px;line-height:18px;margin:-10px -8px 0 -8px;padding:1px 8px;color:#222;background-color:#c9eaf5;}fieldset.fieldgroup legend a,html.js fieldset.collapsed.fieldgroup legend a{color:#222;}fieldset.fieldgroup legend a:hover,html.js fieldset.collapsed.fieldgroup legend a:hover{color:#444;}.form-item label,label{color:#0093d1;font-weight:normal;margin-bottom:9px;line-height:18px;}input[type=text],input[type=password],input[type=file]{line-height:18px;font-size:13px;padding:3px;border:1px solid #bbb;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}textarea{font-weight:300;border:1px solid #ccc;display:block;font-size:12px;line-height:18px;font-family:Tahoma,sans-serif;min-height:60px;color:#222 !important;padding:9px;}input[type=text]:hover,input[type=password]:hover,textarea:hover{border:1px solid #aaa;}input[type=text]:focus,input[type=password]:focus,textarea:focus{border:1px solid #00a9ed;}button,input[type=\"button\"],input[type=\"reset\"],input[type=\"submit\"]{color:#222;font-weight:400;position:relative;}input[disabled=\"disabled\"],input[disabled=\"disabled\"]:hover{cursor:default;border-color:#fff;}.round{border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;}.sepa{color:#FFFFFF;}.inline{display:inline;}.inline-left{float:left;}.inline-right{float:right;}.inline-left img{margin:4px 8px 4px 0;}.inline-right img{margin:4px 0 4px 8px;}.messages,.preview,.help{margin:.75em 0 .75em;padding:.5em 1em;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.messages ul{margin:0;}.messages{border:1px solid #ccc;}.preview{background-color:#fcfce8;border:1px solid #e5e58f;}.preview h3{color:#888;font-style:italic;font-weight:200;}.preview div.node{background-color:#fff;}div.status{color:green;border-color:green;background-color:#F0F0F0;}div.error,tr.error{color:#a30000;background-color:#fcc;}div.status,tr.status,div.warning,tr.warning,div.error,tr.error{padding:18px;}.form-item input.error,.form-item textarea.error{border:1px solid #c52020;color:#363636;}.help{color:#888;margin:1em 0;background-color:#f8f8f8;border:1px solid #ddd;}.help strong,.help b{color:#777;font-size:1em;}.help em,.help i{color:#999;font-size:1em;}.help a,.help a:visited,.help a:link,.help a:active{color:#666;}.help a:hover{color:#444;}#content{line-height:18px;}#content ul.menu li.leaf{font-size:.9em;display:block;margin:8px 0;}#content ul.menu li.leaf a,a.button{text-decoration:none;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}a.button.image{padding:3px;display:inline-block;}a.button.vivid{font-weight:bold;color:black !important;}#content ul.menu li.leaf a:hover,a.button:hover{background-color:#FAFAFA;}ul.menu li.leaf a.active,a.button.active{color:#000 !important;}.controls .action,.controls ul,.controls ul li{display:inline;list-style:none;margin:0 6px;padding:1px 3px;}.controls ul{margin:2px 6px;}.controls a{text-decoration:none;}.controls .types a{background-color:#fff;padding:0 4px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.controls .types a:hover{background-color:#f8f8f8;}.node{clear:both;}.node .content,.user-right-content,.project-inner-right{font-size:13px;line-height:18px;}.node h2,h2.title,.node .title,.user-right-content h2,.project-inner-right h2{font-size:18px;line-height:18px;color:#00A9ED;padding:0;margin:0 0 18px 0;font-size:21px;line-height:27px;font-weight:normal;border-bottom:1px solid #DEDEDE;}h3,.node h3,h3.title,.content h3,.user-right-content h3,.project-inner-right h3{color:#444;font-size:1.25em;line-height:18px;font-weight:300;margin:.3em 0 .4em 0;}.node .content h2,.node .content h3{clear:both;}.content p,.node .content p,.user-right-content p,.project-inner-right p{line-height:18px;font-size:13px;margin-bottom:18px;}.node .content ul,.node .content ol,.help ul,.help li{font-size:.92em;margin:4px 8px;}.node .content li,.help li{list-style:inside circle;}.node .content li:hover,.help li:hover{list-style:inside disc;}.node .content li li,.help li li{list-style:inside square;}.draft,.private{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.draft{background-color:#fff4f4;background-color:rgba(255,232,232,.5);}.draft-text{color:#ff6464;}.private{background-color:#eee;background-color:rgba(240,240,240,.5);}.private-text{color:#006464;}#attachments{margin-top:20px;}#attachments td{vertical-align:middle;}ul.pager{margin:10px 0;padding:10px 0;background-color:#eee;}ul.pager li{font-size:0.85em;text-transform:capitalize;margin:0;padding:0;list-style:none;margin-right:2px;}ul.pager li.pager-current{font-size:1em;color:#fff;margin-right:2px;padding:2px 8px;background-color:#00a9ed;}ul.pager li.pager-previous{font-weight:bold;margin-right:12px;}ul.pager li.pager-next{font-weight:bold;margin-left:12px;}ul.pager li.pager-first,ul.pager li.pager-last{font-weight:bold;}ul.pager li a,ul.pager a:link,ul.pager a:visited{padding:2px 8px;text-decoration:none;}ul.pager li a:hover{color:#fff;background-color:#00a9ed;}table{font-size:1;margin:18px 0;width:100%;border:none;}table.version{border-bottom:1px solid #ff6e27;}table .active{color:#444;}table.views-view-grid{border:none;}thead th,th{color:#fff;font-weight:bold;font-size:12px;border:none;border-bottom:1px solid #d3e7f4;background:-webkit-gradient(linear,0 0,0 100%,from(#3EC3F6),to(#00A9ED));background:-webkit-linear-gradient(#3EC3F6,#00A9ED);background:-moz-linear-gradient(#3EC3F6,#00A9ED);background:-ms-linear-gradient(#3EC3F6,#00A9ED);background:-o-linear-gradient(#3EC3F6,#00A9ED);background:linear-gradient(#3EC3F6,#00A9ED);-pie-background:linear-gradient(#3EC3F6,#00A9ED);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}th a:link,th a:visited{color:#fff;text-decoration:none;}th a:hover{color:#ddd;}td a{text-decoration:none;}td,th{padding:.3em .5em;}tr.even,tr.odd{border-color:#d3e7f4;border-width:1px 0;}tr.info{background-color:#cfc;}tr.odd{background-color:#edf5fa;}tr.even{background-color:#fff;}tr.drag{background-color:#ffe;}tr.drag-previous{background-color:#ffd;}tr.odd td.active{background-color:#ddecf5;}tr.even td.active{background-color:#e6f1f7;}td.region,td.module,td.container,td.category{border-top:1.5em solid #fff;border-bottom:1px solid #b4d7f0;background-color:#d4e7f3;color:#455067;font-weight:bold;}table.version td{background-color:#fee;opacity:.8;}table.views-view-grid td{text-align:center;}tr:first-child td.region,tr:first-child td.module,tr:first-child td.container,tr:first-child td.category{border-top-width:0;}tr.over,tr:hover{background-color:#d4e7f3;}table.views-view-grid tr.over,table.views-view-grid tr:hover{background-color:transparent;}.page-admin table.sticky-header{margin-top:22px;}#tinymcee table,#extras table,.field-items table{border:1px solid #aaa;}#tinymce thead th,#tinymce th,#tinymce tr:first-child,#extras thead th,#extras th,#extras tr:first-child,.field-items thead th,.field-items th,.field-items tr:first-child{background-color:#eee;border-bottom:1px solid #ccc;}#tinymce tr,#extras tr,.field-items tr{border:none;border-bottom:1px solid #ddd;}#tinymce tr:hover,#tinymce tr.over,#tinymce tr:hover,#extras tr.over,.field-items tr:hover,.field-items tr.over{background-color:#e1f0f5;}#tinymce tr:last-child,#extras tr:last-child,.field-items tr:last-child{border:none;}#tinymce td,#extras td,.field-items td{border-left:1px solid #eee;}#tinymce td:first-child,#extras td:first-child,.field-items td:first-child{border-left:none;}div#popups-overlay{background-color:#eee;}div.popups-box,div.user_relationships_ui_popup_form{border:3px solid #00a9ed;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}div.popups-box .popups-title{color:#222;font-size:1.1em;padding:.4em;display:block;font-weight:bold;background-color:#ddd;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}div.popups-box .popups-title a{color:#ff4d41;font-size:.9em;padding:.1em .3em;text-decoration:none;background-color:#f6f6f6;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}div.popups-box .popups-title a:hover{color:#222;background-color:#ddd;}div.popups-box .popups-body{padding:5px;}div.popups-box .popups-buttons{}div.popups-box .popups-footer{}.block-quicktabs{margin:0 auto;}.block-quicktabs .quicktabs_wrapper{}.block-quicktabs h2{font-size:1em;color:#fff;font-weight:normal;margin:0;padding:5px 10px 5px 18px;cursor:pointer;background-color:#0093d1;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-repeat:no-repeat;background-position:9px center;background-image:url(/misc/menu-collapsed2.png);}.block-quicktabs h2.ui-state-active{background-image:url(/misc/menu-expanded3.png) !important;}.block-quicktabs h2:hover,.block-quicktabs h2.over{background-color:#00a9ed;}.block-quicktabs .quicktabs_main{border:1px solid #ccc;}ul.quicktabs_tabs.quicktabs-style-zen li a{color:#666;font-family:'Lucida Grande','Tahoma','Verdana','Arial',sans-serif;font-size:11px !important;line-height:18px !important;font-weight:normal;border:1px solid #AAA !important;}ul.quicktabs_tabs.quicktabs-style-zen li a:hover,ul.quicktabs_tabs.quicktabs-style-zen li:hover a{color:#333;}ul.quicktabs_tabs.quicktabs-style-zen li.active a,ul.quicktabs_tabs.quicktabs-style-zen li.active a:hover{color:#ff6e27;border-bottom:1px solid transparent;}.quicktabs_wrapper table{border:none;}.quicktabs_wrapper table tr:hover{background:none;}.jquery_ui_dialog-dialog-wrapper .ui-widget-header{color:#fff;border:none;}.jquery_ui_dialog-dialog-wrapper .ui-dialog .ui-dialog-buttonpane{border-top:2px solid #aaa;}.jquery_ui_dialog-dialog-wrapper .ui-state-default,.jquery_ui_dialog-dialog-wrapper .ui-widget-content .ui-state-default{color:#222;background-image:none;background-color:#eee;border:none;}.jquery_ui_dialog-dialog-wrapper .ui-state-default.ui-state-hover,.jquery_ui_dialog-dialog-wrapper .ui-widget-content .ui-state-default.ui-state-hover{color:#fff;background-image:none;background-color:#00a9ed;border:none;}#ui-datepicker-div.ui-datepicker{font-size:90%;padding:4px;border:1px solid #00a9ed;background-color:#fff;background-color:rgba(255,255 255,.8);-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}#ui-datepicker-div.ui-datepicker .ui-datepicker-prev{font-size:120%;font-weight:700;left:4px;float:left;padding:2px;cursor:pointer;}#ui-datepicker-div.ui-datepicker .ui-datepicker-next{font-size:120%;font-weight:700;right:4px;float:right;padding:2px;cursor:pointer;}#ui-datepicker-div.ui-datepicker .ui-datepicker-title{line-height:18px;margin:0 2.3em;text-align:center;}#ui-datepicker-div.ui-datepicker .ui-datepicker-title select{float:left;margin:1px;}#ui-datepicker-div.ui-datepicker select.ui-datepicker-month-year{width:100%;}#ui-datepicker-div.ui-datepicker select.ui-datepicker-month,#ui-datepicker-div.ui-datepicker select.ui-datepicker-year{width:49%;}#ui-datepicker-div.ui-datepicker td{text-align:center;padding:0.1em;}#ui-datepicker-div.ui-datepicker td a{padding:2px;display:block;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}#ui-datepicker-div.ui-datepicker td a:hover{background-color:#eee;}ul.wysiwyg_imageupload_tabs{margin:0;padding:0;list-style:none;height:28px;padding:6px 0 2px 0;background:none;border:none;border-bottom:3px solid #ddd;}ul li.wysiwyg_imageupload_tab{float:left;margin:0;padding:0;background:none;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}ul li.wysiwyg_imageupload_tab_active{color:#fff;border:none;}ul li.wysiwyg_imageupload_tab_inactive{border:none;}ul li.wysiwyg_imageupload_tab a{font:300 0.8215em/1.375em 'Helvetica Neue','Open Sans','Liberation Sans','Arial','Helvetica',sans-serif;display:block;margin:0 6px;padding:1px 10px;text-decoration:none;color:#222;border:none;background:none;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}ul li.wysiwyg_imageupload_tab a:hover{border:none;background:none;background-color:#ddd;}ul li.wysiwyg_imageupload_tab.wysiwyg_imageupload_tab_active a,ul li.wysiwyg_imageupload_tab_active a{color:#fff;border:none;background:none;background-color:#00a9ed;}#file_upload_group,#wysiwyg_imageupload_browser_group{border:none;}.view-wysiwyg-imageupload-browser .views-field-iid a{display:block;width:84px;height:84px;padding:4px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#eee;}.view-wysiwyg-imageupload-browser .views-field-iid a:hover{background-color:#eee;}span.wysiwyg_imageupload,.image{border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #cecece;border-bottom:1px solid #cecece;padding:3px;background-color:transparent;}span.wysiwyg_imageupload.imgupl_floating_left{margin:4px 8px 4px 0;}span.wysiwyg_imageupload.imgupl_floating_right{margin:4px 0 4px 8px;}span.wysiwyg_imageupload.imgupl_floating_none_right{display:inline;float:none;text-align:right;}span.wysiwyg_imageupload .image_title{color:#888;}#user-login,#user-pass{width:500px;margin:10px auto;}.user-register-form #edit-mail-wrapper{padding-top:18px;}.user-register-form #edit-submit{margin-top:18px;}.user-register{}.user-register-form{clear:both;margin:10px auto;position:relative;width:530px;}.user-register-form .item-list ul{display:block;list-style:none;margin:10px auto;}.user-register-form .item-list ul li{color:#666;font-size:.9em;float:left;list-style:none;font-style:italic;}.user-register-form .item-list ul li a{color:#fff;font-size:1.6em;font-weight:bold;font-style:normal;text-decoration:none;text-transform:capitalize;display:block;width:240px;height:38px;padding-top:85px;text-align:center;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.user-register-form .item-list ul li a:hover{}.user-register-form .item-list ul li.first a{background:#fff url(/sites/all/themes/phyrtual/images/user/register-people.png) no-repeat 0 0;}.user-register-form .item-list ul li.first a:hover{background:#fff url(/sites/all/themes/phyrtual/images/user/register-people.png) no-repeat 0 -123px;}.user-register-form .item-list ul li.last a{background:#fff url(/sites/all/themes/phyrtual/images/user/register-institution.png) no-repeat 0 0;}.user-register-form .item-list ul li.last a:hover{background:#fff url(/sites/all/themes/phyrtual/images/user/register-institution.png) no-repeat 0 -123px;}.comment{border-top:1px solid #eee;border-right:1px solid #cecece;border-bottom:1px solid #cecece;border-left:3px solid #eee;background:#FBFBFB;margin-top:18px;padding-top:9px;padding-bottom:9px;padding-right:9px;}.comment-left{width:50px;text-align:center;}.picture img,.comment .picture img{border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #cecece;border-bottom:1px solid #cecece;}.comment-right{display:block;position:relative;margin-left:53px;}#comments ul.links li{display:block;float:left;}#comments .indented{margin-bottom:0;margin-left:9px;}#comments .indented .indented .indented .indented{margin-bottom:0;margin-left:0px !important;}#comments .indented .comment{margin-top:0;background:#EFEFEF;}.comment-new{border-left-color:#ff6e27;}.comment-admin{border-left-color:#00a9ed;}.comment-left{float:left;}.comment .author a{text-decoration:none;line-height:18px;display:block;font-weight:bold;font-size:12px;}.comment .text{color:#222;position:relative;display:block;line-height:18px;font-size:12px;margin-bottom:18px;}.comment .date{font-size:10px;color:#888;margin-bottom:18px;}.comment div.links{display:block;font-size:11px;border-top:1px solid #666;}.comment ul.links{float:right;}.comment .links .first{padding-left:0 !important;}.comment .links a{color:#444;text-transform:capitalize;text-decoration:none;}.comment .modified-by{color:#888;font-size:.8em;display:block;margin-top:3px;}#comment-form{margin-top:18px;}#comment-form #edit-submit{margin:4px 0;}#comment-form fieldset,#comment-form #edit-preview{display:none;}#edit-comment-wrapper{padding-right:20px;}#comment-form textarea{height:60px;width:100%;}.oembed{display:block;float:none;clear:both;padding:4px 0 10px 0;margin:10px auto;text-align:center;border:none;background:#eee;color:#494949;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.oembed a.oembed-title,.oembed .oembed-title{color:#888;padding:0 0 4px 0;margin:0 auto;font-weight:100;text-decoration:none;border:none;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.oembed .oembed-content{display:block;padding:0;margin:0;background-color:#000;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.oembed .oembed-video{padding:0;margin:0;}.oembed .oembed-photo img,.oembed .oembed-content object,.oembed .oembed-content embed{display:block;margin:0 auto;}.oembed .oembed-content .node{margin:0;border:0;padding:0;}#comments .oembed .oembed-content .node{max-width:200px;}#l10n-client{}#l10n-client .labels{background-color:#00a9ed;border-top:2px solid #ff6e27;}#l10n-client .labels .toggle{color:#fff;background-color:#ff6e27;}#l10n-client .labels h2{color:#fff;}#l10n-client .labels h2 em{color:#222;}#l10n-client.hidden{display:block;}.privatemsg-box-fb{margin:10px 0;padding:10px;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.left-column{}.privatemsg-box-fb .avatar-fb{}.privatemsg-box-fb .picture{}.middle-column{}.name a{text-decoration:none;}.date{}.right-column{padding:10px;background-color:#f8f8f8;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.privatemsg-box-fb .bottom-border{margin:0;border:none;}.message-participants{color:#888;font-size:.9em;}.message-body{overflow:hidden;overflow-y:scroll;padding:6px;font-size:.92em;color:#222;background-color:#fff;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.message-body .new{color:#f88;font-weight:bold;display:block;text-align:right;font-style:italic;margin-bottom:6px;border-bottom:1px solid #f8f8f8;}.message-actions{margin-top:10px;clear:both;}.message-actions li{font-size:.8em;}.message-actions li a{padding:1px 4px;text-decoration:none;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:#eee;}.message-actions li a:hover{background-color:#ddd;}.privatemsg-view-pager{color:#888;font-size:.9em;margin:10px 0;padding:0 10px;width:300px;}.fivestar-widget-static,#fivestar-custom-widget{width:180px;display:block;overflow:hidden;}.project-content form.fivestar-widget,.project-content .fivestar-widget-static,.project-content #fivestar-custom-widget{width:240px;position:relative;clear:both;margin:10px 0;}#comments form.fivestar-widget{clear:both;width:360px;margin:4px 0;}#comments div.fivestar-widget{float:left;width:180px;}#comments .fivestar-widget .description{float:left;line-height:18px;margin:0 4px;width:172px;}.chromeFrameInstallDefaultStyle{width:920px;border:5px solid #00a9ed;}.chromeFrameOverlayContent{width:920px;}.chromeFrameOverlayContent iframe{}.chromeFrameOverlayCloseBar{}.chromeFrameOverlayUnderlay{}.auto-refresh{display:block;height:16px;margin:0 8px;}.auto-refresh .views-throbbing{display:block;}#colorbox{overflow:hidden;}#colorbox #cboxLoadedContent div.content{max-width:920px;margin:0;padding:5px;}#colorbox #cboxLoadedContent .user-register-form{max-width:720px;}.user-register-form .item-list ul li.first{margin-left:0 !important;}#colorbox div.content form{margin:18px 0 18px 0;}#colorbox .container-inline{display:block;height:72px;}#colorbox .throbber{float:right;}#colorbox #cboxTitle,#colorbox #cboxClose{font-size:13px;line-height:18px;color:#999;margin:0;min-height:18px;}#colorbox #cboxTitle{border-top:1px solid #ccc;font-style:italic;}#colorbox #cboxClose{text-decoration:underline;}#colorbox #cboxCurrent,#colorbox #cboxNext,#colorbox #cboxPrevious,#colorbox #cboxSlideshow{color:#444;font-weight:normal;}#colorbox #cboxCurrent{color:#666;}#colorbox div.content #user-login{width:auto;}#colorbox div.content .user-register-form{width:auto;}#colorbox #privatemsg-new fieldset{border:none;}#colorbox #edit-recipient-wrapper{display:none;}#colorbox #comments{border:none;}#colorbox #facebook-status-edit{height:120px;}#colorbox .facebook_status_slider{display:none;}#colorbox .edit-fbss-status-wrapper{clear:both;}#colorbox #facebook_status_chars{float:right;}#colorbox #edit-fbss-submit{float:left;}#colorbox #og-manage-form{min-width:320px;}#colorbox #og-manage-form li a{display:block;}div.vertical-tabs .vertical-tabs-list{font-size:84%;}div.vertical-tabs .vertical-tabs-list .summary{color:#888;font-size:90%;}div.vertical-tabs .vertical-tabs-panes{font-size:92%}div.vertical-tabs .vertical-tabs-panes fieldset.vertical-tabs-pane{margin:10px 0 !important;}.swftools{margin:5px auto;}.swftools object{margin:0 auto;}.field-field-highlight-photo img{border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #cecece;border-bottom:1px solid #cecece;padding:9px;}.field-field-highlight-photo{margin-bottom:18px;}table.views-table td,table.views-table th{padding:9px;vertical-align:top;}.views-throbbing{display:inline !important;}#jq-ui-dialog-iframe,#jq-ui-dialog-container{overflow:hidden !important;}html#jquery_ui_dialog{overflow-y:auto !important;}body#jquery_ui_dialog{overflow:hidden;}#image_details{overflow:hidden;}#image_details .collapsible{display:none;}#image_details legend,#image_preview legend{display:none;}#image_details .form-item{margin-top:0 !important;}#poll-choice-wrapper{margin-bottom:18px;}#l10n-client.hidden{z-index:9998;}#l10n-client.hidden .labels .toggle{left:0em;right:auto;}#l10n-client .toggle{right:0em;}html.js fieldset.collapsible legend,html.js fieldset.collapsed legend{padding:0!important;}html.js fieldset.collapsible legend a{padding-left:18px !important;background:url(/misc/menu-expanded3.png) 9px center no-repeat;}html.js fieldset.collapsed legend a{background-image:url(/misc/menu-collapsed2.png);}.profileCard .tabs2{float:right !important;}.profileCard{margin-bottom:18px;}.profileCard .identity h1{font-size:18px;color:#009BD4 !important;margin-bottom:0 !important;}.profileCard .identity{margin-bottom:18px;background-repeat:no-repeat;background-position:top left;padding-left:98px;height:80px;}.profileCard{background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#F0F0F0));background:-webkit-linear-gradient(#FFFFFF,#F0F0F0);background:-moz-linear-gradient(#FFFFFF,#F0F0F0);background:-ms-linear-gradient(#FFFFFF,#F0F0F0);background:-o-linear-gradient(#FFFFFF,#F0F0F0);background:linear-gradient(#FFFFFF,#F0F0F0);-pie-background:linear-gradient(#FFFFFF,#F0F0F0);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.profileCard .profileData,.profileCard .profileData li{list-style:none !important;}.profileCard .profileData li{line-height:1.5em;margin-bottom:9px;}.profileCard .profileData strong{color:#222;font-weight:bold;display:block;}\n\r\n\r\nspan.form-required{color:#ffae00;}span.submitted,.description{font-size:.9em;color:#888;}.description{line-height:1.1em;margin-bottom:0.75em;color:#888;}.form-item .description{color:#666;e}.content div.form-item,.content div.content{margin:0 0 18px 0;padding:0;}.content .form-region-main div.form-item,.content .form-region-main fieldset{margin-bottom:18px;}.content .form-region-main div.form-item input[type=text]{max-width:654px;}.content .body-field-wrapper{margin-bottom:18px;}#comment-form .form-item{font-size:.8em;}#comment-form .form-item label{color:#888;display:inline;}#comment-form .form-item a{color:#aaa;text-decoration:none;}#comment-form #edit-comment-wrapper label{display:none;}#comment-form textarea{display:block;clear:both;}#user-login,#user-pass{}#edit-name-wrapper,#edit-pass-wrapper,#edit-submit{font-size:13px;}input#edit-name,input#edit-pass{color:#666;width:16em;font-size:1.6em;}fieldset.captcha{width:30em;height:140px;}input#edit-captcha-response{color:#666;font-size:1.2em;}#user-login-inline-form{width:400px;}#user-login-inline-form label{display:none}#user-login-inline-form input{margin:0 .3em;float:left;}#user-login-form span.form-required{display:none;}#user-login-inline-form input.form-submit{padding:0 .5em;font-size:.9em;cursor:pointer;}.login-inline a.button,.login-inline div.item-list{float:right;margin:0 .5em;border:1px solid #999;font-weight:bold;padding:5px;}.login-inline div.item-list ul{font-size:.75em;float:right;}.login-inline div.item-list ul li{list-style:none;margin:0;padding:0;}.login-inline div.item-list ul li a{text-decoration:none;}.filefield-element{margin:0 !important;}.filefield-element .form-item{margin-bottom:0 !important;}.form-checkboxes,.form-radios{margin-top:0;}.form-checkboxes,.form-radios .form-item{margin-bottom:0 !important;}.project-node-form .gmap-map{margin-bottom:18px;}.project-node-form #edit-locations-0-country-wrapper{display:none;}\n\r\n\r\nhtml.js .ajax-progress .throbber,html.js .ahah-progress .throbber,html.js a.views-throbbing,html.js span.views-throbbing{float:none;width:16px;height:16px;margin:2px;padding:0;display:inline-block;background:transparent url(/sites/all/themes/phyrtual/images/throbber/roller.gif) no-repeat 98% 50%;}html.js input.form-autocomplete{background:none;min-height:18px;padding-right:24px;}html.js input.form-autocomplete.throbbing{background:transparent url(/sites/all/themes/phyrtual/images/throbber/roller.gif) no-repeat 98% 50%;}#admin-menu{text-shadow:#000 0 1px 0;}#admin-menu a{font-weight:300;}.admin-toolbar-menu{text-shadow:#000 0 1px 0;}.admin-toolbar-menu a{font-weight:300;}.admin-toolbar-menu a:hover{text-shadow:#fff 0 1px 0;}.clear-block{display:inline-block;display:block;position:relative;}.inner{width:962px;position:relative;margin:0 auto;clear:both;overflow:hidden;}#page,#brand,#language,#toolbar,#main,#zebra{position:relative;overflow:hidden;}#page{background-color:#FAFAFA;}#brand{height:126px;background-color:white;}#brand .inner{height:126px;margin:0 auto;background:transparent url(/sites/all/themes/phyrtual/images/brand.png) no-repeat 0 26px;}#brand a.brand{width:260px;height:78px;display:block;overflow:hidden;font-size:1.4em;text-decoration:none;margin-top:26px;}#brand a.brand .hide{visibility:hidden;}#brand .slogan{color:#666;padding-top:3px;font-size:11px;}#language{position:absolute;top:3px;right:0px;overflow:visible;width:600px;}#language .clear-block{position:absolute;}#google_translate_element_wrapper{float:right;}.goog-te-gadget-simple .goog-te-menu-value span{font-size:11px;}#language ul{margin:0;padding:0;}#language li{margin:0;padding:0;display:inline;}#language li.active{}#language li a{line-height:24px;font-size:11px;color:#0093d1;margin:0;padding:3px;text-decoration:none;background-color:#fff;border:1px solid #fff;text-shadow:0 1px 0 #fff;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}#language li a:hover{background-color:#eee;}#language li.active a{color:#222;background-color:#fff;border:1px solid #ccc;}#language li.active a:hover{background-color:#eee;border:1px solid #aaa;}#language li a img{margin-bottom:-2px;}#login{}#login .inner{text-align:right;}#login .login-inline{height:20px;float:right;margin-bottom:6px;}#login .login-inline li,#login .login-inline li a{line-height:10px;}#toolbar-top{height:9px;line-height:9px;background-color:#FD7F44;}#toolbar{position:relative;margin:0;overflow:hidden;z-index:100;box-shadow:1px 1px 3px #AAAAAA;-moz-box-shadow:1px 1px 3px #AAAAAA;-webkit-box-shadow:1px 1px 3px #AAAAAA;background:-webkit-gradient(linear,0 0,0 100%,from(#40AEDB),to(#009BD4));background:-webkit-linear-gradient(#40AEDB,#009BD4);background:-moz-linear-gradient(#40AEDB,#009BD4);background:-ms-linear-gradient(#40AEDB,#009BD4);background:-o-linear-gradient(#40AEDB,#009BD4);background:linear-gradient(#40AEDB,#009BD4);-pie-background:linear-gradient(#40AEDB,#009BD4);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}ul.toolbar{padding:0 !important;}#toolbar .inner{overflow:hidden;}.not-logged .donate-corner{display:none}.donate-corner{position:fixed;top:15px;left:15px;z-index:200;}.donate-corner a{text-align:center;display:block;width:60px;height:28px;line-height:28px;color:#444;text-decoration:none;border:1px solid #444;background-color:#ff8e47;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;box-shadow:3px 3px 5px #999;}.donate-corner a:hover{text-decoration:underline;}.donate-complete{text-align:center;}.donate-complete .smile{font-size:200px;line-height:200px;-moz-transform:rotate(90deg);-webkit-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);}.donate-complete .thanks{color:#666;font-size:50px;line-height:70px;margin-top:20px;}#extras{position:relative;}a.tabsTitle{font-weight:bold;text-decoration:none !important;color:#009BD4 !important;float:left;margin-right:18px;}.tabs{margin:0;text-transform:capitalize;overflow:hidden;}.tabs li{list-style:none;display:block;float:left;margin:0 6px 0 0;}.tabs li a{color:#0093d1;font-size:11px;text-decoration:none;padding:0 9px;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;display:block;}.page-user .tabs2 li{background-color:#eee;}.page-user .tabs2 li a{border:1px solid #888;color:#009BD4;}.tabs li:hover,.tabs li a:hover{background-color:#ddd;}.tabs li a.active{color:#000;}.tabs2 li a{font-size:0.9em;}.interact li a{font-size:12px;border:1px solid #ccc;}.interact li a:hover{border:1px solid #aaa;}.interact li.active a{color:#000;border:1px solid #0093d1;}.interact li.admin a{color:#f66;border-color:#faa;}.interact li.admin a:hover{color:#f22;border-color:#f88;}.toolbar li a{color:#222;font-size:12px;line-height:27px;display:block;-moz-border-radius:4px 4px 0px 0px !important;-webkit-border-radius:4px 4px 0px 0px !important;border-radius:4px 4px 0px 0px !important;text-shadow:0 1px 0 #FFF;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#E1E1E1));background:-webkit-linear-gradient(#FFFFFF,#E1E1E1);background:-moz-linear-gradient(#FFFFFF,#E1E1E1);background:-ms-linear-gradient(#FFFFFF,#E1E1E1);background:-o-linear-gradient(#FFFFFF,#E1E1E1);background:linear-gradient(#FFFFFF,#E1E1E1);-pie-background:linear-gradient(#FFFFFF,#E1E1E1);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}#messages{padding:9px;margin-left:auto;margin-right:auto;width:962px;margin:0px auto;}#mission{color:#444;font-size:1.2em;padding:0.6em;text-align:center;}#toolbar #mission{color:#fff;margin-top:25px;text-shadow:0 1px #000;}.tagline{font-weight:bold;text-shadow:#fff 0 1px 0,#fff 1px 0 0,#ff6d27 0 0 8px;}#main{min-height:400px;position:relative;margin:0px auto;}#main .inner{box-shadow:1px 1px 3px #AAAAAA;-moz-box-shadow:1px 1px 3px #AAAAAA;-webkit-box-shadow:1px 1px 3px #AAAAAA;behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);background-color:white;z-index:10;}.front #main .inner{box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}#block-views-phyrtual_toolbar_people-block_1,#block-views-a94f3e6d1e3c2f0d0100fcba8d3a4acb{padding-top:18px;}.front #main{margin:0 auto 140px auto;margin:0 auto 0 auto;background-color:#fbfdff;}.not-logged-in.front #main .inner{margin:0 auto;}#content{position:relative;margin-left:auto;margin-right:auto;margin:27px auto 18px auto;width:962px;overflow:hidden;min-height:680px;}#content .inner{margin:10px auto;}#content .left{}#content .right{}.embeddedVideo{display:block;clear:both;margin-left:auto;margin-right:auto;}.zebra{position:relative;clear:both;background:#fff url(/sites/all/themes/phyrtual/images/stripe-big.jpg) repeat-x top left;}.zebra h2{color:#444;font-size:1.1em;height:35px;line-height:35px;margin-bottom:20px;clear:both;overflow:hidden;}.zebra .inner{margin-bottom:20px;}#zebra{}#zebra{}#zebra-top{}#zebra-top .inner{}#zebra-middle{}#zebra-middle .inner{}#zebra-bottom{}#zebra-bottom .inner{}#footer{background-color:#EF6912;border-top:1px solid #F49353;background:linear-gradient(to bottom,#F49353,#EF6912);background:-webkit-linear-gradient(top,#F49353,#EF6912);color:white;font-family:verdana;font-size:11px;line-height:14px;height:98px;}#footer a,#footer a:hover{color:white;text-decoration:none;text-transform:uppercase;}#footer .footer-left a{font-weight:bold;}#footer .footer-right a{font-size:9px;}#footer .footer-content{width:962px;margin:0 auto;padding:18px 0;}#footer .footer-left{float:left;}#footer .footer-right{margin-left:670px;border-left:1px solid white;padding-left:10px;}#block-block-29{margin-top:18px;clear:both;}#toolbar .views-field-picture{float:left;margin-right:15px;}#toolbar .views-field-picture .picture{width:80px;height:80px;}#toolbar .identity{font-size:16px;color:#fff;margin:18px 0 8px 0;text-shadow:none;}#toolbar .views-field-value{color:#fff;font-weight:300;text-shadow:none;padding-top:2px;}#toolbar .profile-toolbar-actions{clear:both;position:relative;}#toolbar .view-phyrtual-toolbar-status{position:absolute;left:90px;bottom:0;width:396px;font-size:11px;line-height:1.5em;margin-top:-80px;background-color:white;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;box-shadow:2px 2px 3px #0081B4;}#toolbar .view-phyrtual-toolbar-status a{color:#222 !important;text-decoration:none !important;}#toolbar .view-phyrtual-toolbar-status sup{font-weight:bold;}#toolbar .view-phyrtual-toolbar-status .view-content,#toolbar .view-phyrtual-toolbar-status .view-empty{margin:6px 8px;}#toolbar .view-phyrtual-toolbar-status .view-empty a{color:#888 !important;font-style:italic !important;}.views-view-grid{}.views-view-grid td{padding:0px 10px;}.views-view-grid td a{}.views-view-grid td a:hover{}.donate{}.donate-form{}.donate-form form{}.donate-form .req,.donate-form .opt{color:#aaa;font-size:90%;font-style:italic;padding:2px 4px;}.donate-form .req{color:#faa;}.donate-form form .form-item{margin:8px 0;}.donate-form form label{display:inline-block;width:120px;padding:2px 10px;text-align:right;}.donate-form .first_name,.donate-form .last_name,.donate-form .email,.donate-form .amount_preset,.donate-form .amount,.donate-form .currency{padding:2px;}.donate-form .first_name,.donate-form .last_name,.donate-form .email{width:320px;}.donate-form .amount_preset{width:120px;}.donate-form .amount{width:120px;text-align:right;}.donate-form .currency{width:15px;}.donate-form .donate-submit{margin-left:140px;}.donate-form .currency{font-size:98%;color:#666;}body.page-search h2.title{background:url(/sites/all/themes/phyrtual/images/icons/32/search.png) no-repeat scroll 0 0 transparent;padding-left:81px;line-height:32px;display:none;}body.page-search #search-body h2.page-title{font-size:18px;line-height:18px;color:#00A9ED;padding:0;margin:0 0 18px 0;font-size:21px;line-height:27px;font-weight:normal;border-bottom:1px solid #DEDEDE;background:url(/sites/all/themes/phyrtual/images/icons/32/search.png) no-repeat scroll 0 0 transparent;padding-left:81px;line-height:32px;}#search-body{line-height:18px;margin-bottom:36px;}#search-body form,#search-body form .field{margin-bottom:18px;}#search-body .searchResult{background-color:#FAFAFA;margin-bottom:0;padding:8px;padding-bottom:17px;margin-bottom:18px;border:1px solid white;border-bottom:1px solid #EEE;overflow:hidden;}#search-body .searchResult:hover{border:1px solid #CCC;}#search-body .searchResult.odd{background-color:#FEFEFE;}#search-body form{border-bottom:1px solid #EAEAEA;}#search-body h2{font-size:18px;margin-bottom:18px;color:#444;}#search-body .searchResult h3 a{font-size:16px;color:#444;}#search-body .searchResult h3 a:hover{font-size:16px;color:#FF6E27;}#search-body .searchResult p{font-size:12px;color:#222;}.searchResult img{float:right;margin-right:9px;margin-left:18px;}#search-body .field{overflow:hidden;}#search-body .searchInput{float:left;outline:none !important;border-right:none !important;border-radius:4px 0 0 4px;height:22px;width:50%;}#search-body form .field .button{float:left;width:128px;height:30px;margin:18px 0 0 0;padding:0;margin:0;line-height:24px;cursor:pointer;border:none;border-radius:0px 4px 4px 0;font-size:14px;line-height:22px;font-weight:normal !important;color:white !important;background:-webkit-gradient(linear,0 0,0 100%,from(#40AEDB),to(#009BD4));background:-webkit-linear-gradient(#40AEDB,#009BD4);background:-moz-linear-gradient(#40AEDB,#009BD4);background:-ms-linear-gradient(#40AEDB,#009BD4);background:-o-linear-gradient(#40AEDB,#009BD4);background:linear-gradient(#40AEDB,#009BD4);-pie-background:linear-gradient(#40AEDB,#009BD4);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}#search-body form input{font-size:18px;line-height:18px;}#search-body form .button{padding-left:9px;padding-right:9px;}.uri-og-users h2.title{display:none;}.uri-og-users h2#members-title{display:block !important;}.confirmation .container-inline{margin-top:18px;}#edit-invitees{width:90%;}#main{}.apply-smart-layout-1 #main{background:#fff url(/sites/all/themes/phyrtual/images/smart/background.png) repeat-x scroll 0 186px;}.apply-smart-layout-2 #main{background:#fff url(/sites/all/themes/phyrtual/images/smart/background.png) repeat-x scroll 0 0px;}.apply-smart-layout-1 #main .inner,.apply-smart-layout-2 #main .inner{background-color:transparent;box-shadow:none;}\n \r\n#front{position:relative;clear:both;}#front .front-main{color:#444;font-size:1.6em;text-align:center;margin:0 auto;position:relative;float:left;padding:0;}#front .front-left{width:460px;float:left;margin:0 5px 10px 4px;border:2px solid red !important;}#front .front-right{width:460px;float:right;margin:0 4px 10px 5px;border:2px solid red !important;}#front .content{width:640px;position:relative;float:left;clear:both;margin:0;padding:0;position:relative;z-index:1;}#toolbar .first-impact{width:100%;position:relative;}#toolbar .answers{width:640px;float:left;display:block;overflow:hidden;color:#fff;height:96px;}#toolbar .answers b,#toolbar .answers strong,#toolbar .answers i,#toolbar .answers em{color:#fff;text-shadow:0 1px 0 #222;}#toolbar .jcarousel-container,#toolbar .jcarousel-container-horizontal,#toolbar .jcarousel-clip-horizontal{width:640px;margin:0;padding:0;background-color:transparent;}#toolbar .jcarousel-list li,#toolbar .jcarousel-list .jcarousel-item,#toolbar .jcarousel-item{width:640px;list-style:none;margin:0;padding:0;overflow:hidden;background-color:transparent;font-size:14px;padding-top:24px;}#toolbar .jcarousel-item-horizontal{width:640px;margin:0;padding:0;background-color:transparent;}#toolbar .jcarousel-item-placeholder{color:#000;background-color:transparent;}.logoutWidget{position:absolute;right:0;top:99px;margin:0;padding:0;}.logoutWidget li{float:left;margin-left:18px;}.logoutWidget #google_translate_element{margin-top:3px;}.logoutWidget .donate,.logoutWidget .support-a-project,.logoutWidget .logout,.smartButton{width:100px;height:26px;line-height:26px;background-color:#eee;display:block;color:#444;border:2px solid #FD7F44;font-size:12px;font-weight:bold;text-align:center;text-decoration:none;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;white-space:nowrap;box-shadow:1px 1px 3px #ccc;behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);position:relative;z-index:1;}.logoutWidget .support-a-project{width:150px;background:url(/sites/all/themes/phyrtual/images/smart/icons/support.png) no-repeat 2px -2px #eee;padding-left:15px;}.loginWidget td.high{height:76px !important;}#toolbar .loginWidget{width:980px;border-collapse:collapse;}#toolbar .loginWidget,#toolbar .loginWidget tr,#toolbar .loginWidget tr:hover{margin:0;padding:0;background-color:transparent;}#toolbar .loginWidget td{margin:0px;padding:1px 4px;text-align:center;}#toolbar .loginWidget a{color:#fff;}#toolbar .loginWidget .forgotten-password{font-size:11px !important;}#toolbar .loginWidget .forgotten-password:hover{text-decoration:underline;}.loginWidget .join,.loginWidget .login{width:140px;height:50px;line-height:50px;background-color:#FF6E27;display:block;color:#fff;font-size:1.4em;text-align:center;text-decoration:none;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;white-space:nowrap;box-shadow:2px 2px 3px #0081B4;behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);position:relative;z-index:1;}.loginWidget .join:hover,.loginWidget .login:hover{background-color:#ff8e47;}.inprinting{position:relative;float:left;margin:0;}.inprinting .inprintingTable{border-collapse:collapse;border:0;}.inprinting .inprintingTable,.inprinting .inprintingTable tr,.inprinting .inprintingTable td{margin:0;padding:0;background-color:#fff;text-align:center;}.inprinting .inprintingTable .hseparator{background-color:#fff;height:10px;}.inprinting .inprintingTable .thumbnail a{padding-bottom:5px;padding-top:70px;width:120px;background:url(/sites/all/themes/phyrtual/images/front/video-placeholder-small.jpg) no-repeat scroll 0 0 transparent;display:block;margin:0 auto;font-size:1.0em;}.inprinting .inprintingTable .thumbnail:hover{background-color:#ccc;}.inprinting .inprintingTable .thumbnail.thumbnail-short .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_short.png);}.inprinting .inprintingTable .thumbnail.thumbnail-name .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_name.png);}.inprinting .inprintingTable .thumbnail.thumbnail-humility .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_humility.png);}.inprinting .inprintingTable .thumbnail.thumbnail-challenge .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_challenge.png);}.inprinting .inprintingTable .thumbnail.thumbnail-hello .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_hello.png);}.inprinting .inprintingTable .thumbnail.thumbnail-crowdfunding .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_crowdfunding.png);}.inprinting .inprintingTable .thumbnail.thumbnail-community .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_community.png);}.inprinting .inprintingTable .thumbnail.thumbnail-vision .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_vision.png);}.inprinting .inprintingTable .thumbnail.thumbnail-tools .video{background-image:url(/sites/all/themes/phyrtual/images/front/thumbnail_tools.png);}.inprinting .inprintingTable .openVisionHeader{height:45px;}.inprinting .inprintingTable .openVisionHeader .title{padding:10px 0 2px 0;font-size:0.9em;}.inprinting .inprintingTable .openVisionHeader .guideline{font-size:1.0em;padding:1px 0;display:block;}.inprinting .video-container{width:600px;height:470px;position:relative;float:left;z-index:1;}.inprinting .video-head{line-height:27px;background:-webkit-gradient(linear,0 0,0 100%,from(#009BD4),to(#40AEDB));background:-webkit-linear-gradient(#009BD4,#40AEDB);background:-moz-linear-gradient(#009BD4,#40AEDB);background:-ms-linear-gradient(#009BD4,#40AEDB);background:-o-linear-gradient(#009BD4,#40AEDB);background:linear-gradient(#009BD4,#40AEDB);-pie-background:linear-gradient(#009BD4,#40AEDB);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.inprinting .video-foot{height:27px;background:-webkit-gradient(linear,0 0,0 100%,from(#40AEDB),to(#009BD4));background:-webkit-linear-gradient(#40AEDB,#009BD4);background:-moz-linear-gradient(#40AEDB,#009BD4);background:-ms-linear-gradient(#40AEDB,#009BD4);background:-o-linear-gradient(#40AEDB,#009BD4);background:linear-gradient(#40AEDB,#009BD4);-pie-background:linear-gradient(#40AEDB,#009BD4);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.inprinting .video-head h2{color:#fff;line-height:27px;padding-left:9px;text-align:left;font-size:16px;}.inprinting .video-head h2 a{color:#fff;text-decoration:none;}.inprinting .video-foot .video{float:right;color:#eee;font-size:0.7em;font-weight:100;font-style:italic;text-decoration:none;cursor:pointer;}.inprinting .video-foot .video:hover{color:#ff9966;color:#bbb;}.inprinting .video-main{}.inprinting .video-main .video{z-index:-1;}.inprinting .video-main .video-screen{width:640px;height:400px;}.inprinting .open-vision{width:320px;height:400px;position:relative;margin-top:30px;float:left;overflow:hidden;background-color:#e7f6fe;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px;-webkit-border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;}.inprinting .open-vision .title{display:block;font-size:.8em;}.inprinting .open-vision .guideline{display:block;font-size:.6em;text-decoration:none;}.inprinting .open-vision .video{display:block;height:120px;line-height:120px;padding-left:200px;text-align:left;text-decoration:none;background:transparent\r\n\t\turl(/sites/all/themes/phyrtual/images/front/video-placeholder-small.jpg) no-repeat 20px 10px;clear:both;}.inprinting .open-vision .video:hover{background:#eee url(/sites/all/themes/phyrtual/images/front/video-placeholder-small.jpg)\rno-repeat 20px 10px;}#dashboard{}#dashboard h2{font-size:1.4em;color:#00a9ed;padding:0 6px;}.dashboard-top,.dashboard-bottom{width:960px;float:left;clear:both;margin:20px 0;}.dashboard-left{width:620px;float:left;overflow:hidden;}.dashboard-right{width:240px;float:right;overflow:hidden;}a.new-project,a.new-friend{display:block;width:240px;height:34px;color:#fff;font-size:1.4em;text-align:center;text-decoration:none;padding-top:90px;margin:0;text-shadow:0 1px 0 #222;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}a.new-project{margin-top:20px;}a.new-friend{margin-top:60px;}a.new-project{background:#fff url(/sites/all/themes/phyrtual/images/dashboard/new-project.jpg) no-repeat 0\r\n\t\t0;}a.new-project:hover{background:#fff url(/sites/all/themes/phyrtual/images/dashboard/new-project.jpg) no-repeat 0\r\n\t\t-123px;}a.new-friend{background:#fff url(/sites/all/themes/phyrtual/images/dashboard/new-friend.jpg) no-repeat 0 0;}a.new-friend:hover{background:#fff url(/sites/all/themes/phyrtual/images/dashboard/new-friend.jpg) no-repeat 0\r\n\t\t-124px;}.view-phyrtual-dashboard{width:584px;height:310px;border:3px solid #00a9ed;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.view-phyrtual-dashboard .jcarousel-container{background-color:#fff;}.view-phyrtual-dashboard .jcarousel-container-vertical{width:544px;height:270px;padding:20px;}.view-phyrtual-dashboard .jcarousel-clip-vertical{width:500px;height:270px;}.view-phyrtual-dashboard .jcarousel-list li,.view-phyrtual-dashboard .jcarousel-list .jcarousel-item,.view-phyrtual-dashboard .jcarousel-item{width:460px;height:72px;margin:5px 10px;padding:4px 8px;background:#fff url(/sites/all/themes/phyrtual/images/dashboard/project-bg.jpg) no-repeat 0 0;}.view-phyrtual-dashboard .jcarousel-list li:hover,.view-phyrtual-dashboard .jcarousel-list .jcarousel-item:hover,.view-phyrtual-dashboard .jcarousel-item:hover{cursor:pointer;background:#fff url(/sites/all/themes/phyrtual/images/dashboard/project-bg.jpg) no-repeat 0\r\n\t\t-80px;}.view-phyrtual-dashboard .jcarousel-item-vertical{width:460px;margin:0;}.view-phyrtual-dashboard .jcarousel-item-placeholder{background:#fff;color:#000;}.view-phyrtual-dashboard .jcarousel-next-vertical,.view-phyrtual-dashboard .jcarousel-prev-vertical{left:530px;right:15px;}.view-phyrtual-dashboard .jcarousel-next-vertical{bottom:25px;}.view-phyrtual-dashboard .jcarousel-prev-vertical{top:205px;}.view-phyrtual-dashboard .views-field-field-logo-fid,.view-phyrtual-dashboard .views-field-title,.view-phyrtual-dashboard .views-field-description{float:left;overflow:hidden;}.view-phyrtual-dashboard .views-field-field-logo-fid{height:60px;width:60px;margin:5px 12px 5px 2px;}.view-phyrtual-dashboard .views-field-title{width:350px;padding-bottom:4px;margin:8px 16px 2px 16px;}.view-phyrtual-dashboard .views-field-title a{color:#fff;text-decoration:none;text-shadow:0 1px 0 #444;}.view-phyrtual-dashboard .views-field-description{color:#eee;font-size:.9em;width:350px;margin:2px 16px 8px 16px;text-shadow:none;}.view-phyrtual-dashboard .view-empty{color:#888;font-style:italic;padding:5px;}#dashboard .view-ProjectUpdates{min-height:160px;border:3px solid #00a9ed;border:3px solid #ddd;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}#dashboard .view-ProjectUpdates .views-row{}.layoutTable,.layoutTable tr,.layoutTable td{margin:0;padding:0;background-color:#fff;}.layoutTable td{vertical-align:top;}.leftColumn{width:640px;}.rightColumn{width:300px;padding:0;}.portlet{margin-bottom:27px;font-size:14px;z-index:1;position:relative;}.portlet h2{background-color:#00A8ED;color:#fff;font-size:14px;line-height:27px;padding-left:9px;background:-webkit-gradient(linear,0 0,0 100%,from(#3EC3F6),to(#00A9ED));background:-webkit-linear-gradient(#3EC3F6,#00A9ED);background:-moz-linear-gradient(#3EC3F6,#00A9ED);background:-ms-linear-gradient(#3EC3F6,#00A9ED);background:-o-linear-gradient(#3EC3F6,#00A9ED);background:linear-gradient(#3EC3F6,#00A9ED);-pie-background:linear-gradient(#3EC3F6,#00A9ED);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}background:-moz-linear-gradient(#FFFFFF,#F0F0F0);background:-ms-linear-gradient(#FFFFFF,#F0F0F0);background:-o-linear-gradient(#FFFFFF,#F0F0F0);background:linear-gradient(#FFFFFF,#F0F0F0);-pie-background:linear-gradient(#FFFFFF,#F0F0F0);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}*/\r\n.portlet li{overflow:hidden;white-space:nowrap;}.portlet .more{float:right;font-size:90%;}.portlet-search li{list-style:none !important;}.portlet-search li a{padding-left:80px;margin:2px 0;background:transparent url(/sites/all/themes/phyrtual/images/icons/32/search_projects.png) no-repeat 0 0;height:32px;line-height:30px;display:block;}.portlet-search li.portlet-search-projects a{background-image:url(/sites/all/themes/phyrtual/images/icons/32/search_projects.png);}.portlet-search li.portlet-search-users a{background-image:url(/sites/all/themes/phyrtual/images/icons/32/search_people.png);}.portlet-search li.portlet-search-institutions a{background-image:url(/sites/all/themes/phyrtual/images/icons/32/search_institutions.png);}.portlet-search li.portlet-search-maps a{background-image:url(/sites/all/themes/phyrtual/images/icons/32/search_countries.png);}.portlet-search #free-search-box{padding:4px 0 8px 0;}.portlet-search #free-search-box label{margin-bottom:2px;display:block;}.portlet-search #free-search-box .searchInput{width:178px;}.portlet-tools li{margin:6px 0;}.portlet .portlet-tools-projects{font-weight:bold;}.portlet.project-listing li{list-style:none !important;}.portlet.project-listing li .title{color:#00A9ED;padding-top:4px;padding-bottom:4px;}.portlet.project-listing li a{line-height:32px;display:block;background:transparent none no-repeat 0 0;background-color:white;padding-left:40px;font-size:12px;color:#333;border-color:#EEEEEE #CECECE #CECECE #EEEEEE;border-style:solid;border-width:1px;}.portlet.project-listing li{margin-bottom:18px;background-color:white;}.portlet.project-listing li.last{margin-bottom:0;}.portlet ul{margin-bottom:18px;}.portlet-highlighted-projects li .title{border-color:#EEEEEE #CECECE #CECECE #EEEEEE;font-size:13px;border-style:solid;border-width:1px;padding-left:9px;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#F0F0F0));background:-webkit-linear-gradient(#FFFFFF,#F0F0F0);background:-moz-linear-gradient(#FFFFFF,#F0F0F0);background:-ms-linear-gradient(#FFFFFF,#F0F0F0);background:-o-linear-gradient(#FFFFFF,#F0F0F0);background:linear-gradient(#FFFFFF,#F0F0F0);-pie-background:linear-gradient(#FFFFFF,#F0F0F0);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.portlet-highlighted-projects li a{border-top:none;}#top-search{position:absolute;right:0;top:48px;}#top-search .field,.portlet-search #free-search-box .field{overflow:hidden;}#top-search .searchInput,.portlet-search #free-search-box .searchInput{float:left;width:180px;height:16px;outline:none !important;border-right:none !important;border-radius:4px 0 0 4px;line-height:14px;font-size:12px;}#top-search .searchInput{width:144px;}#top-search .button,.portlet-search #free-search-box .button{float:left;width:96px;height:24px;margin:18px 0 0 0;padding:0;margin:0;line-height:24px;cursor:pointer;border:none;border-radius:0px 4px 4px 0;font-size:12px;color:white !important;background:-webkit-gradient(linear,0 0,0 100%,from(#40AEDB),to(#009BD4));background:-webkit-linear-gradient(#40AEDB,#009BD4);background:-moz-linear-gradient(#40AEDB,#009BD4);background:-ms-linear-gradient(#40AEDB,#009BD4);background:-o-linear-gradient(#40AEDB,#009BD4);background:linear-gradient(#40AEDB,#009BD4);-pie-background:linear-gradient(#40AEDB,#009BD4);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.portlet-search #free-search-box .button{width:90px;}\n\r\n\r\n\r\n\r\n.search-button{list-style:none;}.search-button li{list-style:none;}.search-button a{float:left;display:block;width:138px;height:90px;margin:0 68px;text-decoration:none;font-weight:bold;overflow:hidden;}.search-button a:hover{}.search-button a span{font-size:1.2em;display:block;text-align:center;margin-top:69px;}.search-projects a{margin-left:0;background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat 0 0;}.search-projects a:hover{background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat 0 -104px;}.search-users a{background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat -139px 0;}.search-users a:hover{background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat -139px -104px;}.search-institutions a{background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat -278px 0;}.search-institutions a:hover{background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat -278px -104px;}.search-maps a{margin-right:0;background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat -417px 0;}.search-maps a:hover{background:#fff url(/sites/all/themes/phyrtual/images/search/sprites.png) no-repeat -417px -104px;}.search-button-lite{list-style:none;display:inline;margin:0 6px;}.search-button-lite li{list-style:none;display:inline;margin:0 4px;}.search-button-lite a{font-size:.9em;padding-left:42px;}.search-button-lite a:hover{}.search-projects-lite a{background:#eee url(/sites/all/themes/phyrtual/images/zebra/search-ico.png) no-repeat 4px 0;}.search-users-lite a{background:#eee url(/sites/all/themes/phyrtual/images/zebra/search-ico.png) no-repeat 4px -65px;}.search-institutions-lite a{background:#eee url(/sites/all/themes/phyrtual/images/zebra/search-ico.png) no-repeat 4px -31px;}.search-maps-lite a{background:#eee url(/sites/all/themes/phyrtual/images/zebra/search-ico.png) no-repeat 4px -97px;}#zebra .open-close{display:block;overflow:hidden;position:relative;float:left;width:18px;height:18px;background-color:#aaf;}#zebra .open-close span{display:none;}#zebra .open-close.open{background:transparent url(/sites/all/themes/phyrtual/images/search/open.png) no-repeat -417px -104px;}#zebra .open-close.close{background:transparent url(/sites/all/themes/phyrtual/images/search/close.png) no-repeat -417px -104px;}#zebra .column{width:190px;position:relative;margin:0 33px;float:left;}#zebra .column.first{margin-left:0;}#zebra .column.last{margin-right:0;}#zebra .column h2{text-align:left;}.view-phyrtual-zone-projects{}.view-phyrtual-zone-projects .view-content{float:left;}.view-phyrtual-zone-projects .views-row{width:201px;height:60px;float:left;padding:5px;margin:0 18px 20px 18px;overflow:hidden;background-color:#f8f8f8;border:1px solid #0093d1;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.view-phyrtual-zone-projects .views-row.views-row-odd{}.view-phyrtual-zone-projects .views-row.views-row-even{}.view-phyrtual-zone-projects .views-row:hover,.view-phyrtual-zone-projects .views-row.over{background-color:#0093d1;cursor:pointer;}.view-phyrtual-zone-projects .views-row:hover a,.view-phyrtual-zone-projects .views-row.over a{color:#fff;text-shadow:0 1px 0 #444;}.view-phyrtual-zone-projects .views-field-field-logo-fid{width:60px;height:60px;float:left;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.view-phyrtual-zone-projects .views-field-title{width:128px;height:48px;margin-left:10px;padding:5px 0;overflow:hidden;float:left;}.view-phyrtual-zone-projects .views-field-title a{text-decoration:none;}.view-phyrtual-zone-projects .views-field-title a{text-decoration:none;}.view-phyrtual-zone-projects .views-field-title a:hover{}.view-phyrtual-zone-projects .views-field-description{display:none;}.random-project .view-phyrtual-zone-projects .view-content{width:1008px;margin-left:-18px;}.random-project-lite{}.random-project-lite .view-phyrtual-zone-projects{}.random-project-lite .view-phyrtual-zone-projects .view-content{margin-left:-6px;}.random-project-lite .view-phyrtual-zone-projects .views-row{width:172px;height:24px;padding:4px;margin:0 6px 10px 6px;border:none;}.random-project-lite .view-phyrtual-zone-projects .views-row.views-row-odd{}.random-project-lite .view-phyrtual-zone-projects .views-row.views-row-even{}.random-project-lite .view-phyrtual-zone-projects .views-row:hover,.random-project-lite .view-phyrtual-zone-projects .views-row.over{background-color:#0093d1;cursor:pointer;}.random-project-lite .view-phyrtual-zone-projects .views-row:hover a,.random-project-lite .view-phyrtual-zone-projects .views-row.over a{color:#fff;text-shadow:0 1px 0 #444;}.random-project-lite .view-phyrtual-zone-projects .views-field-field-logo-fid{width:24px;height:24px;float:left;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.random-project-lite .view-phyrtual-zone-projects .views-field-title{font-size:.85em;width:132px;height:24px;padding:0;overflow:hidden;float:left;}.random-project-lite .view-phyrtual-zone-projects .views-field-title a{text-decoration:none;}.random-project-lite .view-phyrtual-zone-projects .views-field-title a{text-decoration:none;}.random-project-lite .view-phyrtual-zone-projects .views-field-title a:hover{}.random-project-lite .view-phyrtual-zone-projects .views-field-description{display:none;}.misc-project{}.misc-project .view-phyrtual-zone-projects{}.misc-project .view-phyrtual-zone-projects .view-content{width:190px;height:190px;position:relative;margin:0;padding:0;}.misc-project .view-phyrtual-zone-projects .views-row{width:190px;height:190px;margin:0;padding:0;background:#fff url(/sites/all/themes/phyrtual/images/zebra/project-badge.png) no-repeat top center;border:none;}.misc-project .view-phyrtual-zone-projects .views-row:hover,.misc-project .view-phyrtual-zone-projects .views-row.over{background:#fff url(/sites/all/themes/phyrtual/images/zebra/project-badge.png) no-repeat bottom center;}.misc-project .view-phyrtual-zone-projects .views-field-field-logo-fid{width:128px;height:128px;margin:10px 35px;}.misc-project .view-phyrtual-zone-projects .views-field-title{width:170px;height:24px;margin-top:4px;font-size:.9em;}.misc-project .view-phyrtual-zone-projects .views-field-title a{color:#fff;text-shadow:0 1px 0 #444;}.misc-project .view-phyrtual-zone-projects .views-field-title a:hover,.misc-project .view-phyrtual-zone-projects .over .views-field-title a{color:#fff;text-shadow:0 1px 0 #444;}.misc-project-lite{}.misc-project-lite .view-phyrtual-zone-projects{}.misc-project-lite .view-phyrtual-zone-projects .view-content{margin-left:-6px;}.misc-project-lite .view-phyrtual-zone-projects .views-row{width:172px;height:32px;padding:4px;margin:0 6px 10px 6px;border:none;}.misc-project-lite .view-phyrtual-zone-projects .views-row.views-row-odd{}.misc-project-lite .view-phyrtual-zone-projects .views-row.views-row-even{}.misc-project-lite .view-phyrtual-zone-projects .views-row:hover,.misc-project-lite .view-phyrtual-zone-projects .views-row.over{background-color:#0093d1;cursor:pointer;}.misc-project-lite .view-phyrtual-zone-projects .views-row:hover a,.misc-project-lite .view-phyrtual-zone-projects .views-row.over a{color:#fff;text-shadow:0 1px 0 #444;}.misc-project-lite .view-phyrtual-zone-projects .views-field-field-logo-fid{width:32px;height:32px;float:left;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.misc-project-lite .view-phyrtual-zone-projects .views-field-title{font-size:.90em;width:128px;height:32px;padding:0;overflow:hidden;float:left;}.misc-project-lite .view-phyrtual-zone-projects .views-field-title a{text-decoration:none;}.misc-project-lite .view-phyrtual-zone-projects .views-field-title a{text-decoration:none;}.misc-project-lite .view-phyrtual-zone-projects .views-field-title a:hover{}.misc-project-lite .view-phyrtual-zone-projects .views-field-description{display:none;}\n\r\n\r\n.jcarousel-container{margin:0 auto;background-color:#fafafa;}.jcarousel-container-horizontal{padding:20px 40px;}.jcarousel-container-vertical{width:120px;height:320px;padding:40px 20px;}.jcarousel-list li,.jcarousel-list .jcarousel-item,.jcarousel-item{width:140px;height:70px;list-style:none;margin:0 10px;padding:5px;overflow:hidden;background-color:#fff;}.jcarousel-item-horizontal{width:120px;height:75px;margin-right:10px;}.jcarousel-item-vertical{width:75px;height:75px;margin-bottom:10px;}.jcarousel-item-placeholder{background:#eee;color:#000;}.jcarousel-next-horizontal{position:absolute;top:43px;right:5px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/themes/phyrtual/images/jcarousel/next-horizontal.png) no-repeat 0 0;}.jcarousel-next-horizontal:hover{background-position:-32px 0;}.jcarousel-next-horizontal:active{background-position:-64px 0;}.jcarousel-next-disabled-horizontal,.jcarousel-next-disabled-horizontal:hover,.jcarousel-next-disabled-horizontal:active{cursor:default;background-position:-96px 0;}.jcarousel-prev-horizontal{position:absolute;top:43px;left:5px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/themes/phyrtual/images/jcarousel/prev-horizontal.png) no-repeat 0 0;}.jcarousel-prev-horizontal:hover{background-position:-32px 0;}.jcarousel-prev-horizontal:active{background-position:-64px 0;}.jcarousel-prev-disabled-horizontal,.jcarousel-prev-disabled-horizontal:hover,.jcarousel-prev-disabled-horizontal:active{cursor:default;background-position:-96px 0;}.jcarousel-next-vertical{position:absolute;bottom:5px;left:43px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/themes/phyrtual/images/jcarousel/next-vertical.png) no-repeat 0 0;}.jcarousel-next-vertical:hover{background-position:0 -32px;}.jcarousel-next-vertical:active{background-position:0 -64px;}.jcarousel-next-disabled-vertical,.jcarousel-next-disabled-vertical:hover,.jcarousel-next-disabled-vertical:active{cursor:default;background-position:0 -96px;}.jcarousel-prev-vertical{position:absolute;top:5px;left:43px;width:32px;height:32px;cursor:pointer;background:transparent url(/sites/all/themes/phyrtual/images/jcarousel/prev-vertical.png) no-repeat 0 0;}.jcarousel-prev-vertical:hover{background-position:0 -32px;}.jcarousel-prev-vertical:active{background-position:0 -64px;}.jcarousel-prev-disabled-vertical,.jcarousel-prev-disabled-vertical:hover,.jcarousel-prev-disabled-vertical:active{cursor:default;background-position:0 -96px;}\n\r\n\r\n.quicktabs_wrapper .quicktabs_main.quicktabs-style-zen{clear:both;border:none;}.quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen{margin:0;padding:0;list-style:none;height:28px;padding:6px 0 2px 0;background:none;border-bottom:3px solid #ddd;}*html .quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li{margin-bottom:-5px;}.quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li{float:left;margin:0;padding:0;background:none;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li a{font-size:1.0em;line-height:1.0em;display:block;text-decoration:none;color:#222;border:none;background:none;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;margin:0;margin-left:6px;padding:2px 6px 4px 6px;}.quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li:hover a{border:none;background:none;background-color:#ddd;}.quicktabs_wrapper .quicktabs_tabs.quicktabs-style-zen li:hover{background:none;}.quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li.active a,.quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li.active a:hover{color:#fff;border:none;background:none;background-color:#00a9ed;}.quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li.active{color:#fff;background:none;}\n\r\n\r\n\r\n\r\n.project-top{float:left;position:relative;clear:both;}.project-top-left{float:left;width:622px;min-height:380px;margin-right:18px;}.project-top-right{float:right;width:300px;min-height:380px;}.project-middle{float:left;position:relative;clear:both;}.project-middle-left{position:relative;float:left;width:470px;width:640px;padding-right:10px;}.project-middle-right{position:relative;float:right;width:470px;width:300px;padding-left:10px;}.project-bottom{position:relative;clear:both;}.project-bottom h2{line-height:27px;font-size:18px;color:#00A9ED;border-bottom:1px solid #CCC;}.project-inner{float:left;position:relative;clear:both;overflow:hidden;margin-bottom:18px;}.project-inner-left{position:relative;float:left;width:200px;margin-right:18px;}.project-inner-right{position:relative;float:right;width:724px;}.project-inner-fullwidth{float:none !important;}.project-inner-fullwidth .project-inner-right{width:100%;margin-left:0;margin-right:0;}.project-header{width:940px;min-height:128px;clear:both;padding-bottom:18px;margin-bottom:18px;overflow:hidden;}.project-header .project-logo{width:128px;height:128px;float:left;position:relative;margin:0 9px 0 0;text-align:center;overflow:hidden;}.project-header .project-logo .title{width:128px;height:128px;float:left;position:relative;}.project-header .project-logo .title-icon{color:#ccc;text-decoration:none;display:block;float:right;position:relative;width:20px;height:20px;margin:-20px 2px 0 2px;overflow:hidden;opacity:.7;text-shadow:0 1px 1px #fff;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.project-header .project-logo .title-icon:hover{color:#fff;opacity:.9;text-shadow:0 1px 1px #888;}.project-header .project-logo .title-icon.concept{float:left;background:transparent url(/sites/all/themes/phyrtual/images/project/title-icon-info.png) no-repeat 0 0;}.project-header .project-logo .title-icon.concept:hover{background:transparent url(/sites/all/themes/phyrtual/images/project/title-icon-info.png) no-repeat 0 -20px;}.project-header .project-logo .title-icon.graph{float:right;background:transparent url(/sites/all/themes/phyrtual/images/project/title-icon-graph.png) no-repeat 0 0;}.project-header .project-logo .title-icon.graph:hover{background:transparent url(/sites/all/themes/phyrtual/images/project/title-icon-graph.png) no-repeat 0 -20px;}.project-header .project-logo .title-icon span{display:none;font-size:18px;padding:1px;text-align:center;}.project-concept-logo{width:128px;float:left;margin:0 10px 10px 0;text-align:left;overflow:hidden;}.project-title{min-height:98px;float:left;clear:right;border-left:1px solid #eee;width:780px;margin:0;padding:0;}.project-title h1{line-height:27px;}.project-title h2{margin-bottom:18px;font-size:12px;}.project-title a{text-decoration:none;}.project-title .title{color:#0093d1;font-size:24px;}.project-title .project-access{color:#888;font-size:24px;padding-left:9px;}.project-title .user-count{color:#888;padding-left:9px;font-weight:normal;font-size:12px;}.project-title .category{color:#00a9ed;}.project-description{color:#666;font-weight:normal;margin:0px 36px 18px 0px !important;line-height:18px !important;}.project-location{color:#666;display:block;font-size:12px;font-style:italic;font-weight:200;margin:2px 0 4px 0;}.project-manager{top:50px;right:0;position:absolute;}.project-links{width:790px;margin:0;line-height:27px;}.project-links .tabs{margin:0;}.project-tools{float:right;margin:0;padding:0;}.project-tools ul{margin:0;padding:0;}.project-tools li{margin:0;padding:0;padding-bottom:9px;display:block;clear:both;float:right;}.project-tools li.last{padding-bottom:0;}.project-tools li:hover{background:none !important;}.project-tools li a{color:#444;border:2px solid #FD7F44;font-size:12px;font-weight:bold;text-align:center;line-height:27px;}.project-tools #share-project-link{background:#eee url(/sites/all/themes/phyrtual/images/icons/24/share.png) no-repeat scroll 3px center;padding-left:28px;width:80px;}.project-tools #share-project-on-facebook-link{background:#eee url(/sites/all/themes/phyrtual/images/icons/24/fb-button-icon22.png) no-repeat scroll 3px center;padding-left:28px;width:80px;}.project-tools .subscribeToProjectWrapper{border:none;margin-bottom:22px;}.project-tools .last #subscribe-to-project-link{margin-top:24px;}.project-tools #subscribe-to-project-link{float:right;margin-top:2px;background:#eee url(/sites/all/themes/phyrtual/images/icons/24/subscribe.png) no-repeat scroll 95% center;padding-right:28px;width:80px;height:27px;line-height:13px;font-size:11px;text-align:left;border:1px solid #AEAEAE;text-transform:none;font-weight:bold;padding-left:9px;}.project-tools #subscribe-to-project-link.unsubscribe{background-image:url(/sites/all/themes/phyrtual/images/icons/24/unsubscribe.png);}.project-blog-badge{float:right;width:100px;height:100px;margin-top:-100px;overflow:hidden;}.project-blog-badge a{width:100px;height:100px;display:block;overflow:hidden;color:#fff;font-size:1.2em;font-weight:bold;text-align:center;padding-top:40px;background:#fff url(/sites/all/themes/phyrtual/images/project/badge.png) no-repeat 0 0;text-shadow:0 1px 0 #222;}.project-blog-badge a:hover{background:#fff url(/sites/all/themes/phyrtual/images/project/badge.png) no-repeat 0 -100px;}.project-manager-menu .menu-toggle{cursor:pointer;}.project-manager-menu .admin-menu{width:240px;display:none;position:absolute;padding:0;margin-top:0;border:1px solid #faa;z-index:100;background-color:#FFFFFF;float:left;}.no-rgba.opacity .project-manager-menu .admin-menu{opacity:0.94;}.project-manager-menu .admin-menu .area-title{color:#333;font-size:12px;display:block;line-height:27px;text-align:center;background-color:#f8f8f8;text-shadow:0 1px 0 #ccc;border-bottom:1px solid #CCC;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#E1E1E1));background:-webkit-linear-gradient(#FFFFFF,#E1E1E1);background:-moz-linear-gradient(#FFFFFF,#E1E1E1);background:-ms-linear-gradient(#FFFFFF,#E1E1E1);background:-o-linear-gradient(#FFFFFF,#E1E1E1);background:linear-gradient(#FFFFFF,#E1E1E1);-pie-background:linear-gradient(#FFFFFF,#E1E1E1);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.project-manager-menu .admin-menu .area-title.clickable{cursor:pointer;text-shadow:0 1px 0 #fff;font-weight:normal;color:#222;}.project-manager-menu .admin-menu .area-title.clickable:hover,.project-manager-menu .admin-menu .area-title.clickable.over{font-weight:bold;}.project-manager-menu .admin-menu .group-title{color:#333;font-size:10px;font-style:italic;margin:0;padding:0;line-height:18px;text-align:center;background:#FAFAFA;display:block;border-bottom:1px solid #CCC;}.project-manager-menu .admin-menu li{display:block;margin:0;float:none !important;}.project-manager-menu .admin-menu li.group{border-bottom:1px solid #CCC;}.project-manager-menu .admin-menu li.type{list-style-type:circle;list-style-position:inside;}.project-manager-menu .admin-menu .type a{padding:0 4px;}.project-manager-menu .admin-menu li a{font-size:11px;display:block;border:none;background:transparent;line-height:18px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.project-manager-menu .admin-menu li a:hover{display:block;border:none;background-color:#EAEAEA;}.project-create .create-menu ul{margin:10px 20px;}.project-create .create-menu ul li{}.project-create .create-menu ul ul{margin:5px 20px;}.project-create .create-menu ul ul li{}.project-create .create-menu ul ul ul{margin:3px 15px;}.project-create .create-menu ul ul ul li{list-style:circle;}#node-actions{float:right;margin:0 !important;}#node-actions ul{overflow:hidden;display:block;}#node-actions li{margin:0 0 0 9px !important;}.menu-count{color:#888;font-size:.85em;font-weight:200;}.menu-icon{display:block;float:right;width:20px;height:27px;}.menu-icon span{display:none;}.menu-icon.hot{background:transparent url(/sites/all/themes/phyrtual/images/menu/menu-icon-hot2.png) no-repeat center center;}.menu-icon.new{background:transparent url(/sites/all/themes/phyrtual/images/menu/menu-icon-new3.png) no-repeat center center;}.fast-knowledge.pages-menu{display:block;position:relative;clear:both;}.fast-knowledge.pages-menu h3{float:left;position:relative;clear:left;}.fast-knowledge.desc{font-size:.8em;display:block;float:left;clear:right;margin:12px 0 0 6px;}.fast-knowledge.pages-menu ul{position:relative;float:left;clear:both;}.fast-knowledge.pages-menu li{display:inline;margin:0 5px 0 2px;}.fast-knowledge.pages-menu li a{padding-left:28px;}.fast-knowledge.pages-menu li a.highlights{background:#eee url(/sites/all/themes/phyrtual/images/project/fastknowledge-pages-menu.png) no-repeat 4px -3px;}.fast-knowledge.pages-menu li a.news{background:#eee url(/sites/all/themes/phyrtual/images/project/fastknowledge-pages-menu.png) no-repeat 4px -36px;}.fast-knowledge.pages-menu li a.multimedia{background:#eee url(/sites/all/themes/phyrtual/images/project/fastknowledge-pages-menu.png) no-repeat 4px -72px;}.fast-knowledge.pages-menu li a.polls{background:#eee url(/sites/all/themes/phyrtual/images/project/fastknowledge-pages-menu.png) no-repeat 4px -106px;}.fast-knowledge.pages-menu li a.events{background:#eee url(/sites/all/themes/phyrtual/images/project/fastknowledge-pages-menu.png) no-repeat 4px -138px;}.fast-knowledge.pages-menu li a:hover{background-color:#ddd;}.event-nodeapi{padding-bottom:6px;margin-bottom:10px;border-bottom:2px solid #eee;}#block-quicktabs-2{margin-bottom:18px;}#quicktabs-2 .quicktabs_tabs{display:none;}.quicktabs-style-fastknowledge{margin:0 !important;padding:0 !important;}.quicktabs-style-fastknowledge.quicktabs_main{border:none;height:386px;}.quicktabs-style-fastknowledge .quicktabs_tabpage{height:384px;overflow:hidden;}.quicktabs-style-fastknowledge .view-header{color:#444;font-size:.8em;padding:2px 6px;font-style:italic;}.quicktabs-style-fastknowledge .view-header .action{color:#444;}.quicktabs-style-fastknowledge .view-empty,.quicktabs-style-fastknowledge .view-content{height:384px;overflow:hidden;background:#fff url(/sites/all/themes/phyrtual/images/project/fastknowledge.png);background-repeat:no-repeat;border:1px solid #ccc;}.quicktabs-style-fastknowledge .view-footer{font-size:.7em;color:#888;padding:3px 6px;background-color:#eee;}.quicktabs-style-fastknowledge .view-empty{width:620px;height:362px;color:#888;padding:10px;font-style:italic;background-color:white;}.view-FastKnowledge .item-list{height:384px;margin:0;padding:0;}#projectslideshowwrapper{width:100%;height:420px;position:relative;background-color:#FFFFFF;overflow:hidden;}#projectslideshowwrapper #slideshowheader{margin:0;padding:0 3px;line-height:34px;height:34px;background:#ffffff url(/services/images/logo.png) no-repeat 99% 50%;border-top:1px solid #00A9ED;border-bottom:1px solid #00A9ED;}#projectslideshowwrapper #slideshowheader a{display:block;font-size:14px;color:#0093D1 !important;line-height:34px;height:34px;text-decoration:none !important;padding-left:36px;background-repeat:no-repeat;background-position:2px 2px;}.view-FastKnowledge.view-display-id-block_1 ul,.view-FastKnowledge.view-display-id-block_1 li,.view-FastKnowledge.view-display-id-block_6 ul,.view-FastKnowledge.view-display-id-block_6 li{list-style:none;margin:0;padding:0;}.view-FastKnowledge .jcarousel-container{height:384px;margin:0 auto;background-color:#fafafa;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.view-FastKnowledge .jcarousel-container-horizontal{height:384px;padding:0;margin:0;}.view-FastKnowledge .jcarousel-clip,.view-FastKnowledge .jcarousel-clip-horizontal{height:384px;padding:0;margin:0;}.view-FastKnowledge .jcarousel-list,.view-FastKnowledge .jcarousel-list li,.view-FastKnowledge .jcarousel-list .jcarousel-item,.view-FastKnowledge .jcarousel-item{height:384px;margin:0;padding:0;}.view-FastKnowledge .jcarousel-item-horizontal{height:384px;margin:0;padding:0;}.view-FastKnowledge .jcarousel-next-horizontal{top:200px;}.view-FastKnowledge .jcarousel-prev-horizontal{top:200px;}.view-FastKnowledge .jcarousel-list li .views-field-field-highlight-photo-fid-1,.view-FastKnowledge .jcarousel-list li .views-field-photo{height:384px;margin:0;padding:0;}.view-FastKnowledge .jcarousel-list li .views-field-photo a.imagecache{text-align:center;display:block;}.view-FastKnowledge .jcarousel-list li .views-field-photo a.imagecacheLogoPlaceholder{height:384px;margin:0;padding:0;text-decoration:none !important;color:#0093D1 !important;background:#FFFFFF url(/sites/default/files/carouselbrand.jpg?v=2) no-repeat 18px 18px;}.view-FastKnowledge .jcarousel-list li .views-field-photo a.imagecacheLogoPlaceholder span{display:block;padding-top:36px;color:#0093D1 !important;font-size:18px;font-family:'Lucida Grande','Tahoma','Verdana','?Arial','?sans-serif';}.view-FastKnowledge .jcarousel-list li .views-field-title,.view-FastKnowledge .jcarousel-list li .views-field-body{overflow:hidden;position:relative;background-color:#222;background-color:rgba(34,34,34,.8);text-shadow:0 1px 0 #222;}.no-rgba .view-FastKnowledge .jcarousel-list li .views-field-title,.no-rgba .view-FastKnowledge .jcarousel-list li .views-field-body{opacity:0.8;}.view-FastKnowledge .jcarousel-list li .views-field-title{height:25px;padding:10px 50px 0 50px;margin-top:-100px;color:#fff;}.view-FastKnowledge .jcarousel-list li .views-field-body{height:80px;font-size:.9em;color:#ddd;padding:5px 50px;}.field-field-highlight-photo .field-item{text-align:center;margin:0 auto;}.view-FastKnowledge.view-display-id-block_2{margin:0;padding:0;}.view-FastKnowledge.view-display-id-block_2 .view-content{margin:0;padding:0;overflow:auto;overflow-y:scroll;overflow-x:hidden;}.view-FastKnowledge.view-display-id-block_2 .view-content ul{height:384px;padding:0;margin:0;list-style:none;}.view-FastKnowledge.view-display-id-block_2 .view-content ul li{width:460px;float:left;clear:both;list-style:none;display:block;margin:6px 10px;}.view-FastKnowledge.view-display-id-block_2 .views-field-title{float:left;}.view-FastKnowledge.view-display-id-block_2 .views-field-title a{text-decoration:none;}.view-FastKnowledge.view-display-id-block_2 .views-field-created{float:left;font-size:.8em;color:#888;padding:1px 4px;}.view-FastKnowledge.view-display-id-block_2 .views-field-field-news-photo-fid{float:left;clear:left;width:68px;padding:4px;border-left:4px solid #eee;margin-right:2px;}.view-FastKnowledge.view-display-id-block_2 .views-field-body{float:left;width:376px;font-size:.9em;color:#444;padding:4px 0;}.view-FastKnowledge.view-display-id-block_3{margin:0;padding:0;}.view-FastKnowledge.view-display-id-block_3 .view-content{margin:0;padding:0;overflow:auto;overflow-y:scroll;overflow-x:hidden;}.view-FastKnowledge.view-display-id-block_3 .view-content ul{height:384px;padding:0;margin:0;list-style:none;}.view-FastKnowledge.view-display-id-block_3 .view-content ul li{width:460px;float:left;clear:both;list-style:none;display:block;margin:6px 10px;}.view-FastKnowledge.view-display-id-block_3 .views-row-odd{}.view-FastKnowledge.view-display-id-block_3 .views-row-even{}.view-FastKnowledge.view-display-id-block_3 .views-field-type{float:left;color:#666;font-size:.9em;padding:1px 4px;margin-right:2px;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.view-FastKnowledge.view-display-id-block_3 .views-field-title{float:left;}.view-FastKnowledge.view-display-id-block_3 .views-field-title a{text-decoration:none;}.view-FastKnowledge.view-display-id-block_3 .views-field-created{float:left;font-size:.8em;color:#888;padding:1px 4px;}.view-FastKnowledge.view-display-id-block_3 .views-field-body{float:left;width:460px;font-size:.9em;color:#444;padding:4px;}.view-FastKnowledge.view-display-id-block_4{margin:0;padding:0;}.view-FastKnowledge.view-display-id-block_4 .view-content{margin:0;padding:0;overflow:auto;overflow-y:scroll;overflow-x:hidden;}.view-FastKnowledge.view-display-id-block_4 .view-content ul{height:348px;padding:0;margin:0;list-style:none;}.view-FastKnowledge.view-display-id-block_4 .view-content ul li{width:460px;float:left;clear:both;list-style:none;display:block;margin:6px 10px;}.view-FastKnowledge.view-display-id-block_4 .views-field-title a{text-decoration:none;}.view-FastKnowledge.view-display-id-block_4 .views-field-created{font-size:.8em;color:#888;padding:1px 4px;}.view-FastKnowledge.view-display-id-block_4 .views-field-active{font-size:.8em;color:#666;padding:1px 4px;background:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.view-FastKnowledge.view-display-id-block_4 .views-field-active label{font-weight:400;}.view-FastKnowledge.view-display-id-block_5{margin:0;padding:0;}.view-FastKnowledge.view-display-id-block_5 .view-content{margin:0;padding:0;overflow:auto;overflow-y:scroll;overflow-x:hidden;}.view-FastKnowledge.view-display-id-block_5 .view-content ul{height:348px\r\n padding:0;margin:0;list-style:none;}.view-FastKnowledge.view-display-id-block_5 .view-content ul li{width:460px;float:left;clear:both;list-style:none;display:block;margin:6px 10px;}.view-FastKnowledge.view-display-id-block_5 .views-row-odd{}.view-FastKnowledge.view-display-id-block_5 .views-row-even{}.view-FastKnowledge.view-display-id-block_5 .views-field-title{float:left;}.view-FastKnowledge.view-display-id-block_5 .views-field-title a{text-decoration:none;}.view-FastKnowledge.view-display-id-block_5 .views-field-created{float:left;font-size:.8em;color:#888;padding:1px 4px;}.project-menu-combined,.project-menu-combined-empty,#block-phyrtual_project-3{font-size:12px;line-height:18px;border:1px solid #E0E0E0;margin:0;margin-bottom:18px;overflow:hidden;background-color:#fff;}.project-menu-combined h2,.project-menu-combined-empty h2,#block-phyrtual_project-3 h2{font-size:13px;line-height:27px;color:#FFFFFF;border-bottom:1px solid #E0E0E0;padding-left:9px;background:-webkit-gradient(linear,0 0,0 100%,from(#3EC3F6),to(#00A9ED));background:-webkit-linear-gradient(#3EC3F6,#00A9ED);background:-moz-linear-gradient(#3EC3F6,#00A9ED);background:-ms-linear-gradient(#3EC3F6,#00A9ED);background:-o-linear-gradient(#3EC3F6,#00A9ED);background:linear-gradient(#3EC3F6,#00A9ED);-pie-background:linear-gradient(#3EC3F6,#00A9ED);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.project-menu-combined-empty h2{background:-webkit-gradient(linear,0 0,0 100%,from(#40AEDB),to(#009BD4));background:-webkit-linear-gradient(#40AEDB,#009BD4);background:-moz-linear-gradient(#40AEDB,#009BD4);background:-ms-linear-gradient(#40AEDB,#009BD4);background:-o-linear-gradient(#40AEDB,#009BD4);background:linear-gradient(#40AEDB,#009BD4);-pie-background:linear-gradient(#40AEDB,#009BD4);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.contentVideoWrapper,.presentationVideoWrapper{margin-left:auto;margin-right:auto;text-align:center;padding:18px;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#E1E1E1));background:-webkit-linear-gradient(#FFFFFF,#E1E1E1);background:-moz-linear-gradient(#FFFFFF,#E1E1E1);background:-ms-linear-gradient(#FFFFFF,#E1E1E1);background:-o-linear-gradient(#FFFFFF,#E1E1E1);background:linear-gradient(#FFFFFF,#E1E1E1);-pie-background:linear-gradient(#FFFFFF,#E1E1E1);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.contentVideoWrapper .emvideo,.presentationVideoWrapper .emvideo{margin-left:auto;margin-right:auto;width:640px;}.project-menu-combined h2 a,.project-menu-combined-empty h2 a{color:#FFFFFF !important;text-decoration:none !important;}.project-menu-combined ul{display:block;margin:0;padding:0;}.project-menu-combined ul li{margin:0;}.project-menu-combined ul li span.group{padding-left:9px;display:none;}.project-menu-combined ul a{display:block;margin:0;text-decoration:none;padding-left:9px;line-height:27px;color:#333 !important;text-shadow:1px 1px 0 #FFFFFF;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#E1E1E1));background:-webkit-linear-gradient(#FFFFFF,#E1E1E1);background:-moz-linear-gradient(#FFFFFF,#E1E1E1);background:-ms-linear-gradient(#FFFFFF,#E1E1E1);background:-o-linear-gradient(#FFFFFF,#E1E1E1);background:linear-gradient(#FFFFFF,#E1E1E1);-pie-background:linear-gradient(#FFFFFF,#E1E1E1);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.project-menu-combined ul a:hover{background-color:#ddd;}.project-menu-combined ul a.open-close{font-size:.8em;float:right;}.project-menu-combined ul ul{margin:0;padding:0;}.project-menu-combined-empty .conceptBody,#block-phyrtual_project-3 .locationBody{line-height:18px;padding:9px;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#F0F0F0));background:-webkit-linear-gradient(#FFFFFF,#F0F0F0);background:-moz-linear-gradient(#FFFFFF,#F0F0F0);background:-ms-linear-gradient(#FFFFFF,#F0F0F0);background:-o-linear-gradient(#FFFFFF,#F0F0F0);background:linear-gradient(#FFFFFF,#F0F0F0);-pie-background:linear-gradient(#FFFFFF,#F0F0F0);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}#quicktabs-5 .jcarousel-container-horizontal{width:400px;padding:20px 40px;}#quicktabs-5 .jcarousel-clip-horizontal{width:320px;}#quicktabs-5 .jcarousel-list li,#quicktabs-5 .jcarousel-list .jcarousel-item,#quicktabs-5 .jcarousel-item{width:120px;height:70px;list-style:none;margin:0 10px;padding:5px;overflow:hidden;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}#quicktabs-5 .jcarousel-item-horizontal{width:100px;height:75px;margin-right:10px;}.project-top-right .quicktabs_tabpage{min-height:180px;border-top:1px solid #E0E0E0;background:-webkit-gradient(linear,0 0,0 100%,from(#FAFAFA),to(#FFFFFF));background:-webkit-linear-gradient(#FAFAFA,#FFFFFF);background:-moz-linear-gradient(#FAFAFA,#FFFFFF);background:-ms-linear-gradient(#FAFAFA,#FFFFFF);background:-o-linear-gradient(#FAFAFA,#FFFFFF);background:linear-gradient(#FAFAFA,#FFFFFF);-pie-background:linear-gradient(#FAFAFA,#FFFFFF);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.project-top-right .quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen{border-bottom:none;height:auto;list-style:none outside none;margin:0;padding:0;overflow:hidden;}.project-top-right .quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li a,.project-top-right .quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li a:hover{-moz-border-radius:4px 4px 0px 0px !important;-webkit-border-radius:4px 4px 0px 0px !important;border-radius:4px 4px 0px 0px !important;border-style:solid;border-color:#E0E0E0;border-width:1px;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#E1E1E1));background:-webkit-linear-gradient(#FFFFFF,#E1E1E1);background:-moz-linear-gradient(#FFFFFF,#E1E1E1);background:-ms-linear-gradient(#FFFFFF,#E1E1E1);background:-o-linear-gradient(#FFFFFF,#E1E1E1);background:linear-gradient(#FFFFFF,#E1E1E1);-pie-background:linear-gradient(#FFFFFF,#E1E1E1);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.project-top-right .quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li a{line-height:18px;font-size:12px;border-radius:4px 4px 0 0 !important;margin-left:3px;color:#666 !important;}.project-top-right .quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li.active a,.project-top-right .quicktabs_wrapper ul.quicktabs_tabs.quicktabs-style-zen li a:hover{color:white !important;background:-webkit-gradient(linear,0 0,0 100%,from(#3EC3F6),to(#00A9ED));background:-webkit-linear-gradient(#3EC3F6,#00A9ED);background:-moz-linear-gradient(#3EC3F6,#00A9ED);background:-ms-linear-gradient(#3EC3F6,#00A9ED);background:-o-linear-gradient(#3EC3F6,#00A9ED);background:linear-gradient(#3EC3F6,#00A9ED);-pie-background:linear-gradient(#3EC3F6,#00A9ED);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.project-list-search,.user-list-search{color:#aaa;font-style:italic;float:right;clear:both;padding:2px;margin:4px 4px 8px 4px;}.project-list-search:focus,.user-list-search:focus{color:#444;}.empty-block-text{display:block;padding:9px;color:#888;font-style:italic;}ul.project-list,ul.user-list{display:block;float:left;clear:both;margin:0;padding:2px;overflow:hidden;overflow-y:auto;}ul.project-list li,ul.user-list li{display:block;margin:4px;float:left;}ul.user-list img.user-picture{border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #cecece;border-bottom:1px solid #cecece;}.contribute{padding:10px;color:#444;font-size:1.3em;line-height:1.5em;font-weight:400;overflow:hidden;}.contribute .go-to{padding:2px 8px;background-color:#dfd;border:2px solid #afa;text-decoration:none;text-shadow:0 1px 0 #fff;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.project-top-left h2,#block-views-ProjectUpdates-block_1 h2{font-size:18px;margin-bottom:0;line-height:27px;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#E1E1E1));background:-webkit-linear-gradient(#FFFFFF,#E1E1E1);background:-moz-linear-gradient(#FFFFFF,#E1E1E1);background:-ms-linear-gradient(#FFFFFF,#E1E1E1);background:-o-linear-gradient(#FFFFFF,#E1E1E1);background:linear-gradient(#FFFFFF,#E1E1E1);-pie-background:linear-gradient(#FFFFFF,#E1E1E1);padding-left:9px;border-bottom:1px solid #CCC;text-shadow:1px 1px 0 #FFFFFF;behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}#block-views-ProjectUpdates-block_1{border-top:1px solid #eee;border-left:1px solid #eee;border-right:1px solid #cecece;border-bottom:1px solid #cecece;;margin-bottom:18px;}.project-top-left h2{margin-bottom:0;}#block-views-ProjectUpdates-block_1{margin-bottom:18px;}.view-ProjectUpdates{font-size:12px;line-height:18px;padding:9px;background:-webkit-gradient(linear,0 0,0 100%,from(#FFFFFF),to(#FAFAFA));background:-webkit-linear-gradient(#FFFFFF,#FAFAFA);background:-moz-linear-gradient(#FFFFFF,#FAFAFA);background:-ms-linear-gradient(#FFFFFF,#FAFAFA);background:-o-linear-gradient(#FFFFFF,#FAFAFA);background:linear-gradient(#FFFFFF,#FAFAFA);-pie-background:linear-gradient(#FFFFFF,#FAFAFA);behavior:url(/sites/all/themes/phyrtual/css3pie/PIE.htc);}.view-ProjectUpdates div.view-header{float:right;}.view-ProjectUpdates div.view-header a{display:block;line-height:27px;font-size:11px;padding-right:18px;background:transparent url(/misc/feed.png) no-repeat right center;}.view-ProjectUpdates div.view-header img{vertical-align:middle;}.view-ProjectUpdates div.view-header,.view-ProjectUpdates div.view-header a,.view-ProjectUpdates div.view-header a span{color:#aaa;text-decoration:none;}.view-ProjectUpdates .views-field-group-nid a{color:#fff;padding:0 4px;margin:0 4px 0 0;font-weight:400;font-style:italic;text-decoration:none;background-color:#00a9ed;}.view-ProjectUpdates .views-field-type{font-size:9px;padding-left:4px;color:#444;margin-right:6px;font-style:normal;background-color:#f0f0f0;border:1px solid #CCC;text-align:center;}.view-ProjectUpdates .views-field-title a{text-decoration:none;}.view-ProjectUpdates .views-field-created,.view-ProjectUpdates .views-field-changed{font-size:.8em;color:#aaa;}.view-ProjectUpdates .view-empty{padding:4px;color:#888;font-style:italic;}.view-ProjectUpdates .views-row{line-height:27px;}.project-community{position:relative;}.project-content{clear:both;margin-bottom:27px;}.project-content .content-type{color:#aaa;font-size:11px;line-height:18px;}.project-content h2{margin-bottom:0;line-height:27px;}.post-date{clear:both;color:#aaa;display:block;font-size:11px;position:relative;margin-bottom:18px;line-height:27px;}#header-content-type{float:right;background-color:#F0F0F0;border:1px solid #CCCCCC;color:#444444;font-size:9px;font-style:normal;padding-left:9px;padding-right:9px;line-height:18px;margin-top:4px;}.view-og-ghp-phyrtual .views-row{clear:both;border:1px solid #FF6E27;margin:5px 0 10px 0;padding:8px;}.view-og-ghp-phyrtual .views-row:hover{border-color:#00A9ED;}.view-og-ghp-phyrtual .project-content .content{}.project-inner .views-field-picture .picture{display:block;margin:0;padding:0;overflow:hidden;}.project-inner .views-field-created,.project-inner .views-field-changed{font-size:9px;padding-left:0;padding-right:0;}.project-inner .views-exposed-form{font-size:11px;position:relative;clear:both;}.project-inner .views-exposed-widgets,.project-inner .views-exposed-widget{margin:0;padding:0;}.project-inner .views-exposed-widget label{float:left;height:24px;line-height:24px;padding-right:4px;}.project-inner .views-exposed-widget .views-operator,.project-inner .views-exposed-widget .views-widget{float:left;padding:4px 4px 4px 0;}.project-inner .views-exposed-form .views-exposed-widget .form-submit{margin-top:4px;}#attachments{margin-bottom:10px;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}#attachments table.itu-attachment-list tbody{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}#attachment table.itu-attachment-list tbody tr{background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.view-phyrtual-project-blog{}.view-phyrtual-project-blog .views-row{margin-bottom:30px;padding:2px 4px 2px 10px;border-left:3px solid #ddd;}.view-phyrtual-project-blog .views-row:hover{background-color:#fafafa;}.view-phyrtual-project-blog .views-field-created{color:#888;font-weight:500;font-size:.9em;}.view-phyrtual-project-blog .views-field-created{}.view-phyrtual-project-blog .views-field-title{font-size:1.4em;margin:-2px 0 10px 0;}.view-phyrtual-project-blog .views-field-title a{text-decoration:none;}.view-phyrtual-project-blog .views-field-picture{float:right;margin-left:4px;}.view-phyrtual-project-blog .views-field-teaser{}.view-phyrtual-project-blog .views-field-group-nid{margin:-12px 0 10px 0;}.view-phyrtual-project-blog .views-field-group-nid a{color:#8ed2ed;font-size:.9em;font-style:italic;text-decoration:none;}.view-phyrtual-project-blog .views-field-group-nid a:hover{color:#5fc5ed;}.view-phyrtual-project-blog .views-field-comment-count{font-size:.8em;color:#666;font-style:italic;text-align:right;display:block;}.content .poll .vote-form .choices{margin 1.2em;}.content .poll #edit-vote{text-align:left;margin .4em 2em;}.field-field-photo-images{margin:20px auto;}.field-field-news-photo{float:right;background-color:#FFFFFF;border-color:#EEEEEE #CECECE #CECECE #EEEEEE;border-style:solid;border-width:1px;float:right;margin-left:9px;padding:2px;}.gallery-slides .overlay-inner{text-shadow:0 1px 0 #0093d1;text-shadow:0 1px 0 #222;}div#project-graph{width:960px;height:560px;float:left;clear:both;position:relative;overflow:hidden;}.project-graph-navi{width:720px;height:560px;float:left;position:relative;overflow:hidden;}.project-graph-info{width:240px;height:560px;float:right;position:relative;overflow:hidden;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.canvas .project-graph-tree.toggle{display:none;}.no-canvas .project-graph-tree.toggle{display:block;}.no-canvas .processing-wrapper{display:none;}.project-graph-tree{width:700px;height:540px;margin:10px;float:left;position:relative;text-align:left;}.project-graph-tree ul li{margin:5px 5px 5px 22px;}.project-graph-tree ul.parent>li{list-style-type:square;font-size:100%;}.project-graph-tree ul.node>li{list-style-type:circle;font-size:130%;margin-left:10px;}.project-graph-tree ul.child>li{list-style-type:disc;font-size:70%;margin-left:20px;}.js.canvas .project-graph-tree{display:none;}.project-graph-box{width:220px;height:560px;margin:0;padding:0;float:right;clear:left;position:relative;text-align:right;background-color:#f0f0f0;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.project-graph-info .pgb-head{position:relative;padding:10px;background-color:#e0e0e0;border-bottom:1px solid #d8d8d8;-moz-border-radius-topleft:4px;-moz-border-radius-topright::4px;-webkit-border-top-left-radius:4px;-webkit-border-top-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px;}.project-graph-info .pgb-body{position:relative;overflow:hidden;padding:10px;-moz-border-radius-bottomleft:4px;-moz-border-radius-bottomright::4px;-webkit-border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;}.project-graph-box div div{margin:4px 0;}.project-graph-box .pgb-title{color:#0093d1;font-size:1.3em;font-weight:600;}.project-graph-box .pgb-description{color:#777;font-size:0.9em;font-style:italic;font-weight:200;}.project-graph-box .pgb-concept{color:#555;font-weight:300;font-size:0.9em;text-align:justify;padding:8px;overflow:hidden;background-color:#eee;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.project-graph-box .pgb-links{text-align:center;margin:8px 0;padding:0;}.project-graph-box .pgb-links li{font-size:.9em;padding:1px 2px;display:inline;list-style:disc;}.project-content h2.subTitle{color:#0093D1;font-size:18px;border-bottom:1px solid #CCC;margin-bottom:18px;}#slideshow-code-snippet-template{display:none;}.project-content .widgetHelp{overflow:hidden;margin-bottom:36px;}.project-content .widgetConfiguration{border:1px solid #EEE;border-bottom:none;padding:9px;}.project-content .text-snippet{border:1px dashed #666;padding:10px;background-color:#EFEFEF;font-family:monospace;font-size:12px;margin-bottom:18px;}.project-content .code-snippet{float:right;margin-left:18px;}.node-form-has-region-right .form-region-main{width:672px !important;}.view-id-og_members table td{vertical-align:middle;line-height:36px;padding-top:0 !important;padding-bottom:0 !important;}.views-field-managelink{width:180px;}.views-field-managelinkadmin{width:360px;}.views-exposed-form .form-item,.views-exposed-form .form-submit{margin-bottom:0 !important;}#notification-options{margin-bottom:27px;}.privatemsg-message-body .hidden{display:none;}.privatemsg-message-body .contentTypeLabel{font-size:10px;border:1px solid #CECECE;background-color:#F0F0F0;border:1px solid #CCCCCC;color:#444444;font-size:9px;font-style:normal;padding-left:9px;padding-right:9px;}privatemsg-message-body a{color:#00648A !important;font-weight:bold;}privatemsg-message-body .notificationHeading{font-size:14px;color:#00648A !important;text-decoration:none !important;}privatemsg-message-body .separator{border-top:1px solid #CCC;padding-top:18px;}privatemsg-message-body .unsubscribeLink{margin-top:36px;}.wikiLinkSources{border-top:1px solid #CECECE;border-bottom:1px solid #CECECE;padding:18px 0;}.wikiLinkSources h4{color:#00A9ED;font-size:14px;}a.missing{color:#888 !important;border-bottom:1px dotted #888;text-decoration:none !important;}a.missing:hover{color:#222 !important;border-bottom:1px dotted #222 !important;}div.jplayer{clear:both;}.right-aligned{text-align:right;}.left-aligned{text-align:left;}.funding-listing th,.funding-listing td{text-align:right;}.funding-listing th.left-aligned,.funding-listing td.left-aligned{text-align:left;}.funding-listing .funding-status{background:transparent url(/sites/all/themes/phyrtual/images/project/funding-16x16.png) no-repeat 0 0;padding-left:20px;}.funding-listing .funding-status-submitted{background-image:url(/sites/all/themes/phyrtual/images/project/funding-submitted-16x16.png);}.funding-listing .funding-status-rejected{background-image:url(/sites/all/themes/phyrtual/images/project/funding-rejected-16x16.png);}.funding-listing .funding-status-open{background-image:url(/sites/all/themes/phyrtual/images/project/funding-open-16x16.png);}.funding-listing .funding-status-closed{background-image:url(/sites/all/themes/phyrtual/images/project/funding-closed-16x16.png);}.funding-listing .funding-status-failed-pending{background-image:url(/sites/all/themes/phyrtual/images/project/funding-failed-pending-16x16.png);}.funding-listing .funding-status-failed-concluded{background-image:url(/sites/all/themes/phyrtual/images/project/funding-failed-concluded-16x16.png);}.funding-summary-table .funding-status{background:transparent url(/sites/all/themes/phyrtual/images/project/funding-24x24.png) no-repeat 0 0;padding-left:30px;padding-bottom:6px;}.funding-summary-table .funding-status-submitted{background-image:url(/sites/all/themes/phyrtual/images/project/funding-submitted-24x24.png);}.funding-summary-table .funding-status-rejected{background-image:url(/sites/all/themes/phyrtual/images/project/funding-rejected-24x24.png);}.funding-summary-table .funding-status-open{background-image:url(/sites/all/themes/phyrtual/images/project/funding-open-24x24.png);}.funding-summary-table .funding-status-closed{background-image:url(/sites/all/themes/phyrtual/images/project/funding-closed-24x24.png);}.funding-summary-table .funding-status-failed-pending{background-image:url(/sites/all/themes/phyrtual/images/project/funding-failed-pending-24x24.png);}.funding-summary-table .funding-status-failed-concluded{background-image:url(/sites/all/themes/phyrtual/images/project/funding-failed-concluded-24x24.png);}.yes_icon,.no_icon{width:10px;height:10px;display:inline-block;background:transparent url(/sites/all/themes/phyrtual/images/project/icon-yes.gif) no-repeat 0 0;}.no_icon{background-image:url(/sites/all/themes/phyrtual/images/project/icon-no.gif);}.interact li a.donate-button,.donation-form-block #donation-add-form .form-submit{border:none;background:transparent url(/sites/all/themes/phyrtual/images/project/donate_button.png) no-repeat 0 0;width:92px;height:26px;padding:0;line-height:24px;margin:0;color:#102E57;font-weight:bold;font-style:italic;}.donation-page{white-space:nowrap;}.donation-block{display:inline-block;white-space:normal;vertical-align:top;padding:20px 20px;margin:0 auto;}.donation-form-block{float:left;width:30%;}.donation-form-block #donation-add-form{width:180px;}.donation-form-block #donation-add-form .form-submit{float:right;}.donation-explanation-block h2{margin-bottom:20px;}.donation-explanation-block{text-align:justify;width:40%;}.donation-table .disabled{color:#999;}.add-funding-page{}.add-funding-block{display:inline-block;white-space:normal;vertical-align:top;padding:20px 30px;margin:0 auto;}.add-funding-form-block{float:left;width:40%;padding:20px 5px;}.add-funding-form-block #funding-add-form{}.add-funding-explanation-block h2{margin-bottom:20px;}.add-funding-explanation-block{text-align:justify;width:50%;}\n\n\n\n.smart-page{font-family:tahoma;font-size:12px;}#page.smart-page-body{background-color:#C7E5EA;background:linear-gradient(to bottom,#C7E5EA,#50A8DB);background:-webkit-linear-gradient(top,#C7E5EA,#50A8DB);}.logged-in #page.smart-page-body{background-color:#71B7DB;background:url(/sites/all/themes/phyrtual/images/smart/bg_tile.jpg) repeat 0 0px;}#page.smart-page-body{background-color:#71B7DB;background:url(/sites/all/themes/phyrtual/images/smart/bg_tile.jpg) repeat 0 0px;}.uri-pages #main,.front .smart-page-body #main{margin-bottom:30px;background:none;}.uri-pages #main .inner,.front .smart-page-body #main .inner{background:none;box-shadow:none;}.uri-pages #main #content,.front .smart-page-body #main #content{margin:0 auto;padding:0;}.uri-pages .content > h2.title{border:none;}#smart-page-header{}.smart-page-header-row{width:962px;margin:0 auto;clear:both;}.smart-page-header-row tr:hover{background-color:transparent;}.smart-page-header-language-toolbar-wrapper{background-color:#EF6912;background:linear-gradient(to bottom,#EF6912,#F49353);background:-webkit-linear-gradient(top,#EF6912,#F49353);}.smart-page-header-row.language-toolbar{height:50px;}.smart-page-header-row.language-toolbar .left-block{background-color:#fff;width:238px;height:100%;}.smart-page-header-row.language-toolbar .right-block{float:right;width:723px;height:100%;display:table;}.smart-page-header-row.language-toolbar .right-block table{margin:0;padding:0;}.smart-page-header-row.language-toolbar .right-block tr{height:50px;color:white;text-transform:uppercase;padding:0;margin:0;}.smart-page-header-row.language-toolbar .right-block td{padding:0;margin:0;}.smart-page-header-row.language-toolbar .right-block .languages-label{width:125px;}.smart-page-header-row.language-toolbar .right-block .languages-box{width:160px;}.smart-page-header-row.language-toolbar .right-block .google-translator-box{width:170px;}.smart-page-header-row.language-toolbar .right-block .search-label{width:80px;}.smart-page-header-row.language-toolbar .right-block .search-box{width:185px;}.smart-page-header-row.language-toolbar .right-block .languages-label{text-align:right;padding-right:10px;}.smart-page-header-row.language-toolbar .right-block .languages-box ul{display:inline;}.smart-page-header-row.language-toolbar .right-block .languages-box li{float:left;list-style:none;font-size:0px;color:transparent;margin-left:4px;border:2px solid transparent;}.smart-page-header-row.language-toolbar .right-block .languages-box li a{font-size:0px;color:transparent;}.smart-page-header-row.language-toolbar .right-block .languages-box li.first{margin-left:4px;}.smart-page-header-row.language-toolbar .right-block .languages-box li.active{border:2px solid #ccc;}.smart-page-header-row.language-toolbar .right-block .search-label{text-align:right;padding-left:10px;}.smart-page-header-row.language-toolbar .right-block .search-label-inner{border-left:1px solid #CCCCCC;height:28px;vertical-align:middle;display:table-cell;padding-left:10px;text-align:right;}.smart-page-header-row.language-toolbar .right-block .search-box .searchInput{width:144px;height:17px;line-height:17px;font-size:12px;float:left;margin-left:10px;border-radius:0;outline:medium none !important;border:1px solid #BBBBBB;border-right:none;}.smart-page-header-row.language-toolbar .right-block .search-box .button{width:22px;height:25px;line-height:22px;float:left;margin:0;padding:0;border-radius:0;outline:medium none !important;border:1px solid #BBBBBB;border-left:none;background:url(/sites/all/themes/phyrtual/images/smart/icons/search.png) no-repeat 2px 3px #fff;}.smart-page-header-row.login-toolbar{padding:0;height:106px;}.smart-page-header-row.login-toolbar .left-block{background:url(/sites/all/themes/phyrtual/images/smart/header_logo.png) no-repeat 0 0 transparent;width:629px;margin:0;padding:0;height:100%;}.smart-page-header-row.login-toolbar .left-block table{float:left;padding:0;margin:0;}.smart-page-header-row.login-toolbar .left-block td{height:105px;vertical-align:top;padding:0;margin:0;}.smart-page-header-row.login-toolbar .left-block td:first-child{width:237px;}.smart-page-header-row.login-toolbar .left-block td:first-child a{width:100%;height:100%;display:block;}.smart-page-header-row.login-toolbar .left-block .text-block-wrapper{margin:26px 10px 0 40px;height:58px;}.smart-page-header-row.login-toolbar .left-block .text-block{overflow:hidden;height:58px;display:table-cell;vertical-align:middle;color:white;font-size:13px !important;}.smart-page-header-row.login-toolbar .right-block{float:right;}.smart-page-header-row.login-toolbar .right-block table{margin:0;padding:0;width:330px;font-size:10px;color:white;}.smart-page-header-row.login-toolbar .right-block table a{color:white;}.smart-page-header-row.login-toolbar .right-block tr:first-child{height:56px;}.smart-page-header-row.login-toolbar .right-block tr:last-child{height:50px;}.smart-page-header-row.login-toolbar .right-block td{text-align:right;vertical-align:bottom;padding:0;margin:0;}.smart-page-header-row.login-toolbar .right-block li{float:right;margin-left:26px;list-style:none;}.smart-page-header-row.login-toolbar .right-block .profile-link a{width:98px;float:right;padding:4px 6px;text-align:left;margin-top:5px;background:url(/sites/all/themes/phyrtual/images/smart/icons/right-arrow.png) no-repeat 85px 2px #068DD0;background:url(/sites/all/themes/phyrtual/images/smart/icons/right-arrow.png) no-repeat 85px 2px,linear-gradient(to bottom,#068DD0,#2BAFEA);background:url(/sites/all/themes/phyrtual/images/smart/icons/right-arrow.png) no-repeat 85px 2px,-webkit-linear-gradient(top,#068DD0,#2BAFEA);}.smart-page-header-row.maintabs-toolbar{margin-top:20px;margin-bottom:15px;height:52px;background:url(/sites/all/themes/phyrtual/images/smart/maintab_gradient.png) repeat-x 0px 0px #fff;}.smart-page-header-row.maintabs-toolbar table{border-collapse:separate;border-spacing:0 6px;}.smart-page-header-row.maintabs-toolbar tr{padding:0;margin:0;}.smart-page-header-row.maintabs-toolbar td{border:0;border-right:2px solid #E0E0E0;vertical-align:middle;padding:0;margin:0;background:url(/sites/all/themes/phyrtual/images/smart/icons/info.png) no-repeat 195px 5px transparent;width:25%;}.smart-page-header-row.maintabs-toolbar td.what-is-phyrtual{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/info.png);}.smart-page-header-row.maintabs-toolbar td.create-a-project{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/idea.png);}.smart-page-header-row.maintabs-toolbar td.support-a-project{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/support.png);}.smart-page-header-row.maintabs-toolbar td.follow-a-project{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/follow.png);}.smart-page-header-row.maintabs-toolbar td:last-child{border-right:none;}.smart-page-header-row.maintabs-toolbar td a{display:block;height:40px;line-height:40px;color:#6B6B6D;font-weight:bold;font-size:13px;padding-left:20px;text-transform:uppercase;font-family:tahoma;}.smart-page-header-row.maintabs-toolbar td.disabled a{color:#ccc !important;}.smart-page .left-column{float:left;width:640px;}.homepage .left-column .smart-baloon-footer{background-position:20px 0;}.smart-page .right-column{margin-left:670px;border-radius:0;}.homepage .right-column.no-padding{padding:0;}.homepage .funding_campaigns_coming_soon{background:url(/sites/all/themes/phyrtual/images/smart/funding_campaigns_coming_soon.png) no-repeat 0px 0px transparent;height:351px;}.smart-block{background-color:white;margin:0;padding:0;border-radius:0;min-width:300px;border:1px solid white;}.smart-block > .title{height:30px;line-height:40px;color:#666666;text-transform:uppercase;font-weight:bold;background:#FFF url(/sites/all/themes/phyrtual/images/smart/icons/idea.png) no-repeat scroll 10px 4px;overflow:hidden;margin:0 auto;padding:0;padding-left:52px;}.smart-block .body{background-color:#9f9;min-height:200px;background-color:#EBE9EA;margin:0;padding:10px;margin:10px;border-bottom:10px solid #249CDA;}.smart-block .body.no-bottom-border{border-bottom:0;}.smart-block .description,.smart-block .description p{font-size:10px;line-height:12px;color:#666;margin:0;}.smart-block .description p{margin-bottom:5px;}.smart-block.smart-block-transparent{background-color:transparent;border:none;}.smart-page.view-funding-page{margin:0 auto;}.view-funding-page .smart-block.left-column{float:left;width:580px;}.view-funding-page .smart-block.left-column .title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/trumpet.png);}.view-funding-page .smart-block.left-column .body .info{float:right;width:260px;}.smart-block .body .images img{margin:0;padding:0;border-bottom:10px solid #00ABDF;margin-bottom:8px;}.smart-block .body .images .emvideo{margin-bottom:11px;}.view-funding-page .smart-block.right-column{margin-left:600px;width:290px;}.view-funding-page .smart-block.right-column .title{background-image:none;}.add-funding-page .smart-block.left-column{float:left;width:580px;}.add-funding-page .smart-block.left-column .title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/trumpet.png);}.add-funding-page .smart-block.left-column .body{min-height:1280px;}.add-funding-page .smart-block.left-column .body .form-item{margin:0 0 8px 0;}.add-funding-page .smart-block.left-column .body .form-item label{margin-bottom:4px;}.add-funding-page .smart-block.right-column{margin-left:600px;width:290px;}.add-funding-page .smart-block.right-column .title{background-image:none;}.add-funding-page .smart-block.right-column .body{min-height:600px;}.add-funding-page .smart-block.right-column .body ul{list-style:circle;padding-left:20px;}.submit-donation-page .smart-block.left-column{float:left;width:580px;}.submit-donation-page .smart-block.left-column .title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/trumpet.png);}.submit-donation-page .smart-block.left-column .body{min-height:420px;}.submit-donation-page .smart-block.left-column .body .form-item{margin:0 0 8px 0;}.submit-donation-page .smart-block.left-column .body .form-item label{margin-bottom:4px;}.submit-donation-page .smart-block.left-column .body .images{float:right;}.submit-donation-page .smart-block.left-column .body .images img{margin:0;padding:0;border-bottom:10px solid #00ABDF;margin-bottom:10px;}.submit-donation-page .smart-block.right-column{margin-left:600px;width:290px;}.submit-donation-page .smart-block.right-column .title{background-image:none;}.add-funding-page .smart-block.right-column .body{min-height:600px;}.submit-donation-page .smart-block.right-column .body ul{list-style:circle;padding-left:20px;}.funding-progress-table-header{display:block;height:40px;line-height:40px;background:#fff url(/sites/all/themes/phyrtual/images/smart/icons/trumpet.png) no-repeat 10px 4px;padding-left:52px;border:1px solid #999;margin-top:20px;text-decoration:none;font-size:14px;overflow:hidden;}.funding-progress-table,.funding-progress-footer-table{border-collapse:collapse;margin:0;padding:0;font-family:verdana;}.funding-progress-table{}.funding-progress-table tr.over,.funding-progress-table tr:hover{background-color:transparent;}.funding-progress-table td{white-space:nowrap;text-align:left;text-transform:uppercase;margin:0;padding:1px;font-size:11px;color:#626365;}.funding-progress-table .collected-row td{width:33%;vertical-align:middle;}.funding-progress-table .collected-row .progress-percentage{text-align:center;font-weight:bold;}.funding-progress-table .progress-bar-row td{text-align:center;}.funding-progress-table .progress-bar{background:transparent url(/sites/all/themes/phyrtual/images/smart/orange_zebra.png) repeat-x 0 0;color:white;font-weight:bold;text-align:left;background-color:#CCCCCC;display:block;height:20px;padding-left:8px;}.funding-progress-table .progress-bar-level{background-color:#0099D4;height:20px;overflow:hidden;}.funding-progress-table .remaining-row td{text-align:right;padding:6px 0 12px 0;}.funding-progress-table .donate a{float:right;}.funding-progress-table .remaining-row td span{color:#068ED0;font-weight:bold;}.funding-progress-table .days-row td:first-child{padding-left:30px;background:transparent url(/sites/all/themes/phyrtual/images/smart/icons/clock.png) no-repeat -4px -3px;color:#F57B3F;font-weight:bold;height:25px;}.funding-progress-table .days-row td:first-child.alert{color:#FF0808;}.funding-progress-table .supporter-rows td:first-child{padding-left:30px;background:transparent url(/sites/all/themes/phyrtual/images/smart/icons/supporter.png) no-repeat -4px -3px;height:25px;}.search-open-fundings-page{margin:0 auto;}.search-open-fundings-page .smart-block .title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/support.png);}.search-all-fundings-page{margin:0 auto;}.search-all-fundings-page .smart-block .title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/follow.png);}.search-all-fundings-page td{width:234px;vertical-align:top;text-align:center;height:136px;}.search-all-fundings-page .top-row{height:100px;}.search-all-fundings-page table{margin:10px 0;}.search-all-fundings-page table ul.images li{list-style:none;}.search-all-fundings-page .bottom-row{color:#6B6B6D;font-size:10px;font-weight:bold;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;}.search-all-fundings-page .bottom-row a{color:#6B6B6D;}.smart-block.list-fundings-block{padding:0 10px 10px 10px;}.smart-block.list-fundings-block .body{margin:0;padding:0;}.list-fundings-table{padding:0;margin:0;}.list-fundings-table td{padding:0;margin:0;}.list-fundings-table tr,.list-fundings-table tr:hover{background-color:transparent;}.list-fundings-table tr.odd,.list-fundings-table tr.odd:hover{background-color:#EBE9EA;}.list-fundings-table tr.even,.list-fundings-table tr.even:hover{background-color:white;}.list-fundings-table .column-0{border-collapse:collapse;margin:0;padding:0;}.list-fundings-table .column-0{width:130px;padding:10px;vertical-align:top;}.list-fundings-table .column-0 .images li{list-style:none;}.list-fundings-table .column-1{width:280px;padding:10px;vertical-align:top;color:#6B6B6D;}.list-fundings-table .column-1 h3{text-transform:uppercase;font-size:12px;color:#6B6B6D;font-weight:bold;height:20px;overflow:hidden;text-overflow:ellipsis;}.list-fundings-table .column-1 h3 a{color:#6B6B6D;}.list-fundings-table .column-1 h3 a:hover{color:#FD7F44;}.list-fundings-table .column-1 div{font-size:10px;height:160px;overflow:hidden;text-overflow:ellipsis;}.list-fundings-table .column-2{width:120px;padding:10px;vertical-align:top;}.list-fundings-table .separator{width:1px;margin:0px;padding:0px;}.list-fundings-table .separator div{border-left:1px solid #D2D2D4;height:180px;margin:0px;padding:0px;width:1px;}#donation-add-form .form-submit,#funding-edit-form .form-submit{background-color:#42C1E5;color:white;font-family:verdana;font-size:12px;height:50px;line-height:50px;width:110px;display:block;padding-left:10px;font-weight:bold;border:0;text-transform:uppercase;background:-webkit-gradient(linear,left top,right top,from(#25A0D4),to(#42C1E5));background:-webkit-linear-gradient(left,#42C1E5,#25A0D4);background:-moz-linear-gradient(left,#42C1E5,#25A0D4) ;background:-ms-linear-gradient(left,#42C1E5,#25A0D4);background:-o-linear-gradient(left,#42C1E5,#25A0D4);}#funding-edit-form .form-submit{float:right;width:auto;}#donation-add-form .form-submit{float:right;margin-right:60px;margin-top:10px;text-align:left;}.smart-button,.smart-button:visited,.smart-button:link{background-color:#42C1E5;color:white;font-family:verdana;font-size:12px;height:50px;line-height:50px;width:110px;display:block;padding-left:10px;font-weight:bold;text-decoration:none;text-transform:uppercase;background:-webkit-gradient(linear,left top,right top,from(#25A0D4),to(#42C1E5));background:-webkit-linear-gradient(left,#42C1E5,#25A0D4);background:-moz-linear-gradient(left,#42C1E5,#25A0D4) ;background:-ms-linear-gradient(left,#42C1E5,#25A0D4);background:-o-linear-gradient(left,#42C1E5,#25A0D4);}#donation-add-form .form-submit,.donate .smart-button{width:110px;padding-left:10px;background:#25A0D4 url(/sites/all/themes/phyrtual/images/smart/icons/donate.png) no-repeat 75px 9px;background:url(/sites/all/themes/phyrtual/images/smart/icons/donate.png) no-repeat 75px 9px,-webkit-gradient(linear,left top,right top,from(#25A0D4),to(#42C1E5));background:url(/sites/all/themes/phyrtual/images/smart/icons/donate.png) no-repeat 75px 9px,-webkit-linear-gradient(left,#42C1E5,#25A0D4);background:url(/sites/all/themes/phyrtual/images/smart/icons/donate.png) no-repeat 75px 9px,-moz-linear-gradient(left,#42C1E5,#25A0D4) ;background:url(/sites/all/themes/phyrtual/images/smart/icons/donate.png) no-repeat 75px 9px,-ms-linear-gradient(left,#42C1E5,#25A0D4);background:url(/sites/all/themes/phyrtual/images/smart/icons/donate.png) no-repeat 75px 9px,-o-linear-gradient(left,#42C1E5,#25A0D4);}.smart-button.add-funding-button{background:#25A0D4 url(/sites/all/themes/phyrtual/images/smart/icons/record.png) no-repeat 10px 9px;background:url(/sites/all/themes/phyrtual/images/smart/icons/record.png) no-repeat 10px 9px,-webkit-gradient(linear,left top,right top,from(#25A0D4),to(#42C1E5));background:url(/sites/all/themes/phyrtual/images/smart/icons/record.png) no-repeat 10px 9px,-webkit-linear-gradient(left,#42C1E5,#25A0D4);background:url(/sites/all/themes/phyrtual/images/smart/icons/record.png) no-repeat 10px 9px,-moz-linear-gradient(left,#42C1E5,#25A0D4) ;background:url(/sites/all/themes/phyrtual/images/smart/icons/record.png) no-repeat 10px 9px,-ms-linear-gradient(left,#42C1E5,#25A0D4);background:url(/sites/all/themes/phyrtual/images/smart/icons/record.png) no-repeat 10px 9px,-o-linear-gradient(left,#42C1E5,#25A0D4);float:right;padding-left:50px;padding-right:5px;margin-bottom:10px;}.smart-button-orange,.smart-button-orange:visited,.smart-button-orange:link{text-align:left;font-family:verdana;font-size:10px;height:40px;line-height:40px;width:100px;display:block;padding-left:10px;font-weight:bold;text-decoration:none;text-transform:uppercase;color:white;background-color:#EF6912;background:linear-gradient(to bottom,#EF6912,#F49353);background:-webkit-linear-gradient(top,#EF6912,#F49353);}.smart-button-orange:link:hover{background:#EF6912;}.smart-button-orange.button-login{background:url(/sites/all/themes/phyrtual/images/smart/icons/login.png) no-repeat 75px 4px #EF6912;background:url(/sites/all/themes/phyrtual/images/smart/icons/login.png) no-repeat 75px 4px,linear-gradient(to bottom,#EF6912,#F49353);background:url(/sites/all/themes/phyrtual/images/smart/icons/login.png) no-repeat 75px 4px,-webkit-linear-gradient(top,#EF6912,#F49353);}.smart-button-orange.button-login:hover{background:url(/sites/all/themes/phyrtual/images/smart/icons/login.png) no-repeat 75px 4px #EF6912;}.smart-button-orange.button-logout{background:url(/sites/all/themes/phyrtual/images/smart/icons/logout.png) no-repeat 75px 4px #EF6912;background:url(/sites/all/themes/phyrtual/images/smart/icons/logout.png) no-repeat 75px 4px,linear-gradient(to bottom,#EF6912,#F49353);background:url(/sites/all/themes/phyrtual/images/smart/icons/logout.png) no-repeat 75px 4px,-webkit-linear-gradient(top,#EF6912,#F49353);}.smart-button-orange.button-logout:hover{background:url(/sites/all/themes/phyrtual/images/smart/icons/logout.png) no-repeat 75px 4px #EF6912;}.smart-button-orange.button-signup{background:url(/sites/all/themes/phyrtual/images/smart/icons/signup.png) no-repeat 75px 4px #EF6912;background:url(/sites/all/themes/phyrtual/images/smart/icons/signup.png) no-repeat 75px 4px,linear-gradient(to bottom,#EF6912,#F49353);background:url(/sites/all/themes/phyrtual/images/smart/icons/signup.png) no-repeat 75px 4px,-webkit-linear-gradient(top,#EF6912,#F49353);}.smart-button-orange.button-signup:hover{background:url(/sites/all/themes/phyrtual/images/smart/icons/signup.png) no-repeat 75px 4px #EF6912;}.smart-baloon{color:white;font-family:tahoma;font-size:14px;padding:0 8px;background-color:#249CDA;background:-webkit-gradient(linear,left top,right top,from(#249CDA),to(#53B2D9));background:-webkit-linear-gradient(left,#53B2D9,#249CDA);background:-moz-linear-gradient(left,#53B2D9,#249CDA) ;background:-ms-linear-gradient(left,#53B2D9,#249CDA);background:-o-linear-gradient(left,#53B2D9,#249CDA);}.smart-baloon .smart-baloon-title{text-transform:uppercase;font-weight:bold;font-size:14px;line-height:14px;padding:8px 0;}.smart-baloon.funding-usage .smart-baloon-title{background:url(/sites/all/themes/phyrtual/images/smart/icons/pot.png) no-repeat 0 0 transparent;padding-left:40px;}.smart-baloon.map .smart-baloon-title{background:url(/sites/all/themes/phyrtual/images/smart/icons/map.png) no-repeat 0 0 transparent;padding-left:40px;}.smart-block.map .locationBody{overflow:hidden;border:10px solid #00ABDF;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;}.smart-baloon.details .smart-baloon-title{background:url(/sites/all/themes/phyrtual/images/smart/icons/files.png) no-repeat 0 0 transparent;padding-left:40px;}.smart-baloon .smart-baloon-body{font-size:10px;line-height:12px;padding-bottom:8px;}.smart-baloon-footer{background-color:yellow;background:transparent url(/sites/all/themes/phyrtual/images/smart/baloon_footer.png) no-repeat 30px 0;height:16px;}.smart-textblock-idea .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/idea.png);}.smart-textblock-objective .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/objective.png);}.smart-textblock-target .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/target.png);}.smart-textblock-author .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/author.png);}.smart-textblock-institution .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/institution.png);}.smart-textblock-contacts .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/contacts.png);}.smart-textblock-follow .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/follow.png);}.smart-block.map .smart-textblock-title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/location.png);border:0;}.smart-textblock-title{border-top:1px solid #ccc;font-size:12px;line-height:12px;color:#555;overflow:hidden;text-transform:uppercase;font-weight:bold;background:url(/sites/all/themes/phyrtual/images/smart/icons/info.png) no-repeat scroll 0 5px transparent;padding:15px 0 10px 40px;margin:20px 0 10px 0;}.smart-textblock-body{font-size:10px;line-height:12px;color:#666;}.smart-block-thin{background:none;padding:12px;font-family:verdana;font-size:12px;}.smart-block-thin.white{background:#fff;}.smart-block-thin.orange-gradient{background-color:#FD7F44;background:linear-gradient(to bottom,#EF6912,#FD7F44) repeat scroll 0 0 transparent;}.smart-block-thin.orange{background-color:#F8813D;}.smart-block-thin .smart-block-thin-title{color:white;background:url(/sites/all/themes/phyrtual/images/smart/icons/trumpet_white.png) no-repeat scroll 10px 0px transparent;color:white;font-weight:bold;height:40px;line-height:30px;margin:0 auto;padding-left:52px;text-transform:uppercase;text-align:left;}.smart-block-thin .smart-block-thin-title a{color:white !important;text-decoration:none !important;}.smart-block-thin .mm{margin:0;padding:0;padding-left:2px;}.smart-block-thin .block .mm ul{padding:0;margin:0;}.smart-block-thin .block .mm .images li{list-style:none;}.smart-block-thin .text{margin:0;padding:4px;height:32px;overflow:hidden;}.smart-block-thin .text{color:#858587;text-transform:uppercase;font-weight:bold;}.smart-block-thin .text:hover{color:#FD7F44;}.smart-block-thin .funding-block{float:left;width:140px;background-color:white;margin-left:16px;margin-bottom:16px;}.homepage .left-column.smart-block-thin{padding-right:0;}.homepage .projects-preview .block{float:left;width:202px;margin-right:11px;}.homepage .projects-preview .smart-baloon{height:64px;}.homepage .projects-preview .smart-baloon-body{height:18px;overflow:hidden;}.homepage .projects-preview .lower-block{border-bottom:10px solid #249CDA;background-color:#EBE9EA;}.homepage .projects-preview .lower-block > a{height:246px;display:block;padding:4px;color:#6B6B6D;text-decoration:none;font-size:12px;}.homepage .projects-preview .lower-block .obj-image{padding:2px;}.homepage .projects-preview .lower-block .obj-title{text-transform:uppercase;font-weight:bold;padding-top:4px;height:32px;overflow:hidden;line-height:16px;}.homepage .projects-preview .lower-block .obj-subtitle{text-transform:uppercase;font-size:10px;height:16px;overflow:hidden;padding-bottom:1px;border-bottom:1px solid #ccc;}.homepage .projects-preview .lower-block .obj-description{font-size:10px;line-height:10px;padding-top:4px;height:41px;overflow:hidden;}.homepage .fundings-preview .block{float:left;width:202px;margin-right:11px;background-color:#fff;}.homepage .fundings-preview .block > a{height:278px;display:block;padding:4px;color:#6B6B6D;text-decoration:none;font-size:12px;}.homepage .fundings-preview .remaining-row td{margin:0;padding:0;}.portlet{padding:0;margin:0;}.portlet table,.portlet tr,.portlet td{padding:0;margin:0;}.portlet tr:hover{background-color:transparent;}.portlet-title .smart-baloon-title{font-weight:normal;font-size:11px;line-height:13px;}.portlet-title .smart-baloon-footer{height:14px;background-position:20px 0;}.vision-portlet .smart-baloon-title{background:url(/sites/all/themes/phyrtual/images/smart/icons/vision2.png) no-repeat 0 7px;padding-left:28px;}.search-portlet .smart-baloon-title{background:url(/sites/all/themes/phyrtual/images/smart/icons/search2.png) no-repeat 0 7px;padding-left:28px;}.search-portlet td{text-align:center;}.search-portlet td a{height:13px;width:87px;display:block;padding-top:70px;background:url(/sites/all/themes/phyrtual/images/smart/buttons/search_projects.png) no-repeat 12px 0;color:#6B6B6D;text-transform:uppercase;font-size:10px;}.search-portlet .portlet-search-projects a{background-image:url(/sites/all/themes/phyrtual/images/smart/buttons/search_projects.png);}.search-portlet .portlet-search-users a{background-image:url(/sites/all/themes/phyrtual/images/smart/buttons/search_people.png);}.search-portlet .portlet-search-institutions a{background-image:url(/sites/all/themes/phyrtual/images/smart/buttons/search_institutions.png);}.map-portlet .portlet-body .smart-block-thin{height:399px;padding:2px 0 0 7px;}.map-portlet .smart-baloon-title{background:url(/sites/all/themes/phyrtual/images/smart/icons/map2.png) no-repeat 0 5px;padding-left:28px;}.map-portlet .portlet-body .smart-block-thin > div{background:url(/sites/all/themes/phyrtual/images/smart/map_portlet.png) no-repeat 0 5px;padding-left:28px;padding:0;height:394px;color:transparent;}.presentation-page .smart-block .title{background-image:url(/sites/all/themes/phyrtual/images/smart/icons/info.png);}.presentation-page .openVisionHeader .title{background-image:none !important;}.presentation-page .body{background-color:#fff;text-align:left;}.presentation-page .body .enhanced-paragraph{border-left:2px solid #F0701D;padding-left:10px;}.presentation-page .body ul{margin-left:16px;}.presentation-page .body li{list-style:disc;color:#F0701D;margin:10px;padding:0;}.presentation-page .body li span{color:#000;}.presentation-page .body #cloud-computing-image{background:url(/sites/all/themes/phyrtual/images/presentation/cloud_computing.png) no-repeat 110px 0px;height:190px;}.pdf-download-link{background:url(/sites/all/themes/phyrtual/images/page_white_acrobat.gif) no-repeat 0 0px;padding-left:20px;padding-bottom:6px;}.page-admin .smart-page-body #content,.page-user .smart-page-body #content,.page-node .smart-page-body #content{padding:0 10px;width:942px;}\n" | |
}, | |
"redirectURL": "", | |
"headersSize": 289, | |
"bodySize": 22752 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 0, | |
"dns": 31, | |
"connect": 26, | |
"send": 0, | |
"wait": 65, | |
"receive": 61 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.041+01:00", | |
"time": 133, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/default/files/css/css_c85ef345e78332bb2af4b70e3f6dc94f.css", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "text/css,*/*;q=0.1" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 429, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "text/css" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Tue, 05 Aug 2014 14:26:16 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Encoding", | |
"value": "gzip" | |
} | |
], | |
"content": { | |
"mimeType": "text/css", | |
"size": 1376, | |
"text": "@import('reset.css');html,body,html body{color:#000;font:300 10pt/1.25 'Helvetica Neue','Arial','Helvetica','Open Sans',sans-serif;background-color:#fff;text-shadow:none;}img.left,.left img,img[align=left]{margin:4px 8px 4px 0;}img.right,.right img,img[align=right]{margin:4px 0 4px 8px;}#page,#brand,#language,#toolbar,#main,#zebra{}#admin-menu,#language,#login,#toolbar,#comments,#attachments,#zebra{display:none;}#block-menu-menu-footer-links,#block-feedback-form{display:none;}.project-top-right,.project-middle-right,.project-inner-left{display:none;}.tabs,.actions{display:none;}#brand{margin-bottom:10pt;padding-bottom:5pt;border-bottom:1pt solid #aaa;}#brand a.brand{display:block;font-size:200%;font-weight:bold;}#brand .slogan{font-size:80%;font-style:italic;}#footer{font-size:70%;line-height:90%;margin-top:20pt;padding-top:5pt;border-top:1px solid #aaa;}#footer a{text-decoration:none;font-weight:bold;}.project-top{clear:both;display:block;}.project-header{clear:both;display:block;}.project-header .project-logo{float:right;}.project-header .project-logo img{width:50%;height:50%;}.project-header .project-title{font-size:110%;}.project-header .project-title h1{font-size:140%;}.project-header .project-title h2{font-size:90%;font-style:italic;}.project-header .project-description{font-size:80%;font-style:italic;}.project-header .project-links{display:none;}\n" | |
}, | |
"redirectURL": "", | |
"headersSize": 289, | |
"bodySize": 590 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 53, | |
"dns": 10, | |
"connect": 0, | |
"send": 0, | |
"wait": 70, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.045+01:00", | |
"time": 448, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/default/files/js/js_a7dcec67b8ffef4c92c235b0eef648a3.js", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "*/*" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 411, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "text/javascript" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Tue, 05 Aug 2014 14:33:08 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Encoding", | |
"value": "gzip" | |
} | |
], | |
"content": { | |
"mimeType": "text/javascript", | |
"size": 463546, | |
"text": "/*!\n * jQuery JavaScript Library v1.3.2\n * http://jquery.com/\n *\n * Copyright (c) 2009 John Resig\n * Dual licensed under the MIT and GPL licenses.\n * http://docs.jquery.com/License\n *\n * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)\n * Revision: 6246\n */\n(function(){\n\nvar \n\t// Will speed up references to window, and allows munging its name.\n\twindow = this,\n\t// Will speed up references to undefined, and allows munging its name.\n\tundefined,\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\t// Map over the $ in case of overwrite\n\t_$ = window.$,\n\n\tjQuery = window.jQuery = window.$ = function( selector, context ) {\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// A simple way to check for HTML strings or ID strings\n\t// (both of which we optimize for)\n\tquickExpr = /^[^<]*(<(.|\\s)+>)[^>]*$|^#([\\w-]+)$/,\n\t// Is it a simple selector\n\tisSimple = /^.[^:#\\[\\.,]*$/;\n\njQuery.fn = jQuery.prototype = {\n\tinit: function( selector, context ) {\n\t\t// Make sure that a selection was provided\n\t\tselector = selector || document;\n\n\t\t// Handle $(DOMElement)\n\t\tif ( selector.nodeType ) {\n\t\t\tthis[0] = selector;\n\t\t\tthis.length = 1;\n\t\t\tthis.context = selector;\n\t\t\treturn this;\n\t\t}\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\t// Are we dealing with HTML string or an ID?\n\t\t\tvar match = quickExpr.exec( selector );\n\n\t\t\t// Verify a match, and that no context was specified for #id\n\t\t\tif ( match && (match[1] || !context) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[1] )\n\t\t\t\t\tselector = jQuery.clean( [ match[1] ], context );\n\n\t\t\t\t// HANDLE: $(\"#id\")\n\t\t\t\telse {\n\t\t\t\t\tvar elem = document.getElementById( match[3] );\n\n\t\t\t\t\t// Handle the case where IE and Opera return items\n\t\t\t\t\t// by name instead of ID\n\t\t\t\t\tif ( elem && elem.id != match[3] )\n\t\t\t\t\t\treturn jQuery().find( selector );\n\n\t\t\t\t\t// Otherwise, we inject the element directly into the jQuery object\n\t\t\t\t\tvar ret = jQuery( elem || [] );\n\t\t\t\t\tret.context = document;\n\t\t\t\t\tret.selector = selector;\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, [context])\n\t\t\t// (which is just equivalent to: $(content).find(expr)\n\t\t\t} else\n\t\t\t\treturn jQuery( context ).find( selector );\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) )\n\t\t\treturn jQuery( document ).ready( selector );\n\n\t\t// Make sure that old selector state is passed along\n\t\tif ( selector.selector && selector.context ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn this.setArray(jQuery.isArray( selector ) ?\n\t\t\tselector :\n\t\t\tjQuery.makeArray(selector));\n\t},\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The current version of jQuery being used\n\tjquery: \"1.3.2\",\n\n\t// The number of elements contained in the matched element set\n\tsize: function() {\n\t\treturn this.length;\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num === undefined ?\n\n\t\t\t// Return a 'clean' array\n\t\t\tArray.prototype.slice.call( this ) :\n\n\t\t\t// Return just the object\n\t\t\tthis[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems, name, selector ) {\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery( elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\tret.context = this.context;\n\n\t\tif ( name === \"find\" )\n\t\t\tret.selector = this.selector + (this.selector ? \" \" : \"\") + selector;\n\t\telse if ( name )\n\t\t\tret.selector = this.selector + \".\" + name + \"(\" + selector + \")\";\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Force the current matched set of elements to become\n\t// the specified array of elements (destroying the stack in the process)\n\t// You should use pushStack() in order to do this, but maintain the stack\n\tsetArray: function( elems ) {\n\t\t// Resetting the length to 0, then using the native Array push\n\t\t// is a super-fast way to populate an object with array-like properties\n\t\tthis.length = 0;\n\t\tArray.prototype.push.apply( this, elems );\n\n\t\treturn this;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\t// (You can seed the arguments with an array of args, but this is\n\t// only used internally.)\n\teach: function( callback, args ) {\n\t\treturn jQuery.each( this, callback, args );\n\t},\n\n\t// Determine the position of an element within\n\t// the matched set of elements\n\tindex: function( elem ) {\n\t\t// Locate the position of the desired element\n\t\treturn jQuery.inArray(\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem && elem.jquery ? elem[0] : elem\n\t\t, this );\n\t},\n\n\tattr: function( name, value, type ) {\n\t\tvar options = name;\n\n\t\t// Look for the case where we're accessing a style value\n\t\tif ( typeof name === \"string\" )\n\t\t\tif ( value === undefined )\n\t\t\t\treturn this[0] && jQuery[ type || \"attr\" ]( this[0], name );\n\n\t\t\telse {\n\t\t\t\toptions = {};\n\t\t\t\toptions[ name ] = value;\n\t\t\t}\n\n\t\t// Check to see if we're setting style values\n\t\treturn this.each(function(i){\n\t\t\t// Set all the styles\n\t\t\tfor ( name in options )\n\t\t\t\tjQuery.attr(\n\t\t\t\t\ttype ?\n\t\t\t\t\t\tthis.style :\n\t\t\t\t\t\tthis,\n\t\t\t\t\tname, jQuery.prop( this, options[ name ], type, i, name )\n\t\t\t\t);\n\t\t});\n\t},\n\n\tcss: function( key, value ) {\n\t\t// ignore negative width and height values\n\t\tif ( (key == 'width' || key == 'height') && parseFloat(value) < 0 )\n\t\t\tvalue = undefined;\n\t\treturn this.attr( key, value, \"curCSS\" );\n\t},\n\n\ttext: function( text ) {\n\t\tif ( typeof text !== \"object\" && text != null )\n\t\t\treturn this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );\n\n\t\tvar ret = \"\";\n\n\t\tjQuery.each( text || this, function(){\n\t\t\tjQuery.each( this.childNodes, function(){\n\t\t\t\tif ( this.nodeType != 8 )\n\t\t\t\t\tret += this.nodeType != 1 ?\n\t\t\t\t\t\tthis.nodeValue :\n\t\t\t\t\t\tjQuery.fn.text( [ this ] );\n\t\t\t});\n\t\t});\n\n\t\treturn ret;\n\t},\n\n\twrapAll: function( html ) {\n\t\tif ( this[0] ) {\n\t\t\t// The elements to wrap the target around\n\t\t\tvar wrap = jQuery( html, this[0].ownerDocument ).clone();\n\n\t\t\tif ( this[0].parentNode )\n\t\t\t\twrap.insertBefore( this[0] );\n\n\t\t\twrap.map(function(){\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstChild )\n\t\t\t\t\telem = elem.firstChild;\n\n\t\t\t\treturn elem;\n\t\t\t}).append(this);\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\treturn this.each(function(){\n\t\t\tjQuery( this ).contents().wrapAll( html );\n\t\t});\n\t},\n\n\twrap: function( html ) {\n\t\treturn this.each(function(){\n\t\t\tjQuery( this ).wrapAll( html );\n\t\t});\n\t},\n\n\tappend: function() {\n\t\treturn this.domManip(arguments, true, function(elem){\n\t\t\tif (this.nodeType == 1)\n\t\t\t\tthis.appendChild( elem );\n\t\t});\n\t},\n\n\tprepend: function() {\n\t\treturn this.domManip(arguments, true, function(elem){\n\t\t\tif (this.nodeType == 1)\n\t\t\t\tthis.insertBefore( elem, this.firstChild );\n\t\t});\n\t},\n\n\tbefore: function() {\n\t\treturn this.domManip(arguments, false, function(elem){\n\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t});\n\t},\n\n\tafter: function() {\n\t\treturn this.domManip(arguments, false, function(elem){\n\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t});\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || jQuery( [] );\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: [].push,\n\tsort: [].sort,\n\tsplice: [].splice,\n\n\tfind: function( selector ) {\n\t\tif ( this.length === 1 ) {\n\t\t\tvar ret = this.pushStack( [], \"find\", selector );\n\t\t\tret.length = 0;\n\t\t\tjQuery.find( selector, this[0], ret );\n\t\t\treturn ret;\n\t\t} else {\n\t\t\treturn this.pushStack( jQuery.unique(jQuery.map(this, function(elem){\n\t\t\t\treturn jQuery.find( selector, elem );\n\t\t\t})), \"find\", selector );\n\t\t}\n\t},\n\n\tclone: function( events ) {\n\t\t// Do the clone\n\t\tvar ret = this.map(function(){\n\t\t\tif ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {\n\t\t\t\t// IE copies events bound via attachEvent when\n\t\t\t\t// using cloneNode. Calling detachEvent on the\n\t\t\t\t// clone will also remove the events from the orignal\n\t\t\t\t// In order to get around this, we use innerHTML.\n\t\t\t\t// Unfortunately, this means some modifications to\n\t\t\t\t// attributes in IE that are actually only stored\n\t\t\t\t// as properties will not be copied (such as the\n\t\t\t\t// the name attribute on an input).\n\t\t\t\tvar html = this.outerHTML;\n\t\t\t\tif ( !html ) {\n\t\t\t\t\tvar div = this.ownerDocument.createElement(\"div\");\n\t\t\t\t\tdiv.appendChild( this.cloneNode(true) );\n\t\t\t\t\thtml = div.innerHTML;\n\t\t\t\t}\n\n\t\t\t\treturn jQuery.clean([html.replace(/ jQuery\\d+=\"(?:\\d+|null)\"/g, \"\").replace(/^\\s*/, \"\")])[0];\n\t\t\t} else\n\t\t\t\treturn this.cloneNode(true);\n\t\t});\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( events === true ) {\n\t\t\tvar orig = this.find(\"*\").andSelf(), i = 0;\n\n\t\t\tret.find(\"*\").andSelf().each(function(){\n\t\t\t\tif ( this.nodeName !== orig[i].nodeName )\n\t\t\t\t\treturn;\n\n\t\t\t\tvar events = jQuery.data( orig[i], \"events\" );\n\n\t\t\t\tfor ( var type in events ) {\n\t\t\t\t\tfor ( var handler in events[ type ] ) {\n\t\t\t\t\t\tjQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ti++;\n\t\t\t});\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn ret;\n\t},\n\n\tfilter: function( selector ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.isFunction( selector ) &&\n\t\t\tjQuery.grep(this, function(elem, i){\n\t\t\t\treturn selector.call( elem, i );\n\t\t\t}) ||\n\n\t\t\tjQuery.multiFilter( selector, jQuery.grep(this, function(elem){\n\t\t\t\treturn elem.nodeType === 1;\n\t\t\t}) ), \"filter\", selector );\n\t},\n\n\tclosest: function( selector ) {\n\t\tvar pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,\n\t\t\tcloser = 0;\n\n\t\treturn this.map(function(){\n\t\t\tvar cur = this;\n\t\t\twhile ( cur && cur.ownerDocument ) {\n\t\t\t\tif ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {\n\t\t\t\t\tjQuery.data(cur, \"closest\", closer);\n\t\t\t\t\treturn cur;\n\t\t\t\t}\n\t\t\t\tcur = cur.parentNode;\n\t\t\t\tcloser++;\n\t\t\t}\n\t\t});\n\t},\n\n\tnot: function( selector ) {\n\t\tif ( typeof selector === \"string\" )\n\t\t\t// test special case where just one selector is passed in\n\t\t\tif ( isSimple.test( selector ) )\n\t\t\t\treturn this.pushStack( jQuery.multiFilter( selector, this, true ), \"not\", selector );\n\t\t\telse\n\t\t\t\tselector = jQuery.multiFilter( selector, this );\n\n\t\tvar isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;\n\t\treturn this.filter(function() {\n\t\t\treturn isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector;\n\t\t});\n\t},\n\n\tadd: function( selector ) {\n\t\treturn this.pushStack( jQuery.unique( jQuery.merge(\n\t\t\tthis.get(),\n\t\t\ttypeof selector === \"string\" ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tjQuery.makeArray( selector )\n\t\t)));\n\t},\n\n\tis: function( selector ) {\n\t\treturn !!selector && jQuery.multiFilter( selector, this ).length > 0;\n\t},\n\n\thasClass: function( selector ) {\n\t\treturn !!selector && this.is( \".\" + selector );\n\t},\n\n\tval: function( value ) {\n\t\tif ( value === undefined ) {\t\t\t\n\t\t\tvar elem = this[0];\n\n\t\t\tif ( elem ) {\n\t\t\t\tif( jQuery.nodeName( elem, 'option' ) )\n\t\t\t\t\treturn (elem.attributes.value || {}).specified ? elem.value : elem.text;\n\t\t\t\t\n\t\t\t\t// We need to handle select boxes special\n\t\t\t\tif ( jQuery.nodeName( elem, \"select\" ) ) {\n\t\t\t\t\tvar index = elem.selectedIndex,\n\t\t\t\t\t\tvalues = [],\n\t\t\t\t\t\toptions = elem.options,\n\t\t\t\t\t\tone = elem.type == \"select-one\";\n\n\t\t\t\t\t// Nothing was selected\n\t\t\t\t\tif ( index < 0 )\n\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t// Loop through all the selected options\n\t\t\t\t\tfor ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {\n\t\t\t\t\t\tvar option = options[ i ];\n\n\t\t\t\t\t\tif ( option.selected ) {\n\t\t\t\t\t\t\t// Get the specifc value for the option\n\t\t\t\t\t\t\tvalue = jQuery(option).val();\n\n\t\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\t\tif ( one )\n\t\t\t\t\t\t\t\treturn value;\n\n\t\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn values;\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t// Everything else, we just grab the value\n\t\t\t\treturn (elem.value || \"\").replace(/\\r/g, \"\");\n\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif ( typeof value === \"number\" )\n\t\t\tvalue += '';\n\n\t\treturn this.each(function(){\n\t\t\tif ( this.nodeType != 1 )\n\t\t\t\treturn;\n\n\t\t\tif ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )\n\t\t\t\tthis.checked = (jQuery.inArray(this.value, value) >= 0 ||\n\t\t\t\t\tjQuery.inArray(this.name, value) >= 0);\n\n\t\t\telse if ( jQuery.nodeName( this, \"select\" ) ) {\n\t\t\t\tvar values = jQuery.makeArray(value);\n\n\t\t\t\tjQuery( \"option\", this ).each(function(){\n\t\t\t\t\tthis.selected = (jQuery.inArray( this.value, values ) >= 0 ||\n\t\t\t\t\t\tjQuery.inArray( this.text, values ) >= 0);\n\t\t\t\t});\n\n\t\t\t\tif ( !values.length )\n\t\t\t\t\tthis.selectedIndex = -1;\n\n\t\t\t} else\n\t\t\t\tthis.value = value;\n\t\t});\n\t},\n\n\thtml: function( value ) {\n\t\treturn value === undefined ?\n\t\t\t(this[0] ?\n\t\t\t\tthis[0].innerHTML.replace(/ jQuery\\d+=\"(?:\\d+|null)\"/g, \"\") :\n\t\t\t\tnull) :\n\t\t\tthis.empty().append( value );\n\t},\n\n\treplaceWith: function( value ) {\n\t\treturn this.after( value ).remove();\n\t},\n\n\teq: function( i ) {\n\t\treturn this.slice( i, +i + 1 );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( Array.prototype.slice.apply( this, arguments ),\n\t\t\t\"slice\", Array.prototype.slice.call(arguments).join(\",\") );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map(this, function(elem, i){\n\t\t\treturn callback.call( elem, i, elem );\n\t\t}));\n\t},\n\n\tandSelf: function() {\n\t\treturn this.add( this.prevObject );\n\t},\n\n\tdomManip: function( args, table, callback ) {\n\t\tif ( this[0] ) {\n\t\t\tvar fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),\n\t\t\t\tscripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ),\n\t\t\t\tfirst = fragment.firstChild;\n\n\t\t\tif ( first )\n\t\t\t\tfor ( var i = 0, l = this.length; i < l; i++ )\n\t\t\t\t\tcallback.call( root(this[i], first), this.length > 1 || i > 0 ?\n\t\t\t\t\t\t\tfragment.cloneNode(true) : fragment );\n\t\t\n\t\t\tif ( scripts )\n\t\t\t\tjQuery.each( scripts, evalScript );\n\t\t}\n\n\t\treturn this;\n\t\t\n\t\tfunction root( elem, cur ) {\n\t\t\treturn table && jQuery.nodeName(elem, \"table\") && jQuery.nodeName(cur, \"tr\") ?\n\t\t\t\t(elem.getElementsByTagName(\"tbody\")[0] ||\n\t\t\t\telem.appendChild(elem.ownerDocument.createElement(\"tbody\"))) :\n\t\t\t\telem;\n\t\t}\n\t}\n};\n\n// Give the init function the jQuery prototype for later instantiation\njQuery.fn.init.prototype = jQuery.fn;\n\nfunction evalScript( i, elem ) {\n\tif ( elem.src )\n\t\tjQuery.ajax({\n\t\t\turl: elem.src,\n\t\t\tasync: false,\n\t\t\tdataType: \"script\"\n\t\t});\n\n\telse\n\t\tjQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || \"\" );\n\n\tif ( elem.parentNode )\n\t\telem.parentNode.removeChild( elem );\n}\n\nfunction now(){\n\treturn +new Date;\n}\n\njQuery.extend = jQuery.fn.extend = function() {\n\t// copy reference to target object\n\tvar target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction(target) )\n\t\ttarget = {};\n\n\t// extend jQuery itself if only one argument is passed\n\tif ( length == i ) {\n\t\ttarget = this;\n\t\t--i;\n\t}\n\n\tfor ( ; i < length; i++ )\n\t\t// Only deal with non-null/undefined values\n\t\tif ( (options = arguments[ i ]) != null )\n\t\t\t// Extend the base object\n\t\t\tfor ( var name in options ) {\n\t\t\t\tvar src = target[ name ], copy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy )\n\t\t\t\t\tcontinue;\n\n\t\t\t\t// Recurse if we're merging object values\n\t\t\t\tif ( deep && copy && typeof copy === \"object\" && !copy.nodeType )\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, \n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsrc || ( copy.length != null ? [ ] : { } )\n\t\t\t\t\t, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\telse if ( copy !== undefined )\n\t\t\t\t\ttarget[ name ] = copy;\n\n\t\t\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n// exclude the following css properties to add px\nvar\texclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,\n\t// cache defaultView\n\tdefaultView = document.defaultView || {},\n\ttoString = Object.prototype.toString;\n\njQuery.extend({\n\tnoConflict: function( deep ) {\n\t\twindow.$ = _$;\n\n\t\tif ( deep )\n\t\t\twindow.jQuery = _jQuery;\n\n\t\treturn jQuery;\n\t},\n\n\t// See test/unit/core.js for details concerning isFunction.\n\t// Since version 1.3, DOM methods and functions like alert\n\t// aren't supported. They return false on IE (#2968).\n\tisFunction: function( obj ) {\n\t\treturn toString.call(obj) === \"[object Function]\";\n\t},\n\n\tisArray: function( obj ) {\n\t\treturn toString.call(obj) === \"[object Array]\";\n\t},\n\n\t// check if an element is in a (or is an) XML document\n\tisXMLDoc: function( elem ) {\n\t\treturn elem.nodeType === 9 && elem.documentElement.nodeName !== \"HTML\" ||\n\t\t\t!!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );\n\t},\n\n\t// Evalulates a script in a global context\n\tglobalEval: function( data ) {\n\t\tif ( data && /\\S/.test(data) ) {\n\t\t\t// Inspired by code by Andrea Giammarchi\n\t\t\t// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html\n\t\t\tvar head = document.getElementsByTagName(\"head\")[0] || document.documentElement,\n\t\t\t\tscript = document.createElement(\"script\");\n\n\t\t\tscript.type = \"text/javascript\";\n\t\t\tif ( jQuery.support.scriptEval )\n\t\t\t\tscript.appendChild( document.createTextNode( data ) );\n\t\t\telse\n\t\t\t\tscript.text = data;\n\n\t\t\t// Use insertBefore instead of appendChild to circumvent an IE6 bug.\n\t\t\t// This arises when a base node is used (#2709).\n\t\t\thead.insertBefore( script, head.firstChild );\n\t\t\thead.removeChild( script );\n\t\t}\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase();\n\t},\n\n\t// args is for internal usage only\n\teach: function( object, callback, args ) {\n\t\tvar name, i = 0, length = object.length;\n\n\t\tif ( args ) {\n\t\t\tif ( length === undefined ) {\n\t\t\t\tfor ( name in object )\n\t\t\t\t\tif ( callback.apply( object[ name ], args ) === false )\n\t\t\t\t\t\tbreak;\n\t\t\t} else\n\t\t\t\tfor ( ; i < length; )\n\t\t\t\t\tif ( callback.apply( object[ i++ ], args ) === false )\n\t\t\t\t\t\tbreak;\n\n\t\t// A special, fast, case for the most common use of each\n\t\t} else {\n\t\t\tif ( length === undefined ) {\n\t\t\t\tfor ( name in object )\n\t\t\t\t\tif ( callback.call( object[ name ], name, object[ name ] ) === false )\n\t\t\t\t\t\tbreak;\n\t\t\t} else\n\t\t\t\tfor ( var value = object[0];\n\t\t\t\t\ti < length && callback.call( value, i, value ) !== false; value = object[++i] ){}\n\t\t}\n\n\t\treturn object;\n\t},\n\n\tprop: function( elem, value, type, i, name ) {\n\t\t// Handle executable functions\n\t\tif ( jQuery.isFunction( value ) )\n\t\t\tvalue = value.call( elem, i );\n\n\t\t// Handle passing in a number to a CSS property\n\t\treturn typeof value === \"number\" && type == \"curCSS\" && !exclude.test( name ) ?\n\t\t\tvalue + \"px\" :\n\t\t\tvalue;\n\t},\n\n\tclassName: {\n\t\t// internal only, use addClass(\"class\")\n\t\tadd: function( elem, classNames ) {\n\t\t\tjQuery.each((classNames || \"\").split(/\\s+/), function(i, className){\n\t\t\t\tif ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) )\n\t\t\t\t\telem.className += (elem.className ? \" \" : \"\") + className;\n\t\t\t});\n\t\t},\n\n\t\t// internal only, use removeClass(\"class\")\n\t\tremove: function( elem, classNames ) {\n\t\t\tif (elem.nodeType == 1)\n\t\t\t\telem.className = classNames !== undefined ?\n\t\t\t\t\tjQuery.grep(elem.className.split(/\\s+/), function(className){\n\t\t\t\t\t\treturn !jQuery.className.has( classNames, className );\n\t\t\t\t\t}).join(\" \") :\n\t\t\t\t\t\"\";\n\t\t},\n\n\t\t// internal only, use hasClass(\"class\")\n\t\thas: function( elem, className ) {\n\t\t\treturn elem && jQuery.inArray( className, (elem.className || elem).toString().split(/\\s+/) ) > -1;\n\t\t}\n\t},\n\n\t// A method for quickly swapping in/out CSS properties to get correct calculations\n\tswap: function( elem, options, callback ) {\n\t\tvar old = {};\n\t\t// Remember the old values, and insert the new ones\n\t\tfor ( var name in options ) {\n\t\t\told[ name ] = elem.style[ name ];\n\t\t\telem.style[ name ] = options[ name ];\n\t\t}\n\n\t\tcallback.call( elem );\n\n\t\t// Revert the old values\n\t\tfor ( var name in options )\n\t\t\telem.style[ name ] = old[ name ];\n\t},\n\n\tcss: function( elem, name, force, extra ) {\n\t\tif ( name == \"width\" || name == \"height\" ) {\n\t\t\tvar val, props = { position: \"absolute\", visibility: \"hidden\", display:\"block\" }, which = name == \"width\" ? [ \"Left\", \"Right\" ] : [ \"Top\", \"Bottom\" ];\n\n\t\t\tfunction getWH() {\n\t\t\t\tval = name == \"width\" ? elem.offsetWidth : elem.offsetHeight;\n\n\t\t\t\tif ( extra === \"border\" )\n\t\t\t\t\treturn;\n\n\t\t\t\tjQuery.each( which, function() {\n\t\t\t\t\tif ( !extra )\n\t\t\t\t\t\tval -= parseFloat(jQuery.curCSS( elem, \"padding\" + this, true)) || 0;\n\t\t\t\t\tif ( extra === \"margin\" )\n\t\t\t\t\t\tval += parseFloat(jQuery.curCSS( elem, \"margin\" + this, true)) || 0;\n\t\t\t\t\telse\n\t\t\t\t\t\tval -= parseFloat(jQuery.curCSS( elem, \"border\" + this + \"Width\", true)) || 0;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ( elem.offsetWidth !== 0 )\n\t\t\t\tgetWH();\n\t\t\telse\n\t\t\t\tjQuery.swap( elem, props, getWH );\n\n\t\t\treturn Math.max(0, Math.round(val));\n\t\t}\n\n\t\treturn jQuery.curCSS( elem, name, force );\n\t},\n\n\tcurCSS: function( elem, name, force ) {\n\t\tvar ret, style = elem.style;\n\n\t\t// We need to handle opacity special in IE\n\t\tif ( name == \"opacity\" && !jQuery.support.opacity ) {\n\t\t\tret = jQuery.attr( style, \"opacity\" );\n\n\t\t\treturn ret == \"\" ?\n\t\t\t\t\"1\" :\n\t\t\t\tret;\n\t\t}\n\n\t\t// Make sure we're using the right name for getting the float value\n\t\tif ( name.match( /float/i ) )\n\t\t\tname = styleFloat;\n\n\t\tif ( !force && style && style[ name ] )\n\t\t\tret = style[ name ];\n\n\t\telse if ( defaultView.getComputedStyle ) {\n\n\t\t\t// Only \"float\" is needed here\n\t\t\tif ( name.match( /float/i ) )\n\t\t\t\tname = \"float\";\n\n\t\t\tname = name.replace( /([A-Z])/g, \"-$1\" ).toLowerCase();\n\n\t\t\tvar computedStyle = defaultView.getComputedStyle( elem, null );\n\n\t\t\tif ( computedStyle )\n\t\t\t\tret = computedStyle.getPropertyValue( name );\n\n\t\t\t// We should always get a number back from opacity\n\t\t\tif ( name == \"opacity\" && ret == \"\" )\n\t\t\t\tret = \"1\";\n\n\t\t} else if ( elem.currentStyle ) {\n\t\t\tvar camelCase = name.replace(/\\-(\\w)/g, function(all, letter){\n\t\t\t\treturn letter.toUpperCase();\n\t\t\t});\n\n\t\t\tret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];\n\n\t\t\t// From the awesome hack by Dean Edwards\n\t\t\t// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n\n\t\t\t// If we're not dealing with a regular pixel number\n\t\t\t// but a number that has a weird ending, we need to convert it to pixels\n\t\t\tif ( !/^\\d+(px)?$/i.test( ret ) && /^\\d/.test( ret ) ) {\n\t\t\t\t// Remember the original values\n\t\t\t\tvar left = style.left, rsLeft = elem.runtimeStyle.left;\n\n\t\t\t\t// Put in the new values to get a computed value out\n\t\t\t\telem.runtimeStyle.left = elem.currentStyle.left;\n\t\t\t\tstyle.left = ret || 0;\n\t\t\t\tret = style.pixelLeft + \"px\";\n\n\t\t\t\t// Revert the changed values\n\t\t\t\tstyle.left = left;\n\t\t\t\telem.runtimeStyle.left = rsLeft;\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tclean: function( elems, context, fragment ) {\n\t\tcontext = context || document;\n\n\t\t// !context.createElement fails in IE with an error but returns typeof 'object'\n\t\tif ( typeof context.createElement === \"undefined\" )\n\t\t\tcontext = context.ownerDocument || context[0] && context[0].ownerDocument || document;\n\n\t\t// If a single string is passed in and it's a single tag\n\t\t// just do a createElement and skip the rest\n\t\tif ( !fragment && elems.length === 1 && typeof elems[0] === \"string\" ) {\n\t\t\tvar match = /^<(\\w+)\\s*\\/?>$/.exec(elems[0]);\n\t\t\tif ( match )\n\t\t\t\treturn [ context.createElement( match[1] ) ];\n\t\t}\n\n\t\tvar ret = [], scripts = [], div = context.createElement(\"div\");\n\n\t\tjQuery.each(elems, function(i, elem){\n\t\t\tif ( typeof elem === \"number\" )\n\t\t\t\telem += '';\n\n\t\t\tif ( !elem )\n\t\t\t\treturn;\n\n\t\t\t// Convert html string into DOM nodes\n\t\t\tif ( typeof elem === \"string\" ) {\n\t\t\t\t// Fix \"XHTML\"-style tags in all browsers\n\t\t\t\telem = elem.replace(/(<(\\w+)[^>]*?)\\/>/g, function(all, front, tag){\n\t\t\t\t\treturn tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?\n\t\t\t\t\t\tall :\n\t\t\t\t\t\tfront + \"></\" + tag + \">\";\n\t\t\t\t});\n\n\t\t\t\t// Trim whitespace, otherwise indexOf won't work as expected\n\t\t\t\tvar tags = elem.replace(/^\\s+/, \"\").substring(0, 10).toLowerCase();\n\n\t\t\t\tvar wrap =\n\t\t\t\t\t// option or optgroup\n\t\t\t\t\t!tags.indexOf(\"<opt\") &&\n\t\t\t\t\t[ 1, \"<select multiple='multiple'>\", \"</select>\" ] ||\n\n\t\t\t\t\t!tags.indexOf(\"<leg\") &&\n\t\t\t\t\t[ 1, \"<fieldset>\", \"</fieldset>\" ] ||\n\n\t\t\t\t\ttags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&\n\t\t\t\t\t[ 1, \"<table>\", \"</table>\" ] ||\n\n\t\t\t\t\t!tags.indexOf(\"<tr\") &&\n\t\t\t\t\t[ 2, \"<table><tbody>\", \"</tbody></table>\" ] ||\n\n\t\t\t\t \t// <thead> matched above\n\t\t\t\t\t(!tags.indexOf(\"<td\") || !tags.indexOf(\"<th\")) &&\n\t\t\t\t\t[ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ] ||\n\n\t\t\t\t\t!tags.indexOf(\"<col\") &&\n\t\t\t\t\t[ 2, \"<table><tbody></tbody><colgroup>\", \"</colgroup></table>\" ] ||\n\n\t\t\t\t\t// IE can't serialize <link> and <script> tags normally\n\t\t\t\t\t!jQuery.support.htmlSerialize &&\n\t\t\t\t\t[ 1, \"div<div>\", \"</div>\" ] ||\n\n\t\t\t\t\t[ 0, \"\", \"\" ];\n\n\t\t\t\t// Go to html and back, then peel off extra wrappers\n\t\t\t\tdiv.innerHTML = wrap[1] + elem + wrap[2];\n\n\t\t\t\t// Move to the right depth\n\t\t\t\twhile ( wrap[0]-- )\n\t\t\t\t\tdiv = div.lastChild;\n\n\t\t\t\t// Remove IE's autoinserted <tbody> from table fragments\n\t\t\t\tif ( !jQuery.support.tbody ) {\n\n\t\t\t\t\t// String was a <table>, *may* have spurious <tbody>\n\t\t\t\t\tvar hasBody = /<tbody/i.test(elem),\n\t\t\t\t\t\ttbody = !tags.indexOf(\"<table\") && !hasBody ?\n\t\t\t\t\t\t\tdiv.firstChild && div.firstChild.childNodes :\n\n\t\t\t\t\t\t// String was a bare <thead> or <tfoot>\n\t\t\t\t\t\twrap[1] == \"<table>\" && !hasBody ?\n\t\t\t\t\t\t\tdiv.childNodes :\n\t\t\t\t\t\t\t[];\n\n\t\t\t\t\tfor ( var j = tbody.length - 1; j >= 0 ; --j )\n\t\t\t\t\t\tif ( jQuery.nodeName( tbody[ j ], \"tbody\" ) && !tbody[ j ].childNodes.length )\n\t\t\t\t\t\t\ttbody[ j ].parentNode.removeChild( tbody[ j ] );\n\n\t\t\t\t\t}\n\n\t\t\t\t// IE completely kills leading whitespace when innerHTML is used\n\t\t\t\tif ( !jQuery.support.leadingWhitespace && /^\\s/.test( elem ) )\n\t\t\t\t\tdiv.insertBefore( context.createTextNode( elem.match(/^\\s*/)[0] ), div.firstChild );\n\t\t\t\t\n\t\t\t\telem = jQuery.makeArray( div.childNodes );\n\t\t\t}\n\n\t\t\tif ( elem.nodeType )\n\t\t\t\tret.push( elem );\n\t\t\telse\n\t\t\t\tret = jQuery.merge( ret, elem );\n\n\t\t});\n\n\t\tif ( fragment ) {\n\t\t\tfor ( var i = 0; ret[i]; i++ ) {\n\t\t\t\tif ( jQuery.nodeName( ret[i], \"script\" ) && (!ret[i].type || ret[i].type.toLowerCase() === \"text/javascript\") ) {\n\t\t\t\t\tscripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );\n\t\t\t\t} else {\n\t\t\t\t\tif ( ret[i].nodeType === 1 )\n\t\t\t\t\t\tret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName(\"script\"))) );\n\t\t\t\t\tfragment.appendChild( ret[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn scripts;\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tattr: function( elem, name, value ) {\n\t\t// don't set attributes on text and comment nodes\n\t\tif (!elem || elem.nodeType == 3 || elem.nodeType == 8)\n\t\t\treturn undefined;\n\n\t\tvar notxml = !jQuery.isXMLDoc( elem ),\n\t\t\t// Whether we are setting (or getting)\n\t\t\tset = value !== undefined;\n\n\t\t// Try to normalize/fix the name\n\t\tname = notxml && jQuery.props[ name ] || name;\n\n\t\t// Only do all the following if this is a node (faster for style)\n\t\t// IE elem.getAttribute passes even for style\n\t\tif ( elem.tagName ) {\n\n\t\t\t// These attributes require special treatment\n\t\t\tvar special = /href|src|style/.test( name );\n\n\t\t\t// Safari mis-reports the default selected property of a hidden option\n\t\t\t// Accessing the parent's selectedIndex property fixes it\n\t\t\tif ( name == \"selected\" && elem.parentNode )\n\t\t\t\telem.parentNode.selectedIndex;\n\n\t\t\t// If applicable, access the attribute via the DOM 0 way\n\t\t\tif ( name in elem && notxml && !special ) {\n\t\t\t\tif ( set ){\n\t\t\t\t\t// We can't allow the type property to be changed (since it causes problems in IE)\n\t\t\t\t\tif ( name == \"type\" && jQuery.nodeName( elem, \"input\" ) && elem.parentNode )\n\t\t\t\t\t\tthrow \"type property can't be changed\";\n\n\t\t\t\t\telem[ name ] = value;\n\t\t\t\t}\n\n\t\t\t\t// browsers index elements by id/name on forms, give priority to attributes.\n\t\t\t\tif( jQuery.nodeName( elem, \"form\" ) && elem.getAttributeNode(name) )\n\t\t\t\t\treturn elem.getAttributeNode( name ).nodeValue;\n\n\t\t\t\t// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\tif ( name == \"tabIndex\" ) {\n\t\t\t\t\tvar attributeNode = elem.getAttributeNode( \"tabIndex\" );\n\t\t\t\t\treturn attributeNode && attributeNode.specified\n\t\t\t\t\t\t? attributeNode.value\n\t\t\t\t\t\t: elem.nodeName.match(/(button|input|object|select|textarea)/i)\n\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t: elem.nodeName.match(/^(a|area)$/i) && elem.href\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t}\n\n\t\t\t\treturn elem[ name ];\n\t\t\t}\n\n\t\t\tif ( !jQuery.support.style && notxml && name == \"style\" )\n\t\t\t\treturn jQuery.attr( elem.style, \"cssText\", value );\n\n\t\t\tif ( set )\n\t\t\t\t// convert the value to a string (all browsers do this but IE) see #1070\n\t\t\t\telem.setAttribute( name, \"\" + value );\n\n\t\t\tvar attr = !jQuery.support.hrefNormalized && notxml && special\n\t\t\t\t\t// Some attributes require a special call on IE\n\t\t\t\t\t? elem.getAttribute( name, 2 )\n\t\t\t\t\t: elem.getAttribute( name );\n\n\t\t\t// Non-existent attributes return null, we normalize to undefined\n\t\t\treturn attr === null ? undefined : attr;\n\t\t}\n\n\t\t// elem is actually elem.style ... set the style\n\n\t\t// IE uses filters for opacity\n\t\tif ( !jQuery.support.opacity && name == \"opacity\" ) {\n\t\t\tif ( set ) {\n\t\t\t\t// IE has trouble with opacity if it does not have layout\n\t\t\t\t// Force it by setting the zoom level\n\t\t\t\telem.zoom = 1;\n\n\t\t\t\t// Set the alpha filter to set the opacity\n\t\t\t\telem.filter = (elem.filter || \"\").replace( /alpha\\([^)]*\\)/, \"\" ) +\n\t\t\t\t\t(parseInt( value ) + '' == \"NaN\" ? \"\" : \"alpha(opacity=\" + value * 100 + \")\");\n\t\t\t}\n\n\t\t\treturn elem.filter && elem.filter.indexOf(\"opacity=\") >= 0 ?\n\t\t\t\t(parseFloat( elem.filter.match(/opacity=([^)]*)/)[1] ) / 100) + '':\n\t\t\t\t\"\";\n\t\t}\n\n\t\tname = name.replace(/-([a-z])/ig, function(all, letter){\n\t\t\treturn letter.toUpperCase();\n\t\t});\n\n\t\tif ( set )\n\t\t\telem[ name ] = value;\n\n\t\treturn elem[ name ];\n\t},\n\n\ttrim: function( text ) {\n\t\treturn (text || \"\").replace( /^\\s+|\\s+$/g, \"\" );\n\t},\n\n\tmakeArray: function( array ) {\n\t\tvar ret = [];\n\n\t\tif( array != null ){\n\t\t\tvar i = array.length;\n\t\t\t// The window, strings (and functions) also have 'length'\n\t\t\tif( i == null || typeof array === \"string\" || jQuery.isFunction(array) || array.setInterval )\n\t\t\t\tret[0] = array;\n\t\t\telse\n\t\t\t\twhile( i )\n\t\t\t\t\tret[--i] = array[i];\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, array ) {\n\t\tfor ( var i = 0, length = array.length; i < length; i++ )\n\t\t// Use === because on IE, window == document\n\t\t\tif ( array[ i ] === elem )\n\t\t\t\treturn i;\n\n\t\treturn -1;\n\t},\n\n\tmerge: function( first, second ) {\n\t\t// We have to loop this way because IE & Opera overwrite the length\n\t\t// expando of getElementsByTagName\n\t\tvar i = 0, elem, pos = first.length;\n\t\t// Also, we need to make sure that the correct elements are being returned\n\t\t// (IE returns comment nodes in a '*' query)\n\t\tif ( !jQuery.support.getAll ) {\n\t\t\twhile ( (elem = second[ i++ ]) != null )\n\t\t\t\tif ( elem.nodeType != 8 )\n\t\t\t\t\tfirst[ pos++ ] = elem;\n\n\t\t} else\n\t\t\twhile ( (elem = second[ i++ ]) != null )\n\t\t\t\tfirst[ pos++ ] = elem;\n\n\t\treturn first;\n\t},\n\n\tunique: function( array ) {\n\t\tvar ret = [], done = {};\n\n\t\ttry {\n\n\t\t\tfor ( var i = 0, length = array.length; i < length; i++ ) {\n\t\t\t\tvar id = jQuery.data( array[ i ] );\n\n\t\t\t\tif ( !done[ id ] ) {\n\t\t\t\t\tdone[ id ] = true;\n\t\t\t\t\tret.push( array[ i ] );\n\t\t\t\t}\n\t\t\t}\n\n\t\t} catch( e ) {\n\t\t\tret = array;\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tgrep: function( elems, callback, inv ) {\n\t\tvar ret = [];\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( var i = 0, length = elems.length; i < length; i++ )\n\t\t\tif ( !inv != !callback( elems[ i ], i ) )\n\t\t\t\tret.push( elems[ i ] );\n\n\t\treturn ret;\n\t},\n\n\tmap: function( elems, callback ) {\n\t\tvar ret = [];\n\n\t\t// Go through the array, translating each of the items to their\n\t\t// new value (or values).\n\t\tfor ( var i = 0, length = elems.length; i < length; i++ ) {\n\t\t\tvar value = callback( elems[ i ], i );\n\n\t\t\tif ( value != null )\n\t\t\t\tret[ ret.length ] = value;\n\t\t}\n\n\t\treturn ret.concat.apply( [], ret );\n\t}\n});\n\n// Use of jQuery.browser is deprecated.\n// It's included for backwards compatibility and plugins,\n// although they should work to migrate away.\n\nvar userAgent = navigator.userAgent.toLowerCase();\n\n// Figure out what browser is being used\njQuery.browser = {\n\tversion: (userAgent.match( /.+(?:rv|it|ra|ie)[\\/: ]([\\d.]+)/ ) || [0,'0'])[1],\n\tsafari: /webkit/.test( userAgent ),\n\topera: /opera/.test( userAgent ),\n\tmsie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),\n\tmozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )\n};\n\njQuery.each({\n\tparent: function(elem){return elem.parentNode;},\n\tparents: function(elem){return jQuery.dir(elem,\"parentNode\");},\n\tnext: function(elem){return jQuery.nth(elem,2,\"nextSibling\");},\n\tprev: function(elem){return jQuery.nth(elem,2,\"previousSibling\");},\n\tnextAll: function(elem){return jQuery.dir(elem,\"nextSibling\");},\n\tprevAll: function(elem){return jQuery.dir(elem,\"previousSibling\");},\n\tsiblings: function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},\n\tchildren: function(elem){return jQuery.sibling(elem.firstChild);},\n\tcontents: function(elem){return jQuery.nodeName(elem,\"iframe\")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}\n}, function(name, fn){\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar ret = jQuery.map( this, fn );\n\n\t\tif ( selector && typeof selector == \"string\" )\n\t\t\tret = jQuery.multiFilter( selector, ret );\n\n\t\treturn this.pushStack( jQuery.unique( ret ), name, selector );\n\t};\n});\n\njQuery.each({\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function(name, original){\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar ret = [], insert = jQuery( selector );\n\n\t\tfor ( var i = 0, l = insert.length; i < l; i++ ) {\n\t\t\tvar elems = (i > 0 ? this.clone(true) : this).get();\n\t\t\tjQuery.fn[ original ].apply( jQuery(insert[i]), elems );\n\t\t\tret = ret.concat( elems );\n\t\t}\n\n\t\treturn this.pushStack( ret, name, selector );\n\t};\n});\n\njQuery.each({\n\tremoveAttr: function( name ) {\n\t\tjQuery.attr( this, name, \"\" );\n\t\tif (this.nodeType == 1)\n\t\t\tthis.removeAttribute( name );\n\t},\n\n\taddClass: function( classNames ) {\n\t\tjQuery.className.add( this, classNames );\n\t},\n\n\tremoveClass: function( classNames ) {\n\t\tjQuery.className.remove( this, classNames );\n\t},\n\n\ttoggleClass: function( classNames, state ) {\n\t\tif( typeof state !== \"boolean\" )\n\t\t\tstate = !jQuery.className.has( this, classNames );\n\t\tjQuery.className[ state ? \"add\" : \"remove\" ]( this, classNames );\n\t},\n\n\tremove: function( selector ) {\n\t\tif ( !selector || jQuery.filter( selector, [ this ] ).length ) {\n\t\t\t// Prevent memory leaks\n\t\t\tjQuery( \"*\", this ).add([this]).each(function(){\n\t\t\t\tjQuery.event.remove(this);\n\t\t\t\tjQuery.removeData(this);\n\t\t\t});\n\t\t\tif (this.parentNode)\n\t\t\t\tthis.parentNode.removeChild( this );\n\t\t}\n\t},\n\n\tempty: function() {\n\t\t// Remove element nodes and prevent memory leaks\n\t\tjQuery(this).children().remove();\n\n\t\t// Remove any remaining nodes\n\t\twhile ( this.firstChild )\n\t\t\tthis.removeChild( this.firstChild );\n\t}\n}, function(name, fn){\n\tjQuery.fn[ name ] = function(){\n\t\treturn this.each( fn, arguments );\n\t};\n});\n\n// Helper function used by the dimensions and offset modules\nfunction num(elem, prop) {\n\treturn elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || 0;\n}\nvar expando = \"jQuery\" + now(), uuid = 0, windowData = {};\r\n\r\njQuery.extend({\r\n\tcache: {},\r\n\r\n\tdata: function( elem, name, data ) {\r\n\t\telem = elem == window ?\r\n\t\t\twindowData :\r\n\t\t\telem;\r\n\r\n\t\tvar id = elem[ expando ];\r\n\r\n\t\t// Compute a unique ID for the element\r\n\t\tif ( !id )\r\n\t\t\tid = elem[ expando ] = ++uuid;\r\n\r\n\t\t// Only generate the data cache if we're\r\n\t\t// trying to access or manipulate it\r\n\t\tif ( name && !jQuery.cache[ id ] )\r\n\t\t\tjQuery.cache[ id ] = {};\r\n\r\n\t\t// Prevent overriding the named cache with undefined values\r\n\t\tif ( data !== undefined )\r\n\t\t\tjQuery.cache[ id ][ name ] = data;\r\n\r\n\t\t// Return the named cache data, or the ID for the element\r\n\t\treturn name ?\r\n\t\t\tjQuery.cache[ id ][ name ] :\r\n\t\t\tid;\r\n\t},\r\n\r\n\tremoveData: function( elem, name ) {\r\n\t\telem = elem == window ?\r\n\t\t\twindowData :\r\n\t\t\telem;\r\n\r\n\t\tvar id = elem[ expando ];\r\n\r\n\t\t// If we want to remove a specific section of the element's data\r\n\t\tif ( name ) {\r\n\t\t\tif ( jQuery.cache[ id ] ) {\r\n\t\t\t\t// Remove the section of cache data\r\n\t\t\t\tdelete jQuery.cache[ id ][ name ];\r\n\r\n\t\t\t\t// If we've removed all the data, remove the element's cache\r\n\t\t\t\tname = \"\";\r\n\r\n\t\t\t\tfor ( name in jQuery.cache[ id ] )\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tif ( !name )\r\n\t\t\t\t\tjQuery.removeData( elem );\r\n\t\t\t}\r\n\r\n\t\t// Otherwise, we want to remove all of the element's data\r\n\t\t} else {\r\n\t\t\t// Clean up the element expando\r\n\t\t\ttry {\r\n\t\t\t\tdelete elem[ expando ];\r\n\t\t\t} catch(e){\r\n\t\t\t\t// IE has trouble directly removing the expando\r\n\t\t\t\t// but it's ok with using removeAttribute\r\n\t\t\t\tif ( elem.removeAttribute )\r\n\t\t\t\t\telem.removeAttribute( expando );\r\n\t\t\t}\r\n\r\n\t\t\t// Completely remove the data cache\r\n\t\t\tdelete jQuery.cache[ id ];\r\n\t\t}\r\n\t},\r\n\tqueue: function( elem, type, data ) {\r\n\t\tif ( elem ){\r\n\t\r\n\t\t\ttype = (type || \"fx\") + \"queue\";\r\n\t\r\n\t\t\tvar q = jQuery.data( elem, type );\r\n\t\r\n\t\t\tif ( !q || jQuery.isArray(data) )\r\n\t\t\t\tq = jQuery.data( elem, type, jQuery.makeArray(data) );\r\n\t\t\telse if( data )\r\n\t\t\t\tq.push( data );\r\n\t\r\n\t\t}\r\n\t\treturn q;\r\n\t},\r\n\r\n\tdequeue: function( elem, type ){\r\n\t\tvar queue = jQuery.queue( elem, type ),\r\n\t\t\tfn = queue.shift();\r\n\t\t\r\n\t\tif( !type || type === \"fx\" )\r\n\t\t\tfn = queue[0];\r\n\t\t\t\r\n\t\tif( fn !== undefined )\r\n\t\t\tfn.call(elem);\r\n\t}\r\n});\r\n\r\njQuery.fn.extend({\r\n\tdata: function( key, value ){\r\n\t\tvar parts = key.split(\".\");\r\n\t\tparts[1] = parts[1] ? \".\" + parts[1] : \"\";\r\n\r\n\t\tif ( value === undefined ) {\r\n\t\t\tvar data = this.triggerHandler(\"getData\" + parts[1] + \"!\", [parts[0]]);\r\n\r\n\t\t\tif ( data === undefined && this.length )\r\n\t\t\t\tdata = jQuery.data( this[0], key );\r\n\r\n\t\t\treturn data === undefined && parts[1] ?\r\n\t\t\t\tthis.data( parts[0] ) :\r\n\t\t\t\tdata;\r\n\t\t} else\r\n\t\t\treturn this.trigger(\"setData\" + parts[1] + \"!\", [parts[0], value]).each(function(){\r\n\t\t\t\tjQuery.data( this, key, value );\r\n\t\t\t});\r\n\t},\r\n\r\n\tremoveData: function( key ){\r\n\t\treturn this.each(function(){\r\n\t\t\tjQuery.removeData( this, key );\r\n\t\t});\r\n\t},\r\n\tqueue: function(type, data){\r\n\t\tif ( typeof type !== \"string\" ) {\r\n\t\t\tdata = type;\r\n\t\t\ttype = \"fx\";\r\n\t\t}\r\n\r\n\t\tif ( data === undefined )\r\n\t\t\treturn jQuery.queue( this[0], type );\r\n\r\n\t\treturn this.each(function(){\r\n\t\t\tvar queue = jQuery.queue( this, type, data );\r\n\t\t\t\r\n\t\t\t if( type == \"fx\" && queue.length == 1 )\r\n\t\t\t\tqueue[0].call(this);\r\n\t\t});\r\n\t},\r\n\tdequeue: function(type){\r\n\t\treturn this.each(function(){\r\n\t\t\tjQuery.dequeue( this, type );\r\n\t\t});\r\n\t}\r\n});/*!\n * Sizzle CSS Selector Engine - v0.9.3\n * Copyright 2009, The Dojo Foundation\n * Released under the MIT, BSD, and GPL Licenses.\n * More information: http://sizzlejs.com/\n */\n(function(){\n\nvar chunker = /((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^[\\]]*\\]|['\"][^'\"]*['\"]|[^[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?/g,\n\tdone = 0,\n\ttoString = Object.prototype.toString;\n\nvar Sizzle = function(selector, context, results, seed) {\n\tresults = results || [];\n\tcontext = context || document;\n\n\tif ( context.nodeType !== 1 && context.nodeType !== 9 )\n\t\treturn [];\n\t\n\tif ( !selector || typeof selector !== \"string\" ) {\n\t\treturn results;\n\t}\n\n\tvar parts = [], m, set, checkSet, check, mode, extra, prune = true;\n\t\n\t// Reset the position of the chunker regexp (start from head)\n\tchunker.lastIndex = 0;\n\t\n\twhile ( (m = chunker.exec(selector)) !== null ) {\n\t\tparts.push( m[1] );\n\t\t\n\t\tif ( m[2] ) {\n\t\t\textra = RegExp.rightContext;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tif ( parts.length > 1 && origPOS.exec( selector ) ) {\n\t\tif ( parts.length === 2 && Expr.relative[ parts[0] ] ) {\n\t\t\tset = posProcess( parts[0] + parts[1], context );\n\t\t} else {\n\t\t\tset = Expr.relative[ parts[0] ] ?\n\t\t\t\t[ context ] :\n\t\t\t\tSizzle( parts.shift(), context );\n\n\t\t\twhile ( parts.length ) {\n\t\t\t\tselector = parts.shift();\n\n\t\t\t\tif ( Expr.relative[ selector ] )\n\t\t\t\t\tselector += parts.shift();\n\n\t\t\t\tset = posProcess( selector, set );\n\t\t\t}\n\t\t}\n\t} else {\n\t\tvar ret = seed ?\n\t\t\t{ expr: parts.pop(), set: makeArray(seed) } :\n\t\t\tSizzle.find( parts.pop(), parts.length === 1 && context.parentNode ? context.parentNode : context, isXML(context) );\n\t\tset = Sizzle.filter( ret.expr, ret.set );\n\n\t\tif ( parts.length > 0 ) {\n\t\t\tcheckSet = makeArray(set);\n\t\t} else {\n\t\t\tprune = false;\n\t\t}\n\n\t\twhile ( parts.length ) {\n\t\t\tvar cur = parts.pop(), pop = cur;\n\n\t\t\tif ( !Expr.relative[ cur ] ) {\n\t\t\t\tcur = \"\";\n\t\t\t} else {\n\t\t\t\tpop = parts.pop();\n\t\t\t}\n\n\t\t\tif ( pop == null ) {\n\t\t\t\tpop = context;\n\t\t\t}\n\n\t\t\tExpr.relative[ cur ]( checkSet, pop, isXML(context) );\n\t\t}\n\t}\n\n\tif ( !checkSet ) {\n\t\tcheckSet = set;\n\t}\n\n\tif ( !checkSet ) {\n\t\tthrow \"Syntax error, unrecognized expression: \" + (cur || selector);\n\t}\n\n\tif ( toString.call(checkSet) === \"[object Array]\" ) {\n\t\tif ( !prune ) {\n\t\t\tresults.push.apply( results, checkSet );\n\t\t} else if ( context.nodeType === 1 ) {\n\t\t\tfor ( var i = 0; checkSet[i] != null; i++ ) {\n\t\t\t\tif ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && contains(context, checkSet[i])) ) {\n\t\t\t\t\tresults.push( set[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( var i = 0; checkSet[i] != null; i++ ) {\n\t\t\t\tif ( checkSet[i] && checkSet[i].nodeType === 1 ) {\n\t\t\t\t\tresults.push( set[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else {\n\t\tmakeArray( checkSet, results );\n\t}\n\n\tif ( extra ) {\n\t\tSizzle( extra, context, results, seed );\n\n\t\tif ( sortOrder ) {\n\t\t\thasDuplicate = false;\n\t\t\tresults.sort(sortOrder);\n\n\t\t\tif ( hasDuplicate ) {\n\t\t\t\tfor ( var i = 1; i < results.length; i++ ) {\n\t\t\t\t\tif ( results[i] === results[i-1] ) {\n\t\t\t\t\t\tresults.splice(i--, 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn results;\n};\n\nSizzle.matches = function(expr, set){\n\treturn Sizzle(expr, null, null, set);\n};\n\nSizzle.find = function(expr, context, isXML){\n\tvar set, match;\n\n\tif ( !expr ) {\n\t\treturn [];\n\t}\n\n\tfor ( var i = 0, l = Expr.order.length; i < l; i++ ) {\n\t\tvar type = Expr.order[i], match;\n\t\t\n\t\tif ( (match = Expr.match[ type ].exec( expr )) ) {\n\t\t\tvar left = RegExp.leftContext;\n\n\t\t\tif ( left.substr( left.length - 1 ) !== \"\\\\\" ) {\n\t\t\t\tmatch[1] = (match[1] || \"\").replace(/\\\\/g, \"\");\n\t\t\t\tset = Expr.find[ type ]( match, context, isXML );\n\t\t\t\tif ( set != null ) {\n\t\t\t\t\texpr = expr.replace( Expr.match[ type ], \"\" );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( !set ) {\n\t\tset = context.getElementsByTagName(\"*\");\n\t}\n\n\treturn {set: set, expr: expr};\n};\n\nSizzle.filter = function(expr, set, inplace, not){\n\tvar old = expr, result = [], curLoop = set, match, anyFound,\n\t\tisXMLFilter = set && set[0] && isXML(set[0]);\n\n\twhile ( expr && set.length ) {\n\t\tfor ( var type in Expr.filter ) {\n\t\t\tif ( (match = Expr.match[ type ].exec( expr )) != null ) {\n\t\t\t\tvar filter = Expr.filter[ type ], found, item;\n\t\t\t\tanyFound = false;\n\n\t\t\t\tif ( curLoop == result ) {\n\t\t\t\t\tresult = [];\n\t\t\t\t}\n\n\t\t\t\tif ( Expr.preFilter[ type ] ) {\n\t\t\t\t\tmatch = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );\n\n\t\t\t\t\tif ( !match ) {\n\t\t\t\t\t\tanyFound = found = true;\n\t\t\t\t\t} else if ( match === true ) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( match ) {\n\t\t\t\t\tfor ( var i = 0; (item = curLoop[i]) != null; i++ ) {\n\t\t\t\t\t\tif ( item ) {\n\t\t\t\t\t\t\tfound = filter( item, match, i, curLoop );\n\t\t\t\t\t\t\tvar pass = not ^ !!found;\n\n\t\t\t\t\t\t\tif ( inplace && found != null ) {\n\t\t\t\t\t\t\t\tif ( pass ) {\n\t\t\t\t\t\t\t\t\tanyFound = true;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcurLoop[i] = false;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( pass ) {\n\t\t\t\t\t\t\t\tresult.push( item );\n\t\t\t\t\t\t\t\tanyFound = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( found !== undefined ) {\n\t\t\t\t\tif ( !inplace ) {\n\t\t\t\t\t\tcurLoop = result;\n\t\t\t\t\t}\n\n\t\t\t\t\texpr = expr.replace( Expr.match[ type ], \"\" );\n\n\t\t\t\t\tif ( !anyFound ) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Improper expression\n\t\tif ( expr == old ) {\n\t\t\tif ( anyFound == null ) {\n\t\t\t\tthrow \"Syntax error, unrecognized expression: \" + expr;\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\told = expr;\n\t}\n\n\treturn curLoop;\n};\n\nvar Expr = Sizzle.selectors = {\n\torder: [ \"ID\", \"NAME\", \"TAG\" ],\n\tmatch: {\n\t\tID: /#((?:[\\w\\u00c0-\\uFFFF_-]|\\\\.)+)/,\n\t\tCLASS: /\\.((?:[\\w\\u00c0-\\uFFFF_-]|\\\\.)+)/,\n\t\tNAME: /\\[name=['\"]*((?:[\\w\\u00c0-\\uFFFF_-]|\\\\.)+)['\"]*\\]/,\n\t\tATTR: /\\[\\s*((?:[\\w\\u00c0-\\uFFFF_-]|\\\\.)+)\\s*(?:(\\S?=)\\s*(['\"]*)(.*?)\\3|)\\s*\\]/,\n\t\tTAG: /^((?:[\\w\\u00c0-\\uFFFF\\*_-]|\\\\.)+)/,\n\t\tCHILD: /:(only|nth|last|first)-child(?:\\((even|odd|[\\dn+-]*)\\))?/,\n\t\tPOS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\))?(?=[^-]|$)/,\n\t\tPSEUDO: /:((?:[\\w\\u00c0-\\uFFFF_-]|\\\\.)+)(?:\\((['\"]*)((?:\\([^\\)]+\\)|[^\\2\\(\\)]*)+)\\2\\))?/\n\t},\n\tattrMap: {\n\t\t\"class\": \"className\",\n\t\t\"for\": \"htmlFor\"\n\t},\n\tattrHandle: {\n\t\thref: function(elem){\n\t\t\treturn elem.getAttribute(\"href\");\n\t\t}\n\t},\n\trelative: {\n\t\t\"+\": function(checkSet, part, isXML){\n\t\t\tvar isPartStr = typeof part === \"string\",\n\t\t\t\tisTag = isPartStr && !/\\W/.test(part),\n\t\t\t\tisPartStrNotTag = isPartStr && !isTag;\n\n\t\t\tif ( isTag && !isXML ) {\n\t\t\t\tpart = part.toUpperCase();\n\t\t\t}\n\n\t\t\tfor ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {\n\t\t\t\tif ( (elem = checkSet[i]) ) {\n\t\t\t\t\twhile ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}\n\n\t\t\t\t\tcheckSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?\n\t\t\t\t\t\telem || false :\n\t\t\t\t\t\telem === part;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( isPartStrNotTag ) {\n\t\t\t\tSizzle.filter( part, checkSet, true );\n\t\t\t}\n\t\t},\n\t\t\">\": function(checkSet, part, isXML){\n\t\t\tvar isPartStr = typeof part === \"string\";\n\n\t\t\tif ( isPartStr && !/\\W/.test(part) ) {\n\t\t\t\tpart = isXML ? part : part.toUpperCase();\n\n\t\t\t\tfor ( var i = 0, l = checkSet.length; i < l; i++ ) {\n\t\t\t\t\tvar elem = checkSet[i];\n\t\t\t\t\tif ( elem ) {\n\t\t\t\t\t\tvar parent = elem.parentNode;\n\t\t\t\t\t\tcheckSet[i] = parent.nodeName === part ? parent : false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( var i = 0, l = checkSet.length; i < l; i++ ) {\n\t\t\t\t\tvar elem = checkSet[i];\n\t\t\t\t\tif ( elem ) {\n\t\t\t\t\t\tcheckSet[i] = isPartStr ?\n\t\t\t\t\t\t\telem.parentNode :\n\t\t\t\t\t\t\telem.parentNode === part;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( isPartStr ) {\n\t\t\t\t\tSizzle.filter( part, checkSet, true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"\": function(checkSet, part, isXML){\n\t\t\tvar doneName = done++, checkFn = dirCheck;\n\n\t\t\tif ( !part.match(/\\W/) ) {\n\t\t\t\tvar nodeCheck = part = isXML ? part : part.toUpperCase();\n\t\t\t\tcheckFn = dirNodeCheck;\n\t\t\t}\n\n\t\t\tcheckFn(\"parentNode\", part, doneName, checkSet, nodeCheck, isXML);\n\t\t},\n\t\t\"~\": function(checkSet, part, isXML){\n\t\t\tvar doneName = done++, checkFn = dirCheck;\n\n\t\t\tif ( typeof part === \"string\" && !part.match(/\\W/) ) {\n\t\t\t\tvar nodeCheck = part = isXML ? part : part.toUpperCase();\n\t\t\t\tcheckFn = dirNodeCheck;\n\t\t\t}\n\n\t\t\tcheckFn(\"previousSibling\", part, doneName, checkSet, nodeCheck, isXML);\n\t\t}\n\t},\n\tfind: {\n\t\tID: function(match, context, isXML){\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && !isXML ) {\n\t\t\t\tvar m = context.getElementById(match[1]);\n\t\t\t\treturn m ? [m] : [];\n\t\t\t}\n\t\t},\n\t\tNAME: function(match, context, isXML){\n\t\t\tif ( typeof context.getElementsByName !== \"undefined\" ) {\n\t\t\t\tvar ret = [], results = context.getElementsByName(match[1]);\n\n\t\t\t\tfor ( var i = 0, l = results.length; i < l; i++ ) {\n\t\t\t\t\tif ( results[i].getAttribute(\"name\") === match[1] ) {\n\t\t\t\t\t\tret.push( results[i] );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn ret.length === 0 ? null : ret;\n\t\t\t}\n\t\t},\n\t\tTAG: function(match, context){\n\t\t\treturn context.getElementsByTagName(match[1]);\n\t\t}\n\t},\n\tpreFilter: {\n\t\tCLASS: function(match, curLoop, inplace, result, not, isXML){\n\t\t\tmatch = \" \" + match[1].replace(/\\\\/g, \"\") + \" \";\n\n\t\t\tif ( isXML ) {\n\t\t\t\treturn match;\n\t\t\t}\n\n\t\t\tfor ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {\n\t\t\t\tif ( elem ) {\n\t\t\t\t\tif ( not ^ (elem.className && (\" \" + elem.className + \" \").indexOf(match) >= 0) ) {\n\t\t\t\t\t\tif ( !inplace )\n\t\t\t\t\t\t\tresult.push( elem );\n\t\t\t\t\t} else if ( inplace ) {\n\t\t\t\t\t\tcurLoop[i] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\tID: function(match){\n\t\t\treturn match[1].replace(/\\\\/g, \"\");\n\t\t},\n\t\tTAG: function(match, curLoop){\n\t\t\tfor ( var i = 0; curLoop[i] === false; i++ ){}\n\t\t\treturn curLoop[i] && isXML(curLoop[i]) ? match[1] : match[1].toUpperCase();\n\t\t},\n\t\tCHILD: function(match){\n\t\t\tif ( match[1] == \"nth\" ) {\n\t\t\t\t// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6'\n\t\t\t\tvar test = /(-?)(\\d*)n((?:\\+|-)?\\d*)/.exec(\n\t\t\t\t\tmatch[2] == \"even\" && \"2n\" || match[2] == \"odd\" && \"2n+1\" ||\n\t\t\t\t\t!/\\D/.test( match[2] ) && \"0n+\" + match[2] || match[2]);\n\n\t\t\t\t// calculate the numbers (first)n+(last) including if they are negative\n\t\t\t\tmatch[2] = (test[1] + (test[2] || 1)) - 0;\n\t\t\t\tmatch[3] = test[3] - 0;\n\t\t\t}\n\n\t\t\t// TODO: Move to normal caching system\n\t\t\tmatch[0] = done++;\n\n\t\t\treturn match;\n\t\t},\n\t\tATTR: function(match, curLoop, inplace, result, not, isXML){\n\t\t\tvar name = match[1].replace(/\\\\/g, \"\");\n\t\t\t\n\t\t\tif ( !isXML && Expr.attrMap[name] ) {\n\t\t\t\tmatch[1] = Expr.attrMap[name];\n\t\t\t}\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[4] = \" \" + match[4] + \" \";\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\t\tPSEUDO: function(match, curLoop, inplace, result, not){\n\t\t\tif ( match[1] === \"not\" ) {\n\t\t\t\t// If we're dealing with a complex expression, or a simple one\n\t\t\t\tif ( match[3].match(chunker).length > 1 || /^\\w/.test(match[3]) ) {\n\t\t\t\t\tmatch[3] = Sizzle(match[3], null, null, curLoop);\n\t\t\t\t} else {\n\t\t\t\t\tvar ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);\n\t\t\t\t\tif ( !inplace ) {\n\t\t\t\t\t\tresult.push.apply( result, ret );\n\t\t\t\t\t}\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t\n\t\t\treturn match;\n\t\t},\n\t\tPOS: function(match){\n\t\t\tmatch.unshift( true );\n\t\t\treturn match;\n\t\t}\n\t},\n\tfilters: {\n\t\tenabled: function(elem){\n\t\t\treturn elem.disabled === false && elem.type !== \"hidden\";\n\t\t},\n\t\tdisabled: function(elem){\n\t\t\treturn elem.disabled === true;\n\t\t},\n\t\tchecked: function(elem){\n\t\t\treturn elem.checked === true;\n\t\t},\n\t\tselected: function(elem){\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\telem.parentNode.selectedIndex;\n\t\t\treturn elem.selected === true;\n\t\t},\n\t\tparent: function(elem){\n\t\t\treturn !!elem.firstChild;\n\t\t},\n\t\tempty: function(elem){\n\t\t\treturn !elem.firstChild;\n\t\t},\n\t\thas: function(elem, i, match){\n\t\t\treturn !!Sizzle( match[3], elem ).length;\n\t\t},\n\t\theader: function(elem){\n\t\t\treturn /h\\d/i.test( elem.nodeName );\n\t\t},\n\t\ttext: function(elem){\n\t\t\treturn \"text\" === elem.type;\n\t\t},\n\t\tradio: function(elem){\n\t\t\treturn \"radio\" === elem.type;\n\t\t},\n\t\tcheckbox: function(elem){\n\t\t\treturn \"checkbox\" === elem.type;\n\t\t},\n\t\tfile: function(elem){\n\t\t\treturn \"file\" === elem.type;\n\t\t},\n\t\tpassword: function(elem){\n\t\t\treturn \"password\" === elem.type;\n\t\t},\n\t\tsubmit: function(elem){\n\t\t\treturn \"submit\" === elem.type;\n\t\t},\n\t\timage: function(elem){\n\t\t\treturn \"image\" === elem.type;\n\t\t},\n\t\treset: function(elem){\n\t\t\treturn \"reset\" === elem.type;\n\t\t},\n\t\tbutton: function(elem){\n\t\t\treturn \"button\" === elem.type || elem.nodeName.toUpperCase() === \"BUTTON\";\n\t\t},\n\t\tinput: function(elem){\n\t\t\treturn /input|select|textarea|button/i.test(elem.nodeName);\n\t\t}\n\t},\n\tsetFilters: {\n\t\tfirst: function(elem, i){\n\t\t\treturn i === 0;\n\t\t},\n\t\tlast: function(elem, i, match, array){\n\t\t\treturn i === array.length - 1;\n\t\t},\n\t\teven: function(elem, i){\n\t\t\treturn i % 2 === 0;\n\t\t},\n\t\todd: function(elem, i){\n\t\t\treturn i % 2 === 1;\n\t\t},\n\t\tlt: function(elem, i, match){\n\t\t\treturn i < match[3] - 0;\n\t\t},\n\t\tgt: function(elem, i, match){\n\t\t\treturn i > match[3] - 0;\n\t\t},\n\t\tnth: function(elem, i, match){\n\t\t\treturn match[3] - 0 == i;\n\t\t},\n\t\teq: function(elem, i, match){\n\t\t\treturn match[3] - 0 == i;\n\t\t}\n\t},\n\tfilter: {\n\t\tPSEUDO: function(elem, match, i, array){\n\t\t\tvar name = match[1], filter = Expr.filters[ name ];\n\n\t\t\tif ( filter ) {\n\t\t\t\treturn filter( elem, i, match, array );\n\t\t\t} else if ( name === \"contains\" ) {\n\t\t\t\treturn (elem.textContent || elem.innerText || \"\").indexOf(match[3]) >= 0;\n\t\t\t} else if ( name === \"not\" ) {\n\t\t\t\tvar not = match[3];\n\n\t\t\t\tfor ( var i = 0, l = not.length; i < l; i++ ) {\n\t\t\t\t\tif ( not[i] === elem ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\tCHILD: function(elem, match){\n\t\t\tvar type = match[1], node = elem;\n\t\t\tswitch (type) {\n\t\t\t\tcase 'only':\n\t\t\t\tcase 'first':\n\t\t\t\t\twhile (node = node.previousSibling) {\n\t\t\t\t\t\tif ( node.nodeType === 1 ) return false;\n\t\t\t\t\t}\n\t\t\t\t\tif ( type == 'first') return true;\n\t\t\t\t\tnode = elem;\n\t\t\t\tcase 'last':\n\t\t\t\t\twhile (node = node.nextSibling) {\n\t\t\t\t\t\tif ( node.nodeType === 1 ) return false;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\tcase 'nth':\n\t\t\t\t\tvar first = match[2], last = match[3];\n\n\t\t\t\t\tif ( first == 1 && last == 0 ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tvar doneName = match[0],\n\t\t\t\t\t\tparent = elem.parentNode;\n\t\n\t\t\t\t\tif ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {\n\t\t\t\t\t\tvar count = 0;\n\t\t\t\t\t\tfor ( node = parent.firstChild; node; node = node.nextSibling ) {\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\n\t\t\t\t\t\t\t\tnode.nodeIndex = ++count;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} \n\t\t\t\t\t\tparent.sizcache = doneName;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tvar diff = elem.nodeIndex - last;\n\t\t\t\t\tif ( first == 0 ) {\n\t\t\t\t\t\treturn diff == 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn ( diff % first == 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tID: function(elem, match){\n\t\t\treturn elem.nodeType === 1 && elem.getAttribute(\"id\") === match;\n\t\t},\n\t\tTAG: function(elem, match){\n\t\t\treturn (match === \"*\" && elem.nodeType === 1) || elem.nodeName === match;\n\t\t},\n\t\tCLASS: function(elem, match){\n\t\t\treturn (\" \" + (elem.className || elem.getAttribute(\"class\")) + \" \")\n\t\t\t\t.indexOf( match ) > -1;\n\t\t},\n\t\tATTR: function(elem, match){\n\t\t\tvar name = match[1],\n\t\t\t\tresult = Expr.attrHandle[ name ] ?\n\t\t\t\t\tExpr.attrHandle[ name ]( elem ) :\n\t\t\t\t\telem[ name ] != null ?\n\t\t\t\t\t\telem[ name ] :\n\t\t\t\t\t\telem.getAttribute( name ),\n\t\t\t\tvalue = result + \"\",\n\t\t\t\ttype = match[2],\n\t\t\t\tcheck = match[4];\n\n\t\t\treturn result == null ?\n\t\t\t\ttype === \"!=\" :\n\t\t\t\ttype === \"=\" ?\n\t\t\t\tvalue === check :\n\t\t\t\ttype === \"*=\" ?\n\t\t\t\tvalue.indexOf(check) >= 0 :\n\t\t\t\ttype === \"~=\" ?\n\t\t\t\t(\" \" + value + \" \").indexOf(check) >= 0 :\n\t\t\t\t!check ?\n\t\t\t\tvalue && result !== false :\n\t\t\t\ttype === \"!=\" ?\n\t\t\t\tvalue != check :\n\t\t\t\ttype === \"^=\" ?\n\t\t\t\tvalue.indexOf(check) === 0 :\n\t\t\t\ttype === \"$=\" ?\n\t\t\t\tvalue.substr(value.length - check.length) === check :\n\t\t\t\ttype === \"|=\" ?\n\t\t\t\tvalue === check || value.substr(0, check.length + 1) === check + \"-\" :\n\t\t\t\tfalse;\n\t\t},\n\t\tPOS: function(elem, match, i, array){\n\t\t\tvar name = match[2], filter = Expr.setFilters[ name ];\n\n\t\t\tif ( filter ) {\n\t\t\t\treturn filter( elem, i, match, array );\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar origPOS = Expr.match.POS;\n\nfor ( var type in Expr.match ) {\n\tExpr.match[ type ] = RegExp( Expr.match[ type ].source + /(?![^\\[]*\\])(?![^\\(]*\\))/.source );\n}\n\nvar makeArray = function(array, results) {\n\tarray = Array.prototype.slice.call( array );\n\n\tif ( results ) {\n\t\tresults.push.apply( results, array );\n\t\treturn results;\n\t}\n\t\n\treturn array;\n};\n\n// Perform a simple check to determine if the browser is capable of\n// converting a NodeList to an array using builtin methods.\ntry {\n\tArray.prototype.slice.call( document.documentElement.childNodes );\n\n// Provide a fallback method if it does not work\n} catch(e){\n\tmakeArray = function(array, results) {\n\t\tvar ret = results || [];\n\n\t\tif ( toString.call(array) === \"[object Array]\" ) {\n\t\t\tArray.prototype.push.apply( ret, array );\n\t\t} else {\n\t\t\tif ( typeof array.length === \"number\" ) {\n\t\t\t\tfor ( var i = 0, l = array.length; i < l; i++ ) {\n\t\t\t\t\tret.push( array[i] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( var i = 0; array[i]; i++ ) {\n\t\t\t\t\tret.push( array[i] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t};\n}\n\nvar sortOrder;\n\nif ( document.documentElement.compareDocumentPosition ) {\n\tsortOrder = function( a, b ) {\n\t\tvar ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;\n\t\tif ( ret === 0 ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn ret;\n\t};\n} else if ( \"sourceIndex\" in document.documentElement ) {\n\tsortOrder = function( a, b ) {\n\t\tvar ret = a.sourceIndex - b.sourceIndex;\n\t\tif ( ret === 0 ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn ret;\n\t};\n} else if ( document.createRange ) {\n\tsortOrder = function( a, b ) {\n\t\tvar aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();\n\t\taRange.selectNode(a);\n\t\taRange.collapse(true);\n\t\tbRange.selectNode(b);\n\t\tbRange.collapse(true);\n\t\tvar ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);\n\t\tif ( ret === 0 ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn ret;\n\t};\n}\n\n// Check to see if the browser returns elements by name when\n// querying by getElementById (and provide a workaround)\n(function(){\n\t// We're going to inject a fake input element with a specified name\n\tvar form = document.createElement(\"form\"),\n\t\tid = \"script\" + (new Date).getTime();\n\tform.innerHTML = \"<input name='\" + id + \"'/>\";\n\n\t// Inject it into the root element, check its status, and remove it quickly\n\tvar root = document.documentElement;\n\troot.insertBefore( form, root.firstChild );\n\n\t// The workaround has to do additional checks after a getElementById\n\t// Which slows things down for other browsers (hence the branching)\n\tif ( !!document.getElementById( id ) ) {\n\t\tExpr.find.ID = function(match, context, isXML){\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && !isXML ) {\n\t\t\t\tvar m = context.getElementById(match[1]);\n\t\t\t\treturn m ? m.id === match[1] || typeof m.getAttributeNode !== \"undefined\" && m.getAttributeNode(\"id\").nodeValue === match[1] ? [m] : undefined : [];\n\t\t\t}\n\t\t};\n\n\t\tExpr.filter.ID = function(elem, match){\n\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n\t\t\treturn elem.nodeType === 1 && node && node.nodeValue === match;\n\t\t};\n\t}\n\n\troot.removeChild( form );\n})();\n\n(function(){\n\t// Check to see if the browser returns only elements\n\t// when doing getElementsByTagName(\"*\")\n\n\t// Create a fake element\n\tvar div = document.createElement(\"div\");\n\tdiv.appendChild( document.createComment(\"\") );\n\n\t// Make sure no comments are found\n\tif ( div.getElementsByTagName(\"*\").length > 0 ) {\n\t\tExpr.find.TAG = function(match, context){\n\t\t\tvar results = context.getElementsByTagName(match[1]);\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( match[1] === \"*\" ) {\n\t\t\t\tvar tmp = [];\n\n\t\t\t\tfor ( var i = 0; results[i]; i++ ) {\n\t\t\t\t\tif ( results[i].nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( results[i] );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresults = tmp;\n\t\t\t}\n\n\t\t\treturn results;\n\t\t};\n\t}\n\n\t// Check to see if an attribute returns normalized href attributes\n\tdiv.innerHTML = \"<a href='#'></a>\";\n\tif ( div.firstChild && typeof div.firstChild.getAttribute !== \"undefined\" &&\n\t\t\tdiv.firstChild.getAttribute(\"href\") !== \"#\" ) {\n\t\tExpr.attrHandle.href = function(elem){\n\t\t\treturn elem.getAttribute(\"href\", 2);\n\t\t};\n\t}\n})();\n\nif ( document.querySelectorAll ) (function(){\n\tvar oldSizzle = Sizzle, div = document.createElement(\"div\");\n\tdiv.innerHTML = \"<p class='TEST'></p>\";\n\n\t// Safari can't handle uppercase or unicode characters when\n\t// in quirks mode.\n\tif ( div.querySelectorAll && div.querySelectorAll(\".TEST\").length === 0 ) {\n\t\treturn;\n\t}\n\t\n\tSizzle = function(query, context, extra, seed){\n\t\tcontext = context || document;\n\n\t\t// Only use querySelectorAll on non-XML documents\n\t\t// (ID selectors don't work in non-HTML documents)\n\t\tif ( !seed && context.nodeType === 9 && !isXML(context) ) {\n\t\t\ttry {\n\t\t\t\treturn makeArray( context.querySelectorAll(query), extra );\n\t\t\t} catch(e){}\n\t\t}\n\t\t\n\t\treturn oldSizzle(query, context, extra, seed);\n\t};\n\n\tSizzle.find = oldSizzle.find;\n\tSizzle.filter = oldSizzle.filter;\n\tSizzle.selectors = oldSizzle.selectors;\n\tSizzle.matches = oldSizzle.matches;\n})();\n\nif ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){\n\tvar div = document.createElement(\"div\");\n\tdiv.innerHTML = \"<div class='test e'></div><div class='test'></div>\";\n\n\t// Opera can't find a second classname (in 9.6)\n\tif ( div.getElementsByClassName(\"e\").length === 0 )\n\t\treturn;\n\n\t// Safari caches class attributes, doesn't catch changes (in 3.2)\n\tdiv.lastChild.className = \"e\";\n\n\tif ( div.getElementsByClassName(\"e\").length === 1 )\n\t\treturn;\n\n\tExpr.order.splice(1, 0, \"CLASS\");\n\tExpr.find.CLASS = function(match, context, isXML) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && !isXML ) {\n\t\t\treturn context.getElementsByClassName(match[1]);\n\t\t}\n\t};\n})();\n\nfunction dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {\n\tvar sibDir = dir == \"previousSibling\" && !isXML;\n\tfor ( var i = 0, l = checkSet.length; i < l; i++ ) {\n\t\tvar elem = checkSet[i];\n\t\tif ( elem ) {\n\t\t\tif ( sibDir && elem.nodeType === 1 ){\n\t\t\t\telem.sizcache = doneName;\n\t\t\t\telem.sizset = i;\n\t\t\t}\n\t\t\telem = elem[dir];\n\t\t\tvar match = false;\n\n\t\t\twhile ( elem ) {\n\t\t\t\tif ( elem.sizcache === doneName ) {\n\t\t\t\t\tmatch = checkSet[elem.sizset];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( elem.nodeType === 1 && !isXML ){\n\t\t\t\t\telem.sizcache = doneName;\n\t\t\t\t\telem.sizset = i;\n\t\t\t\t}\n\n\t\t\t\tif ( elem.nodeName === cur ) {\n\t\t\t\t\tmatch = elem;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\telem = elem[dir];\n\t\t\t}\n\n\t\t\tcheckSet[i] = match;\n\t\t}\n\t}\n}\n\nfunction dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {\n\tvar sibDir = dir == \"previousSibling\" && !isXML;\n\tfor ( var i = 0, l = checkSet.length; i < l; i++ ) {\n\t\tvar elem = checkSet[i];\n\t\tif ( elem ) {\n\t\t\tif ( sibDir && elem.nodeType === 1 ) {\n\t\t\t\telem.sizcache = doneName;\n\t\t\t\telem.sizset = i;\n\t\t\t}\n\t\t\telem = elem[dir];\n\t\t\tvar match = false;\n\n\t\t\twhile ( elem ) {\n\t\t\t\tif ( elem.sizcache === doneName ) {\n\t\t\t\t\tmatch = checkSet[elem.sizset];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\tif ( !isXML ) {\n\t\t\t\t\t\telem.sizcache = doneName;\n\t\t\t\t\t\telem.sizset = i;\n\t\t\t\t\t}\n\t\t\t\t\tif ( typeof cur !== \"string\" ) {\n\t\t\t\t\t\tif ( elem === cur ) {\n\t\t\t\t\t\t\tmatch = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {\n\t\t\t\t\t\tmatch = elem;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\telem = elem[dir];\n\t\t\t}\n\n\t\t\tcheckSet[i] = match;\n\t\t}\n\t}\n}\n\nvar contains = document.compareDocumentPosition ? function(a, b){\n\treturn a.compareDocumentPosition(b) & 16;\n} : function(a, b){\n\treturn a !== b && (a.contains ? a.contains(b) : true);\n};\n\nvar isXML = function(elem){\n\treturn elem.nodeType === 9 && elem.documentElement.nodeName !== \"HTML\" ||\n\t\t!!elem.ownerDocument && isXML( elem.ownerDocument );\n};\n\nvar posProcess = function(selector, context){\n\tvar tmpSet = [], later = \"\", match,\n\t\troot = context.nodeType ? [context] : context;\n\n\t// Position selectors must be done after the filter\n\t// And so must :not(positional) so we move all PSEUDOs to the end\n\twhile ( (match = Expr.match.PSEUDO.exec( selector )) ) {\n\t\tlater += match[0];\n\t\tselector = selector.replace( Expr.match.PSEUDO, \"\" );\n\t}\n\n\tselector = Expr.relative[selector] ? selector + \"*\" : selector;\n\n\tfor ( var i = 0, l = root.length; i < l; i++ ) {\n\t\tSizzle( selector, root[i], tmpSet );\n\t}\n\n\treturn Sizzle.filter( later, tmpSet );\n};\n\n// EXPOSE\njQuery.find = Sizzle;\njQuery.filter = Sizzle.filter;\njQuery.expr = Sizzle.selectors;\njQuery.expr[\":\"] = jQuery.expr.filters;\n\nSizzle.selectors.filters.hidden = function(elem){\n\treturn elem.offsetWidth === 0 || elem.offsetHeight === 0;\n};\n\nSizzle.selectors.filters.visible = function(elem){\n\treturn elem.offsetWidth > 0 || elem.offsetHeight > 0;\n};\n\nSizzle.selectors.filters.animated = function(elem){\n\treturn jQuery.grep(jQuery.timers, function(fn){\n\t\treturn elem === fn.elem;\n\t}).length;\n};\n\njQuery.multiFilter = function( expr, elems, not ) {\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn Sizzle.matches(expr, elems);\n};\n\njQuery.dir = function( elem, dir ){\n\tvar matched = [], cur = elem[dir];\n\twhile ( cur && cur != document ) {\n\t\tif ( cur.nodeType == 1 )\n\t\t\tmatched.push( cur );\n\t\tcur = cur[dir];\n\t}\n\treturn matched;\n};\n\njQuery.nth = function(cur, result, dir, elem){\n\tresult = result || 1;\n\tvar num = 0;\n\n\tfor ( ; cur; cur = cur[dir] )\n\t\tif ( cur.nodeType == 1 && ++num == result )\n\t\t\tbreak;\n\n\treturn cur;\n};\n\njQuery.sibling = function(n, elem){\n\tvar r = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType == 1 && n != elem )\n\t\t\tr.push( n );\n\t}\n\n\treturn r;\n};\n\nreturn;\n\nwindow.Sizzle = Sizzle;\n\n})();\n/*\n * A number of helper functions used for managing events.\n * Many of the ideas behind this code originated from\n * Dean Edwards' addEvent library.\n */\njQuery.event = {\n\n\t// Bind an event to an element\n\t// Original by Dean Edwards\n\tadd: function(elem, types, handler, data) {\n\t\tif ( elem.nodeType == 3 || elem.nodeType == 8 )\n\t\t\treturn;\n\n\t\t// For whatever reason, IE has trouble passing the window object\n\t\t// around, causing it to be cloned in the process\n\t\tif ( elem.setInterval && elem != window )\n\t\t\telem = window;\n\n\t\t// Make sure that the function being executed has a unique ID\n\t\tif ( !handler.guid )\n\t\t\thandler.guid = this.guid++;\n\n\t\t// if data is passed, bind to handler\n\t\tif ( data !== undefined ) {\n\t\t\t// Create temporary function pointer to original handler\n\t\t\tvar fn = handler;\n\n\t\t\t// Create unique handler function, wrapped around original handler\n\t\t\thandler = this.proxy( fn );\n\n\t\t\t// Store data in unique handler\n\t\t\thandler.data = data;\n\t\t}\n\n\t\t// Init the element's event structure\n\t\tvar events = jQuery.data(elem, \"events\") || jQuery.data(elem, \"events\", {}),\n\t\t\thandle = jQuery.data(elem, \"handle\") || jQuery.data(elem, \"handle\", function(){\n\t\t\t\t// Handle the second event of a trigger and when\n\t\t\t\t// an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && !jQuery.event.triggered ?\n\t\t\t\t\tjQuery.event.handle.apply(arguments.callee.elem, arguments) :\n\t\t\t\t\tundefined;\n\t\t\t});\n\t\t// Add elem as a property of the handle function\n\t\t// This is to prevent a memory leak with non-native\n\t\t// event in IE.\n\t\thandle.elem = elem;\n\n\t\t// Handle multiple events separated by a space\n\t\t// jQuery(...).bind(\"mouseover mouseout\", fn);\n\t\tjQuery.each(types.split(/\\s+/), function(index, type) {\n\t\t\t// Namespaced event handlers\n\t\t\tvar namespaces = type.split(\".\");\n\t\t\ttype = namespaces.shift();\n\t\t\thandler.type = namespaces.slice().sort().join(\".\");\n\n\t\t\t// Get the current list of functions bound to this event\n\t\t\tvar handlers = events[type];\n\t\t\t\n\t\t\tif ( jQuery.event.specialAll[type] )\n\t\t\t\tjQuery.event.specialAll[type].setup.call(elem, data, namespaces);\n\n\t\t\t// Init the event handler queue\n\t\t\tif (!handlers) {\n\t\t\t\thandlers = events[type] = {};\n\n\t\t\t\t// Check for a special event handler\n\t\t\t\t// Only use addEventListener/attachEvent if the special\n\t\t\t\t// events handler returns false\n\t\t\t\tif ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem, data, namespaces) === false ) {\n\t\t\t\t\t// Bind the global event handler to the element\n\t\t\t\t\tif (elem.addEventListener)\n\t\t\t\t\t\telem.addEventListener(type, handle, false);\n\t\t\t\t\telse if (elem.attachEvent)\n\t\t\t\t\t\telem.attachEvent(\"on\" + type, handle);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add the function to the element's handler list\n\t\t\thandlers[handler.guid] = handler;\n\n\t\t\t// Keep track of which events have been used, for global triggering\n\t\t\tjQuery.event.global[type] = true;\n\t\t});\n\n\t\t// Nullify elem to prevent memory leaks in IE\n\t\telem = null;\n\t},\n\n\tguid: 1,\n\tglobal: {},\n\n\t// Detach an event or set of events from an element\n\tremove: function(elem, types, handler) {\n\t\t// don't do events on text and comment nodes\n\t\tif ( elem.nodeType == 3 || elem.nodeType == 8 )\n\t\t\treturn;\n\n\t\tvar events = jQuery.data(elem, \"events\"), ret, index;\n\n\t\tif ( events ) {\n\t\t\t// Unbind all events for the element\n\t\t\tif ( types === undefined || (typeof types === \"string\" && types.charAt(0) == \".\") )\n\t\t\t\tfor ( var type in events )\n\t\t\t\t\tthis.remove( elem, type + (types || \"\") );\n\t\t\telse {\n\t\t\t\t// types is actually an event object here\n\t\t\t\tif ( types.type ) {\n\t\t\t\t\thandler = types.handler;\n\t\t\t\t\ttypes = types.type;\n\t\t\t\t}\n\n\t\t\t\t// Handle multiple events seperated by a space\n\t\t\t\t// jQuery(...).unbind(\"mouseover mouseout\", fn);\n\t\t\t\tjQuery.each(types.split(/\\s+/), function(index, type){\n\t\t\t\t\t// Namespaced event handlers\n\t\t\t\t\tvar namespaces = type.split(\".\");\n\t\t\t\t\ttype = namespaces.shift();\n\t\t\t\t\tvar namespace = RegExp(\"(^|\\\\.)\" + namespaces.slice().sort().join(\".*\\\\.\") + \"(\\\\.|$)\");\n\n\t\t\t\t\tif ( events[type] ) {\n\t\t\t\t\t\t// remove the given handler for the given type\n\t\t\t\t\t\tif ( handler )\n\t\t\t\t\t\t\tdelete events[type][handler.guid];\n\n\t\t\t\t\t\t// remove all handlers for the given type\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tfor ( var handle in events[type] )\n\t\t\t\t\t\t\t\t// Handle the removal of namespaced events\n\t\t\t\t\t\t\t\tif ( namespace.test(events[type][handle].type) )\n\t\t\t\t\t\t\t\t\tdelete events[type][handle];\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tif ( jQuery.event.specialAll[type] )\n\t\t\t\t\t\t\tjQuery.event.specialAll[type].teardown.call(elem, namespaces);\n\n\t\t\t\t\t\t// remove generic event handler if no more handlers exist\n\t\t\t\t\t\tfor ( ret in events[type] ) break;\n\t\t\t\t\t\tif ( !ret ) {\n\t\t\t\t\t\t\tif ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem, namespaces) === false ) {\n\t\t\t\t\t\t\t\tif (elem.removeEventListener)\n\t\t\t\t\t\t\t\t\telem.removeEventListener(type, jQuery.data(elem, \"handle\"), false);\n\t\t\t\t\t\t\t\telse if (elem.detachEvent)\n\t\t\t\t\t\t\t\t\telem.detachEvent(\"on\" + type, jQuery.data(elem, \"handle\"));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tret = null;\n\t\t\t\t\t\t\tdelete events[type];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Remove the expando if it's no longer used\n\t\t\tfor ( ret in events ) break;\n\t\t\tif ( !ret ) {\n\t\t\t\tvar handle = jQuery.data( elem, \"handle\" );\n\t\t\t\tif ( handle ) handle.elem = null;\n\t\t\t\tjQuery.removeData( elem, \"events\" );\n\t\t\t\tjQuery.removeData( elem, \"handle\" );\n\t\t\t}\n\t\t}\n\t},\n\n\t// bubbling is internal\n\ttrigger: function( event, data, elem, bubbling ) {\n\t\t// Event object or event type\n\t\tvar type = event.type || event;\n\n\t\tif( !bubbling ){\n\t\t\tevent = typeof event === \"object\" ?\n\t\t\t\t// jQuery.Event object\n\t\t\t\tevent[expando] ? event :\n\t\t\t\t// Object literal\n\t\t\t\tjQuery.extend( jQuery.Event(type), event ) :\n\t\t\t\t// Just the event type (string)\n\t\t\t\tjQuery.Event(type);\n\n\t\t\tif ( type.indexOf(\"!\") >= 0 ) {\n\t\t\t\tevent.type = type = type.slice(0, -1);\n\t\t\t\tevent.exclusive = true;\n\t\t\t}\n\n\t\t\t// Handle a global trigger\n\t\t\tif ( !elem ) {\n\t\t\t\t// Don't bubble custom events when global (to avoid too much overhead)\n\t\t\t\tevent.stopPropagation();\n\t\t\t\t// Only trigger if we've ever bound an event for it\n\t\t\t\tif ( this.global[type] )\n\t\t\t\t\tjQuery.each( jQuery.cache, function(){\n\t\t\t\t\t\tif ( this.events && this.events[type] )\n\t\t\t\t\t\t\tjQuery.event.trigger( event, data, this.handle.elem );\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Handle triggering a single element\n\n\t\t\t// don't do events on text and comment nodes\n\t\t\tif ( !elem || elem.nodeType == 3 || elem.nodeType == 8 )\n\t\t\t\treturn undefined;\n\t\t\t\n\t\t\t// Clean up in case it is reused\n\t\t\tevent.result = undefined;\n\t\t\tevent.target = elem;\n\t\t\t\n\t\t\t// Clone the incoming data, if any\n\t\t\tdata = jQuery.makeArray(data);\n\t\t\tdata.unshift( event );\n\t\t}\n\n\t\tevent.currentTarget = elem;\n\n\t\t// Trigger the event, it is assumed that \"handle\" is a function\n\t\tvar handle = jQuery.data(elem, \"handle\");\n\t\tif ( handle )\n\t\t\thandle.apply( elem, data );\n\n\t\t// Handle triggering native .onfoo handlers (and on links since we don't call .click() for links)\n\t\tif ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type == \"click\")) && elem[\"on\"+type] && elem[\"on\"+type].apply( elem, data ) === false )\n\t\t\tevent.result = false;\n\n\t\t// Trigger the native events (except for clicks on links)\n\t\tif ( !bubbling && elem[type] && !event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type == \"click\") ) {\n\t\t\tthis.triggered = true;\n\t\t\ttry {\n\t\t\t\telem[ type ]();\n\t\t\t// prevent IE from throwing an error for some hidden elements\n\t\t\t} catch (e) {}\n\t\t}\n\n\t\tthis.triggered = false;\n\n\t\tif ( !event.isPropagationStopped() ) {\n\t\t\tvar parent = elem.parentNode || elem.ownerDocument;\n\t\t\tif ( parent )\n\t\t\t\tjQuery.event.trigger(event, data, parent, true);\n\t\t}\n\t},\n\n\thandle: function(event) {\n\t\t// returned undefined or false\n\t\tvar all, handlers;\n\n\t\tevent = arguments[0] = jQuery.event.fix( event || window.event );\n\t\tevent.currentTarget = this;\n\t\t\n\t\t// Namespaced event handlers\n\t\tvar namespaces = event.type.split(\".\");\n\t\tevent.type = namespaces.shift();\n\n\t\t// Cache this now, all = true means, any handler\n\t\tall = !namespaces.length && !event.exclusive;\n\t\t\n\t\tvar namespace = RegExp(\"(^|\\\\.)\" + namespaces.slice().sort().join(\".*\\\\.\") + \"(\\\\.|$)\");\n\n\t\thandlers = ( jQuery.data(this, \"events\") || {} )[event.type];\n\n\t\tfor ( var j in handlers ) {\n\t\t\tvar handler = handlers[j];\n\n\t\t\t// Filter the functions by class\n\t\t\tif ( all || namespace.test(handler.type) ) {\n\t\t\t\t// Pass in a reference to the handler function itself\n\t\t\t\t// So that we can later remove it\n\t\t\t\tevent.handler = handler;\n\t\t\t\tevent.data = handler.data;\n\n\t\t\t\tvar ret = handler.apply(this, arguments);\n\n\t\t\t\tif( ret !== undefined ){\n\t\t\t\t\tevent.result = ret;\n\t\t\t\t\tif ( ret === false ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif( event.isImmediatePropagationStopped() )\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\t\t}\n\t},\n\n\tprops: \"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(\" \"),\n\n\tfix: function(event) {\n\t\tif ( event[expando] )\n\t\t\treturn event;\n\n\t\t// store a copy of the original event object\n\t\t// and \"clone\" to set read-only properties\n\t\tvar originalEvent = event;\n\t\tevent = jQuery.Event( originalEvent );\n\n\t\tfor ( var i = this.props.length, prop; i; ){\n\t\t\tprop = this.props[ --i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Fix target property, if necessary\n\t\tif ( !event.target )\n\t\t\tevent.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either\n\n\t\t// check if target is a textnode (safari)\n\t\tif ( event.target.nodeType == 3 )\n\t\t\tevent.target = event.target.parentNode;\n\n\t\t// Add relatedTarget, if necessary\n\t\tif ( !event.relatedTarget && event.fromElement )\n\t\t\tevent.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;\n\n\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\tif ( event.pageX == null && event.clientX != null ) {\n\t\t\tvar doc = document.documentElement, body = document.body;\n\t\t\tevent.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);\n\t\t\tevent.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);\n\t\t}\n\n\t\t// Add which for key events\n\t\tif ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )\n\t\t\tevent.which = event.charCode || event.keyCode;\n\n\t\t// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)\n\t\tif ( !event.metaKey && event.ctrlKey )\n\t\t\tevent.metaKey = event.ctrlKey;\n\n\t\t// Add which for click: 1 == left; 2 == middle; 3 == right\n\t\t// Note: button is not normalized, so don't use it\n\t\tif ( !event.which && event.button )\n\t\t\tevent.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));\n\n\t\treturn event;\n\t},\n\n\tproxy: function( fn, proxy ){\n\t\tproxy = proxy || function(){ return fn.apply(this, arguments); };\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++;\n\t\t// So proxy can be declared as an argument\n\t\treturn proxy;\n\t},\n\n\tspecial: {\n\t\tready: {\n\t\t\t// Make sure the ready event is setup\n\t\t\tsetup: bindReady,\n\t\t\tteardown: function() {}\n\t\t}\n\t},\n\t\n\tspecialAll: {\n\t\tlive: {\n\t\t\tsetup: function( selector, namespaces ){\n\t\t\t\tjQuery.event.add( this, namespaces[0], liveHandler );\n\t\t\t},\n\t\t\tteardown: function( namespaces ){\n\t\t\t\tif ( namespaces.length ) {\n\t\t\t\t\tvar remove = 0, name = RegExp(\"(^|\\\\.)\" + namespaces[0] + \"(\\\\.|$)\");\n\t\t\t\t\t\n\t\t\t\t\tjQuery.each( (jQuery.data(this, \"events\").live || {}), function(){\n\t\t\t\t\t\tif ( name.test(this.type) )\n\t\t\t\t\t\t\tremove++;\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tif ( remove < 1 )\n\t\t\t\t\t\tjQuery.event.remove( this, namespaces[0], liveHandler );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\njQuery.Event = function( src ){\n\t// Allow instantiation without the 'new' keyword\n\tif( !this.preventDefault )\n\t\treturn new jQuery.Event(src);\n\t\n\t// Event object\n\tif( src && src.type ){\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\t// Event type\n\t}else\n\t\tthis.type = src;\n\n\t// timeStamp is buggy for some events on Firefox(#3843)\n\t// So we won't rely on the native value\n\tthis.timeStamp = now();\n\t\n\t// Mark it as fixed\n\tthis[expando] = true;\n};\n\nfunction returnFalse(){\n\treturn false;\n}\nfunction returnTrue(){\n\treturn true;\n}\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tpreventDefault: function() {\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tvar e = this.originalEvent;\n\t\tif( !e )\n\t\t\treturn;\n\t\t// if preventDefault exists run it on the original event\n\t\tif (e.preventDefault)\n\t\t\te.preventDefault();\n\t\t// otherwise set the returnValue property of the original event to false (IE)\n\t\te.returnValue = false;\n\t},\n\tstopPropagation: function() {\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tvar e = this.originalEvent;\n\t\tif( !e )\n\t\t\treturn;\n\t\t// if stopPropagation exists run it on the original event\n\t\tif (e.stopPropagation)\n\t\t\te.stopPropagation();\n\t\t// otherwise set the cancelBubble property of the original event to true (IE)\n\t\te.cancelBubble = true;\n\t},\n\tstopImmediatePropagation:function(){\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\t\tthis.stopPropagation();\n\t},\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse\n};\n// Checks if an event happened on an element within another element\n// Used in jQuery.event.special.mouseenter and mouseleave handlers\nvar withinElement = function(event) {\n\t// Check if mouse(over|out) are still within the same parent element\n\tvar parent = event.relatedTarget;\n\t// Traverse up the tree\n\twhile ( parent && parent != this )\n\t\ttry { parent = parent.parentNode; }\n\t\tcatch(e) { parent = this; }\n\t\n\tif( parent != this ){\n\t\t// set the correct event type\n\t\tevent.type = event.data;\n\t\t// handle event if we actually just moused on to a non sub-element\n\t\tjQuery.event.handle.apply( this, arguments );\n\t}\n};\n\t\njQuery.each({ \n\tmouseover: 'mouseenter', \n\tmouseout: 'mouseleave'\n}, function( orig, fix ){\n\tjQuery.event.special[ fix ] = {\n\t\tsetup: function(){\n\t\t\tjQuery.event.add( this, orig, withinElement, fix );\n\t\t},\n\t\tteardown: function(){\n\t\t\tjQuery.event.remove( this, orig, withinElement );\n\t\t}\n\t};\t\t\t \n});\n\njQuery.fn.extend({\n\tbind: function( type, data, fn ) {\n\t\treturn type == \"unload\" ? this.one(type, data, fn) : this.each(function(){\n\t\t\tjQuery.event.add( this, type, fn || data, fn && data );\n\t\t});\n\t},\n\n\tone: function( type, data, fn ) {\n\t\tvar one = jQuery.event.proxy( fn || data, function(event) {\n\t\t\tjQuery(this).unbind(event, one);\n\t\t\treturn (fn || data).apply( this, arguments );\n\t\t});\n\t\treturn this.each(function(){\n\t\t\tjQuery.event.add( this, type, one, fn && data);\n\t\t});\n\t},\n\n\tunbind: function( type, fn ) {\n\t\treturn this.each(function(){\n\t\t\tjQuery.event.remove( this, type, fn );\n\t\t});\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each(function(){\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t});\n\t},\n\n\ttriggerHandler: function( type, data ) {\n\t\tif( this[0] ){\n\t\t\tvar event = jQuery.Event(type);\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tjQuery.event.trigger( event, data, this[0] );\n\t\t\treturn event.result;\n\t\t}\t\t\n\t},\n\n\ttoggle: function( fn ) {\n\t\t// Save reference to arguments for access in closure\n\t\tvar args = arguments, i = 1;\n\n\t\t// link all the functions, so any of them can unbind this click handler\n\t\twhile( i < args.length )\n\t\t\tjQuery.event.proxy( fn, args[i++] );\n\n\t\treturn this.click( jQuery.event.proxy( fn, function(event) {\n\t\t\t// Figure out which function to execute\n\t\t\tthis.lastToggle = ( this.lastToggle || 0 ) % i;\n\n\t\t\t// Make sure that clicks stop\n\t\t\tevent.preventDefault();\n\n\t\t\t// and execute the function\n\t\t\treturn args[ this.lastToggle++ ].apply( this, arguments ) || false;\n\t\t}));\n\t},\n\n\thover: function(fnOver, fnOut) {\n\t\treturn this.mouseenter(fnOver).mouseleave(fnOut);\n\t},\n\n\tready: function(fn) {\n\t\t// Attach the listeners\n\t\tbindReady();\n\n\t\t// If the DOM is already ready\n\t\tif ( jQuery.isReady )\n\t\t\t// Execute the function immediately\n\t\t\tfn.call( document, jQuery );\n\n\t\t// Otherwise, remember the function for later\n\t\telse\n\t\t\t// Add the function to the wait list\n\t\t\tjQuery.readyList.push( fn );\n\n\t\treturn this;\n\t},\n\t\n\tlive: function( type, fn ){\n\t\tvar proxy = jQuery.event.proxy( fn );\n\t\tproxy.guid += this.selector + type;\n\n\t\tjQuery(document).bind( liveConvert(type, this.selector), this.selector, proxy );\n\n\t\treturn this;\n\t},\n\t\n\tdie: function( type, fn ){\n\t\tjQuery(document).unbind( liveConvert(type, this.selector), fn ? { guid: fn.guid + this.selector + type } : null );\n\t\treturn this;\n\t}\n});\n\nfunction liveHandler( event ){\n\tvar check = RegExp(\"(^|\\\\.)\" + event.type + \"(\\\\.|$)\"),\n\t\tstop = true,\n\t\telems = [];\n\n\tjQuery.each(jQuery.data(this, \"events\").live || [], function(i, fn){\n\t\tif ( check.test(fn.type) ) {\n\t\t\tvar elem = jQuery(event.target).closest(fn.data)[0];\n\t\t\tif ( elem )\n\t\t\t\telems.push({ elem: elem, fn: fn });\n\t\t}\n\t});\n\n\telems.sort(function(a,b) {\n\t\treturn jQuery.data(a.elem, \"closest\") - jQuery.data(b.elem, \"closest\");\n\t});\n\t\n\tjQuery.each(elems, function(){\n\t\tif ( this.fn.call(this.elem, event, this.fn.data) === false )\n\t\t\treturn (stop = false);\n\t});\n\n\treturn stop;\n}\n\nfunction liveConvert(type, selector){\n\treturn [\"live\", type, selector.replace(/\\./g, \"`\").replace(/ /g, \"|\")].join(\".\");\n}\n\njQuery.extend({\n\tisReady: false,\n\treadyList: [],\n\t// Handle when the DOM is ready\n\tready: function() {\n\t\t// Make sure that the DOM is not already loaded\n\t\tif ( !jQuery.isReady ) {\n\t\t\t// Remember that the DOM is ready\n\t\t\tjQuery.isReady = true;\n\n\t\t\t// If there are functions bound, to execute\n\t\t\tif ( jQuery.readyList ) {\n\t\t\t\t// Execute all of them\n\t\t\t\tjQuery.each( jQuery.readyList, function(){\n\t\t\t\t\tthis.call( document, jQuery );\n\t\t\t\t});\n\n\t\t\t\t// Reset the list of functions\n\t\t\t\tjQuery.readyList = null;\n\t\t\t}\n\n\t\t\t// Trigger any bound ready events\n\t\t\tjQuery(document).triggerHandler(\"ready\");\n\t\t}\n\t}\n});\n\nvar readyBound = false;\n\nfunction bindReady(){\n\tif ( readyBound ) return;\n\treadyBound = true;\n\n\t// Mozilla, Opera and webkit nightlies currently support this event\n\tif ( document.addEventListener ) {\n\t\t// Use the handy event callback\n\t\tdocument.addEventListener( \"DOMContentLoaded\", function(){\n\t\t\tdocument.removeEventListener( \"DOMContentLoaded\", arguments.callee, false );\n\t\t\tjQuery.ready();\n\t\t}, false );\n\n\t// If IE event model is used\n\t} else if ( document.attachEvent ) {\n\t\t// ensure firing before onload,\n\t\t// maybe late but safe also for iframes\n\t\tdocument.attachEvent(\"onreadystatechange\", function(){\n\t\t\tif ( document.readyState === \"complete\" ) {\n\t\t\t\tdocument.detachEvent( \"onreadystatechange\", arguments.callee );\n\t\t\t\tjQuery.ready();\n\t\t\t}\n\t\t});\n\n\t\t// If IE and not an iframe\n\t\t// continually check to see if the document is ready\n\t\tif ( document.documentElement.doScroll && window == window.top ) (function(){\n\t\t\tif ( jQuery.isReady ) return;\n\n\t\t\ttry {\n\t\t\t\t// If IE is used, use the trick by Diego Perini\n\t\t\t\t// http://javascript.nwbox.com/IEContentLoaded/\n\t\t\t\tdocument.documentElement.doScroll(\"left\");\n\t\t\t} catch( error ) {\n\t\t\t\tsetTimeout( arguments.callee, 0 );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// and execute any waiting functions\n\t\t\tjQuery.ready();\n\t\t})();\n\t}\n\n\t// A fallback to window.onload, that will always work\n\tjQuery.event.add( window, \"load\", jQuery.ready );\n}\n\njQuery.each( (\"blur,focus,load,resize,scroll,unload,click,dblclick,\" +\n\t\"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,\" +\n\t\"change,select,submit,keydown,keypress,keyup,error\").split(\",\"), function(i, name){\n\n\t// Handle event binding\n\tjQuery.fn[name] = function(fn){\n\t\treturn fn ? this.bind(name, fn) : this.trigger(name);\n\t};\n});\n\n// Prevent memory leaks in IE\n// And prevent errors on refresh with events like mouseover in other browsers\n// Window isn't included so as not to unbind existing unload events\njQuery( window ).bind( 'unload', function(){ \n\tfor ( var id in jQuery.cache )\n\t\t// Skip the window\n\t\tif ( id != 1 && jQuery.cache[ id ].handle )\n\t\t\tjQuery.event.remove( jQuery.cache[ id ].handle.elem );\n}); \n(function(){\n\n\tjQuery.support = {};\n\n\tvar root = document.documentElement,\n\t\tscript = document.createElement(\"script\"),\n\t\tdiv = document.createElement(\"div\"),\n\t\tid = \"script\" + (new Date).getTime();\n\n\tdiv.style.display = \"none\";\n\tdiv.innerHTML = ' <link/><table></table><a href=\"/a\" style=\"color:red;float:left;opacity:.5;\">a</a><select><option>text</option></select><object><param/></object>';\n\n\tvar all = div.getElementsByTagName(\"*\"),\n\t\ta = div.getElementsByTagName(\"a\")[0];\n\n\t// Can't get basic test support\n\tif ( !all || !all.length || !a ) {\n\t\treturn;\n\t}\n\n\tjQuery.support = {\n\t\t// IE strips leading whitespace when .innerHTML is used\n\t\tleadingWhitespace: div.firstChild.nodeType == 3,\n\t\t\n\t\t// Make sure that tbody elements aren't automatically inserted\n\t\t// IE will insert them into empty tables\n\t\ttbody: !div.getElementsByTagName(\"tbody\").length,\n\t\t\n\t\t// Make sure that you can get all elements in an <object> element\n\t\t// IE 7 always returns no results\n\t\tobjectAll: !!div.getElementsByTagName(\"object\")[0]\n\t\t\t.getElementsByTagName(\"*\").length,\n\t\t\n\t\t// Make sure that link elements get serialized correctly by innerHTML\n\t\t// This requires a wrapper element in IE\n\t\thtmlSerialize: !!div.getElementsByTagName(\"link\").length,\n\t\t\n\t\t// Get the style information from getAttribute\n\t\t// (IE uses .cssText insted)\n\t\tstyle: /red/.test( a.getAttribute(\"style\") ),\n\t\t\n\t\t// Make sure that URLs aren't manipulated\n\t\t// (IE normalizes it by default)\n\t\threfNormalized: a.getAttribute(\"href\") === \"/a\",\n\t\t\n\t\t// Make sure that element opacity exists\n\t\t// (IE uses filter instead)\n\t\topacity: a.style.opacity === \"0.5\",\n\t\t\n\t\t// Verify style float existence\n\t\t// (IE uses styleFloat instead of cssFloat)\n\t\tcssFloat: !!a.style.cssFloat,\n\n\t\t// Will be defined later\n\t\tscriptEval: false,\n\t\tnoCloneEvent: true,\n\t\tboxModel: null\n\t};\n\t\n\tscript.type = \"text/javascript\";\n\ttry {\n\t\tscript.appendChild( document.createTextNode( \"window.\" + id + \"=1;\" ) );\n\t} catch(e){}\n\n\troot.insertBefore( script, root.firstChild );\n\t\n\t// Make sure that the execution of code works by injecting a script\n\t// tag with appendChild/createTextNode\n\t// (IE doesn't support this, fails, and uses .text instead)\n\tif ( window[ id ] ) {\n\t\tjQuery.support.scriptEval = true;\n\t\tdelete window[ id ];\n\t}\n\n\troot.removeChild( script );\n\n\tif ( div.attachEvent && div.fireEvent ) {\n\t\tdiv.attachEvent(\"onclick\", function(){\n\t\t\t// Cloning a node shouldn't copy over any\n\t\t\t// bound event handlers (IE does this)\n\t\t\tjQuery.support.noCloneEvent = false;\n\t\t\tdiv.detachEvent(\"onclick\", arguments.callee);\n\t\t});\n\t\tdiv.cloneNode(true).fireEvent(\"onclick\");\n\t}\n\n\t// Figure out if the W3C box model works as expected\n\t// document.body must exist before we can do this\n\tjQuery(function(){\n\t\tvar div = document.createElement(\"div\");\n\t\tdiv.style.width = div.style.paddingLeft = \"1px\";\n\n\t\tdocument.body.appendChild( div );\n\t\tjQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;\n\t\tdocument.body.removeChild( div ).style.display = 'none';\n\t});\n})();\n\nvar styleFloat = jQuery.support.cssFloat ? \"cssFloat\" : \"styleFloat\";\n\njQuery.props = {\n\t\"for\": \"htmlFor\",\n\t\"class\": \"className\",\n\t\"float\": styleFloat,\n\tcssFloat: styleFloat,\n\tstyleFloat: styleFloat,\n\treadonly: \"readOnly\",\n\tmaxlength: \"maxLength\",\n\tcellspacing: \"cellSpacing\",\n\trowspan: \"rowSpan\",\n\ttabindex: \"tabIndex\"\n};\njQuery.fn.extend({\n\t// Keep a copy of the old load\n\t_load: jQuery.fn.load,\n\n\tload: function( url, params, callback ) {\n\t\tif ( typeof url !== \"string\" )\n\t\t\treturn this._load( url );\n\n\t\tvar off = url.indexOf(\" \");\n\t\tif ( off >= 0 ) {\n\t\t\tvar selector = url.slice(off, url.length);\n\t\t\turl = url.slice(0, off);\n\t\t}\n\n\t\t// Default to a GET request\n\t\tvar type = \"GET\";\n\n\t\t// If the second parameter was provided\n\t\tif ( params )\n\t\t\t// If it's a function\n\t\t\tif ( jQuery.isFunction( params ) ) {\n\t\t\t\t// We assume that it's the callback\n\t\t\t\tcallback = params;\n\t\t\t\tparams = null;\n\n\t\t\t// Otherwise, build a param string\n\t\t\t} else if( typeof params === \"object\" ) {\n\t\t\t\tparams = jQuery.param( params );\n\t\t\t\ttype = \"POST\";\n\t\t\t}\n\n\t\tvar self = this;\n\n\t\t// Request the remote document\n\t\tjQuery.ajax({\n\t\t\turl: url,\n\t\t\ttype: type,\n\t\t\tdataType: \"html\",\n\t\t\tdata: params,\n\t\t\tcomplete: function(res, status){\n\t\t\t\t// If successful, inject the HTML into all the matched elements\n\t\t\t\tif ( status == \"success\" || status == \"notmodified\" )\n\t\t\t\t\t// See if a selector was specified\n\t\t\t\t\tself.html( selector ?\n\t\t\t\t\t\t// Create a dummy div to hold the results\n\t\t\t\t\t\tjQuery(\"<div/>\")\n\t\t\t\t\t\t\t// inject the contents of the document in, removing the scripts\n\t\t\t\t\t\t\t// to avoid any 'Permission Denied' errors in IE\n\t\t\t\t\t\t\t.append(res.responseText.replace(/<script(.|\\s)*?\\/script>/g, \"\"))\n\n\t\t\t\t\t\t\t// Locate the specified elements\n\t\t\t\t\t\t\t.find(selector) :\n\n\t\t\t\t\t\t// If not, just inject the full result\n\t\t\t\t\t\tres.responseText );\n\n\t\t\t\tif( callback )\n\t\t\t\t\tself.each( callback, [res.responseText, status, res] );\n\t\t\t}\n\t\t});\n\t\treturn this;\n\t},\n\n\tserialize: function() {\n\t\treturn jQuery.param(this.serializeArray());\n\t},\n\tserializeArray: function() {\n\t\treturn this.map(function(){\n\t\t\treturn this.elements ? jQuery.makeArray(this.elements) : this;\n\t\t})\n\t\t.filter(function(){\n\t\t\treturn this.name && !this.disabled &&\n\t\t\t\t(this.checked || /select|textarea/i.test(this.nodeName) ||\n\t\t\t\t\t/text|hidden|password|search/i.test(this.type));\n\t\t})\n\t\t.map(function(i, elem){\n\t\t\tvar val = jQuery(this).val();\n\t\t\treturn val == null ? null :\n\t\t\t\tjQuery.isArray(val) ?\n\t\t\t\t\tjQuery.map( val, function(val, i){\n\t\t\t\t\t\treturn {name: elem.name, value: val};\n\t\t\t\t\t}) :\n\t\t\t\t\t{name: elem.name, value: val};\n\t\t}).get();\n\t}\n});\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( \"ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend\".split(\",\"), function(i,o){\n\tjQuery.fn[o] = function(f){\n\t\treturn this.bind(o, f);\n\t};\n});\n\nvar jsc = now();\n\njQuery.extend({\n \n\tget: function( url, data, callback, type ) {\n\t\t// shift arguments if data argument was ommited\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\tcallback = data;\n\t\t\tdata = null;\n\t\t}\n\n\t\treturn jQuery.ajax({\n\t\t\ttype: \"GET\",\n\t\t\turl: url,\n\t\t\tdata: data,\n\t\t\tsuccess: callback,\n\t\t\tdataType: type\n\t\t});\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get(url, null, callback, \"script\");\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get(url, data, callback, \"json\");\n\t},\n\n\tpost: function( url, data, callback, type ) {\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\tcallback = data;\n\t\t\tdata = {};\n\t\t}\n\n\t\treturn jQuery.ajax({\n\t\t\ttype: \"POST\",\n\t\t\turl: url,\n\t\t\tdata: data,\n\t\t\tsuccess: callback,\n\t\t\tdataType: type\n\t\t});\n\t},\n\n\tajaxSetup: function( settings ) {\n\t\tjQuery.extend( jQuery.ajaxSettings, settings );\n\t},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\tglobal: true,\n\t\ttype: \"GET\",\n\t\tcontentType: \"application/x-www-form-urlencoded\",\n\t\tprocessData: true,\n\t\tasync: true,\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\t*/\n\t\t// Create the request object; Microsoft failed to properly\n\t\t// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available\n\t\t// This function can be overriden by calling jQuery.ajaxSetup\n\t\txhr:function(){\n\t\t\treturn window.ActiveXObject ? new ActiveXObject(\"Microsoft.XMLHTTP\") : new XMLHttpRequest();\n\t\t},\n\t\taccepts: {\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\thtml: \"text/html\",\n\t\t\tscript: \"text/javascript, application/javascript\",\n\t\t\tjson: \"application/json, text/javascript\",\n\t\t\ttext: \"text/plain\",\n\t\t\t_default: \"*/*\"\n\t\t}\n\t},\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\n\tajax: function( s ) {\n\t\t// Extend the settings, but re-extend 's' so that it can be\n\t\t// checked again later (in the test suite, specifically)\n\t\ts = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));\n\n\t\tvar jsonp, jsre = /=\\?(&|$)/g, status, data,\n\t\t\ttype = s.type.toUpperCase();\n\n\t\t// convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" )\n\t\t\ts.data = jQuery.param(s.data);\n\n\t\t// Handle JSONP Parameter Callbacks\n\t\tif ( s.dataType == \"jsonp\" ) {\n\t\t\tif ( type == \"GET\" ) {\n\t\t\t\tif ( !s.url.match(jsre) )\n\t\t\t\t\ts.url += (s.url.match(/\\?/) ? \"&\" : \"?\") + (s.jsonp || \"callback\") + \"=?\";\n\t\t\t} else if ( !s.data || !s.data.match(jsre) )\n\t\t\t\ts.data = (s.data ? s.data + \"&\" : \"\") + (s.jsonp || \"callback\") + \"=?\";\n\t\t\ts.dataType = \"json\";\n\t\t}\n\n\t\t// Build temporary JSONP function\n\t\tif ( s.dataType == \"json\" && (s.data && s.data.match(jsre) || s.url.match(jsre)) ) {\n\t\t\tjsonp = \"jsonp\" + jsc++;\n\n\t\t\t// Replace the =? sequence both in the query string and the data\n\t\t\tif ( s.data )\n\t\t\t\ts.data = (s.data + \"\").replace(jsre, \"=\" + jsonp + \"$1\");\n\t\t\ts.url = s.url.replace(jsre, \"=\" + jsonp + \"$1\");\n\n\t\t\t// We need to make sure\n\t\t\t// that a JSONP style response is executed properly\n\t\t\ts.dataType = \"script\";\n\n\t\t\t// Handle JSONP-style loading\n\t\t\twindow[ jsonp ] = function(tmp){\n\t\t\t\tdata = tmp;\n\t\t\t\tsuccess();\n\t\t\t\tcomplete();\n\t\t\t\t// Garbage collect\n\t\t\t\twindow[ jsonp ] = undefined;\n\t\t\t\ttry{ delete window[ jsonp ]; } catch(e){}\n\t\t\t\tif ( head )\n\t\t\t\t\thead.removeChild( script );\n\t\t\t};\n\t\t}\n\n\t\tif ( s.dataType == \"script\" && s.cache == null )\n\t\t\ts.cache = false;\n\n\t\tif ( s.cache === false && type == \"GET\" ) {\n\t\t\tvar ts = now();\n\t\t\t// try replacing _= if it is there\n\t\t\tvar ret = s.url.replace(/(\\?|&)_=.*?(&|$)/, \"$1_=\" + ts + \"$2\");\n\t\t\t// if nothing was replaced, add timestamp to the end\n\t\t\ts.url = ret + ((ret == s.url) ? (s.url.match(/\\?/) ? \"&\" : \"?\") + \"_=\" + ts : \"\");\n\t\t}\n\n\t\t// If data is available, append data to url for get requests\n\t\tif ( s.data && type == \"GET\" ) {\n\t\t\ts.url += (s.url.match(/\\?/) ? \"&\" : \"?\") + s.data;\n\n\t\t\t// IE likes to send both get and post data, prevent this\n\t\t\ts.data = null;\n\t\t}\n\n\t\t// Watch for a new set of requests\n\t\tif ( s.global && ! jQuery.active++ )\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\n\t\t// Matches an absolute URL, and saves the domain\n\t\tvar parts = /^(\\w+:)?\\/\\/([^\\/?#]+)/.exec( s.url );\n\n\t\t// If we're requesting a remote document\n\t\t// and trying to load JSON or Script with a GET\n\t\tif ( s.dataType == \"script\" && type == \"GET\" && parts\n\t\t\t&& ( parts[1] && parts[1] != location.protocol || parts[2] != location.host )){\n\n\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n\t\t\tvar script = document.createElement(\"script\");\n\t\t\tscript.src = s.url;\n\t\t\tif (s.scriptCharset)\n\t\t\t\tscript.charset = s.scriptCharset;\n\n\t\t\t// Handle Script loading\n\t\t\tif ( !jsonp ) {\n\t\t\t\tvar done = false;\n\n\t\t\t\t// Attach handlers for all browsers\n\t\t\t\tscript.onload = script.onreadystatechange = function(){\n\t\t\t\t\tif ( !done && (!this.readyState ||\n\t\t\t\t\t\t\tthis.readyState == \"loaded\" || this.readyState == \"complete\") ) {\n\t\t\t\t\t\tdone = true;\n\t\t\t\t\t\tsuccess();\n\t\t\t\t\t\tcomplete();\n\n\t\t\t\t\t\t// Handle memory leak in IE\n\t\t\t\t\t\tscript.onload = script.onreadystatechange = null;\n\t\t\t\t\t\thead.removeChild( script );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\thead.appendChild(script);\n\n\t\t\t// We handle everything using the script element injection\n\t\t\treturn undefined;\n\t\t}\n\n\t\tvar requestDone = false;\n\n\t\t// Create the request object\n\t\tvar xhr = s.xhr();\n\n\t\t// Open the socket\n\t\t// Passing null username, generates a login popup on Opera (#2865)\n\t\tif( s.username )\n\t\t\txhr.open(type, s.url, s.async, s.username, s.password);\n\t\telse\n\t\t\txhr.open(type, s.url, s.async);\n\n\t\t// Need an extra try/catch for cross domain requests in Firefox 3\n\t\ttry {\n\t\t\t// Set the correct header, if data is being sent\n\t\t\tif ( s.data )\n\t\t\t\txhr.setRequestHeader(\"Content-Type\", s.contentType);\n\n\t\t\t// Set the If-Modified-Since header, if ifModified mode.\n\t\t\tif ( s.ifModified )\n\t\t\t\txhr.setRequestHeader(\"If-Modified-Since\",\n\t\t\t\t\tjQuery.lastModified[s.url] || \"Thu, 01 Jan 1970 00:00:00 GMT\" );\n\n\t\t\t// Set header so the called script knows that it's an XMLHttpRequest\n\t\t\txhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n\n\t\t\t// Set the Accepts header for the server, depending on the dataType\n\t\t\txhr.setRequestHeader(\"Accept\", s.dataType && s.accepts[ s.dataType ] ?\n\t\t\t\ts.accepts[ s.dataType ] + \", */*\" :\n\t\t\t\ts.accepts._default );\n\t\t} catch(e){}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend && s.beforeSend(xhr, s) === false ) {\n\t\t\t// Handle the global AJAX counter\n\t\t\tif ( s.global && ! --jQuery.active )\n\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t// close opended socket\n\t\t\txhr.abort();\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( s.global )\n\t\t\tjQuery.event.trigger(\"ajaxSend\", [xhr, s]);\n\n\t\t// Wait for a response to come back\n\t\tvar onreadystatechange = function(isTimeout){\n\t\t\t// The request was aborted, clear the interval and decrement jQuery.active\n\t\t\tif (xhr.readyState == 0) {\n\t\t\t\tif (ival) {\n\t\t\t\t\t// clear poll interval\n\t\t\t\t\tclearInterval(ival);\n\t\t\t\t\tival = null;\n\t\t\t\t\t// Handle the global AJAX counter\n\t\t\t\t\tif ( s.global && ! --jQuery.active )\n\t\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t// The transfer is complete and the data is available, or the request timed out\n\t\t\t} else if ( !requestDone && xhr && (xhr.readyState == 4 || isTimeout == \"timeout\") ) {\n\t\t\t\trequestDone = true;\n\n\t\t\t\t// clear poll interval\n\t\t\t\tif (ival) {\n\t\t\t\t\tclearInterval(ival);\n\t\t\t\t\tival = null;\n\t\t\t\t}\n\n\t\t\t\tstatus = isTimeout == \"timeout\" ? \"timeout\" :\n\t\t\t\t\t!jQuery.httpSuccess( xhr ) ? \"error\" :\n\t\t\t\t\ts.ifModified && jQuery.httpNotModified( xhr, s.url ) ? \"notmodified\" :\n\t\t\t\t\t\"success\";\n\n\t\t\t\tif ( status == \"success\" ) {\n\t\t\t\t\t// Watch for, and catch, XML document parse errors\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// process the data (runs the xml through httpData regardless of callback)\n\t\t\t\t\t\tdata = jQuery.httpData( xhr, s.dataType, s );\n\t\t\t\t\t} catch(e) {\n\t\t\t\t\t\tstatus = \"parsererror\";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Make sure that the request was successful or notmodified\n\t\t\t\tif ( status == \"success\" ) {\n\t\t\t\t\t// Cache Last-Modified header, if ifModified mode.\n\t\t\t\t\tvar modRes;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tmodRes = xhr.getResponseHeader(\"Last-Modified\");\n\t\t\t\t\t} catch(e) {} // swallow exception thrown by FF if header is not available\n\n\t\t\t\t\tif ( s.ifModified && modRes )\n\t\t\t\t\t\tjQuery.lastModified[s.url] = modRes;\n\n\t\t\t\t\t// JSONP handles its own success callback\n\t\t\t\t\tif ( !jsonp )\n\t\t\t\t\t\tsuccess();\n\t\t\t\t} else\n\t\t\t\t\tjQuery.handleError(s, xhr, status);\n\n\t\t\t\t// Fire the complete handlers\n\t\t\t\tcomplete();\n\n\t\t\t\tif ( isTimeout )\n\t\t\t\t\txhr.abort();\n\n\t\t\t\t// Stop memory leaks\n\t\t\t\tif ( s.async )\n\t\t\t\t\txhr = null;\n\t\t\t}\n\t\t};\n\n\t\tif ( s.async ) {\n\t\t\t// don't attach the handler to the request, just poll it instead\n\t\t\tvar ival = setInterval(onreadystatechange, 13);\n\n\t\t\t// Timeout checker\n\t\t\tif ( s.timeout > 0 )\n\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t// Check to see if the request is still happening\n\t\t\t\t\tif ( xhr && !requestDone )\n\t\t\t\t\t\tonreadystatechange( \"timeout\" );\n\t\t\t\t}, s.timeout);\n\t\t}\n\n\t\t// Send the data\n\t\ttry {\n\t\t\txhr.send(s.data);\n\t\t} catch(e) {\n\t\t\tjQuery.handleError(s, xhr, null, e);\n\t\t}\n\n\t\t// firefox 1.5 doesn't fire statechange for sync requests\n\t\tif ( !s.async )\n\t\t\tonreadystatechange();\n\n\t\tfunction success(){\n\t\t\t// If a local callback was specified, fire it and pass it the data\n\t\t\tif ( s.success )\n\t\t\t\ts.success( data, status );\n\n\t\t\t// Fire the global callback\n\t\t\tif ( s.global )\n\t\t\t\tjQuery.event.trigger( \"ajaxSuccess\", [xhr, s] );\n\t\t}\n\n\t\tfunction complete(){\n\t\t\t// Process result\n\t\t\tif ( s.complete )\n\t\t\t\ts.complete(xhr, status);\n\n\t\t\t// The request was completed\n\t\t\tif ( s.global )\n\t\t\t\tjQuery.event.trigger( \"ajaxComplete\", [xhr, s] );\n\n\t\t\t// Handle the global AJAX counter\n\t\t\tif ( s.global && ! --jQuery.active )\n\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t}\n\n\t\t// return XMLHttpRequest to allow aborting the request etc.\n\t\treturn xhr;\n\t},\n\n\thandleError: function( s, xhr, status, e ) {\n\t\t// If a local callback was specified, fire it\n\t\tif ( s.error ) s.error( xhr, status, e );\n\n\t\t// Fire the global callback\n\t\tif ( s.global )\n\t\t\tjQuery.event.trigger( \"ajaxError\", [xhr, s, e] );\n\t},\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Determines if an XMLHttpRequest was successful or not\n\thttpSuccess: function( xhr ) {\n\t\ttry {\n\t\t\t// IE error sometimes returns 1223 when it should be 204 so treat it as success, see #1450\n\t\t\treturn !xhr.status && location.protocol == \"file:\" ||\n\t\t\t\t( xhr.status >= 200 && xhr.status < 300 ) || xhr.status == 304 || xhr.status == 1223;\n\t\t} catch(e){}\n\t\treturn false;\n\t},\n\n\t// Determines if an XMLHttpRequest returns NotModified\n\thttpNotModified: function( xhr, url ) {\n\t\ttry {\n\t\t\tvar xhrRes = xhr.getResponseHeader(\"Last-Modified\");\n\n\t\t\t// Firefox always returns 200. check Last-Modified date\n\t\t\treturn xhr.status == 304 || xhrRes == jQuery.lastModified[url];\n\t\t} catch(e){}\n\t\treturn false;\n\t},\n\n\thttpData: function( xhr, type, s ) {\n\t\tvar ct = xhr.getResponseHeader(\"content-type\"),\n\t\t\txml = type == \"xml\" || !type && ct && ct.indexOf(\"xml\") >= 0,\n\t\t\tdata = xml ? xhr.responseXML : xhr.responseText;\n\n\t\tif ( xml && data.documentElement.tagName == \"parsererror\" )\n\t\t\tthrow \"parsererror\";\n\t\t\t\n\t\t// Allow a pre-filtering function to sanitize the response\n\t\t// s != null is checked to keep backwards compatibility\n\t\tif( s && s.dataFilter )\n\t\t\tdata = s.dataFilter( data, type );\n\n\t\t// The filter can actually parse the response\n\t\tif( typeof data === \"string\" ){\n\n\t\t\t// If the type is \"script\", eval it in global context\n\t\t\tif ( type == \"script\" )\n\t\t\t\tjQuery.globalEval( data );\n\n\t\t\t// Get the JavaScript object, if JSON is used.\n\t\t\tif ( type == \"json\" )\n\t\t\t\tdata = window[\"eval\"](\"(\" + data + \")\");\n\t\t}\n\t\t\n\t\treturn data;\n\t},\n\n\t// Serialize an array of form elements or a set of\n\t// key/values into a query string\n\tparam: function( a ) {\n\t\tvar s = [ ];\n\n\t\tfunction add( key, value ){\n\t\t\ts[ s.length ] = encodeURIComponent(key) + '=' + encodeURIComponent(value);\n\t\t};\n\n\t\t// If an array was passed in, assume that it is an array\n\t\t// of form elements\n\t\tif ( jQuery.isArray(a) || a.jquery )\n\t\t\t// Serialize the form elements\n\t\t\tjQuery.each( a, function(){\n\t\t\t\tadd( this.name, this.value );\n\t\t\t});\n\n\t\t// Otherwise, assume that it's an object of key/value pairs\n\t\telse\n\t\t\t// Serialize the key/values\n\t\t\tfor ( var j in a )\n\t\t\t\t// If the value is an array then the key names need to be repeated\n\t\t\t\tif ( jQuery.isArray(a[j]) )\n\t\t\t\t\tjQuery.each( a[j], function(){\n\t\t\t\t\t\tadd( j, this );\n\t\t\t\t\t});\n\t\t\t\telse\n\t\t\t\t\tadd( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );\n\n\t\t// Return the resulting serialization\n\t\treturn s.join(\"&\").replace(/%20/g, \"+\");\n\t}\n\n});\nvar elemdisplay = {},\n\ttimerId,\n\tfxAttrs = [\n\t\t// height animations\n\t\t[ \"height\", \"marginTop\", \"marginBottom\", \"paddingTop\", \"paddingBottom\" ],\n\t\t// width animations\n\t\t[ \"width\", \"marginLeft\", \"marginRight\", \"paddingLeft\", \"paddingRight\" ],\n\t\t// opacity animations\n\t\t[ \"opacity\" ]\n\t];\n\nfunction genFx( type, num ){\n\tvar obj = {};\n\tjQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function(){\n\t\tobj[ this ] = type;\n\t});\n\treturn obj;\n}\n\njQuery.fn.extend({\n\tshow: function(speed,callback){\n\t\tif ( speed ) {\n\t\t\treturn this.animate( genFx(\"show\", 3), speed, callback);\n\t\t} else {\n\t\t\tfor ( var i = 0, l = this.length; i < l; i++ ){\n\t\t\t\tvar old = jQuery.data(this[i], \"olddisplay\");\n\t\t\t\t\n\t\t\t\tthis[i].style.display = old || \"\";\n\t\t\t\t\n\t\t\t\tif ( jQuery.css(this[i], \"display\") === \"none\" ) {\n\t\t\t\t\tvar tagName = this[i].tagName, display;\n\t\t\t\t\t\n\t\t\t\t\tif ( elemdisplay[ tagName ] ) {\n\t\t\t\t\t\tdisplay = elemdisplay[ tagName ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar elem = jQuery(\"<\" + tagName + \" />\").appendTo(\"body\");\n\t\t\t\t\t\t\n\t\t\t\t\t\tdisplay = elem.css(\"display\");\n\t\t\t\t\t\tif ( display === \"none\" )\n\t\t\t\t\t\t\tdisplay = \"block\";\n\t\t\t\t\t\t\n\t\t\t\t\t\telem.remove();\n\t\t\t\t\t\t\n\t\t\t\t\t\telemdisplay[ tagName ] = display;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tjQuery.data(this[i], \"olddisplay\", display);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set the display of the elements in a second loop\n\t\t\t// to avoid the constant reflow\n\t\t\tfor ( var i = 0, l = this.length; i < l; i++ ){\n\t\t\t\tthis[i].style.display = jQuery.data(this[i], \"olddisplay\") || \"\";\n\t\t\t}\n\t\t\t\n\t\t\treturn this;\n\t\t}\n\t},\n\n\thide: function(speed,callback){\n\t\tif ( speed ) {\n\t\t\treturn this.animate( genFx(\"hide\", 3), speed, callback);\n\t\t} else {\n\t\t\tfor ( var i = 0, l = this.length; i < l; i++ ){\n\t\t\t\tvar old = jQuery.data(this[i], \"olddisplay\");\n\t\t\t\tif ( !old && old !== \"none\" )\n\t\t\t\t\tjQuery.data(this[i], \"olddisplay\", jQuery.css(this[i], \"display\"));\n\t\t\t}\n\n\t\t\t// Set the display of the elements in a second loop\n\t\t\t// to avoid the constant reflow\n\t\t\tfor ( var i = 0, l = this.length; i < l; i++ ){\n\t\t\t\tthis[i].style.display = \"none\";\n\t\t\t}\n\n\t\t\treturn this;\n\t\t}\n\t},\n\n\t// Save the old toggle function\n\t_toggle: jQuery.fn.toggle,\n\n\ttoggle: function( fn, fn2 ){\n\t\tvar bool = typeof fn === \"boolean\";\n\n\t\treturn jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?\n\t\t\tthis._toggle.apply( this, arguments ) :\n\t\t\tfn == null || bool ?\n\t\t\t\tthis.each(function(){\n\t\t\t\t\tvar state = bool ? fn : jQuery(this).is(\":hidden\");\n\t\t\t\t\tjQuery(this)[ state ? \"show\" : \"hide\" ]();\n\t\t\t\t}) :\n\t\t\t\tthis.animate(genFx(\"toggle\", 3), fn, fn2);\n\t},\n\n\tfadeTo: function(speed,to,callback){\n\t\treturn this.animate({opacity: to}, speed, callback);\n\t},\n\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar optall = jQuery.speed(speed, easing, callback);\n\n\t\treturn this[ optall.queue === false ? \"each\" : \"queue\" ](function(){\n\t\t\n\t\t\tvar opt = jQuery.extend({}, optall), p,\n\t\t\t\thidden = this.nodeType == 1 && jQuery(this).is(\":hidden\"),\n\t\t\t\tself = this;\n\t\n\t\t\tfor ( p in prop ) {\n\t\t\t\tif ( prop[p] == \"hide\" && hidden || prop[p] == \"show\" && !hidden )\n\t\t\t\t\treturn opt.complete.call(this);\n\n\t\t\t\tif ( ( p == \"height\" || p == \"width\" ) && this.style ) {\n\t\t\t\t\t// Store display property\n\t\t\t\t\topt.display = jQuery.css(this, \"display\");\n\n\t\t\t\t\t// Make sure that nothing sneaks out\n\t\t\t\t\topt.overflow = this.style.overflow;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( opt.overflow != null )\n\t\t\t\tthis.style.overflow = \"hidden\";\n\n\t\t\topt.curAnim = jQuery.extend({}, prop);\n\n\t\t\tjQuery.each( prop, function(name, val){\n\t\t\t\tvar e = new jQuery.fx( self, opt, name );\n\n\t\t\t\tif ( /toggle|show|hide/.test(val) )\n\t\t\t\t\te[ val == \"toggle\" ? hidden ? \"show\" : \"hide\" : val ]( prop );\n\t\t\t\telse {\n\t\t\t\t\tvar parts = val.toString().match(/^([+-]=)?([\\d+-.]+)(.*)$/),\n\t\t\t\t\t\tstart = e.cur(true) || 0;\n\n\t\t\t\t\tif ( parts ) {\n\t\t\t\t\t\tvar end = parseFloat(parts[2]),\n\t\t\t\t\t\t\tunit = parts[3] || \"px\";\n\n\t\t\t\t\t\t// We need to compute starting value\n\t\t\t\t\t\tif ( unit != \"px\" ) {\n\t\t\t\t\t\t\tself.style[ name ] = (end || 1) + unit;\n\t\t\t\t\t\t\tstart = ((end || 1) / e.cur(true)) * start;\n\t\t\t\t\t\t\tself.style[ name ] = start + unit;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If a +=/-= token was provided, we're doing a relative animation\n\t\t\t\t\t\tif ( parts[1] )\n\t\t\t\t\t\t\tend = ((parts[1] == \"-=\" ? -1 : 1) * end) + start;\n\n\t\t\t\t\t\te.custom( start, end, unit );\n\t\t\t\t\t} else\n\t\t\t\t\t\te.custom( start, val, \"\" );\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// For JS strict compliance\n\t\t\treturn true;\n\t\t});\n\t},\n\n\tstop: function(clearQueue, gotoEnd){\n\t\tvar timers = jQuery.timers;\n\n\t\tif (clearQueue)\n\t\t\tthis.queue([]);\n\n\t\tthis.each(function(){\n\t\t\t// go in reverse order so anything added to the queue during the loop is ignored\n\t\t\tfor ( var i = timers.length - 1; i >= 0; i-- )\n\t\t\t\tif ( timers[i].elem == this ) {\n\t\t\t\t\tif (gotoEnd)\n\t\t\t\t\t\t// force the next step to be the last\n\t\t\t\t\t\ttimers[i](true);\n\t\t\t\t\ttimers.splice(i, 1);\n\t\t\t\t}\n\t\t});\n\n\t\t// start the next in the queue if the last step wasn't forced\n\t\tif (!gotoEnd)\n\t\t\tthis.dequeue();\n\n\t\treturn this;\n\t}\n\n});\n\n// Generate shortcuts for custom animations\njQuery.each({\n\tslideDown: genFx(\"show\", 1),\n\tslideUp: genFx(\"hide\", 1),\n\tslideToggle: genFx(\"toggle\", 1),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" }\n}, function( name, props ){\n\tjQuery.fn[ name ] = function( speed, callback ){\n\t\treturn this.animate( props, speed, callback );\n\t};\n});\n\njQuery.extend({\n\n\tspeed: function(speed, easing, fn) {\n\t\tvar opt = typeof speed === \"object\" ? speed : {\n\t\t\tcomplete: fn || !fn && easing ||\n\t\t\t\tjQuery.isFunction( speed ) && speed,\n\t\t\tduration: speed,\n\t\t\teasing: fn && easing || easing && !jQuery.isFunction(easing) && easing\n\t\t};\n\n\t\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ? opt.duration :\n\t\t\tjQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;\n\n\t\t// Queueing\n\t\topt.old = opt.complete;\n\t\topt.complete = function(){\n\t\t\tif ( opt.queue !== false )\n\t\t\t\tjQuery(this).dequeue();\n\t\t\tif ( jQuery.isFunction( opt.old ) )\n\t\t\t\topt.old.call( this );\n\t\t};\n\n\t\treturn opt;\n\t},\n\n\teasing: {\n\t\tlinear: function( p, n, firstNum, diff ) {\n\t\t\treturn firstNum + diff * p;\n\t\t},\n\t\tswing: function( p, n, firstNum, diff ) {\n\t\t\treturn ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;\n\t\t}\n\t},\n\n\ttimers: [],\n\n\tfx: function( elem, options, prop ){\n\t\tthis.options = options;\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\n\t\tif ( !options.orig )\n\t\t\toptions.orig = {};\n\t}\n\n});\n\njQuery.fx.prototype = {\n\n\t// Simple function for setting a style value\n\tupdate: function(){\n\t\tif ( this.options.step )\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\n\t\t(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );\n\n\t\t// Set display property to block for height/width animations\n\t\tif ( ( this.prop == \"height\" || this.prop == \"width\" ) && this.elem.style )\n\t\t\tthis.elem.style.display = \"block\";\n\t},\n\n\t// Get the current size\n\tcur: function(force){\n\t\tif ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) )\n\t\t\treturn this.elem[ this.prop ];\n\n\t\tvar r = parseFloat(jQuery.css(this.elem, this.prop, force));\n\t\treturn r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;\n\t},\n\n\t// Start an animation from one number to another\n\tcustom: function(from, to, unit){\n\t\tthis.startTime = now();\n\t\tthis.start = from;\n\t\tthis.end = to;\n\t\tthis.unit = unit || this.unit || \"px\";\n\t\tthis.now = this.start;\n\t\tthis.pos = this.state = 0;\n\n\t\tvar self = this;\n\t\tfunction t(gotoEnd){\n\t\t\treturn self.step(gotoEnd);\n\t\t}\n\n\t\tt.elem = this.elem;\n\n\t\tif ( t() && jQuery.timers.push(t) && !timerId ) {\n\t\t\ttimerId = setInterval(function(){\n\t\t\t\tvar timers = jQuery.timers;\n\n\t\t\t\tfor ( var i = 0; i < timers.length; i++ )\n\t\t\t\t\tif ( !timers[i]() )\n\t\t\t\t\t\ttimers.splice(i--, 1);\n\n\t\t\t\tif ( !timers.length ) {\n\t\t\t\t\tclearInterval( timerId );\n\t\t\t\t\ttimerId = undefined;\n\t\t\t\t}\n\t\t\t}, 13);\n\t\t}\n\t},\n\n\t// Simple 'show' function\n\tshow: function(){\n\t\t// Remember where we started, so that we can go back to it later\n\t\tthis.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );\n\t\tthis.options.show = true;\n\n\t\t// Begin the animation\n\t\t// Make sure that we start at a small width/height to avoid any\n\t\t// flash of content\n\t\tthis.custom(this.prop == \"width\" || this.prop == \"height\" ? 1 : 0, this.cur());\n\n\t\t// Start by showing the element\n\t\tjQuery(this.elem).show();\n\t},\n\n\t// Simple 'hide' function\n\thide: function(){\n\t\t// Remember where we started, so that we can go back to it later\n\t\tthis.options.orig[this.prop] = jQuery.attr( this.elem.style, this.prop );\n\t\tthis.options.hide = true;\n\n\t\t// Begin the animation\n\t\tthis.custom(this.cur(), 0);\n\t},\n\n\t// Each step of an animation\n\tstep: function(gotoEnd){\n\t\tvar t = now();\n\n\t\tif ( gotoEnd || t >= this.options.duration + this.startTime ) {\n\t\t\tthis.now = this.end;\n\t\t\tthis.pos = this.state = 1;\n\t\t\tthis.update();\n\n\t\t\tthis.options.curAnim[ this.prop ] = true;\n\n\t\t\tvar done = true;\n\t\t\tfor ( var i in this.options.curAnim )\n\t\t\t\tif ( this.options.curAnim[i] !== true )\n\t\t\t\t\tdone = false;\n\n\t\t\tif ( done ) {\n\t\t\t\tif ( this.options.display != null ) {\n\t\t\t\t\t// Reset the overflow\n\t\t\t\t\tthis.elem.style.overflow = this.options.overflow;\n\n\t\t\t\t\t// Reset the display\n\t\t\t\t\tthis.elem.style.display = this.options.display;\n\t\t\t\t\tif ( jQuery.css(this.elem, \"display\") == \"none\" )\n\t\t\t\t\t\tthis.elem.style.display = \"block\";\n\t\t\t\t}\n\n\t\t\t\t// Hide the element if the \"hide\" operation was done\n\t\t\t\tif ( this.options.hide )\n\t\t\t\t\tjQuery(this.elem).hide();\n\n\t\t\t\t// Reset the properties, if the item has been hidden or shown\n\t\t\t\tif ( this.options.hide || this.options.show )\n\t\t\t\t\tfor ( var p in this.options.curAnim )\n\t\t\t\t\t\tjQuery.attr(this.elem.style, p, this.options.orig[p]);\n\t\t\t\t\t\n\t\t\t\t// Execute the complete function\n\t\t\t\tthis.options.complete.call( this.elem );\n\t\t\t}\n\n\t\t\treturn false;\n\t\t} else {\n\t\t\tvar n = t - this.startTime;\n\t\t\tthis.state = n / this.options.duration;\n\n\t\t\t// Perform the easing function, defaults to swing\n\t\t\tthis.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? \"swing\" : \"linear\")](this.state, n, 0, 1, this.options.duration);\n\t\t\tthis.now = this.start + ((this.end - this.start) * this.pos);\n\n\t\t\t// Perform the next step of the animation\n\t\t\tthis.update();\n\t\t}\n\n\t\treturn true;\n\t}\n\n};\n\njQuery.extend( jQuery.fx, {\n\tspeeds:{\n\t\tslow: 600,\n \t\tfast: 200,\n \t\t// Default speed\n \t\t_default: 400\n\t},\n\tstep: {\n\n\t\topacity: function(fx){\n\t\t\tjQuery.attr(fx.elem.style, \"opacity\", fx.now);\n\t\t},\n\n\t\t_default: function(fx){\n\t\t\tif ( fx.elem.style && fx.elem.style[ fx.prop ] != null )\n\t\t\t\tfx.elem.style[ fx.prop ] = fx.now + fx.unit;\n\t\t\telse\n\t\t\t\tfx.elem[ fx.prop ] = fx.now;\n\t\t}\n\t}\n});\nif ( document.documentElement[\"getBoundingClientRect\"] )\n\tjQuery.fn.offset = function() {\n\t\tif ( !this[0] ) return { top: 0, left: 0 };\n\t\tif ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );\n\t\tvar box = this[0].getBoundingClientRect(), doc = this[0].ownerDocument, body = doc.body, docElem = doc.documentElement,\n\t\t\tclientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0,\n\t\t\ttop = box.top + (self.pageYOffset || jQuery.boxModel && docElem.scrollTop || body.scrollTop ) - clientTop,\n\t\t\tleft = box.left + (self.pageXOffset || jQuery.boxModel && docElem.scrollLeft || body.scrollLeft) - clientLeft;\n\t\treturn { top: top, left: left };\n\t};\nelse \n\tjQuery.fn.offset = function() {\n\t\tif ( !this[0] ) return { top: 0, left: 0 };\n\t\tif ( this[0] === this[0].ownerDocument.body ) return jQuery.offset.bodyOffset( this[0] );\n\t\tjQuery.offset.initialized || jQuery.offset.initialize();\n\n\t\tvar elem = this[0], offsetParent = elem.offsetParent, prevOffsetParent = elem,\n\t\t\tdoc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,\n\t\t\tbody = doc.body, defaultView = doc.defaultView,\n\t\t\tprevComputedStyle = defaultView.getComputedStyle(elem, null),\n\t\t\ttop = elem.offsetTop, left = elem.offsetLeft;\n\n\t\twhile ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {\n\t\t\tcomputedStyle = defaultView.getComputedStyle(elem, null);\n\t\t\ttop -= elem.scrollTop, left -= elem.scrollLeft;\n\t\t\tif ( elem === offsetParent ) {\n\t\t\t\ttop += elem.offsetTop, left += elem.offsetLeft;\n\t\t\t\tif ( jQuery.offset.doesNotAddBorder && !(jQuery.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(elem.tagName)) )\n\t\t\t\t\ttop += parseInt( computedStyle.borderTopWidth, 10) || 0,\n\t\t\t\t\tleft += parseInt( computedStyle.borderLeftWidth, 10) || 0;\n\t\t\t\tprevOffsetParent = offsetParent, offsetParent = elem.offsetParent;\n\t\t\t}\n\t\t\tif ( jQuery.offset.subtractsBorderForOverflowNotVisible && computedStyle.overflow !== \"visible\" )\n\t\t\t\ttop += parseInt( computedStyle.borderTopWidth, 10) || 0,\n\t\t\t\tleft += parseInt( computedStyle.borderLeftWidth, 10) || 0;\n\t\t\tprevComputedStyle = computedStyle;\n\t\t}\n\n\t\tif ( prevComputedStyle.position === \"relative\" || prevComputedStyle.position === \"static\" )\n\t\t\ttop += body.offsetTop,\n\t\t\tleft += body.offsetLeft;\n\n\t\tif ( prevComputedStyle.position === \"fixed\" )\n\t\t\ttop += Math.max(docElem.scrollTop, body.scrollTop),\n\t\t\tleft += Math.max(docElem.scrollLeft, body.scrollLeft);\n\n\t\treturn { top: top, left: left };\n\t};\n\njQuery.offset = {\n\tinitialize: function() {\n\t\tif ( this.initialized ) return;\n\t\tvar body = document.body, container = document.createElement('div'), innerDiv, checkDiv, table, td, rules, prop, bodyMarginTop = body.style.marginTop,\n\t\t\thtml = '<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>';\n\n\t\trules = { position: 'absolute', top: 0, left: 0, margin: 0, border: 0, width: '1px', height: '1px', visibility: 'hidden' };\n\t\tfor ( prop in rules ) container.style[prop] = rules[prop];\n\n\t\tcontainer.innerHTML = html;\n\t\tbody.insertBefore(container, body.firstChild);\n\t\tinnerDiv = container.firstChild, checkDiv = innerDiv.firstChild, td = innerDiv.nextSibling.firstChild.firstChild;\n\n\t\tthis.doesNotAddBorder = (checkDiv.offsetTop !== 5);\n\t\tthis.doesAddBorderForTableAndCells = (td.offsetTop === 5);\n\n\t\tinnerDiv.style.overflow = 'hidden', innerDiv.style.position = 'relative';\n\t\tthis.subtractsBorderForOverflowNotVisible = (checkDiv.offsetTop === -5);\n\n\t\tbody.style.marginTop = '1px';\n\t\tthis.doesNotIncludeMarginInBodyOffset = (body.offsetTop === 0);\n\t\tbody.style.marginTop = bodyMarginTop;\n\n\t\tbody.removeChild(container);\n\t\tthis.initialized = true;\n\t},\n\n\tbodyOffset: function(body) {\n\t\tjQuery.offset.initialized || jQuery.offset.initialize();\n\t\tvar top = body.offsetTop, left = body.offsetLeft;\n\t\tif ( jQuery.offset.doesNotIncludeMarginInBodyOffset )\n\t\t\ttop += parseInt( jQuery.curCSS(body, 'marginTop', true), 10 ) || 0,\n\t\t\tleft += parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || 0;\n\t\treturn { top: top, left: left };\n\t}\n};\n\n\njQuery.fn.extend({\n\tposition: function() {\n\t\tvar left = 0, top = 0, results;\n\n\t\tif ( this[0] ) {\n\t\t\t// Get *real* offsetParent\n\t\t\tvar offsetParent = this.offsetParent(),\n\n\t\t\t// Get correct offsets\n\t\t\toffset = this.offset(),\n\t\t\tparentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0 } : offsetParent.offset();\n\n\t\t\t// Subtract element margins\n\t\t\t// note: when an element has margin: auto the offsetLeft and marginLeft \n\t\t\t// are the same in Safari causing offset.left to incorrectly be 0\n\t\t\toffset.top -= num( this, 'marginTop' );\n\t\t\toffset.left -= num( this, 'marginLeft' );\n\n\t\t\t// Add offsetParent borders\n\t\t\tparentOffset.top += num( offsetParent, 'borderTopWidth' );\n\t\t\tparentOffset.left += num( offsetParent, 'borderLeftWidth' );\n\n\t\t\t// Subtract the two offsets\n\t\t\tresults = {\n\t\t\t\ttop: offset.top - parentOffset.top,\n\t\t\t\tleft: offset.left - parentOffset.left\n\t\t\t};\n\t\t}\n\n\t\treturn results;\n\t},\n\n\toffsetParent: function() {\n\t\tvar offsetParent = this[0].offsetParent || document.body;\n\t\twhile ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static') )\n\t\t\toffsetParent = offsetParent.offsetParent;\n\t\treturn jQuery(offsetParent);\n\t}\n});\n\n\n// Create scrollLeft and scrollTop methods\njQuery.each( ['Left', 'Top'], function(i, name) {\n\tvar method = 'scroll' + name;\n\t\n\tjQuery.fn[ method ] = function(val) {\n\t\tif (!this[0]) return null;\n\n\t\treturn val !== undefined ?\n\n\t\t\t// Set the scroll offset\n\t\t\tthis.each(function() {\n\t\t\t\tthis == window || this == document ?\n\t\t\t\t\twindow.scrollTo(\n\t\t\t\t\t\t!i ? val : jQuery(window).scrollLeft(),\n\t\t\t\t\t\t i ? val : jQuery(window).scrollTop()\n\t\t\t\t\t) :\n\t\t\t\t\tthis[ method ] = val;\n\t\t\t}) :\n\n\t\t\t// Return the scroll offset\n\t\t\tthis[0] == window || this[0] == document ?\n\t\t\t\tself[ i ? 'pageYOffset' : 'pageXOffset' ] ||\n\t\t\t\t\tjQuery.boxModel && document.documentElement[ method ] ||\n\t\t\t\t\tdocument.body[ method ] :\n\t\t\t\tthis[0][ method ];\n\t};\n});\n// Create innerHeight, innerWidth, outerHeight and outerWidth methods\njQuery.each([ \"Height\", \"Width\" ], function(i, name){\n\n\tvar tl = i ? \"Left\" : \"Top\", // top or left\n\t\tbr = i ? \"Right\" : \"Bottom\", // bottom or right\n\t\tlower = name.toLowerCase();\n\n\t// innerHeight and innerWidth\n\tjQuery.fn[\"inner\" + name] = function(){\n\t\treturn this[0] ?\n\t\t\tjQuery.css( this[0], lower, false, \"padding\" ) :\n\t\t\tnull;\n\t};\n\n\t// outerHeight and outerWidth\n\tjQuery.fn[\"outer\" + name] = function(margin) {\n\t\treturn this[0] ?\n\t\t\tjQuery.css( this[0], lower, false, margin ? \"margin\" : \"border\" ) :\n\t\t\tnull;\n\t};\n\t\n\tvar type = name.toLowerCase();\n\n\tjQuery.fn[ type ] = function( size ) {\n\t\t// Get window width or height\n\t\treturn this[0] == window ?\n\t\t\t// Everyone else use document.documentElement or document.body depending on Quirks vs Standards mode\n\t\t\tdocument.compatMode == \"CSS1Compat\" && document.documentElement[ \"client\" + name ] ||\n\t\t\tdocument.body[ \"client\" + name ] :\n\n\t\t\t// Get document width or height\n\t\t\tthis[0] == document ?\n\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height], whichever is greater\n\t\t\t\tMath.max(\n\t\t\t\t\tdocument.documentElement[\"client\" + name],\n\t\t\t\t\tdocument.body[\"scroll\" + name], document.documentElement[\"scroll\" + name],\n\t\t\t\t\tdocument.body[\"offset\" + name], document.documentElement[\"offset\" + name]\n\t\t\t\t) :\n\n\t\t\t\t// Get or set width or height on the element\n\t\t\t\tsize === undefined ?\n\t\t\t\t\t// Get width or height on the element\n\t\t\t\t\t(this.length ? jQuery.css( this[0], type ) : null) :\n\n\t\t\t\t\t// Set the width or height on the element (default to pixels if value is unitless)\n\t\t\t\t\tthis.css( type, typeof size === \"string\" ? size : size + \"px\" );\n\t};\n\n});\n})();\n;\n\nvar Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} };\n\n/**\n * Set the variable that indicates if JavaScript behaviors should be applied\n */\nDrupal.jsEnabled = document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById;\n\n/**\n * Attach all registered behaviors to a page element.\n *\n * Behaviors are event-triggered actions that attach to page elements, enhancing\n * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors\n * object as follows:\n * @code\n * Drupal.behaviors.behaviorName = function () {\n * ...\n * };\n * @endcode\n *\n * Drupal.attachBehaviors is added below to the jQuery ready event and so\n * runs on initial page load. Developers implementing AHAH/AJAX in their\n * solutions should also call this function after new page content has been\n * loaded, feeding in an element to be processed, in order to attach all\n * behaviors to the new content.\n *\n * Behaviors should use a class in the form behaviorName-processed to ensure\n * the behavior is attached only once to a given element. (Doing so enables\n * the reprocessing of given elements, which may be needed on occasion despite\n * the ability to limit behavior attachment to a particular element.)\n *\n * @param context\n * An element to attach behaviors to. If none is given, the document element\n * is used.\n */\nDrupal.attachBehaviors = function(context) {\n context = context || document;\n if (Drupal.jsEnabled) {\n // Execute all of them.\n jQuery.each(Drupal.behaviors, function() {\n try {\n this(context);\n } catch(e) {\n this.attach(context);\n }\n });\n }\n};\n\n/**\n * Encode special characters in a plain-text string for display as HTML.\n */\nDrupal.checkPlain = function(str) {\n str = String(str);\n var replace = { '&': '&', '\"': '"', '<': '<', '>': '>' };\n for (var character in replace) {\n var regex = new RegExp(character, 'g');\n str = str.replace(regex, replace[character]);\n }\n return str;\n};\n\n/**\n * Translate strings to the page language or a given language.\n *\n * See the documentation of the server-side t() function for further details.\n *\n * @param str\n * A string containing the English string to translate.\n * @param args\n * An object of replacements pairs to make after translation. Incidences\n * of any key in this array are replaced with the corresponding value.\n * Based on the first character of the key, the value is escaped and/or themed:\n * - !variable: inserted as is\n * - @variable: escape plain text to HTML (Drupal.checkPlain)\n * - %variable: escape text and theme as a placeholder for user-submitted\n * content (checkPlain + Drupal.theme('placeholder'))\n * @return\n * The translated string.\n */\nDrupal.t = function(str, args) {\n // Fetch the localized version of the string.\n if (Drupal.locale.strings && Drupal.locale.strings[str]) {\n str = Drupal.locale.strings[str];\n }\n\n if (args) {\n // Transform arguments before inserting them\n for (var key in args) {\n switch (key.charAt(0)) {\n // Escaped only\n case '@':\n args[key] = Drupal.checkPlain(args[key]);\n break;\n // Pass-through\n case '!':\n break;\n // Escaped and placeholder\n case '%':\n default:\n args[key] = Drupal.theme('placeholder', args[key]);\n break;\n }\n str = str.replace(key, args[key]);\n }\n }\n return str;\n};\n\n/**\n * Format a string containing a count of items.\n *\n * This function ensures that the string is pluralized correctly. Since Drupal.t() is\n * called by this function, make sure not to pass already-localized strings to it.\n *\n * See the documentation of the server-side format_plural() function for further details.\n *\n * @param count\n * The item count to display.\n * @param singular\n * The string for the singular case. Please make sure it is clear this is\n * singular, to ease translation (e.g. use \"1 new comment\" instead of \"1 new\").\n * Do not use @count in the singular string.\n * @param plural\n * The string for the plural case. Please make sure it is clear this is plural,\n * to ease translation. Use @count in place of the item count, as in \"@count\n * new comments\".\n * @param args\n * An object of replacements pairs to make after translation. Incidences\n * of any key in this array are replaced with the corresponding value.\n * Based on the first character of the key, the value is escaped and/or themed:\n * - !variable: inserted as is\n * - @variable: escape plain text to HTML (Drupal.checkPlain)\n * - %variable: escape text and theme as a placeholder for user-submitted\n * content (checkPlain + Drupal.theme('placeholder'))\n * Note that you do not need to include @count in this array.\n * This replacement is done automatically for the plural case.\n * @return\n * A translated string.\n */\nDrupal.formatPlural = function(count, singular, plural, args) {\n var args = args || {};\n args['@count'] = count;\n // Determine the index of the plural form.\n var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1);\n\n if (index == 0) {\n return Drupal.t(singular, args);\n }\n else if (index == 1) {\n return Drupal.t(plural, args);\n }\n else {\n args['@count['+ index +']'] = args['@count'];\n delete args['@count'];\n return Drupal.t(plural.replace('@count', '@count['+ index +']'), args);\n }\n};\n\n/**\n * Generate the themed representation of a Drupal object.\n *\n * All requests for themed output must go through this function. It examines\n * the request and routes it to the appropriate theme function. If the current\n * theme does not provide an override function, the generic theme function is\n * called.\n *\n * For example, to retrieve the HTML that is output by theme_placeholder(text),\n * call Drupal.theme('placeholder', text).\n *\n * @param func\n * The name of the theme function to call.\n * @param ...\n * Additional arguments to pass along to the theme function.\n * @return\n * Any data the theme function returns. This could be a plain HTML string,\n * but also a complex object.\n */\nDrupal.theme = function(func) {\n for (var i = 1, args = []; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args);\n};\n\n/**\n * Parse a JSON response.\n *\n * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message.\n */\nDrupal.parseJson = function (data) {\n if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {\n return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };\n }\n return eval('(' + data + ');');\n};\n\n/**\n * Freeze the current body height (as minimum height). Used to prevent\n * unnecessary upwards scrolling when doing DOM manipulations.\n */\nDrupal.freezeHeight = function () {\n Drupal.unfreezeHeight();\n var div = document.createElement('div');\n $(div).css({\n position: 'absolute',\n top: '0px',\n left: '0px',\n width: '1px',\n height: $('body').css('height')\n }).attr('id', 'freeze-height');\n $('body').append(div);\n};\n\n/**\n * Unfreeze the body height\n */\nDrupal.unfreezeHeight = function () {\n $('#freeze-height').remove();\n};\n\n/**\n * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of\n * drupal_urlencode() in PHP). This function should only be used on paths, not\n * on query string arguments.\n */\nDrupal.encodeURIComponent = function (item, uri) {\n uri = uri || location.href;\n item = encodeURIComponent(item).replace(/%2F/g, '/');\n return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\\/\\//g, '/%252F');\n};\n\n/**\n * Get the text selection in a textarea.\n */\nDrupal.getSelection = function (element) {\n if (typeof(element.selectionStart) != 'number' && document.selection) {\n // The current selection\n var range1 = document.selection.createRange();\n var range2 = range1.duplicate();\n // Select all text.\n range2.moveToElementText(element);\n // Now move 'dummy' end point to end point of original range.\n range2.setEndPoint('EndToEnd', range1);\n // Now we can calculate start and end points.\n var start = range2.text.length - range1.text.length;\n var end = start + range1.text.length;\n return { 'start': start, 'end': end };\n }\n return { 'start': element.selectionStart, 'end': element.selectionEnd };\n};\n\n/**\n * Build an error message from ahah response.\n */\nDrupal.ahahError = function(xmlhttp, uri) {\n if (xmlhttp.status == 200) {\n if (jQuery.trim($(xmlhttp.responseText).text())) {\n var message = Drupal.t(\"An error occurred. \\n@uri\\n@text\", {'@uri': uri, '@text': xmlhttp.responseText });\n }\n else {\n var message = Drupal.t(\"An error occurred. \\n@uri\\n(no information available).\", {'@uri': uri, '@text': xmlhttp.responseText });\n }\n }\n else {\n var message = Drupal.t(\"An HTTP error @status occurred. \\n@uri\", {'@uri': uri, '@status': xmlhttp.status });\n }\n return message;\n}\n\n// Global Killswitch on the <html> element\nif (Drupal.jsEnabled) {\n // Global Killswitch on the <html> element\n $(document.documentElement).addClass('js');\n // 'js enabled' cookie\n document.cookie = 'has_js=1; path=/';\n // Attach all behaviors.\n $(document).ready(function() {\n Drupal.attachBehaviors(this);\n });\n}\n\n/**\n * The default themes.\n */\nDrupal.theme.prototype = {\n\n /**\n * Formats text for emphasized display in a placeholder inside a sentence.\n *\n * @param str\n * The text to format (plain-text).\n * @return\n * The formatted text (html).\n */\n placeholder: function(str) {\n return '<em>' + Drupal.checkPlain(str) + '</em>';\n }\n};\n;\n\n/**\n * A progressbar object. Initialized with the given id. Must be inserted into\n * the DOM afterwards through progressBar.element.\n *\n * method is the function which will perform the HTTP request to get the\n * progress bar state. Either \"GET\" or \"POST\".\n *\n * e.g. pb = new progressBar('myProgressBar');\n * some_element.appendChild(pb.element);\n */\nDrupal.progressBar = function (id, updateCallback, method, errorCallback) {\n var pb = this;\n this.id = id;\n this.method = method || \"GET\";\n this.updateCallback = updateCallback;\n this.errorCallback = errorCallback;\n\n this.element = document.createElement('div');\n this.element.id = id;\n this.element.className = 'progress';\n $(this.element).html('<div class=\"bar\"><div class=\"filled\"></div></div>'+\n '<div class=\"percentage\"></div>'+\n '<div class=\"message\"> </div>');\n};\n\n/**\n * Set the percentage and status message for the progressbar.\n */\nDrupal.progressBar.prototype.setProgress = function (percentage, message) {\n if (percentage >= 0 && percentage <= 100) {\n $('div.filled', this.element).css('width', percentage +'%');\n $('div.percentage', this.element).html(percentage +'%');\n }\n $('div.message', this.element).html(message);\n if (this.updateCallback) {\n this.updateCallback(percentage, message, this);\n }\n};\n\n/**\n * Start monitoring progress via Ajax.\n */\nDrupal.progressBar.prototype.startMonitoring = function (uri, delay) {\n this.delay = delay;\n this.uri = uri;\n this.sendPing();\n};\n\n/**\n * Stop monitoring progress via Ajax.\n */\nDrupal.progressBar.prototype.stopMonitoring = function () {\n clearTimeout(this.timer);\n // This allows monitoring to be stopped from within the callback\n this.uri = null;\n};\n\n/**\n * Request progress data from server.\n */\nDrupal.progressBar.prototype.sendPing = function () {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n if (this.uri) {\n var pb = this;\n // When doing a post request, you need non-null data. Otherwise a\n // HTTP 411 or HTTP 406 (with Apache mod_security) error may result.\n $.ajax({\n type: this.method,\n url: this.uri,\n data: '',\n dataType: 'json',\n success: function (progress) {\n // Display errors\n if (progress.status == 0) {\n pb.displayError(progress.data);\n return;\n }\n // Update display\n pb.setProgress(progress.percentage, progress.message);\n // Schedule next timer\n pb.timer = setTimeout(function() { pb.sendPing(); }, pb.delay);\n },\n error: function (xmlhttp) {\n pb.displayError(Drupal.ahahError(xmlhttp, pb.uri));\n }\n });\n }\n};\n\n/**\n * Display errors on the page.\n */\nDrupal.progressBar.prototype.displayError = function (string) {\n var error = document.createElement('div');\n error.className = 'error';\n error.innerHTML = string;\n\n $(this.element).before(error).hide();\n\n if (this.errorCallback) {\n this.errorCallback(this);\n }\n};\n;\nDrupal.locale = { 'pluralFormula': function($n) { return Number(($n!=1)); }, 'strings': { \"Update\": \"Aggiorna\", \"Translate Text\": \"Traduci testo\", \"Unspecified error\": \"Errore non specificato\", \"jQuery UI Tabs: Mismatching fragment identifier.\": \"UI Schede jQuery: indentificatore frammenti discrepanti.\", \"jQuery UI Tabs: Not enough arguments to add tab.\": \"jQuery UI Tabs: non ci sono parametri sufficienti per aggiungere una scheda.\", \"An error occurred at @path.\": \"Si è verificato un errore in @path.\", \"Drag to re-order\": \"Trascina per riordinare\", \"Changes made in this table will not be saved until the form is submitted.\": \"I cambiamenti fatti a questa tabella non saranno salvati finchè il form non viene inviato.\", \"Loading...\": \"In caricamento...\", \"Select all rows in this table\": \"Seleziona tutte le righe in questa tabella\", \"Deselect all rows in this table\": \"Deseleziona tutte le righe in questa tabella\", \"Cancel\": \"Annulla\", \"The changes to these blocks will not be saved until the \\x3cem\\x3eSave blocks\\x3c/em\\x3e button is clicked.\": \"I cambiamenti a questi blocchi non saranno salvati finché il bottone \\x3cem\\x3eSalva blocchi\\x3c/em\\x3e è cliccato.\", \"Remove\": \"Elimina\", \"Automatic alias\": \"Alias automatico\", \"Loading\": \"Caricamento\", \"Refresh\": \"Aggiorna\", \"Close\": \"Chiudi\", \"[Popup]\": \" \", \"%chars characters remaining\": \"%chars\", \"The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.\": \"Il file selezionato %filename non può essere caricato. Sono consentiti solo file con le seguenti estensioni: %extensions.\", \"You have attempted to queue too many files.\": \"Hai cercato di accodare troppi file.\", \"File is too big.\": \"Il file è troppo grande.\", \"Cannot upload Zero Byte files.\": \"Non è possibile caricare file di dimensione nulla (zero byte).\", \"Invalid File Type.\": \"Tipo di file non valido.\", \"Unhandled Error\": \"Errore non gestito\", \"Uploading...\": \"Caricamento in corso...\", \"Upload Error: %message\": \"Errore di Upload: %message\", \"Upload Failed.\": \"Caricamento fallito.\", \"Server (IO) Error\": \"Errore del server (IO)\", \"Security Error\": \"Errore di sicurezza\", \"Upload limit exceeded.\": \"Limite di upload superato.\", \"Failed Validation. Upload skipped.\": \"La validazione è fallita. Questo caricamento è stato saltato.\", \"Stopped\": \"Bloccato\", \"Unhandled Error: %code\": \"Errore non gestito: %code\", \"one file.\": \"un file.\", \"up to @count files.\": \"fino a @count file.\", \"1 file uploaded.\": \"1 file caricato.\", \"@count files uploaded.\": \"@count file caricati.\", \"Image queued.\": \"Immagine in coda.\", \"You may select @files?\": \"E\\' possibile selezionare @files?\", \"Please wait until all images have been processed...\": \"Per favore attendere che tutte le immagini siano processate...\", \"Insert\": \"Inserisci\", \"Select date\": \"Seleziona data\", \"An HTTP error @status occured.\": \"Si è verificato un errore HTTP @status.\", \"@count characters left\": \"@count caratteri disponibili\", \"-@count characters left\": \"-@count caratteri disponibili\", \"Alias: @alias\": \"Alias: @alias\", \"No alias\": \"Nessun alias\", \"Write a comment...\": \"Scrivi un commento...\", \"Oops, an error occurred. Retry again later.\": \"Si è verificato un errore. Riprova più tardi.\", \"Insert this token into your form\": \"Inserisci questo token nel form\", \"First click a text field to insert your tokens into.\": \"Prima occorre cliccare sul campo di testo dove inserire i token.\", \"Contribute!\": \"Contribuisci!\", \"If you wish to donate or draw our attention to a useful application like %app, please \\x3ca href=\\\"mailto:!email\\\"\\x3esend us an email\\x3c/a\\x3e.\": \"Se hai intenzione di donare oppure richiamare la nostra attenzione su una applicazione utile come %app, per favore \\x3ca href=\\\"mailto:!email\\\"\\x3einviaci un messaggio\\x3c/a\\x3e.\", \"Continue to !applink website.\": \"Vai al sito di !applink.\", \"Opens in a new window\": \"Apre in una nuova finestra\" } };;\n/*!\r\n * jCarousel - Riding carousels with jQuery\r\n * http://sorgalla.com/jcarousel/\r\n *\r\n * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)\r\n * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)\r\n * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.\r\n *\r\n * Built on top of the jQuery library\r\n * http://jquery.com\r\n *\r\n * Inspired by the \"Carousel Component\" by Bill Scott\r\n * http://billwscott.com/carousel/\r\n */\r\n\r\n(function(g){var q={vertical:!1,rtl:!1,start:1,offset:1,size:null,scroll:3,visible:null,animation:\"normal\",easing:\"swing\",auto:0,wrap:null,initCallback:null,setupCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,animationStepCallback:null,buttonNextHTML:\"<div></div>\",buttonPrevHTML:\"<div></div>\",buttonNextEvent:\"click\",buttonPrevEvent:\"click\", buttonNextCallback:null,buttonPrevCallback:null,itemFallbackDimension:null},m=!1;g(window).bind(\"load.jcarousel\",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autoStopped=this.locked=!1;this.buttonPrevState=this.buttonNextState=this.buttonPrev=this.buttonNext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr(\"dir\")||g(\"html\").attr(\"dir\")||\"\").toLowerCase()==\"rtl\";this.wh=!this.options.vertical?\"width\":\"height\";this.lt=!this.options.vertical? this.options.rtl?\"right\":\"left\":\"top\";for(var b=\"\",d=a.className.split(\" \"),f=0;f<d.length;f++)if(d[f].indexOf(\"jcarousel-skin\")!=-1){g(a).removeClass(d[f]);b=d[f];break}a.nodeName.toUpperCase()==\"UL\"||a.nodeName.toUpperCase()==\"OL\"?(this.list=g(a),this.clip=this.list.parents(\".jcarousel-clip\"),this.container=this.list.parents(\".jcarousel-container\")):(this.container=g(a),this.list=this.container.find(\"ul,ol\").eq(0),this.clip=this.container.find(\".jcarousel-clip\"));if(this.clip.size()===0)this.clip= this.list.wrap(\"<div></div>\").parent();if(this.container.size()===0)this.container=this.clip.wrap(\"<div></div>\").parent();b!==\"\"&&this.container.parent()[0].className.indexOf(\"jcarousel-skin\")==-1&&this.container.wrap('<div class=\" '+b+'\"></div>');this.buttonPrev=g(\".jcarousel-prev\",this.container);if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);this.buttonPrev.addClass(this.className(\"jcarousel-prev\"));this.buttonNext= g(\".jcarousel-next\",this.container);if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);this.buttonNext.addClass(this.className(\"jcarousel-next\"));this.clip.addClass(this.className(\"jcarousel-clip\")).css({position:\"relative\"});this.list.addClass(this.className(\"jcarousel-list\")).css({overflow:\"hidden\",position:\"relative\",top:0,margin:0,padding:0}).css(this.options.rtl?\"right\":\"left\",0);this.container.addClass(this.className(\"jcarousel-container\")).css({position:\"relative\"}); !this.options.vertical&&this.options.rtl&&this.container.addClass(\"jcarousel-direction-rtl\").attr(\"dir\",\"rtl\");var j=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible):null,b=this.list.children(\"li\"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+\"px\");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css(\"display\",\"block\");this.buttonNext.css(\"display\",\"block\");this.buttonPrev.css(\"display\", \"block\");this.funcNext=function(){e.next()};this.funcPrev=function(){e.prev()};this.funcResize=function(){e.resizeTimer&&clearTimeout(e.resizeTimer);e.resizeTimer=setTimeout(function(){e.reload()},100)};this.options.initCallback!==null&&this.options.initCallback(this,\"init\");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind(\"load.jcarousel\",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:\"0.2.8\"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevLast= this.prevFirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizeTimer=this.timer=null;this.inTail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+\"px\");var a=this.pos(this.options.start,!0);this.prevFirst=this.prevLast=null;this.animate(a,!1);g(window).unbind(\"resize.jcarousel\",this.funcResize).bind(\"resize.jcarousel\",this.funcResize);this.options.setupCallback!==null&&this.options.setupCallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, \"0px\");this.list.css(this.wh,\"10px\");this.options.initCallback!==null&&this.options.initCallback(this,\"reset\");this.setup()},reload:function(){this.tail!==null&&this.inTail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=!1;this.options.reloadCallback!==null&&this.options.reloadCallback(this);if(this.options.visible!==null){var a=this,c=Math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children(\"li\").each(function(f){b+=a.dimension(this, c);f+1<a.first&&(d=b)});this.list.css(this.wh,b+\"px\");this.list.css(this.lt,-d+\"px\")}this.scroll(this.first,!1)},lock:function(){this.locked=!0;this.buttons()},unlock:function(){this.locked=!1;this.buttons()},size:function(a){if(a!==void 0)this.options.size=a,this.locked||this.buttons();return this.options.size},has:function(a,c){if(c===void 0||!c)c=a;if(this.options.size!==null&&c>this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasClass(\"jcarousel-item-placeholder\"))return!1}return!0}, get:function(a){return g(\">.jcarousel-item-\"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodeName.toUpperCase()==\"LI\"?(b.replaceWith(p),b=p):b.empty().append(c);this.format(b.removeClass(this.className(\"jcarousel-item-placeholder\")),a);p=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))-d+\"px\");this.list.css(this.wh,f.intval(this.list.css(this.wh))+d+\"px\");return b},remove:function(a){var c=this.get(a);if(c.length&&!(a>=this.first&&a<=this.last)){var b=this.dimension(c);a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+b+\"px\");c.remove();this.list.css(this.wh,f.intval(this.list.css(this.wh))-b+\"px\")}},next:function(){this.tail!==null&&!this.inTail?this.scrollTail(!1): this.scroll((this.options.wrap==\"both\"||this.options.wrap==\"last\")&&this.options.size!==null&&this.last==this.options.size?1:this.first+this.options.scroll)},prev:function(){this.tail!==null&&this.inTail?this.scrollTail(!0):this.scroll((this.options.wrap==\"both\"||this.options.wrap==\"first\")&&this.options.size!==null&&this.first==1?this.options.size:this.first-this.options.scroll)},scrollTail:function(a){if(!this.locked&&!this.animating&&this.tail){this.pauseAuto();var c=f.intval(this.list.css(this.lt)), c=!a?c-this.tail:c+this.tail;this.inTail=!a;this.prevFirst=this.first;this.prevLast=this.last;this.animate(c)}},scroll:function(a,c){!this.locked&&!this.animating&&(this.pauseAuto(),this.animate(this.pos(a),c))},pos:function(a,c){var b=f.intval(this.list.css(this.lt));if(this.locked||this.animating)return b;this.options.wrap!=\"circular\"&&(a=a<1?1:this.options.size&&a>this.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!=\"circular\"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++e<a;){h=this.get(e);k=!h.length;if(h.length===0&&(h=this.create(e).addClass(this.className(\"jcarousel-item-placeholder\")),j[d?\"before\":\"after\"](h),this.first!==null&&this.options.wrap==\"circular\"&&this.options.size!==null&&(e<=0||e>this.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap==\"circular\"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addClass(this.className(\"jcarousel-item-placeholder\"));if(j.length===0)this.list.prepend(h);else j[d?\"before\":\"after\"](h);if(this.first!==null&&this.options.wrap==\"circular\"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw Error(\"jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...\"); this.options.wrap!=\"circular\"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h<m.length;h++)m[h].remove();i>0&&(this.list.css(this.wh,this.dimension(this.list)+i+\"px\"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+\"px\")));i=a+o-1;if(this.options.wrap!=\"circular\"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!=\"circular\"&&e<1&&(e=1);if(this.inTail&&d)b+=this.tail,this.inTail=!1;this.tail=null;if(this.options.wrap!=\"circular\"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?\"marginRight\":\"marginBottom\")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.inTail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevFirst=this.first;this.prevLast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autoStopped&&(b.options.wrap==\"circular\"||b.options.wrap==\"both\"||b.options.wrap==\"last\"||b.options.size===null||b.last<b.options.size||b.last==b.options.size&&b.tail!==null&&!b.inTail)&&b.startAuto();b.buttons();b.notify(\"onAfterAnimation\");if(b.options.wrap==\"circular\"&&b.options.size!==null)for(var c=b.prevFirst;c<=b.prevLast;c++)c!==null&&!(c>=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify(\"onBeforeAnimation\");if(!this.options.animation||c===!1)this.list.css(this.lt,a+\"px\"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isFunction(this.options.animationStepCallback))d.step=this.options.animationStepCallback;this.list.animate(f,d)}}},startAuto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopAuto();if(this.timer===null){this.autoStopped= !1;var c=this;this.timer=window.setTimeout(function(){c.next()},this.options.auto*1E3)}},stopAuto:function(){this.pauseAuto();this.autoStopped=!0},pauseAuto:function(){if(this.timer!==null)window.clearTimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!=\"first\"||this.options.size===null||this.last<this.options.size),!this.locked&&(!this.options.wrap||this.options.wrap==\"first\")&&this.options.size!==null&& this.last>=this.options.size))a=this.tail!==null&&!this.inTail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!=\"last\"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap==\"last\")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.inTail;var b=this;this.buttonNext.size()>0?(this.buttonNext.unbind(this.options.buttonNextEvent+\".jcarousel\",this.funcNext),a&&this.buttonNext.bind(this.options.buttonNextEvent+\".jcarousel\",this.funcNext), this.buttonNext[a?\"removeClass\":\"addClass\"](this.className(\"jcarousel-next-disabled\")).attr(\"disabled\",a?!1:!0),this.options.buttonNextCallback!==null&&this.buttonNext.data(\"jcarouselstate\")!=a&&this.buttonNext.each(function(){b.options.buttonNextCallback(b,this,a)}).data(\"jcarouselstate\",a)):this.options.buttonNextCallback!==null&&this.buttonNextState!=a&&this.options.buttonNextCallback(b,null,a);this.buttonPrev.size()>0?(this.buttonPrev.unbind(this.options.buttonPrevEvent+\".jcarousel\",this.funcPrev), c&&this.buttonPrev.bind(this.options.buttonPrevEvent+\".jcarousel\",this.funcPrev),this.buttonPrev[c?\"removeClass\":\"addClass\"](this.className(\"jcarousel-prev-disabled\")).attr(\"disabled\",c?!1:!0),this.options.buttonPrevCallback!==null&&this.buttonPrev.data(\"jcarouselstate\")!=c&&this.buttonPrev.each(function(){b.options.buttonPrevCallback(b,this,c)}).data(\"jcarouselstate\",c)):this.options.buttonPrevCallback!==null&&this.buttonPrevState!=c&&this.options.buttonPrevCallback(b,null,c);this.buttonNextState= a;this.buttonPrevState=c},notify:function(a){var c=this.prevFirst===null?\"init\":this.prevFirst<this.first?\"next\":\"prev\";this.callback(\"itemLoadCallback\",a,c);this.prevFirst!==this.first&&(this.callback(\"itemFirstInCallback\",a,c,this.first),this.callback(\"itemFirstOutCallback\",a,c,this.prevFirst));this.prevLast!==this.last&&(this.callback(\"itemLastInCallback\",a,c,this.last),this.callback(\"itemLastOutCallback\",a,c,this.prevLast));this.callback(\"itemVisibleInCallback\",a,c,this.first,this.last,this.prevFirst, this.prevLast);this.callback(\"itemVisibleOutCallback\",a,c,this.prevFirst,this.prevLast,this.first,this.last)},callback:function(a,c,b,d,f,j,e){if(!(this.options[a]==null||typeof this.options[a]!=\"object\"&&c!=\"onAfterAnimation\")){var h=typeof this.options[a]==\"object\"?this.options[a][c]:this.options[a];if(g.isFunction(h)){var i=this;if(d===void 0)h(i,b,c);else if(f===void 0)this.get(d).each(function(){h(i,this,d,b,c)});else for(var a=function(a){i.get(a).each(function(){h(i,this,a,b,c)})},k=d;k<=f;k++)k!== null&&!(k>=j&&k<=e)&&a(k)}}},create:function(a){return this.format(\"<li></li>\",a)},format:function(a,c){for(var a=g(a),b=a.get(0).className.split(\" \"),d=0;d<b.length;d++)b[d].indexOf(\"jcarousel-\")!=-1&&a.removeClass(b[d]);a.addClass(this.className(\"jcarousel-item\")).addClass(this.className(\"jcarousel-item-\"+c)).css({\"float\":this.options.rtl?\"right\":\"left\",\"list-style\":\"none\"}).attr(\"jcarouselindex\",c);return a},className:function(a){return a+\" \"+a+(!this.options.vertical?\"-horizontal\":\"-vertical\")}, dimension:function(a,c){var b=g(a);if(c==null)return!this.options.vertical?b.outerWidth(!0)||f.intval(this.options.itemFallbackDimension):b.outerHeight(!0)||f.intval(this.options.itemFallbackDimension);else{var d=!this.options.vertical?c-f.intval(b.css(\"marginLeft\"))-f.intval(b.css(\"marginRight\")):c-f.intval(b.css(\"marginTop\"))-f.intval(b.css(\"marginBottom\"));g(b).css(this.wh,d+\"px\");return this.dimension(b)}},clipping:function(){return!this.options.vertical?this.clip[0].offsetWidth-f.intval(this.clip.css(\"borderLeftWidth\"))- f.intval(this.clip.css(\"borderRightWidth\")):this.clip[0].offsetHeight-f.intval(this.clip.css(\"borderTopWidth\"))-f.intval(this.clip.css(\"borderBottomWidth\"))},index:function(a,c){if(c==null)c=this.options.size;return Math.round(((a-1)/c-Math.floor((a-1)/c))*c)+1}});f.extend({defaults:function(a){return g.extend(q,a||{})},intval:function(a){a=parseInt(a,10);return isNaN(a)?0:a},windowLoaded:function(){m=!0}});g.fn.jcarousel=function(a){if(typeof a==\"string\"){var c=g(this).data(\"jcarousel\"),b=Array.prototype.slice.call(arguments, 1);return c[a].apply(c,b)}else return this.each(function(){var b=g(this).data(\"jcarousel\");b?(a&&g.extend(b.options,a),b.reload()):g(this).data(\"jcarousel\",new f(this,a))})}})(jQuery);\r\n;\n/**\r\n * @file\r\n * Add jCarousel behaviors to the page and provide Views-support.\r\n */\r\n\r\n(function($) {\r\n\r\nDrupal.behaviors.jcarousel = function(context, settings) {\r\n settings = settings || Drupal.settings;\r\n\r\n // If no carousels exist on this part of the page, work no further.\r\n if (!settings.jcarousel || !settings.jcarousel.carousels) {\r\n return;\r\n }\r\n\r\n $.each(settings.jcarousel.carousels, function(key, options) {\r\n var $carousel = $(options.selector + ':not(.jcarousel-processed)', context);\r\n\r\n // If this carousel has already been processed or doesn't exist, move on.\r\n if (!$carousel.length) {\r\n return;\r\n }\r\n\r\n // Callbacks need to be converted from a string to an actual function.\r\n $.each(options, function(optionKey) {\r\n if (optionKey.match(/Callback$/) && typeof options[optionKey] == 'string') {\r\n var callbackFunction = window;\r\n var callbackParents = options[optionKey].split('.');\r\n $.each(callbackParents, function(objectParent) {\r\n callbackFunction = callbackFunction[callbackParents[objectParent]];\r\n });\r\n options[optionKey] = callbackFunction;\r\n }\r\n });\r\n\r\n // Add standard options required for AJAX functionality.\r\n if (options.ajax && !options.itemLoadCallback) {\r\n options.itemLoadCallback = Drupal.jcarousel.ajaxLoadCallback;\r\n }\r\n\r\n // If auto-scrolling, pause animation when hoving over the carousel.\r\n if (options.auto && options.autoPause && !options.initCallback) {\r\n options.initCallback = function(carousel, state) {\r\n Drupal.jcarousel.autoPauseCallback(carousel, state);\r\n };\r\n }\r\n\r\n // Add navigation to the carousel if enabled.\r\n if (!options.setupCallback) {\r\n options.setupCallback = function(carousel) {\r\n Drupal.jcarousel.setupCarousel(carousel);\r\n if (options.navigation) {\r\n Drupal.jcarousel.addNavigation(carousel, options.navigation);\r\n }\r\n };\r\n if (options.navigation && !options.itemVisibleInCallback) {\r\n options.itemLastInCallback = {\r\n onAfterAnimation: Drupal.jcarousel.updateNavigationActive\r\n };\r\n }\r\n }\r\n\r\n if (!options.hasOwnProperty('buttonNextHTML') && !options.hasOwnProperty('buttonPrevHTML')) {\r\n options.buttonNextHTML = Drupal.theme('jCarouselButton', 'next');\r\n options.buttonPrevHTML = Drupal.theme('jCarouselButton', 'previous');\r\n }\r\n\r\n // Initialize the jcarousel.\r\n $carousel.addClass('jcarousel-processed').jcarousel(options);\r\n });\r\n};\r\n\r\nDrupal.jcarousel = {};\r\nDrupal.jcarousel.ajaxLoadCallback = function(jcarousel, state) {\r\n // Check if the requested items already exist.\r\n if (state == 'init' || jcarousel.has(jcarousel.first, jcarousel.last)) {\r\n return;\r\n }\r\n\r\n var $list = jcarousel.list;\r\n var $view = $list.parents('.view:first');\r\n var ajaxPath = Drupal.settings.jcarousel.ajaxPath;\r\n var target = $view.get(0);\r\n\r\n // Find this view's settings in the Views AJAX settings.\r\n var settings;\r\n $.each(Drupal.settings.jcarousel.carousels, function(domID, carouselSettings) {\r\n if ($list.is('.' + domID)) {\r\n settings = carouselSettings['view_options'];\r\n }\r\n });\r\n\r\n // Copied from ajax_view.js:\r\n var viewData = { 'js': 1, 'first': jcarousel.first - 1, 'last': jcarousel.last };\r\n // Construct an object using the settings defaults and then overriding\r\n // with data specific to the link.\r\n $.extend(\r\n viewData,\r\n settings\r\n );\r\n\r\n $.ajax({\r\n url: ajaxPath,\r\n type: 'GET',\r\n data: viewData,\r\n success: function(response) {\r\n Drupal.jcarousel.ajaxResponseCallback(jcarousel, target, response);\r\n },\r\n error: function(xhr) {\r\n Drupal.jcarousel.ajaxErrorCallback(xhr, ajaxPath);\r\n },\r\n dataType: 'json'\r\n });\r\n\r\n};\r\n\r\n/**\r\n * Init callback for jCarousel. Pauses the carousel when hovering over.\r\n */\r\nDrupal.jcarousel.autoPauseCallback = function(carousel, state) {\r\n function pauseAuto() {\r\n carousel.stopAuto();\r\n }\r\n function resumeAuto() {\r\n carousel.startAuto();\r\n }\r\n carousel.clip.hover(pauseAuto, resumeAuto);\r\n carousel.buttonNext.hover(pauseAuto, resumeAuto);\r\n carousel.buttonPrev.hover(pauseAuto, resumeAuto);\r\n};\r\n\r\n/**\r\n * Setup callback for jCarousel. Calculates number of pages.\r\n */\r\nDrupal.jcarousel.setupCarousel = function(carousel) {\r\n // Determine the number of pages this carousel includes.\r\n // This only works for a positive starting point. Also, .first is 1-based\r\n // while .last is a count, so we need to reset the .first number to be\r\n // 0-based to make the math work.\r\n carousel.pageSize = carousel.last - (carousel.first - 1);\r\n\r\n // jCarousel's Views integration sets \"size\" in the carousel options. Use that\r\n // if available, otherwise count the number of items in the carousel.\r\n var itemCount = carousel.options.size ? carousel.options.size : $(carousel.list).children('li').length;\r\n carousel.pageCount = Math.ceil(itemCount / carousel.pageSize);\r\n carousel.pageNumber = 1;\r\n\r\n // Disable the previous/next arrows if there is only one page.\r\n if (carousel.pageCount == 1) {\r\n carousel.buttonNext.addClass('jcarousel-next-disabled').attr('disabled', true);\r\n carousel.buttonPrev.addClass('jcarousel-prev-disabled').attr('disabled', true);\r\n }\r\n\r\n // Always remove the hard-coded display: block from the navigation.\r\n carousel.buttonNext.css('display', '');\r\n carousel.buttonPrev.css('display', '');\r\n}\r\n\r\n/**\r\n * Setup callback for jCarousel. Adds the navigation to the carousel if enabled.\r\n */\r\nDrupal.jcarousel.addNavigation = function(carousel, position) {\r\n // Don't add a pager if there's only one page of results.\r\n if (carousel.pageCount <= 1) {\r\n return;\r\n }\r\n\r\n // Add a class to the wrapper so it can adjust CSS.\r\n $(carousel.list).parents('.jcarousel-container:first').addClass('jcarousel-navigation-' + position);\r\n\r\n var navigation = $('<ul class=\"jcarousel-navigation\"></ul>');\r\n\r\n for (var i = 1; i <= carousel.pageCount; i++) {\r\n var pagerItem = $(Drupal.theme('jCarouselPageLink', i));\r\n var listItem = $('<li></li>').attr('jcarousel-page', i).append(pagerItem);\r\n navigation.append(listItem);\r\n\r\n // Make the first page active by default.\r\n if (i === 1) {\r\n listItem.addClass('active');\r\n }\r\n\r\n // Scroll to the correct page when a pager is clicked.\r\n pagerItem.bind('click', function() {\r\n // We scroll to the new page based on item offsets. This works with\r\n // circular carousels that do not divide items evenly, making it so that\r\n // going back or forward in pages will not skip or repeat any items.\r\n var newPageNumber = $(this).parent().attr('jcarousel-page');\r\n var itemOffset = (newPageNumber - carousel.pageNumber) * carousel.pageSize;\r\n\r\n if (itemOffset) {\r\n carousel.scroll(carousel.first + itemOffset);\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n $(carousel.list).parents('.jcarousel-clip:first')[position](navigation);\r\n}\r\n\r\n/**\r\n * itemVisibleInCallback for jCarousel. Update the navigation after page change.\r\n */\r\nDrupal.jcarousel.updateNavigationActive = function(carousel, item, idx, state) {\r\n // The navigation doesn't even exist yet when this is called on init.\r\n var $listItems = $(carousel.list).parents('.jcarousel-container:first').find('.jcarousel-navigation li');\r\n if ($listItems.length == 0) {\r\n return;\r\n }\r\n\r\n // jCarousel does some very odd things with circular wraps. Items before the\r\n // first item are given negative numbers and items after the last are given\r\n // numbers beyond the total number of items. This complicated logic calculates\r\n // which page number is active based off this numbering scheme.\r\n var pageNumber = Math.ceil(idx / carousel.pageSize);\r\n if (pageNumber <= 0 || pageNumber > carousel.pageCount) {\r\n pageNumber = pageNumber % carousel.pageCount;\r\n pageNumber = pageNumber == 0 ? carousel.pageCount : pageNumber;\r\n pageNumber = pageNumber < 0 ? pageNumber + carousel.pageCount : pageNumber;\r\n }\r\n carousel.pageNumber = pageNumber;\r\n var currentPage = $listItems.get(carousel.pageNumber - 1);\r\n\r\n // Set the current page to be active.\r\n $listItems.not(currentPage).removeClass('active');\r\n $(currentPage).addClass('active');\r\n}\r\n\r\n/**\r\n * AJAX callback for all jCarousel-style views.\r\n */\r\nDrupal.jcarousel.ajaxResponseCallback = function(jcarousel, target, response) {\r\n if (response.debug) {\r\n alert(response.debug);\r\n }\r\n\r\n var $view = $(target);\r\n var jcarousel = $view.find('ul.jcarousel').data('jcarousel');\r\n\r\n // Add items to the jCarousel.\r\n $('ul.jcarousel > li', response.display).each(function(i) {\r\n var itemNumber = this.className.replace(/.*?jcarousel-item-(\\d+).*/, '$1');\r\n jcarousel.add(itemNumber, this.innerHTML);\r\n });\r\n\r\n // Add Drupal behaviors to the content of the carousel to affect new items.\r\n Drupal.attachBehaviors(jcarousel.list.get(0));\r\n\r\n // Treat messages the same way that Views typically handles messages.\r\n if (response.messages) {\r\n // Show any messages (but first remove old ones, if there are any).\r\n $view.find('.views-messages').remove().end().prepend(response.messages);\r\n }\r\n};\r\n\r\n/**\r\n * Display error messages using the same mechanism as Views module.\r\n */\r\nDrupal.jcarousel.ajaxErrorCallback = function (xhr, path) {\r\n var error_text = '';\r\n\r\n if ((xhr.status == 500 && xhr.responseText) || xhr.status == 200) {\r\n error_text = xhr.responseText;\r\n\r\n // Replace all < and > by < and >\r\n error_text = error_text.replace(\"/&(lt|gt);/g\", function (m, p) {\r\n return (p == \"lt\")? \"<\" : \">\";\r\n });\r\n\r\n // Now, replace all html tags by empty spaces\r\n error_text = error_text.replace(/<(\"[^\"]*\"|'[^']*'|[^'\">])*>/gi,\"\");\r\n\r\n // Fix end lines\r\n error_text = error_text.replace(/[\\n]+\\s+/g,\"\\n\");\r\n }\r\n else if (xhr.status == 500) {\r\n error_text = xhr.status + ': ' + Drupal.t(\"Internal server error. Please see server or PHP logs for error information.\");\r\n }\r\n else {\r\n error_text = xhr.status + ': ' + xhr.statusText;\r\n }\r\n\r\n alert(Drupal.t(\"An error occurred at @path.\\n\\nError Description: @error\", {'@path': path, '@error': error_text}));\r\n};\r\n\r\nDrupal.theme.prototype.jCarouselButton = function(type) {\r\n // Use links for buttons for accessibility.\r\n return '<a href=\"javascript:void(0)\"></a>';\r\n};\r\n\r\nDrupal.theme.prototype.jCarouselPageLink = function(pageNumber) {\r\n return '<a href=\"javascript:void(0)\"><span>' + (pageNumber) + '</span></a>';\r\n};\r\n\r\n})(jQuery);\r\n;\n// ColorBox v1.3.17.1 - a full featured, light-weight, customizable lightbox based on jQuery 1.3+\r\n// Copyright (c) 2011 Jack Moore - [email protected]\r\n// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php\r\n(function(a,b,c){function bc(b){if(!T){O=b,_(a.extend(J,a.data(O,e))),x=a(O),P=0,J.rel!==\"nofollow\"&&(x=a(\".\"+X).filter(function(){var b=a.data(this,e).rel||this.rel;return b===J.rel}),P=x.index(O),P===-1&&(x=x.add(O),P=x.length-1));if(!R){R=S=!0,q.show();if(J.returnFocus)try{O.blur(),a(O).one(k,function(){try{this.focus()}catch(a){}})}catch(c){}p.css({opacity:+J.opacity,cursor:J.overlayClose?\"pointer\":\"auto\"}).show(),J.w=Z(J.initialWidth,\"x\"),J.h=Z(J.initialHeight,\"y\"),W.position(0),n&&y.bind(\"resize.\"+o+\" scroll.\"+o,function(){p.css({width:y.width(),height:y.height(),top:y.scrollTop(),left:y.scrollLeft()})}).trigger(\"resize.\"+o),ba(g,J.onOpen),I.add(C).hide(),H.html(J.close).show()}W.load(!0)}}function bb(){var a,b=f+\"Slideshow_\",c=\"click.\"+f,d,e,g;J.slideshow&&x[1]?(d=function(){E.text(J.slideshowStop).unbind(c).bind(i,function(){if(P<x.length-1||J.loop)a=setTimeout(W.next,J.slideshowSpeed)}).bind(h,function(){clearTimeout(a)}).one(c+\" \"+j,e),q.removeClass(b+\"off\").addClass(b+\"on\"),a=setTimeout(W.next,J.slideshowSpeed)},e=function(){clearTimeout(a),E.text(J.slideshowStart).unbind([i,h,j,c].join(\" \")).one(c,d),q.removeClass(b+\"on\").addClass(b+\"off\")},J.slideshowAuto?d():e()):q.removeClass(b+\"off \"+b+\"on\")}function ba(b,c){c&&c.call(O),a.event.trigger(b)}function _(b){for(var c in b)a.isFunction(b[c])&&c.substring(0,2)!==\"on\"&&(b[c]=b[c].call(O));b.rel=b.rel||O.rel||\"nofollow\",b.href=b.href||a(O).attr(\"href\"),b.title=b.title||O.title,typeof b.href==\"string\"&&(b.href=a.trim(b.href))}function $(a){return J.photo||/\\.(gif|png|jpg|jpeg|bmp)(?:\\?([^#]*))?(?:#(\\.*))?$/i.test(a)}function Z(a,b){b=b===\"x\"?y.width():y.height();return typeof a==\"string\"?Math.round(/%/.test(a)?b/100*parseInt(a,10):parseInt(a,10)):a}function Y(c,d){var e=b.createElement(\"div\");c&&(e.id=f+c),e.style.cssText=d||\"\";return a(e)}var d={transition:\"elastic\",speed:300,width:!1,initialWidth:\"600\",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:\"450\",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:\"image {current} of {total}\",previous:\"previous\",next:\"next\",close:\"close\",open:!1,returnFocus:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:\"start slideshow\",slideshowStop:\"stop slideshow\",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:!1},e=\"colorbox\",f=\"cbox\",g=f+\"_open\",h=f+\"_load\",i=f+\"_complete\",j=f+\"_cleanup\",k=f+\"_closed\",l=f+\"_purge\",m=a.browser.msie&&!a.support.opacity,n=m&&a.browser.version<7,o=f+\"_IE6\",p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J={},K,L,M,N,O,P,Q,R,S,T,U,V,W,X=f+\"Element\";W=a.fn[e]=a[e]=function(b,c){var f=this,g;if(!f[0]&&f.selector)return f;b=b||{},c&&(b.onComplete=c);if(!f[0]||f.selector===undefined)f=a(\"<a/>\"),b.open=!0;f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b)),a(this).addClass(X)}),g=b.open,a.isFunction(g)&&(g=g.call(f)),g&&bc(f[0]);return f},W.init=function(){y=a(c),q=Y().attr({id:e,\"class\":m?f+(n?\"IE6\":\"IE\"):\"\"}),p=Y(\"Overlay\",n?\"position:absolute\":\"\").hide(),r=Y(\"Wrapper\"),s=Y(\"Content\").append(z=Y(\"LoadedContent\",\"width:0; height:0; overflow:hidden\"),B=Y(\"LoadingOverlay\").add(Y(\"LoadingGraphic\")),C=Y(\"Title\"),D=Y(\"Current\"),F=Y(\"Next\"),G=Y(\"Previous\"),E=Y(\"Slideshow\").bind(g,bb),H=Y(\"Close\")),r.append(Y().append(Y(\"TopLeft\"),t=Y(\"TopCenter\"),Y(\"TopRight\")),Y(!1,\"clear:left\").append(u=Y(\"MiddleLeft\"),s,v=Y(\"MiddleRight\")),Y(!1,\"clear:left\").append(Y(\"BottomLeft\"),w=Y(\"BottomCenter\"),Y(\"BottomRight\"))).children().children().css({\"float\":\"left\"}),A=Y(!1,\"position:absolute; width:9999px; visibility:hidden; display:none\"),a(\"body\").prepend(p,q.append(r,A)),s.children().hover(function(){a(this).addClass(\"hover\")},function(){a(this).removeClass(\"hover\")}).addClass(\"hover\"),K=t.height()+w.height()+s.outerHeight(!0)-s.height(),L=u.width()+v.width()+s.outerWidth(!0)-s.width(),M=z.outerHeight(!0),N=z.outerWidth(!0),q.css({\"padding-bottom\":K,\"padding-right\":L}).hide(),F.click(function(){W.next()}),G.click(function(){W.prev()}),H.click(function(){W.close()}),I=F.add(G).add(D).add(E),s.children().removeClass(\"hover\"),p.click(function(){J.overlayClose&&W.close()}),a(b).bind(\"keydown.\"+f,function(a){var b=a.keyCode;R&&J.escKey&&b===27&&(a.preventDefault(),W.close()),R&&J.arrowKey&&x[1]&&(b===37?(a.preventDefault(),G.click()):b===39&&(a.preventDefault(),F.click()))})},W.remove=function(){q.add(p).remove(),a(\".\"+X).removeData(e).removeClass(X)},W.position=function(a,c){function g(a){t[0].style.width=w[0].style.width=s[0].style.width=a.style.width,B[0].style.height=B[1].style.height=s[0].style.height=u[0].style.height=v[0].style.height=a.style.height}var d,e=0,f=0;q.hide(),J.fixed&&!n?q.css({position:\"fixed\"}):(e=y.scrollTop(),f=y.scrollLeft(),q.css({position:\"absolute\"})),J.right!==!1?f+=Math.max(y.width()-J.w-N-L-Z(J.right,\"x\"),0):J.left!==!1?f+=Z(J.left,\"x\"):f+=Math.max(y.width()-J.w-N-L,0)/2,J.bottom!==!1?e+=Math.max(b.documentElement.clientHeight-J.h-M-K-Z(J.bottom,\"y\"),0):J.top!==!1?e+=Z(J.top,\"y\"):e+=Math.max(b.documentElement.clientHeight-J.h-M-K,0)/2,q.show(),d=q.width()===J.w+N&&q.height()===J.h+M?0:a,r[0].style.width=r[0].style.height=\"9999px\",q.dequeue().animate({width:J.w+N,height:J.h+M,top:e,left:f},{duration:d,complete:function(){g(this),S=!1,r[0].style.width=J.w+N+L+\"px\",r[0].style.height=J.h+M+K+\"px\",c&&c()},step:function(){g(this)}})},W.resize=function(a){if(R){a=a||{},a.width&&(J.w=Z(a.width,\"x\")-N-L),a.innerWidth&&(J.w=Z(a.innerWidth,\"x\")),z.css({width:J.w}),a.height&&(J.h=Z(a.height,\"y\")-M-K),a.innerHeight&&(J.h=Z(a.innerHeight,\"y\"));if(!a.innerHeight&&!a.height){var b=z.wrapInner(\"<div style='overflow:auto'></div>\").children();J.h=b.height(),b.replaceWith(b.children())}z.css({height:J.h}),W.position(J.transition===\"none\"?0:J.speed)}},W.prep=function(b){function h(b){W.position(b,function(){function o(){m&&q[0].style.removeAttribute(\"filter\")}var b,d,g,h,j=x.length,k,n;!R||(n=function(){clearTimeout(V),B.hide(),ba(i,J.onComplete)},m&&Q&&z.fadeIn(100),C.html(J.title).add(z).show(),j>1?(typeof J.current==\"string\"&&D.html(J.current.replace(/\\{current\\}/,P+1).replace(/\\{total\\}/,j)).show(),F[J.loop||P<j-1?\"show\":\"hide\"]().html(J.next),G[J.loop||P?\"show\":\"hide\"]().html(J.previous),b=P?x[P-1]:x[j-1],g=P<j-1?x[P+1]:x[0],J.slideshow&&E.show(),J.preloading&&(h=a.data(g,e).href||g.href,d=a.data(b,e).href||b.href,h=a.isFunction(h)?h.call(g):h,d=a.isFunction(d)?d.call(b):d,$(h)&&(a(\"<img/>\")[0].src=h),$(d)&&(a(\"<img/>\")[0].src=d))):I.hide(),J.iframe?(k=a(\"<iframe/>\").addClass(f+\"Iframe\")[0],J.fastIframe?n():a(k).one(\"load\",n),k.name=f+ +(new Date),k.src=J.href,J.scrolling||(k.scrolling=\"no\"),m&&(k.frameBorder=0,k.allowTransparency=\"true\"),a(k).appendTo(z).one(l,function(){k.src=\"//about:blank\"})):n(),J.transition===\"fade\"?q.fadeTo(c,1,o):o(),y.bind(\"resize.\"+f,function(){W.position(0)}))})}function g(){J.h=J.h||z.height(),J.h=J.mh&&J.mh<J.h?J.mh:J.h;return J.h}function d(){J.w=J.w||z.width(),J.w=J.mw&&J.mw<J.w?J.mw:J.w;return J.w}if(!!R){var c=J.transition===\"none\"?0:J.speed;y.unbind(\"resize.\"+f),z.remove(),z=Y(\"LoadedContent\").html(b),z.hide().appendTo(A.show()).css({width:d(),overflow:J.scrolling?\"auto\":\"hidden\"}).css({height:g()}).prependTo(s),A.hide(),a(Q).css({\"float\":\"none\"}),n&&a(\"select\").not(q.find(\"select\")).filter(function(){return this.style.visibility!==\"hidden\"}).css({visibility:\"hidden\"}).one(j,function(){this.style.visibility=\"inherit\"}),J.transition===\"fade\"?q.fadeTo(c,0,function(){h(0)}):h(c)}},W.load=function(b){var c,d,g=W.prep;S=!0,Q=!1,O=x[P],b||_(a.extend(J,a.data(O,e))),ba(l),ba(h,J.onLoad),J.h=J.height?Z(J.height,\"y\")-M-K:J.innerHeight&&Z(J.innerHeight,\"y\"),J.w=J.width?Z(J.width,\"x\")-N-L:J.innerWidth&&Z(J.innerWidth,\"x\"),J.mw=J.w,J.mh=J.h,J.maxWidth&&(J.mw=Z(J.maxWidth,\"x\")-N-L,J.mw=J.w&&J.w<J.mw?J.w:J.mw),J.maxHeight&&(J.mh=Z(J.maxHeight,\"y\")-M-K,J.mh=J.h&&J.h<J.mh?J.h:J.mh),c=J.href,V=setTimeout(function(){B.show()},100),J.inline?(Y().hide().insertBefore(a(c)[0]).one(l,function(){a(this).replaceWith(z.children())}),g(a(c))):J.iframe?g(\" \"):J.html?g(J.html):$(c)?(a(Q=new Image).addClass(f+\"Photo\").error(function(){J.title=!1,g(Y(\"Error\").text(\"This image could not be loaded\"))}).load(function(){var a;Q.onload=null,J.scalePhotos&&(d=function(){Q.height-=Q.height*a,Q.width-=Q.width*a},J.mw&&Q.width>J.mw&&(a=(Q.width-J.mw)/Q.width,d()),J.mh&&Q.height>J.mh&&(a=(Q.height-J.mh)/Q.height,d())),J.h&&(Q.style.marginTop=Math.max(J.h-Q.height,0)/2+\"px\"),x[1]&&(P<x.length-1||J.loop)&&(Q.style.cursor=\"pointer\",Q.onclick=function(){W.next()}),m&&(Q.style.msInterpolationMode=\"bicubic\"),setTimeout(function(){g(Q)},1)}),setTimeout(function(){Q.src=c},1)):c&&A.load(c,J.data,function(b,c,d){g(c===\"error\"?Y(\"Error\").text(\"Request unsuccessful: \"+d.statusText):a(this).contents())})},W.next=function(){!S&&x[1]&&(P<x.length-1||J.loop)&&(P=P<x.length-1?P+1:0,W.load())},W.prev=function(){!S&&x[1]&&(P||J.loop)&&(P=P?P-1:x.length-1,W.load())},W.close=function(){R&&!T&&(T=!0,R=!1,ba(j,J.onCleanup),y.unbind(\".\"+f+\" .\"+o),p.fadeTo(200,0),q.stop().fadeTo(300,0,function(){q.add(p).css({opacity:1,cursor:\"auto\"}).hide(),ba(l),z.remove(),setTimeout(function(){T=!1,ba(k,J.onClosed)},1)}))},W.element=function(){return a(O)},W.settings=d,U=function(a){a.button!==0&&typeof a.button!=\"undefined\"||a.ctrlKey||a.shiftKey||a.altKey||(a.preventDefault(),bc(this))},a.fn.delegate?a(b).delegate(\".\"+X,\"click\",U):a(\".\"+X).live(\"click\",U),a(W.init)})(jQuery,document,this);\n(function ($) {\n\nDrupal.behaviors.initColorbox = function (context) {\n if (!$.isFunction($.colorbox)) {\n return;\n }\n $('a, area, input', context)\n .filter('.colorbox:not(.initColorbox-processed)')\n .addClass('initColorbox-processed')\n .colorbox(Drupal.settings.colorbox);\n};\n\n{\n $(document).bind('cbox_complete', function () {\n Drupal.attachBehaviors('#cboxLoadedContent');\n });\n}\n\n})(jQuery);\n;\n(function ($) {\n\nDrupal.behaviors.initColorboxLoad = function (context) {\n if (!$.isFunction($.colorbox)) {\n return;\n }\n var settings = Drupal.settings.colorbox;\n $.urlParam = function(name, url){\n var results = new RegExp('[\\\\?&]' + name + '=([^&#]*)').exec(url);\n if (!results) { return ''; }\n return results[1] || '';\n };\n $('a, area, input', context).filter('.colorbox-load:not(.initColorboxLoad-processed)').addClass('initColorboxLoad-processed').colorbox({\n transition:settings.transition,\n speed:settings.speed,\n opacity:settings.opacity,\n slideshowAuto:settings.slideshowAuto,\n slideshowSpeed:settings.slideshowSpeed,\n slideshowStart:settings.slideshowStart,\n slideshowStop:settings.slideshowStop,\n current:settings.current,\n previous:settings.previous,\n next:settings.next,\n close:settings.close,\n overlayClose:settings.overlayClose,\n maxWidth:settings.maxWidth,\n maxHeight:settings.maxHeight,\n innerWidth:function(){\n return $.urlParam('width', $(this).attr('href'));\n },\n innerHeight:function(){\n return $.urlParam('height', $(this).attr('href'));\n },\n iframe:function(){\n return $.urlParam('iframe', $(this).attr('href'));\n },\n slideshow:function(){\n return $.urlParam('slideshow', $(this).attr('href'));\n }\n });\n};\n\n})(jQuery);\n;\n(function ($) {\n\nDrupal.behaviors.initColorboxInline = function (context) {\n if (!$.isFunction($.colorbox)) {\n return;\n }\n var settings = Drupal.settings.colorbox;\n $.urlParam = function(name, url){\n if (name == 'fragment') {\n var results = new RegExp('(#[^&#]*)').exec(url);\n }\n else {\n var results = new RegExp('[\\\\?&]' + name + '=([^&#]*)').exec(url);\n }\n if (!results) { return ''; }\n return results[1] || '';\n };\n $('a, area, input', context).filter('.colorbox-inline:not(.initColorboxInline-processed)').addClass('initColorboxInline-processed').colorbox({\n transition:settings.transition,\n speed:settings.speed,\n opacity:settings.opacity,\n slideshow:settings.slideshow,\n slideshowAuto:settings.slideshowAuto,\n slideshowSpeed:settings.slideshowSpeed,\n slideshowStart:settings.slideshowStart,\n slideshowStop:settings.slideshowStop,\n current:settings.current,\n previous:settings.previous,\n next:settings.next,\n close:settings.close,\n overlayClose:settings.overlayClose,\n maxWidth:settings.maxWidth,\n maxHeight:settings.maxHeight,\n innerWidth:function(){\n return $.urlParam('width', $(this).attr('href'));\n },\n innerHeight:function(){\n return $.urlParam('height', $(this).attr('href'));\n },\n title:function(){\n return $.urlParam('title', $(this).attr('href'));\n },\n iframe:function(){\n return $.urlParam('iframe', $(this).attr('href'));\n },\n inline:function(){\n return $.urlParam('inline', $(this).attr('href'));\n },\n href:function(){\n return $.urlParam('fragment', $(this).attr('href'));\n }\n });\n};\n\n})(jQuery);\n;\n/**\r\n * Modified Star Rating - jQuery plugin\r\n *\r\n * Copyright (c) 2006 Wil Stuckey\r\n *\r\n * Original source available: http://sandbox.wilstuckey.com/jquery-ratings/\r\n * Extensively modified by Lullabot: http://www.lullabot.com\r\n *\r\n * Dual licensed under the MIT and GPL licenses:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n * http://www.gnu.org/licenses/gpl.html\r\n */\r\n\r\n/**\r\n * Create a degradeable star rating interface out of a simple form structure.\r\n * Returns a modified jQuery object containing the new interface.\r\n * \r\n * @example jQuery('form.rating').fivestar();\r\n * @cat plugin\r\n * @type jQuery \r\n *\r\n */\r\n(function($){ // Create local scope.\r\n /**\r\n * Takes the form element, builds the rating interface and attaches the proper events.\r\n * @param {Object} $obj\r\n */\r\n var buildRating = function($obj){\r\n var $widget = buildInterface($obj),\r\n $stars = $('.star', $widget),\r\n $cancel = $('.cancel', $widget),\r\n $summary = $('.fivestar-summary', $obj),\r\n feedbackTimerId = 0,\r\n summaryText = $summary.html(),\r\n summaryHover = $obj.is('.fivestar-labels-hover'),\r\n currentValue = $(\"select\", $obj).val(),\r\n cancelTitle = $('label', $obj).html(),\r\n voteTitle = cancelTitle != Drupal.settings.fivestar.titleAverage ? cancelTitle : Drupal.settings.fivestar.titleUser,\r\n voteChanged = false;\r\n\r\n // Record star display.\r\n if ($obj.is('.fivestar-user-stars')) {\r\n var starDisplay = 'user';\r\n }\r\n else if ($obj.is('.fivestar-average-stars')) {\r\n var starDisplay = 'average';\r\n currentValue = $(\"input[name=vote_average]\", $obj).val();\r\n }\r\n else if ($obj.is('.fivestar-combo-stars')) {\r\n var starDisplay = 'combo';\r\n }\r\n else {\r\n var starDisplay = 'none';\r\n }\r\n\r\n // Smart is intentionally separate, so the average will be set if necessary.\r\n if ($obj.is('.fivestar-smart-stars')) {\r\n var starDisplay = 'smart';\r\n }\r\n\r\n // Record text display.\r\n if ($summary.size()) {\r\n var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_');\r\n }\r\n else {\r\n var textDisplay = 'none';\r\n }\r\n\r\n // Add hover and focus events.\r\n $stars\r\n .mouseover(function(){\r\n event.drain();\r\n event.fill(this);\r\n })\r\n .mouseout(function(){\r\n event.drain();\r\n event.reset();\r\n });\r\n $stars.children()\r\n .focus(function(){\r\n event.drain();\r\n event.fill(this.parentNode)\r\n })\r\n .blur(function(){\r\n event.drain();\r\n event.reset();\r\n }).end();\r\n\r\n // Cancel button events.\r\n $cancel\r\n .mouseover(function(){\r\n event.drain();\r\n $(this).addClass('on')\r\n })\r\n .mouseout(function(){\r\n event.reset();\r\n $(this).removeClass('on')\r\n });\r\n $cancel.children()\r\n .focus(function(){\r\n event.drain();\r\n $(this.parentNode).addClass('on')\r\n })\r\n .blur(function(){\r\n event.reset();\r\n $(this.parentNode).removeClass('on')\r\n }).end();\r\n\r\n // Click events.\r\n $cancel.click(function(){\r\n currentValue = 0;\r\n event.reset();\r\n voteChanged = false;\r\n // Inform a user that his vote is being processed\r\n if ($(\"input.fivestar-path\", $obj).size() && $summary.is('.fivestar-feedback-enabled')) {\r\n setFeedbackText(Drupal.settings.fivestar.feedbackDeletingVote);\r\n }\r\n // Save the currentValue in a hidden field.\r\n $(\"select\", $obj).val(0);\r\n // Update the title.\r\n cancelTitle = starDisplay != 'smart' ? cancelTitle : Drupal.settings.fivestar.titleAverage;\r\n $('label', $obj).html(cancelTitle);\r\n // Update the smart classes on the widget if needed.\r\n if ($obj.is('.fivestar-smart-text')) {\r\n $obj.removeClass('fivestar-user-text').addClass('fivestar-average-text');\r\n $summary[0].className = $summary[0].className.replace(/-user/, '-average');\r\n textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_');\r\n }\r\n if ($obj.is('.fivestar-smart-stars')) {\r\n $obj.removeClass('fivestar-user-stars').addClass('fivestar-average-stars');\r\n }\r\n // Submit the form if needed.\r\n $(\"input.fivestar-path\", $obj).each(function() {\r\n var token = $(\"input.fivestar-token\", $obj).val();\r\n $.ajax({\r\n type: 'GET',\r\n data: { token: token },\r\n dataType: 'xml',\r\n url: this.value + '/' + 0,\r\n success: voteHook\r\n });\r\n });\r\n return false;\r\n });\r\n $stars.click(function(){\r\n currentValue = $('select option', $obj).get($stars.index(this) + $cancel.size() + 1).value;\r\n // Save the currentValue to the hidden select field.\r\n $(\"select\", $obj).val(currentValue);\r\n // Update the display of the stars.\r\n voteChanged = true;\r\n event.reset();\r\n // Inform a user that his vote is being processed.\r\n if ($(\"input.fivestar-path\", $obj).size() && $summary.is('.fivestar-feedback-enabled')) {\r\n setFeedbackText(Drupal.settings.fivestar.feedbackSavingVote);\r\n }\r\n // Update the smart classes on the widget if needed.\r\n if ($obj.is('.fivestar-smart-text')) {\r\n $obj.removeClass('fivestar-average-text').addClass('fivestar-user-text');\r\n $summary[0].className = $summary[0].className.replace(/-average/, '-user');\r\n textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_');\r\n }\r\n if ($obj.is('.fivestar-smart-stars')) {\r\n $obj.removeClass('fivestar-average-stars').addClass('fivestar-user-stars');\r\n }\r\n // Submit the form if needed.\r\n $(\"input.fivestar-path\", $obj).each(function () {\r\n var token = $(\"input.fivestar-token\", $obj).val();\r\n $.ajax({\r\n type: 'GET',\r\n data: { token: token },\r\n dataType: 'xml',\r\n url: this.value + '/' + currentValue,\r\n success: voteHook\r\n });\r\n });\r\n return false;\r\n });\r\n\r\n var event = {\r\n fill: function(el){\r\n // Fill to the current mouse position.\r\n var index = $stars.index(el) + 1;\r\n $stars\r\n .children('a').css('width', '100%').end()\r\n .filter(':lt(' + index + ')').addClass('hover').end();\r\n // Update the description text and label.\r\n if (summaryHover && !feedbackTimerId) {\r\n var summary = $(\"select option\", $obj)[index + $cancel.size()].text;\r\n var value = $(\"select option\", $obj)[index + $cancel.size()].value;\r\n $summary.html(summary != index + 1 ? summary : ' ');\r\n $('label', $obj).html(voteTitle);\r\n }\r\n },\r\n drain: function() {\r\n // Drain all the stars.\r\n $stars\r\n .filter('.on').removeClass('on').end()\r\n .filter('.hover').removeClass('hover').end();\r\n // Update the description text.\r\n if (summaryHover && !feedbackTimerId) {\r\n var cancelText = $(\"select option\", $obj)[1].text;\r\n $summary.html(($cancel.size() && cancelText != 0) ? cancelText : ' ');\r\n if (!voteChanged) {\r\n $('label', $obj).html(cancelTitle);\r\n }\r\n }\r\n },\r\n reset: function(){\r\n // Reset the stars to the default index.\r\n var starValue = currentValue/100 * $stars.size();\r\n var percent = (starValue - Math.floor(starValue)) * 100;\r\n $stars.filter(':lt(' + Math.floor(starValue) + ')').addClass('on').end();\r\n if (percent > 0) {\r\n $stars.eq(Math.floor(starValue)).addClass('on').children('a').css('width', percent + \"%\").end().end();\r\n }\r\n // Restore the summary text and original title.\r\n if (summaryHover && !feedbackTimerId) {\r\n $summary.html(summaryText ? summaryText : ' ');\r\n }\r\n if (voteChanged) {\r\n $('label', $obj).html(voteTitle);\r\n }\r\n else {\r\n $('label', $obj).html(cancelTitle);\r\n }\r\n }\r\n };\r\n\r\n var setFeedbackText = function(text) {\r\n // Kill previous timer if it isn't finished yet so that the text we\r\n // are about to set will not get cleared too early.\r\n feedbackTimerId = 1;\r\n $summary.html(text);\r\n };\r\n\r\n /**\r\n * Checks for the presence of a javascript hook 'fivestarResult' to be\r\n * called upon completion of a AJAX vote request.\r\n */\r\n var voteHook = function(data) {\r\n var returnObj = {\r\n result: {\r\n count: $(\"result > count\", data).text(),\r\n average: $(\"result > average\", data).text(),\r\n summary: {\r\n average: $(\"summary average\", data).text(),\r\n average_count: $(\"summary average_count\", data).text(),\r\n user: $(\"summary user\", data).text(),\r\n user_count: $(\"summary user_count\", data).text(),\r\n combo: $(\"summary combo\", data).text(),\r\n count: $(\"summary count\", data).text()\r\n }\r\n },\r\n vote: {\r\n id: $(\"vote id\", data).text(),\r\n tag: $(\"vote tag\", data).text(),\r\n type: $(\"vote type\", data).text(),\r\n value: $(\"vote value\", data).text()\r\n },\r\n display: {\r\n stars: starDisplay,\r\n text: textDisplay\r\n }\r\n };\r\n // Check for a custom callback.\r\n if (window.fivestarResult) {\r\n fivestarResult(returnObj);\r\n }\r\n // Use the default.\r\n else {\r\n fivestarDefaultResult(returnObj);\r\n }\r\n // Update the summary text.\r\n summaryText = returnObj.result.summary[returnObj.display.text];\r\n if ($(returnObj.result.summary.average).is('.fivestar-feedback-enabled')) {\r\n // Inform user that his/her vote has been processed.\r\n if (returnObj.vote.value != 0) { // check if vote has been saved or deleted \r\n setFeedbackText(Drupal.settings.fivestar.feedbackVoteSaved);\r\n }\r\n else {\r\n setFeedbackText(Drupal.settings.fivestar.feedbackVoteDeleted);\r\n }\r\n // Setup a timer to clear the feedback text after 3 seconds.\r\n feedbackTimerId = setTimeout(function() { clearTimeout(feedbackTimerId); feedbackTimerId = 0; $summary.html(returnObj.result.summary[returnObj.display.text]); }, 2000);\r\n }\r\n // Update the current star currentValue to the previous average.\r\n if (returnObj.vote.value == 0 && (starDisplay == 'average' || starDisplay == 'smart')) {\r\n currentValue = returnObj.result.average;\r\n event.reset();\r\n }\r\n };\r\n\r\n event.reset();\r\n return $widget;\r\n };\r\n \r\n /**\r\n * Accepts jQuery object containing a single fivestar widget.\r\n * Returns the proper div structure for the star interface.\r\n * \r\n * @return jQuery\r\n * @param {Object} $widget\r\n * \r\n */\r\n var buildInterface = function($widget){\r\n var $container = $('<div class=\"fivestar-widget clear-block\"></div>');\r\n var $options = $(\"select option\", $widget);\r\n var size = $('option', $widget).size() - 1;\r\n var cancel = 1;\r\n for (var i = 1, option; option = $options[i]; i++){\r\n if (option.value == \"0\") {\r\n cancel = 0;\r\n $div = $('<div class=\"cancel\"><a href=\"#0\" title=\"' + option.text + '\">' + option.text + '</a></div>');\r\n }\r\n else {\r\n var zebra = (i + cancel - 1) % 2 == 0 ? 'even' : 'odd';\r\n var count = i + cancel - 1;\r\n var first = count == 1 ? ' star-first' : '';\r\n var last = count == size + cancel - 1 ? ' star-last' : '';\r\n $div = $('<div class=\"star star-' + count + ' star-' + zebra + first + last + '\"><a href=\"#' + option.value + '\" title=\"' + option.text + '\">' + option.text + '</a></div>');\r\n }\r\n $container.append($div[0]);\r\n }\r\n $container.addClass('fivestar-widget-' + (size + cancel - 1));\r\n // Attach the new widget and hide the existing widget.\r\n $('select', $widget).after($container).css('display', 'none');\r\n return $container;\r\n };\r\n\r\n /**\r\n * Standard handler to update the average rating when a user changes their\r\n * vote. This behavior can be overridden by implementing a fivestarResult\r\n * function in your own module or theme.\r\n * @param object voteResult\r\n * Object containing the following properties from the vote result:\r\n * voteResult.result.count The current number of votes for this item.\r\n * voteResult.result.average The current average of all votes for this item.\r\n * voteResult.result.summary.average The textual description of the average.\r\n * voteResult.result.summary.user The textual description of the user's current vote.\r\n * voteResult.vote.id The id of the item the vote was placed on (such as the nid)\r\n * voteResult.vote.type The type of the item the vote was placed on (such as 'node')\r\n * voteResult.vote.tag The multi-axis tag the vote was placed on (such as 'vote')\r\n * voteResult.vote.average The average of the new vote saved\r\n * voteResult.display.stars The type of star display we're using. Either 'average', 'user', or 'combo'.\r\n * voteResult.display.text The type of text display we're using. Either 'average', 'user', or 'combo'.\r\n */\r\n function fivestarDefaultResult(voteResult) {\r\n // Update the summary text.\r\n $('div.fivestar-summary-'+voteResult.vote.tag+'-'+voteResult.vote.id).html(voteResult.result.summary[voteResult.display.text]);\r\n // If this is a combo display, update the average star display.\r\n if (voteResult.display.stars == 'combo') {\r\n $('div.fivestar-form-'+voteResult.vote.id).each(function() {\r\n // Update stars.\r\n var $stars = $('.fivestar-widget-static .star span', this);\r\n var average = voteResult.result.average/100 * $stars.size();\r\n var index = Math.floor(average);\r\n $stars.removeClass('on').addClass('off').css('width', 'auto');\r\n $stars.filter(':lt(' + (index + 1) + ')').removeClass('off').addClass('on');\r\n $stars.eq(index).css('width', ((average - index) * 100) + \"%\");\r\n // Update summary.\r\n var $summary = $('.fivestar-static-form-item .fivestar-summary', this);\r\n if ($summary.size()) {\r\n var textDisplay = $summary.attr('class').replace(/.*?fivestar-summary-([^ ]+).*/, '$1').replace(/-/g, '_');\r\n $summary.html(voteResult.result.summary[textDisplay]);\r\n }\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Set up the plugin\r\n */\r\n $.fn.fivestar = function() {\r\n var stack = [];\r\n this.each(function() {\r\n var ret = buildRating($(this));\r\n stack.push(ret);\r\n });\r\n return stack;\r\n };\r\n\r\n // Fix ie6 background flicker problem.\r\n if ($.browser.msie == true) {\r\n try {\r\n document.execCommand('BackgroundImageCache', false, true);\r\n } catch(err) {}\r\n }\r\n\r\n Drupal.behaviors.fivestar = function(context) {\r\n $('div.fivestar-form-item:not(.fivestar-processed)', context).addClass('fivestar-processed').fivestar();\r\n $('input.fivestar-submit', context).css('display', 'none');\r\n }\r\n\r\n})(jQuery);;\n\r\n$(document).ready(function() {\r\n\r\n // Attach onclick event to document only and catch clicks on all elements.\r\n $(document.body).click(function(event) {\r\n // Catch only the first parent link of a clicked element.\r\n $(event.target).parents(\"a:first,area:first\").andSelf().filter(\"a,area\").each(function() {\r\n\r\n var ga = Drupal.settings.googleanalytics;\r\n // Expression to check for absolute internal links.\r\n var isInternal = new RegExp(\"^(https?):\\/\\/\" + window.location.host, \"i\");\r\n // Expression to check for special links like gotwo.module /go/* links.\r\n var isInternalSpecial = new RegExp(\"(\\/go\\/.*)$\", \"i\");\r\n // Expression to check for download links.\r\n var isDownload = new RegExp(\"\\\\.(\" + ga.trackDownloadExtensions + \")$\", \"i\");\r\n\r\n // Is the clicked URL internal?\r\n if (isInternal.test(this.href)) {\r\n // Is download tracking activated and the file extension configured for download tracking?\r\n if (ga.trackDownload && isDownload.test(this.href)) {\r\n // Download link clicked.\r\n var extension = isDownload.exec(this.href);\r\n _gaq.push([\"_trackEvent\", \"Downloads\", extension[1].toUpperCase(), this.href.replace(isInternal, '')]);\r\n }\r\n else if (isInternalSpecial.test(this.href)) {\r\n // Keep the internal URL for Google Analytics website overlay intact.\r\n _gaq.push([\"_trackPageview\", this.href.replace(isInternal, '')]);\r\n }\r\n }\r\n else {\r\n if (ga.trackMailto && $(this).is(\"a[href^=mailto:],area[href^=mailto:]\")) {\r\n // Mailto link clicked.\r\n _gaq.push([\"_trackEvent\", \"Mails\", \"Click\", this.href.substring(7)]);\r\n }\r\n else if (ga.trackOutgoing && this.href) {\r\n if (ga.trackOutboundAsPageview) {\r\n // Track all external links as page views after URL cleanup.\r\n // Currently required, if click should be tracked as goal.\r\n _gaq.push([\"_trackPageview\", '/outbound/' + this.href.replace(/^(https?|ftp|news|nntp|telnet|irc|ssh|sftp|webcal):\\/\\//i, '').split('/').join('--')]);\r\n }\r\n else {\r\n // External link clicked.\r\n _gaq.push([\"_trackEvent\", \"Outbound links\", \"Click\", this.href]);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n});\r\n;\n\n(function ($) {\n\nDrupal.Nodejs = Drupal.Nodejs || {\n 'contentChannelNotificationCallbacks': {},\n 'presenceCallbacks': {},\n 'callbacks': {},\n 'socket': false,\n 'connectionSetupHandlers': {}\n};\n\nDrupal.behaviors.nodejs = function(context) {\n if (!Drupal.Nodejs.socket) {\n if (Drupal.Nodejs.connect()) {\n Drupal.Nodejs.sendAuthMessage();\n }\n }\n};\n\nDrupal.Nodejs.runCallbacks = function (message) {\n if (message.clientSocketId == Drupal.Nodejs.socket.socket.sessionid) {\n return;\n }\n\n if (message.callback && $.isFunction(Drupal.Nodejs.callbacks[message.callback].callback)) {\n try {\n Drupal.Nodejs.callbacks[message.callback].callback(message);\n }\n catch (exception) {}\n }\n else if (message.presenceNotification != undefined) {\n $.each(Drupal.Nodejs.presenceCallbacks, function () {\n if ($.isFunction(this.callback)) {\n try {\n this.callback(message);\n }\n catch (exception) {}\n }\n });\n }\n else if (message.contentChannelNotification != undefined) {\n $.each(Drupal.Nodejs.contentChannelNotificationCallbacks, function () {\n if ($.isFunction(this.callback)) {\n try {\n this.callback(message);\n }\n catch (exception) {}\n }\n });\n }\n else {\n $.each(Drupal.Nodejs.callbacks, function () {\n if ($.isFunction(this.callback)) {\n try {\n this.callback(message);\n }\n catch (exception) {}\n }\n });\n }\n};\n\nDrupal.Nodejs.runSetupHandlers = function (type) {\n $.each(Drupal.Nodejs.connectionSetupHandlers, function () {\n if ($.isFunction(this[type])) {\n try {\n this[type]();\n }\n catch (exception) {}\n }\n });\n};\n\nDrupal.Nodejs.connect = function () {\n var scheme = Drupal.settings.nodejs.secure ? 'https' : 'http',\n url = scheme + '://' + Drupal.settings.nodejs.host + ':' + Drupal.settings.nodejs.port;\n Drupal.settings.nodejs.connectTimeout = Drupal.settings.nodejs.connectTimeout || 5000;\n if (typeof io === 'undefined') {\n return false;\n }\n Drupal.Nodejs.socket = io.connect(url, {'connect timeout': Drupal.settings.nodejs.connectTimeout});\n Drupal.Nodejs.socket.on('connect', function() {\n Drupal.Nodejs.sendAuthMessage();\n Drupal.Nodejs.runSetupHandlers('connect');\n\n if (Drupal.ajax != undefined) {\n Drupal.Nodejs.originalBeforeSerialize = Drupal.ajax.prototype.beforeSerialize;\n Drupal.ajax.prototype.beforeSerialize = function(element_settings, options) {\n options.data['nodejs_client_socket_id'] = Drupal.Nodejs.socket.socket.sessionid;\n return Drupal.Nodejs.originalBeforeSerialize(element_settings, options);\n };\n }\n });\n Drupal.Nodejs.socket.on('disconnect', function() {\n Drupal.Nodejs.runSetupHandlers('disconnect');\n if (Drupal.ajax != undefined) {\n Drupal.ajax.prototype.beforeSerialize = Drupal.Nodejs.originalBeforeSerialize;\n }\n });\n Drupal.Nodejs.socket.on('message', Drupal.Nodejs.runCallbacks);\n setTimeout(\"Drupal.Nodejs.checkConnection()\", Drupal.settings.nodejs.connectTimeout + 250);\n};\n\nDrupal.Nodejs.checkConnection = function () {\n if (!Drupal.Nodejs.socket.socket.connected) {\n Drupal.Nodejs.runSetupHandlers('connectionFailure');\n }\n};\n\nDrupal.Nodejs.sendAuthMessage = function () {\n var authMessage = {\n authToken: Drupal.settings.nodejs.authToken,\n contentTokens: Drupal.settings.nodejs.contentTokens\n };\n Drupal.Nodejs.socket.emit('authenticate', authMessage);\n};\n\n})(jQuery);\n\n// vi:ai:expandtab:sw=2 ts=2;\n\n// Content type form\nDrupal.behaviors.og_content_type = function() {\n // Disable the group limit textarea if the content type is not a standard group post\n $('input[name=\"og_content_type_usage\"]').click(function(){\n if (!$('#edit-og-content-type-usage-group-post-standard').attr('checked') && !$('#edit-og-content-type-usage-group-post-wiki').attr('checked')) {\n $('#edit-og-max-groups').attr('disabled','disabled');\n } else {\n $('#edit-og-max-groups').removeAttr('disabled');\n }\n });\n \n // Initial check to see if content type is standard group post\n if (!$('#edit-og-content-type-usage-group-post-standard').attr('checked') && !$('#edit-og-content-type-usage-group-post-wiki').attr('checked')) {\n $('#edit-og-max-groups').attr('disabled','disabled');\n };\n}\n\n\nDrupal.verticalTabs = Drupal.verticalTabs || {};\n\nDrupal.verticalTabs.og_nodeapi = function() {\n var values = [];\n $('.vertical-tabs-og_nodeapi #edit-og-groups :selected')\n .each(function (i, selected) {\n values[i] = $(selected).text();\n });\n\n return values.join(', ');\n}\n\nDrupal.verticalTabs.og = function() {\n var type = $('.vertical-tabs-og input[type=radio]:checked').val();\n \n switch (type) {\n case 'group':\n return Drupal.t('Group node');\n break;\n \n case 'omitted':\n return Drupal.t('May not be posted into a group.');\n break;\n \n case 'group_post_standard':\n return Drupal.t('Standard group post');\n break;\n \n case 'group_post_wiki':\n return Drupal.t('Wiki group post');\n break;\n }\n}\n;\n/*\r\n * jQuery UI 1.7.3\r\n *\r\n * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)\r\n * Dual licensed under the MIT (MIT-LICENSE.txt)\r\n * and GPL (GPL-LICENSE.txt) licenses.\r\n *\r\n * http://docs.jquery.com/UI\r\n */\r\n;jQuery.ui || (function($) {\r\n\r\nvar _remove = $.fn.remove,\r\n\tisFF2 = $.browser.mozilla && (parseFloat($.browser.version) < 1.9);\r\n\r\n//Helper functions and ui object\r\n$.ui = {\r\n\tversion: \"1.7.3\",\r\n\r\n\t// $.ui.plugin is deprecated. Use the proxy pattern instead.\r\n\tplugin: {\r\n\t\tadd: function(module, option, set) {\r\n\t\t\tvar proto = $.ui[module].prototype;\r\n\t\t\tfor(var i in set) {\r\n\t\t\t\tproto.plugins[i] = proto.plugins[i] || [];\r\n\t\t\t\tproto.plugins[i].push([option, set[i]]);\r\n\t\t\t}\r\n\t\t},\r\n\t\tcall: function(instance, name, args) {\r\n\t\t\tvar set = instance.plugins[name];\r\n\t\t\tif(!set || !instance.element[0].parentNode) { return; }\r\n\r\n\t\t\tfor (var i = 0; i < set.length; i++) {\r\n\t\t\t\tif (instance.options[set[i][0]]) {\r\n\t\t\t\t\tset[i][1].apply(instance.element, args);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tcontains: function(a, b) {\r\n\t\treturn document.compareDocumentPosition\r\n\t\t\t? a.compareDocumentPosition(b) & 16\r\n\t\t\t: a !== b && a.contains(b);\r\n\t},\r\n\r\n\thasScroll: function(el, a) {\r\n\r\n\t\t//If overflow is hidden, the element might have extra content, but the user wants to hide it\r\n\t\tif ($(el).css('overflow') == 'hidden') { return false; }\r\n\r\n\t\tvar scroll = (a && a == 'left') ? 'scrollLeft' : 'scrollTop',\r\n\t\t\thas = false;\r\n\r\n\t\tif (el[scroll] > 0) { return true; }\r\n\r\n\t\t// TODO: determine which cases actually cause this to happen\r\n\t\t// if the element doesn't have the scroll set, see if it's possible to\r\n\t\t// set the scroll\r\n\t\tel[scroll] = 1;\r\n\t\thas = (el[scroll] > 0);\r\n\t\tel[scroll] = 0;\r\n\t\treturn has;\r\n\t},\r\n\r\n\tisOverAxis: function(x, reference, size) {\r\n\t\t//Determines when x coordinate is over \"b\" element axis\r\n\t\treturn (x > reference) && (x < (reference + size));\r\n\t},\r\n\r\n\tisOver: function(y, x, top, left, height, width) {\r\n\t\t//Determines when x, y coordinates is over \"b\" element\r\n\t\treturn $.ui.isOverAxis(y, top, height) && $.ui.isOverAxis(x, left, width);\r\n\t},\r\n\r\n\tkeyCode: {\r\n\t\tBACKSPACE: 8,\r\n\t\tCAPS_LOCK: 20,\r\n\t\tCOMMA: 188,\r\n\t\tCONTROL: 17,\r\n\t\tDELETE: 46,\r\n\t\tDOWN: 40,\r\n\t\tEND: 35,\r\n\t\tENTER: 13,\r\n\t\tESCAPE: 27,\r\n\t\tHOME: 36,\r\n\t\tINSERT: 45,\r\n\t\tLEFT: 37,\r\n\t\tNUMPAD_ADD: 107,\r\n\t\tNUMPAD_DECIMAL: 110,\r\n\t\tNUMPAD_DIVIDE: 111,\r\n\t\tNUMPAD_ENTER: 108,\r\n\t\tNUMPAD_MULTIPLY: 106,\r\n\t\tNUMPAD_SUBTRACT: 109,\r\n\t\tPAGE_DOWN: 34,\r\n\t\tPAGE_UP: 33,\r\n\t\tPERIOD: 190,\r\n\t\tRIGHT: 39,\r\n\t\tSHIFT: 16,\r\n\t\tSPACE: 32,\r\n\t\tTAB: 9,\r\n\t\tUP: 38\r\n\t}\r\n};\r\n\r\n// WAI-ARIA normalization\r\nif (isFF2) {\r\n\tvar attr = $.attr,\r\n\t\tremoveAttr = $.fn.removeAttr,\r\n\t\tariaNS = \"http://www.w3.org/2005/07/aaa\",\r\n\t\tariaState = /^aria-/,\r\n\t\tariaRole = /^wairole:/;\r\n\r\n\t$.attr = function(elem, name, value) {\r\n\t\tvar set = value !== undefined;\r\n\r\n\t\treturn (name == 'role'\r\n\t\t\t? (set\r\n\t\t\t\t? attr.call(this, elem, name, \"wairole:\" + value)\r\n\t\t\t\t: (attr.apply(this, arguments) || \"\").replace(ariaRole, \"\"))\r\n\t\t\t: (ariaState.test(name)\r\n\t\t\t\t? (set\r\n\t\t\t\t\t? elem.setAttributeNS(ariaNS,\r\n\t\t\t\t\t\tname.replace(ariaState, \"aaa:\"), value)\r\n\t\t\t\t\t: attr.call(this, elem, name.replace(ariaState, \"aaa:\")))\r\n\t\t\t\t: attr.apply(this, arguments)));\r\n\t};\r\n\r\n\t$.fn.removeAttr = function(name) {\r\n\t\treturn (ariaState.test(name)\r\n\t\t\t? this.each(function() {\r\n\t\t\t\tthis.removeAttributeNS(ariaNS, name.replace(ariaState, \"\"));\r\n\t\t\t}) : removeAttr.call(this, name));\r\n\t};\r\n}\r\n\r\n//jQuery plugins\r\n$.fn.extend({\r\n\tremove: function(selector, keepData) {\r\n\t\treturn this.each(function() {\r\n\t\t\tif ( !keepData ) {\r\n\t\t\t\tif ( !selector || $.filter( selector, [ this ] ).length ) {\r\n\t\t\t\t\t$( \"*\", this ).add( this ).each(function() {\r\n\t\t\t\t\t\t$( this ).triggerHandler( \"remove\" );\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn _remove.call( $(this), selector, keepData );\r\n\t\t});\r\n\t},\r\n\r\n\tenableSelection: function() {\r\n\t\treturn this\r\n\t\t\t.attr('unselectable', 'off')\r\n\t\t\t.css('MozUserSelect', '')\r\n\t\t\t.unbind('selectstart.ui');\r\n\t},\r\n\r\n\tdisableSelection: function() {\r\n\t\treturn this\r\n\t\t\t.attr('unselectable', 'on')\r\n\t\t\t.css('MozUserSelect', 'none')\r\n\t\t\t.bind('selectstart.ui', function() { return false; });\r\n\t},\r\n\r\n\tscrollParent: function() {\r\n\t\tvar scrollParent;\r\n\t\tif(($.browser.msie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {\r\n\t\t\tscrollParent = this.parents().filter(function() {\r\n\t\t\t\treturn (/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));\r\n\t\t\t}).eq(0);\r\n\t\t} else {\r\n\t\t\tscrollParent = this.parents().filter(function() {\r\n\t\t\t\treturn (/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));\r\n\t\t\t}).eq(0);\r\n\t\t}\r\n\r\n\t\treturn (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;\r\n\t}\r\n});\r\n\r\n\r\n//Additional selectors\r\n$.extend($.expr[':'], {\r\n\tdata: function(elem, i, match) {\r\n\t\treturn !!$.data(elem, match[3]);\r\n\t},\r\n\r\n\tfocusable: function(element) {\r\n\t\tvar nodeName = element.nodeName.toLowerCase(),\r\n\t\t\ttabIndex = $.attr(element, 'tabindex');\r\n\t\treturn (/input|select|textarea|button|object/.test(nodeName)\r\n\t\t\t? !element.disabled\r\n\t\t\t: 'a' == nodeName || 'area' == nodeName\r\n\t\t\t\t? element.href || !isNaN(tabIndex)\r\n\t\t\t\t: !isNaN(tabIndex))\r\n\t\t\t// the element and all of its ancestors must be visible\r\n\t\t\t// the browser may report that the area is hidden\r\n\t\t\t&& !$(element)['area' == nodeName ? 'parents' : 'closest'](':hidden').length;\r\n\t},\r\n\r\n\ttabbable: function(element) {\r\n\t\tvar tabIndex = $.attr(element, 'tabindex');\r\n\t\treturn (isNaN(tabIndex) || tabIndex >= 0) && $(element).is(':focusable');\r\n\t}\r\n});\r\n\r\n\r\n// $.widget is a factory to create jQuery plugins\r\n// taking some boilerplate code out of the plugin code\r\nfunction getter(namespace, plugin, method, args) {\r\n\tfunction getMethods(type) {\r\n\t\tvar methods = $[namespace][plugin][type] || [];\r\n\t\treturn (typeof methods == 'string' ? methods.split(/,?\\s+/) : methods);\r\n\t}\r\n\r\n\tvar methods = getMethods('getter');\r\n\tif (args.length == 1 && typeof args[0] == 'string') {\r\n\t\tmethods = methods.concat(getMethods('getterSetter'));\r\n\t}\r\n\treturn ($.inArray(method, methods) != -1);\r\n}\r\n\r\n$.widget = function(name, prototype) {\r\n\tvar namespace = name.split(\".\")[0];\r\n\tname = name.split(\".\")[1];\r\n\r\n\t// create plugin method\r\n\t$.fn[name] = function(options) {\r\n\t\tvar isMethodCall = (typeof options == 'string'),\r\n\t\t\targs = Array.prototype.slice.call(arguments, 1);\r\n\r\n\t\t// prevent calls to internal methods\r\n\t\tif (isMethodCall && options.substring(0, 1) == '_') {\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\t// handle getter methods\r\n\t\tif (isMethodCall && getter(namespace, name, options, args)) {\r\n\t\t\tvar instance = $.data(this[0], name);\r\n\t\t\treturn (instance ? instance[options].apply(instance, args)\r\n\t\t\t\t: undefined);\r\n\t\t}\r\n\r\n\t\t// handle initialization and non-getter methods\r\n\t\treturn this.each(function() {\r\n\t\t\tvar instance = $.data(this, name);\r\n\r\n\t\t\t// constructor\r\n\t\t\t(!instance && !isMethodCall &&\r\n\t\t\t\t$.data(this, name, new $[namespace][name](this, options))._init());\r\n\r\n\t\t\t// method call\r\n\t\t\t(instance && isMethodCall && $.isFunction(instance[options]) &&\r\n\t\t\t\tinstance[options].apply(instance, args));\r\n\t\t});\r\n\t};\r\n\r\n\t// create widget constructor\r\n\t$[namespace] = $[namespace] || {};\r\n\t$[namespace][name] = function(element, options) {\r\n\t\tvar self = this;\r\n\r\n\t\tthis.namespace = namespace;\r\n\t\tthis.widgetName = name;\r\n\t\tthis.widgetEventPrefix = $[namespace][name].eventPrefix || name;\r\n\t\tthis.widgetBaseClass = namespace + '-' + name;\r\n\r\n\t\tthis.options = $.extend({},\r\n\t\t\t$.widget.defaults,\r\n\t\t\t$[namespace][name].defaults,\r\n\t\t\t$.metadata && $.metadata.get(element)[name],\r\n\t\t\toptions);\r\n\r\n\t\tthis.element = $(element)\r\n\t\t\t.bind('setData.' + name, function(event, key, value) {\r\n\t\t\t\tif (event.target == element) {\r\n\t\t\t\t\treturn self._setData(key, value);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.bind('getData.' + name, function(event, key) {\r\n\t\t\t\tif (event.target == element) {\r\n\t\t\t\t\treturn self._getData(key);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.bind('remove', function() {\r\n\t\t\t\treturn self.destroy();\r\n\t\t\t});\r\n\t};\r\n\r\n\t// add widget prototype\r\n\t$[namespace][name].prototype = $.extend({}, $.widget.prototype, prototype);\r\n\r\n\t// TODO: merge getter and getterSetter properties from widget prototype\r\n\t// and plugin prototype\r\n\t$[namespace][name].getterSetter = 'option';\r\n};\r\n\r\n$.widget.prototype = {\r\n\t_init: function() {},\r\n\tdestroy: function() {\r\n\t\tthis.element.removeData(this.widgetName)\r\n\t\t\t.removeClass(this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled')\r\n\t\t\t.removeAttr('aria-disabled');\r\n\t},\r\n\r\n\toption: function(key, value) {\r\n\t\tvar options = key,\r\n\t\t\tself = this;\r\n\r\n\t\tif (typeof key == \"string\") {\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\treturn this._getData(key);\r\n\t\t\t}\r\n\t\t\toptions = {};\r\n\t\t\toptions[key] = value;\r\n\t\t}\r\n\r\n\t\t$.each(options, function(key, value) {\r\n\t\t\tself._setData(key, value);\r\n\t\t});\r\n\t},\r\n\t_getData: function(key) {\r\n\t\treturn this.options[key];\r\n\t},\r\n\t_setData: function(key, value) {\r\n\t\tthis.options[key] = value;\r\n\r\n\t\tif (key == 'disabled') {\r\n\t\t\tthis.element\r\n\t\t\t\t[value ? 'addClass' : 'removeClass'](\r\n\t\t\t\t\tthis.widgetBaseClass + '-disabled' + ' ' +\r\n\t\t\t\t\tthis.namespace + '-state-disabled')\r\n\t\t\t\t.attr(\"aria-disabled\", value);\r\n\t\t}\r\n\t},\r\n\r\n\tenable: function() {\r\n\t\tthis._setData('disabled', false);\r\n\t},\r\n\tdisable: function() {\r\n\t\tthis._setData('disabled', true);\r\n\t},\r\n\r\n\t_trigger: function(type, event, data) {\r\n\t\tvar callback = this.options[type],\r\n\t\t\teventName = (type == this.widgetEventPrefix\r\n\t\t\t\t? type : this.widgetEventPrefix + type);\r\n\r\n\t\tevent = $.Event(event);\r\n\t\tevent.type = eventName;\r\n\r\n\t\t// copy original event properties over to the new event\r\n\t\t// this would happen if we could call $.event.fix instead of $.Event\r\n\t\t// but we don't have a way to force an event to be fixed multiple times\r\n\t\tif (event.originalEvent) {\r\n\t\t\tfor (var i = $.event.props.length, prop; i;) {\r\n\t\t\t\tprop = $.event.props[--i];\r\n\t\t\t\tevent[prop] = event.originalEvent[prop];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.element.trigger(event, data);\r\n\r\n\t\treturn !($.isFunction(callback) && callback.call(this.element[0], event, data) === false\r\n\t\t\t|| event.isDefaultPrevented());\r\n\t}\r\n};\r\n\r\n$.widget.defaults = {\r\n\tdisabled: false\r\n};\r\n\r\n\r\n/** Mouse Interaction Plugin **/\r\n\r\n$.ui.mouse = {\r\n\t_mouseInit: function() {\r\n\t\tvar self = this;\r\n\r\n\t\tthis.element\r\n\t\t\t.bind('mousedown.'+this.widgetName, function(event) {\r\n\t\t\t\treturn self._mouseDown(event);\r\n\t\t\t})\r\n\t\t\t.bind('click.'+this.widgetName, function(event) {\r\n\t\t\t\tif(self._preventClickEvent) {\r\n\t\t\t\t\tself._preventClickEvent = false;\r\n\t\t\t\t\tevent.stopImmediatePropagation();\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t// Prevent text selection in IE\r\n\t\tif ($.browser.msie) {\r\n\t\t\tthis._mouseUnselectable = this.element.attr('unselectable');\r\n\t\t\tthis.element.attr('unselectable', 'on');\r\n\t\t}\r\n\r\n\t\tthis.started = false;\r\n\t},\r\n\r\n\t// TODO: make sure destroying one instance of mouse doesn't mess with\r\n\t// other instances of mouse\r\n\t_mouseDestroy: function() {\r\n\t\tthis.element.unbind('.'+this.widgetName);\r\n\r\n\t\t// Restore text selection in IE\r\n\t\t($.browser.msie\r\n\t\t\t&& this.element.attr('unselectable', this._mouseUnselectable));\r\n\t},\r\n\r\n\t_mouseDown: function(event) {\r\n\t\t// don't let more than one widget handle mouseStart\r\n\t\t// TODO: figure out why we have to use originalEvent\r\n\t\tevent.originalEvent = event.originalEvent || {};\r\n\t\tif (event.originalEvent.mouseHandled) { return; }\r\n\r\n\t\t// we may have missed mouseup (out of window)\r\n\t\t(this._mouseStarted && this._mouseUp(event));\r\n\r\n\t\tthis._mouseDownEvent = event;\r\n\r\n\t\tvar self = this,\r\n\t\t\tbtnIsLeft = (event.which == 1),\r\n\t\t\telIsCancel = (typeof this.options.cancel == \"string\" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false);\r\n\t\tif (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tthis.mouseDelayMet = !this.options.delay;\r\n\t\tif (!this.mouseDelayMet) {\r\n\t\t\tthis._mouseDelayTimer = setTimeout(function() {\r\n\t\t\t\tself.mouseDelayMet = true;\r\n\t\t\t}, this.options.delay);\r\n\t\t}\r\n\r\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\r\n\t\t\tthis._mouseStarted = (this._mouseStart(event) !== false);\r\n\t\t\tif (!this._mouseStarted) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// these delegates are required to keep context\r\n\t\tthis._mouseMoveDelegate = function(event) {\r\n\t\t\treturn self._mouseMove(event);\r\n\t\t};\r\n\t\tthis._mouseUpDelegate = function(event) {\r\n\t\t\treturn self._mouseUp(event);\r\n\t\t};\r\n\t\t$(document)\r\n\t\t\t.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)\r\n\t\t\t.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);\r\n\r\n\t\t// preventDefault() is used to prevent the selection of text here -\r\n\t\t// however, in Safari, this causes select boxes not to be selectable\r\n\t\t// anymore, so this fix is needed\r\n\t\t($.browser.safari || event.preventDefault());\r\n\r\n\t\tevent.originalEvent.mouseHandled = true;\r\n\t\treturn true;\r\n\t},\r\n\r\n\t_mouseMove: function(event) {\r\n\t\t// IE mouseup check - mouseup happened when mouse was out of window\r\n\t\tif ($.browser.msie && !event.button) {\r\n\t\t\treturn this._mouseUp(event);\r\n\t\t}\r\n\r\n\t\tif (this._mouseStarted) {\r\n\t\t\tthis._mouseDrag(event);\r\n\t\t\treturn event.preventDefault();\r\n\t\t}\r\n\r\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\r\n\t\t\tthis._mouseStarted =\r\n\t\t\t\t(this._mouseStart(this._mouseDownEvent, event) !== false);\r\n\t\t\t(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));\r\n\t\t}\r\n\r\n\t\treturn !this._mouseStarted;\r\n\t},\r\n\r\n\t_mouseUp: function(event) {\r\n\t\t$(document)\r\n\t\t\t.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)\r\n\t\t\t.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);\r\n\r\n\t\tif (this._mouseStarted) {\r\n\t\t\tthis._mouseStarted = false;\r\n\t\t\tthis._preventClickEvent = (event.target == this._mouseDownEvent.target);\r\n\t\t\tthis._mouseStop(event);\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\t_mouseDistanceMet: function(event) {\r\n\t\treturn (Math.max(\r\n\t\t\t\tMath.abs(this._mouseDownEvent.pageX - event.pageX),\r\n\t\t\t\tMath.abs(this._mouseDownEvent.pageY - event.pageY)\r\n\t\t\t) >= this.options.distance\r\n\t\t);\r\n\t},\r\n\r\n\t_mouseDelayMet: function(event) {\r\n\t\treturn this.mouseDelayMet;\r\n\t},\r\n\r\n\t// These are placeholder methods, to be overriden by extending plugin\r\n\t_mouseStart: function(event) {},\r\n\t_mouseDrag: function(event) {},\r\n\t_mouseStop: function(event) {},\r\n\t_mouseCapture: function(event) { return true; }\r\n};\r\n\r\n$.ui.mouse.defaults = {\r\n\tcancel: null,\r\n\tdistance: 1,\r\n\tdelay: 0\r\n};\r\n\r\n})(jQuery);\r\n;\n/*\r\n * jQuery UI Accordion 1.7.3\r\n *\r\n * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)\r\n * Dual licensed under the MIT (MIT-LICENSE.txt)\r\n * and GPL (GPL-LICENSE.txt) licenses.\r\n *\r\n * http://docs.jquery.com/UI/Accordion\r\n *\r\n * Depends:\r\n *\tui.core.js\r\n */\r\n(function($) {\r\n\r\n$.widget(\"ui.accordion\", {\r\n\r\n\t_init: function() {\r\n\r\n\t\tvar o = this.options, self = this;\r\n\t\tthis.running = 0;\r\n\r\n\t\t// if the user set the alwaysOpen option on init\r\n\t\t// then we need to set the collapsible option\r\n\t\t// if they set both on init, collapsible will take priority\r\n\t\tif (o.collapsible == $.ui.accordion.defaults.collapsible &&\r\n\t\t\to.alwaysOpen != $.ui.accordion.defaults.alwaysOpen) {\r\n\t\t\to.collapsible = !o.alwaysOpen;\r\n\t\t}\r\n\r\n\t\tif ( o.navigation ) {\r\n\t\t\tvar current = this.element.find(\"a\").filter(o.navigationFilter);\r\n\t\t\tif ( current.length ) {\r\n\t\t\t\tif ( current.filter(o.header).length ) {\r\n\t\t\t\t\tthis.active = current;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.active = current.parent().parent().prev();\r\n\t\t\t\t\tcurrent.addClass(\"ui-accordion-content-active\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.element.addClass(\"ui-accordion ui-widget ui-helper-reset\");\r\n\t\t\r\n\t\t// in lack of child-selectors in CSS we need to mark top-LIs in a UL-accordion for some IE-fix\r\n\t\tif (this.element[0].nodeName == \"UL\") {\r\n\t\t\tthis.element.children(\"li\").addClass(\"ui-accordion-li-fix\");\r\n\t\t}\r\n\r\n\t\tthis.headers = this.element.find(o.header).addClass(\"ui-accordion-header ui-helper-reset ui-state-default ui-corner-all\")\r\n\t\t\t.bind(\"mouseenter.accordion\", function(){ $(this).addClass('ui-state-hover'); })\r\n\t\t\t.bind(\"mouseleave.accordion\", function(){ $(this).removeClass('ui-state-hover'); })\r\n\t\t\t.bind(\"focus.accordion\", function(){ $(this).addClass('ui-state-focus'); })\r\n\t\t\t.bind(\"blur.accordion\", function(){ $(this).removeClass('ui-state-focus'); });\r\n\r\n\t\tthis.headers\r\n\t\t\t.next()\r\n\t\t\t\t.addClass(\"ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom\");\r\n\r\n\t\tthis.active = this._findActive(this.active || o.active).toggleClass(\"ui-state-default\").toggleClass(\"ui-state-active\").toggleClass(\"ui-corner-all\").toggleClass(\"ui-corner-top\");\r\n\t\tthis.active.next().addClass('ui-accordion-content-active');\r\n\r\n\t\t//Append icon elements\r\n\t\t$(\"<span/>\").addClass(\"ui-icon \" + o.icons.header).prependTo(this.headers);\r\n\t\tthis.active.find(\".ui-icon\").toggleClass(o.icons.header).toggleClass(o.icons.headerSelected);\r\n\r\n\t\t// IE7-/Win - Extra vertical space in lists fixed\r\n\t\tif ($.browser.msie) {\r\n\t\t\tthis.element.find('a').css('zoom', '1');\r\n\t\t}\r\n\r\n\t\tthis.resize();\r\n\r\n\t\t//ARIA\r\n\t\tthis.element.attr('role','tablist');\r\n\r\n\t\tthis.headers\r\n\t\t\t.attr('role','tab')\r\n\t\t\t.bind('keydown', function(event) { return self._keydown(event); })\r\n\t\t\t.next()\r\n\t\t\t.attr('role','tabpanel');\r\n\r\n\t\tthis.headers\r\n\t\t\t.not(this.active || \"\")\r\n\t\t\t.attr('aria-expanded','false')\r\n\t\t\t.attr(\"tabIndex\", \"-1\")\r\n\t\t\t.next()\r\n\t\t\t.hide();\r\n\r\n\t\t// make sure at least one header is in the tab order\r\n\t\tif (!this.active.length) {\r\n\t\t\tthis.headers.eq(0).attr('tabIndex','0');\r\n\t\t} else {\r\n\t\t\tthis.active\r\n\t\t\t\t.attr('aria-expanded','true')\r\n\t\t\t\t.attr('tabIndex', '0');\r\n\t\t}\r\n\r\n\t\t// only need links in taborder for Safari\r\n\t\tif (!$.browser.safari)\r\n\t\t\tthis.headers.find('a').attr('tabIndex','-1');\r\n\r\n\t\tif (o.event) {\r\n\t\t\tthis.headers.bind((o.event) + \".accordion\", function(event) { return self._clickHandler.call(self, event, this); });\r\n\t\t}\r\n\r\n\t},\r\n\r\n\tdestroy: function() {\r\n\t\tvar o = this.options;\r\n\r\n\t\tthis.element\r\n\t\t\t.removeClass(\"ui-accordion ui-widget ui-helper-reset\")\r\n\t\t\t.removeAttr(\"role\")\r\n\t\t\t.unbind('.accordion')\r\n\t\t\t.removeData('accordion');\r\n\r\n\t\tthis.headers\r\n\t\t\t.unbind(\".accordion\")\r\n\t\t\t.removeClass(\"ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top\")\r\n\t\t\t.removeAttr(\"role\").removeAttr(\"aria-expanded\").removeAttr(\"tabindex\");\r\n\r\n\t\tthis.headers.find(\"a\").removeAttr(\"tabindex\");\r\n\t\tthis.headers.children(\".ui-icon\").remove();\r\n\t\tvar contents = this.headers.next().css(\"display\", \"\").removeAttr(\"role\").removeClass(\"ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active\");\r\n\t\tif (o.autoHeight || o.fillHeight) {\r\n\t\t\tcontents.css(\"height\", \"\");\r\n\t\t}\r\n\t},\r\n\t\r\n\t_setData: function(key, value) {\r\n\t\tif(key == 'alwaysOpen') { key = 'collapsible'; value = !value; }\r\n\t\t$.widget.prototype._setData.apply(this, arguments);\t\r\n\t},\r\n\r\n\t_keydown: function(event) {\r\n\r\n\t\tvar o = this.options, keyCode = $.ui.keyCode;\r\n\r\n\t\tif (o.disabled || event.altKey || event.ctrlKey)\r\n\t\t\treturn;\r\n\r\n\t\tvar length = this.headers.length;\r\n\t\tvar currentIndex = this.headers.index(event.target);\r\n\t\tvar toFocus = false;\r\n\r\n\t\tswitch(event.keyCode) {\r\n\t\t\tcase keyCode.RIGHT:\r\n\t\t\tcase keyCode.DOWN:\r\n\t\t\t\ttoFocus = this.headers[(currentIndex + 1) % length];\r\n\t\t\t\tbreak;\r\n\t\t\tcase keyCode.LEFT:\r\n\t\t\tcase keyCode.UP:\r\n\t\t\t\ttoFocus = this.headers[(currentIndex - 1 + length) % length];\r\n\t\t\t\tbreak;\r\n\t\t\tcase keyCode.SPACE:\r\n\t\t\tcase keyCode.ENTER:\r\n\t\t\t\treturn this._clickHandler({ target: event.target }, event.target);\r\n\t\t}\r\n\r\n\t\tif (toFocus) {\r\n\t\t\t$(event.target).attr('tabIndex','-1');\r\n\t\t\t$(toFocus).attr('tabIndex','0');\r\n\t\t\ttoFocus.focus();\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\r\n\t},\r\n\r\n\tresize: function() {\r\n\r\n\t\tvar o = this.options, maxHeight;\r\n\r\n\t\tif (o.fillSpace) {\r\n\t\t\t\r\n\t\t\tif($.browser.msie) { var defOverflow = this.element.parent().css('overflow'); this.element.parent().css('overflow', 'hidden'); }\r\n\t\t\tmaxHeight = this.element.parent().height();\r\n\t\t\tif($.browser.msie) { this.element.parent().css('overflow', defOverflow); }\r\n\t\r\n\t\t\tthis.headers.each(function() {\r\n\t\t\t\tmaxHeight -= $(this).outerHeight();\r\n\t\t\t});\r\n\r\n\t\t\tvar maxPadding = 0;\r\n\t\t\tthis.headers.next().each(function() {\r\n\t\t\t\tmaxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height());\r\n\t\t\t}).height(Math.max(0, maxHeight - maxPadding))\r\n\t\t\t.css('overflow', 'auto');\r\n\r\n\t\t} else if ( o.autoHeight ) {\r\n\t\t\tmaxHeight = 0;\r\n\t\t\tthis.headers.next().each(function() {\r\n\t\t\t\tmaxHeight = Math.max(maxHeight, $(this).outerHeight());\r\n\t\t\t}).height(maxHeight);\r\n\t\t}\r\n\r\n\t},\r\n\r\n\tactivate: function(index) {\r\n\t\t// call clickHandler with custom event\r\n\t\tvar active = this._findActive(index)[0];\r\n\t\tthis._clickHandler({ target: active }, active);\r\n\t},\r\n\r\n\t_findActive: function(selector) {\r\n\t\treturn selector\r\n\t\t\t? typeof selector == \"number\"\r\n\t\t\t\t? this.headers.filter(\":eq(\" + selector + \")\")\r\n\t\t\t\t: this.headers.not(this.headers.not(selector))\r\n\t\t\t: selector === false\r\n\t\t\t\t? $([])\r\n\t\t\t\t: this.headers.filter(\":eq(0)\");\r\n\t},\r\n\r\n\t_clickHandler: function(event, target) {\r\n\r\n\t\tvar o = this.options;\r\n\t\tif (o.disabled) return false;\r\n\r\n\t\t// called only when using activate(false) to close all parts programmatically\r\n\t\tif (!event.target && o.collapsible) {\r\n\t\t\tthis.active.removeClass(\"ui-state-active ui-corner-top\").addClass(\"ui-state-default ui-corner-all\")\r\n\t\t\t\t.find(\".ui-icon\").removeClass(o.icons.headerSelected).addClass(o.icons.header);\r\n\t\t\tthis.active.next().addClass('ui-accordion-content-active');\r\n\t\t\tvar toHide = this.active.next(),\r\n\t\t\t\tdata = {\r\n\t\t\t\t\toptions: o,\r\n\t\t\t\t\tnewHeader: $([]),\r\n\t\t\t\t\toldHeader: o.active,\r\n\t\t\t\t\tnewContent: $([]),\r\n\t\t\t\t\toldContent: toHide\r\n\t\t\t\t},\r\n\t\t\t\ttoShow = (this.active = $([]));\r\n\t\t\tthis._toggle(toShow, toHide, data);\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// get the click target\r\n\t\tvar clicked = $(event.currentTarget || target);\r\n\t\tvar clickedIsActive = clicked[0] == this.active[0];\r\n\r\n\t\t// if animations are still active, or the active header is the target, ignore click\r\n\t\tif (this.running || (!o.collapsible && clickedIsActive)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// switch classes\r\n\t\tthis.active.removeClass(\"ui-state-active ui-corner-top\").addClass(\"ui-state-default ui-corner-all\")\r\n\t\t\t.find(\".ui-icon\").removeClass(o.icons.headerSelected).addClass(o.icons.header);\r\n\t\tthis.active.next().addClass('ui-accordion-content-active');\r\n\t\tif (!clickedIsActive) {\r\n\t\t\tclicked.removeClass(\"ui-state-default ui-corner-all\").addClass(\"ui-state-active ui-corner-top\")\r\n\t\t\t\t.find(\".ui-icon\").removeClass(o.icons.header).addClass(o.icons.headerSelected);\r\n\t\t\tclicked.next().addClass('ui-accordion-content-active');\r\n\t\t}\r\n\r\n\t\t// find elements to show and hide\r\n\t\tvar toShow = clicked.next(),\r\n\t\t\ttoHide = this.active.next(),\r\n\t\t\tdata = {\r\n\t\t\t\toptions: o,\r\n\t\t\t\tnewHeader: clickedIsActive && o.collapsible ? $([]) : clicked,\r\n\t\t\t\toldHeader: this.active,\r\n\t\t\t\tnewContent: clickedIsActive && o.collapsible ? $([]) : toShow.find('> *'),\r\n\t\t\t\toldContent: toHide.find('> *')\r\n\t\t\t},\r\n\t\t\tdown = this.headers.index( this.active[0] ) > this.headers.index( clicked[0] );\r\n\r\n\t\tthis.active = clickedIsActive ? $([]) : clicked;\r\n\t\tthis._toggle(toShow, toHide, data, clickedIsActive, down);\r\n\r\n\t\treturn false;\r\n\r\n\t},\r\n\r\n\t_toggle: function(toShow, toHide, data, clickedIsActive, down) {\r\n\r\n\t\tvar o = this.options, self = this;\r\n\r\n\t\tthis.toShow = toShow;\r\n\t\tthis.toHide = toHide;\r\n\t\tthis.data = data;\r\n\r\n\t\tvar complete = function() { if(!self) return; return self._completed.apply(self, arguments); };\r\n\r\n\t\t// trigger changestart event\r\n\t\tthis._trigger(\"changestart\", null, this.data);\r\n\r\n\t\t// count elements to animate\r\n\t\tthis.running = toHide.size() === 0 ? toShow.size() : toHide.size();\r\n\r\n\t\tif (o.animated) {\r\n\r\n\t\t\tvar animOptions = {};\r\n\r\n\t\t\tif ( o.collapsible && clickedIsActive ) {\r\n\t\t\t\tanimOptions = {\r\n\t\t\t\t\ttoShow: $([]),\r\n\t\t\t\t\ttoHide: toHide,\r\n\t\t\t\t\tcomplete: complete,\r\n\t\t\t\t\tdown: down,\r\n\t\t\t\t\tautoHeight: o.autoHeight || o.fillSpace\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\tanimOptions = {\r\n\t\t\t\t\ttoShow: toShow,\r\n\t\t\t\t\ttoHide: toHide,\r\n\t\t\t\t\tcomplete: complete,\r\n\t\t\t\t\tdown: down,\r\n\t\t\t\t\tautoHeight: o.autoHeight || o.fillSpace\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tif (!o.proxied) {\r\n\t\t\t\to.proxied = o.animated;\r\n\t\t\t}\r\n\r\n\t\t\tif (!o.proxiedDuration) {\r\n\t\t\t\to.proxiedDuration = o.duration;\r\n\t\t\t}\r\n\r\n\t\t\to.animated = $.isFunction(o.proxied) ?\r\n\t\t\t\to.proxied(animOptions) : o.proxied;\r\n\r\n\t\t\to.duration = $.isFunction(o.proxiedDuration) ?\r\n\t\t\t\to.proxiedDuration(animOptions) : o.proxiedDuration;\r\n\r\n\t\t\tvar animations = $.ui.accordion.animations,\r\n\t\t\t\tduration = o.duration,\r\n\t\t\t\teasing = o.animated;\r\n\r\n\t\t\tif (!animations[easing]) {\r\n\t\t\t\tanimations[easing] = function(options) {\r\n\t\t\t\t\tthis.slide(options, {\r\n\t\t\t\t\t\teasing: easing,\r\n\t\t\t\t\t\tduration: duration || 700\r\n\t\t\t\t\t});\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tanimations[easing](animOptions);\r\n\r\n\t\t} else {\r\n\r\n\t\t\tif (o.collapsible && clickedIsActive) {\r\n\t\t\t\ttoShow.toggle();\r\n\t\t\t} else {\r\n\t\t\t\ttoHide.hide();\r\n\t\t\t\ttoShow.show();\r\n\t\t\t}\r\n\r\n\t\t\tcomplete(true);\r\n\r\n\t\t}\r\n\r\n\t\ttoHide.prev().attr('aria-expanded','false').attr(\"tabIndex\", \"-1\").blur();\r\n\t\ttoShow.prev().attr('aria-expanded','true').attr(\"tabIndex\", \"0\").focus();\r\n\r\n\t},\r\n\r\n\t_completed: function(cancel) {\r\n\r\n\t\tvar o = this.options;\r\n\r\n\t\tthis.running = cancel ? 0 : --this.running;\r\n\t\tif (this.running) return;\r\n\r\n\t\tif (o.clearStyle) {\r\n\t\t\tthis.toShow.add(this.toHide).css({\r\n\t\t\t\theight: \"\",\r\n\t\t\t\toverflow: \"\"\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis._trigger('change', null, this.data);\r\n\t}\r\n\r\n});\r\n\r\n\r\n$.extend($.ui.accordion, {\r\n\tversion: \"1.7.3\",\r\n\tdefaults: {\r\n\t\tactive: null,\r\n\t\talwaysOpen: true, //deprecated, use collapsible\r\n\t\tanimated: 'slide',\r\n\t\tautoHeight: true,\r\n\t\tclearStyle: false,\r\n\t\tcollapsible: false,\r\n\t\tevent: \"click\",\r\n\t\tfillSpace: false,\r\n\t\theader: \"> li > :first-child,> :not(li):even\",\r\n\t\ticons: {\r\n\t\t\theader: \"ui-icon-triangle-1-e\",\r\n\t\t\theaderSelected: \"ui-icon-triangle-1-s\"\r\n\t\t},\r\n\t\tnavigation: false,\r\n\t\tnavigationFilter: function() {\r\n\t\t\treturn this.href.toLowerCase() == location.href.toLowerCase();\r\n\t\t}\r\n\t},\r\n\tanimations: {\r\n\t\tslide: function(options, additions) {\r\n\t\t\toptions = $.extend({\r\n\t\t\t\teasing: \"swing\",\r\n\t\t\t\tduration: 300\r\n\t\t\t}, options, additions);\r\n\t\t\tif ( !options.toHide.size() ) {\r\n\t\t\t\toptions.toShow.animate({height: \"show\"}, options);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif ( !options.toShow.size() ) {\r\n\t\t\t\toptions.toHide.animate({height: \"hide\"}, options);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar overflow = options.toShow.css('overflow'),\r\n\t\t\t\tpercentDone,\r\n\t\t\t\tshowProps = {},\r\n\t\t\t\thideProps = {},\r\n\t\t\t\tfxAttrs = [ \"height\", \"paddingTop\", \"paddingBottom\" ],\r\n\t\t\t\toriginalWidth;\r\n\t\t\t// fix width before calculating height of hidden element\r\n\t\t\tvar s = options.toShow;\r\n\t\t\toriginalWidth = s[0].style.width;\r\n\t\t\ts.width( parseInt(s.parent().width(),10) - parseInt(s.css(\"paddingLeft\"),10) - parseInt(s.css(\"paddingRight\"),10) - (parseInt(s.css(\"borderLeftWidth\"),10) || 0) - (parseInt(s.css(\"borderRightWidth\"),10) || 0) );\r\n\t\t\t\r\n\t\t\t$.each(fxAttrs, function(i, prop) {\r\n\t\t\t\thideProps[prop] = 'hide';\r\n\t\t\t\t\r\n\t\t\t\tvar parts = ('' + $.css(options.toShow[0], prop)).match(/^([\\d+-.]+)(.*)$/);\r\n\t\t\t\tshowProps[prop] = {\r\n\t\t\t\t\tvalue: parts[1],\r\n\t\t\t\t\tunit: parts[2] || 'px'\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\toptions.toShow.css({ height: 0, overflow: 'hidden' }).show();\r\n\t\t\toptions.toHide.filter(\":hidden\").each(options.complete).end().filter(\":visible\").animate(hideProps,{\r\n\t\t\t\tstep: function(now, settings) {\r\n\t\t\t\t\t// only calculate the percent when animating height\r\n\t\t\t\t\t// IE gets very inconsistent results when animating elements\r\n\t\t\t\t\t// with small values, which is common for padding\r\n\t\t\t\t\tif (settings.prop == 'height') {\r\n\t\t\t\t\t\tpercentDone = (settings.now - settings.start) / (settings.end - settings.start);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\toptions.toShow[0].style[settings.prop] =\r\n\t\t\t\t\t\t(percentDone * showProps[settings.prop].value) + showProps[settings.prop].unit;\r\n\t\t\t\t},\r\n\t\t\t\tduration: options.duration,\r\n\t\t\t\teasing: options.easing,\r\n\t\t\t\tcomplete: function() {\r\n\t\t\t\t\tif ( !options.autoHeight ) {\r\n\t\t\t\t\t\toptions.toShow.css(\"height\", \"\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\toptions.toShow.css(\"width\", originalWidth);\r\n\t\t\t\t\toptions.toShow.css({overflow: overflow});\r\n\t\t\t\t\toptions.complete();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tbounceslide: function(options) {\r\n\t\t\tthis.slide(options, {\r\n\t\t\t\teasing: options.down ? \"easeOutBounce\" : \"swing\",\r\n\t\t\t\tduration: options.down ? 1000 : 200\r\n\t\t\t});\r\n\t\t},\r\n\t\teaseslide: function(options) {\r\n\t\t\tthis.slide(options, {\r\n\t\t\t\teasing: \"easeinout\",\r\n\t\t\t\tduration: 700\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n});\r\n\r\n})(jQuery);\r\n;\n// $Id: phyrtual_js.loader.js $\r\n(function($) {\r\n $(function() {\r\n $('html').addClass('phyrtual-js');\r\n\r\n // loading modernizr\r\n $('html').addClass('no-js modernizr-js')\r\n $('head').append(\r\n $('<script></script>')\r\n .attr('type', 'text/javascript')\r\n .attr('src', Drupal.settings.basePath + Drupal.settings.modernizrPath)\r\n );\r\n // -- modernizr\r\n\r\n // loading tipsy\r\n $('html').addClass('tipsy-js');\r\n $('a.tooltip').tipsy({ \r\n fade: true, \r\n gravity: $.fn.tipsy.autoNS,\r\n fallback: 'Phyrtual.org'\r\n });\r\n /*\r\n $('.form-item input').tipsy({ \r\n trigger: 'focus', \r\n gravity: 'w',\r\n title: function() {\r\n return $(this).next().text();\r\n }\r\n }).next().hide();\r\n */\r\n // -- tipsy\r\n });\r\n})(jQuery);\r\n;\n/*\r\n *\r\n * Copyright (c) 2006-2011 Sam Collett (http://www.texotela.co.uk)\r\n * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)\r\n * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.\r\n * \r\n * Version 1.3\r\n * Demo: http://www.texotela.co.uk/code/jquery/numeric/\r\n *\r\n */\r\n(function($) {\r\n/*\r\n * Allows only valid characters to be entered into input boxes.\r\n * Note: fixes value when pasting via Ctrl+V, but not when using the mouse to paste\r\n * side-effect: Ctrl+A does not work, though you can still use the mouse to select (or double-click to select all)\r\n *\r\n * @name numeric\r\n * @param config { decimal : \".\" , negative : true }\r\n * @param callback A function that runs if the number is not valid (fires onblur)\r\n * @author Sam Collett (http://www.texotela.co.uk)\r\n * @example $(\".numeric\").numeric();\r\n * @example $(\".numeric\").numeric(\",\"); // use , as separater\r\n * @example $(\".numeric\").numeric({ decimal : \",\" }); // use , as separator\r\n * @example $(\".numeric\").numeric({ negative : false }); // do not allow negative values\r\n * @example $(\".numeric\").numeric(null, callback); // use default values, pass on the 'callback' function\r\n *\r\n */\r\n$.fn.numeric = function(config, callback)\r\n{\r\n\tif(typeof config === 'boolean')\r\n\t{\r\n\t\tconfig = { decimal: config };\r\n\t}\r\n\tconfig = config || {};\r\n\t// if config.negative undefined, set to true (default is to allow negative numbers)\r\n\tif(typeof config.negative == \"undefined\") config.negative = true;\r\n\t// set decimal point\r\n\tvar decimal = (config.decimal === false) ? \"\" : config.decimal || \".\";\r\n\t// allow negatives\r\n\tvar negative = (config.negative === true) ? true : false;\r\n\t// callback function\r\n\tvar callback = typeof callback == \"function\" ? callback : function(){};\r\n\t// set data and methods\r\n\treturn this.data(\"numeric.decimal\", decimal).data(\"numeric.negative\", negative).data(\"numeric.callback\", callback).keypress($.fn.numeric.keypress).keyup($.fn.numeric.keyup).blur($.fn.numeric.blur);\r\n}\r\n\r\n$.fn.numeric.keypress = function(e)\r\n{\r\n\t// get decimal character and determine if negatives are allowed\r\n\tvar decimal = $.data(this, \"numeric.decimal\");\r\n\tvar negative = $.data(this, \"numeric.negative\");\r\n\t// get the key that was pressed\r\n\tvar key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;\r\n\t// allow enter/return key (only when in an input box)\r\n\tif(key == 13 && this.nodeName.toLowerCase() == \"input\")\r\n\t{\r\n\t\treturn true;\r\n\t}\r\n\telse if(key == 13)\r\n\t{\r\n\t\treturn false;\r\n\t}\r\n\tvar allow = false;\r\n\t// allow Ctrl+A\r\n\tif((e.ctrlKey && key == 97 /* firefox */) || (e.ctrlKey && key == 65) /* opera */) return true;\r\n\t// allow Ctrl+X (cut)\r\n\tif((e.ctrlKey && key == 120 /* firefox */) || (e.ctrlKey && key == 88) /* opera */) return true;\r\n\t// allow Ctrl+C (copy)\r\n\tif((e.ctrlKey && key == 99 /* firefox */) || (e.ctrlKey && key == 67) /* opera */) return true;\r\n\t// allow Ctrl+Z (undo)\r\n\tif((e.ctrlKey && key == 122 /* firefox */) || (e.ctrlKey && key == 90) /* opera */) return true;\r\n\t// allow or deny Ctrl+V (paste), Shift+Ins\r\n\tif((e.ctrlKey && key == 118 /* firefox */) || (e.ctrlKey && key == 86) /* opera */\r\n\t|| (e.shiftKey && key == 45)) return true;\r\n\t// if a number was not pressed\r\n\tif(key < 48 || key > 57)\r\n\t{\r\n\t\t/* '-' only allowed at start and if negative numbers allowed */\r\n\t\tif(this.value.indexOf(\"-\") != 0 && negative && key == 45 && (this.value.length == 0 || ($.fn.getSelectionStart(this)) == 0)) return true;\r\n\t\t/* only one decimal separator allowed */\r\n\t\tif(decimal && key == decimal.charCodeAt(0) && this.value.indexOf(decimal) != -1)\r\n\t\t{\r\n\t\t\tallow = false;\r\n\t\t}\r\n\t\t// check for other keys that have special purposes\r\n\t\tif(\r\n\t\t\tkey != 8 /* backspace */ &&\r\n\t\t\tkey != 9 /* tab */ &&\r\n\t\t\tkey != 13 /* enter */ &&\r\n\t\t\tkey != 35 /* end */ &&\r\n\t\t\tkey != 36 /* home */ &&\r\n\t\t\tkey != 37 /* left */ &&\r\n\t\t\tkey != 39 /* right */ &&\r\n\t\t\tkey != 46 /* del */\r\n\t\t)\r\n\t\t{\r\n\t\t\tallow = false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t// for detecting special keys (listed above)\r\n\t\t\t// IE does not support 'charCode' and ignores them in keypress anyway\r\n\t\t\tif(typeof e.charCode != \"undefined\")\r\n\t\t\t{\r\n\t\t\t\t// special keys have 'keyCode' and 'which' the same (e.g. backspace)\r\n\t\t\t\tif(e.keyCode == e.which && e.which != 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tallow = true;\r\n\t\t\t\t\t// . and delete share the same code, don't allow . (will be set to true later if it is the decimal point)\r\n\t\t\t\t\tif(e.which == 46) allow = false;\r\n\t\t\t\t}\r\n\t\t\t\t// or keyCode != 0 and 'charCode'/'which' = 0\r\n\t\t\t\telse if(e.keyCode != 0 && e.charCode == 0 && e.which == 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tallow = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// if key pressed is the decimal and it is not already in the field\r\n\t\tif(decimal && key == decimal.charCodeAt(0))\r\n\t\t{\r\n\t\t\tif(this.value.indexOf(decimal) == -1)\r\n\t\t\t{\r\n\t\t\t\tallow = true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tallow = false;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\tallow = true;\r\n\t}\r\n\treturn allow;\r\n}\r\n\r\n$.fn.numeric.keyup = function(e)\r\n{\r\n\tvar val = this.value;\r\n\tif(val.length > 0)\r\n\t{\r\n\t\t// get carat (cursor) position\r\n\t\tvar carat = $.fn.getSelectionStart(this);\r\n\t\t// get decimal character and determine if negatives are allowed\r\n\t\tvar decimal = $.data(this, \"numeric.decimal\");\r\n\t\tvar negative = $.data(this, \"numeric.negative\");\r\n\t\t\r\n\t\t// prepend a 0 if necessary\r\n\t\tif(decimal != \"\")\r\n\t\t{\r\n\t\t\t// find decimal point\r\n\t\t\tvar dot = val.indexOf(decimal);\r\n\t\t\t// if dot at start, add 0 before\r\n\t\t\tif(dot == 0)\r\n\t\t\t{\r\n\t\t\t\tthis.value = \"0\" + val;\r\n\t\t\t}\r\n\t\t\t// if dot at position 1, check if there is a - symbol before it\r\n\t\t\tif(dot == 1 && val.charAt(0) == \"-\")\r\n\t\t\t{\r\n\t\t\t\tthis.value = \"-0\" + val.substring(1);\r\n\t\t\t}\r\n\t\t\tval = this.value;\r\n\t\t}\r\n\t\t\r\n\t\t// if pasted in, only allow the following characters\r\n\t\tvar validChars = [0,1,2,3,4,5,6,7,8,9,'-',decimal];\r\n\t\t// get length of the value (to loop through)\r\n\t\tvar length = val.length;\r\n\t\t// loop backwards (to prevent going out of bounds)\r\n\t\tfor(var i = length - 1; i >= 0; i--)\r\n\t\t{\r\n\t\t\tvar ch = val.charAt(i);\r\n\t\t\t// remove '-' if it is in the wrong place\r\n\t\t\tif(i != 0 && ch == \"-\")\r\n\t\t\t{\r\n\t\t\t\tval = val.substring(0, i) + val.substring(i + 1);\r\n\t\t\t}\r\n\t\t\t// remove character if it is at the start, a '-' and negatives aren't allowed\r\n\t\t\telse if(i == 0 && !negative && ch == \"-\")\r\n\t\t\t{\r\n\t\t\t\tval = val.substring(1);\r\n\t\t\t}\r\n\t\t\tvar validChar = false;\r\n\t\t\t// loop through validChars\r\n\t\t\tfor(var j = 0; j < validChars.length; j++)\r\n\t\t\t{\r\n\t\t\t\t// if it is valid, break out the loop\r\n\t\t\t\tif(ch == validChars[j])\r\n\t\t\t\t{\r\n\t\t\t\t\tvalidChar = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// if not a valid character, or a space, remove\r\n\t\t\tif(!validChar || ch == \" \")\r\n\t\t\t{\r\n\t\t\t\tval = val.substring(0, i) + val.substring(i + 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// remove extra decimal characters\r\n\t\tvar firstDecimal = val.indexOf(decimal);\r\n\t\tif(firstDecimal > 0)\r\n\t\t{\r\n\t\t\tfor(var i = length - 1; i > firstDecimal; i--)\r\n\t\t\t{\r\n\t\t\t\tvar ch = val.charAt(i);\r\n\t\t\t\t// remove decimal character\r\n\t\t\t\tif(ch == decimal)\r\n\t\t\t\t{\r\n\t\t\t\t\tval = val.substring(0, i) + val.substring(i + 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// set the value and prevent the cursor moving to the end\r\n\t\tthis.value = val;\r\n\t\t$.fn.setSelection(this, carat);\r\n\t}\r\n}\r\n\r\n$.fn.numeric.blur = function()\r\n{\r\n\tvar decimal = $.data(this, \"numeric.decimal\");\r\n\tvar callback = $.data(this, \"numeric.callback\");\r\n\tvar val = this.value;\r\n\tif(val != \"\")\r\n\t{\r\n\t\tvar re = new RegExp(\"^\\\\d+$|\\\\d*\" + decimal + \"\\\\d+\");\r\n\t\tif(!re.exec(val))\r\n\t\t{\r\n\t\t\tcallback.apply(this);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n$.fn.removeNumeric = function()\r\n{\r\n\treturn this.data(\"numeric.decimal\", null).data(\"numeric.negative\", null).data(\"numeric.callback\", null).unbind(\"keypress\", $.fn.numeric.keypress).unbind(\"blur\", $.fn.numeric.blur);\r\n}\r\n\r\n// Based on code from http://javascript.nwbox.com/cursor_position/ (Diego Perini <[email protected]>)\r\n$.fn.getSelectionStart = function(o)\r\n{\r\n\tif (o.createTextRange)\r\n\t{\r\n\t\tvar r = document.selection.createRange().duplicate();\r\n\t\tr.moveEnd('character', o.value.length);\r\n\t\tif (r.text == '') return o.value.length;\r\n\t\treturn o.value.lastIndexOf(r.text);\r\n\t} else return o.selectionStart;\r\n}\r\n\r\n// set the selection, o is the object (input), p is the position ([start, end] or just start)\r\n$.fn.setSelection = function(o, p)\r\n{\r\n\t// if p is number, start and end are the same\r\n\tif(typeof p == \"number\") p = [p, p];\r\n\t// only set if p is an array of length 2\r\n\tif(p && p.constructor == Array && p.length == 2)\r\n\t{\r\n\t\tif (o.createTextRange)\r\n\t\t{\r\n\t\t\tvar r = o.createTextRange();\r\n\t\t\tr.collapse(true);\r\n\t\t\tr.moveStart('character', p[0]);\r\n\t\t\tr.moveEnd('character', p[1]);\r\n\t\t\tr.select();\r\n\t\t}\r\n\t\telse if(o.setSelectionRange)\r\n\t\t{\r\n\t\t\to.focus();\r\n\t\t\to.setSelectionRange(p[0], p[1]);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n})(jQuery);;\n/**\r\n * Phyrtual Pay\r\n */\r\n\r\n$(document).ready(function(){\r\n $cmd = $('input[name=cmd]');\r\n\r\n // One time\r\n var $amount = $('input[name=amount]');\r\n $amount.numeric();\r\n\r\n $('select[name=amount_preset]').change(function(){\r\n var $asv = $(this).find('option:selected').val();\r\n $amount.val($asv); \r\n if($asv != '') {\r\n $amount.attr('disabled', 'disabled'); \r\n } else {\r\n $amount.removeAttr('disabled');\r\n $amount.focus();\r\n }\r\n }).trigger('change');\r\n\r\n $('form.paypal-donate').submit(function(){\r\n $amount.removeAttr('disabled'); \r\n });\r\n\r\n // Subscription\r\n var $srt = $('select[name=srt]');\r\n var $src = $('input[name=src]');\r\n\r\n $('select[name=t3]').change(function(){\r\n $('.srt_i').hide();\r\n var $t3 = $(this).find('option:selected').val();\r\n if($t3 != 0) {\r\n $cmd.val('_xclick-subscriptions');\r\n $src.val(1);\r\n $('.srt_i.'+$t3).show();\r\n } else {\r\n $cmd.val('_donations');\r\n $src.val(0);\r\n $srt.find('option:selected').removeAttr('selected');\r\n $srt.find('option[value=0]').attr('selected', 'selected');\r\n }\r\n }).trigger('change');\r\n \r\n // $('form.paypal-donate').validate();\r\n /*\r\n $('form.paypal-donate').validate({\r\n rules: {\r\n first_name: 'required',\r\n second_name: 'required',\r\n email: {\r\n required: true,\r\n email: true\r\n }\r\n amount: {\r\n required: true,\r\n numeric: true\r\n }\r\n },\r\n messages: {\r\n first_name: \"Please specify your first name\",\r\n second_name: \"Please specify your second name\",\r\n email: {\r\n required: \"We need your email address to contact you\",\r\n email: \"Your email address must be in the format of [email protected]\"\r\n }\r\n amount: {\r\n required: \"Please specify an amount\",\r\n email: \"Amount must be in the format 99.99, decimal separed with dot.\"\r\n }\r\n }\r\n });\r\n */\r\n});;\n/**\r\n * Phyrtual Profile\r\n */\r\n\r\n$(document).ready(function(){\r\n // Display popups in with colorbox! ;) \r\n $('.profile-link.icon').colorbox({ \r\n innerWidth: '720px',\r\n href: function() { return $(this).attr('href') + ' div.user-right-content'; },\r\n onComplete: function() { $('h2', '#cboxContent').hide(); }\r\n });\r\n\r\n // Display toltips \r\n $('.profile-link.icon, .message-link.icon, .relationship-link.icon').tipsy({\r\n fade: true, \r\n gravity: 'w'\r\n });\r\n});;\n/**\r\n * Phyrtual Project\r\n */\r\n\r\n// Phyrtual.project = Phyrtual.project || {};\r\n\r\n$(document).ready(function(){\r\n // Display popups in with colorbox! ;)\r\n $('.project-something').colorbox({\r\n innerWidth: '720px',\r\n href: function() { return $(this).attr('href') + ' div.project-content'; }\r\n });\r\n\r\n // Display toltips\r\n $('.project-something').tipsy({\r\n fade: true,\r\n gravity: 'w',\r\n });\r\n\r\n // Project Graph\r\n $('.project-graph-tree a', '#project-graph').click(function() {\r\n $('.project-graph-info .project-graph-box', '#project-graph')\r\n .addClass('hidden')\r\n .hide();\r\n $('.project-graph-info .'+$(this).attr('class'), '#project-graph')\r\n .removeClass('hidden')\r\n .show();\r\n return false;\r\n });\r\n});;\nDrupal.behaviors.spamspan=function(_1){$(\"span.\"+Drupal.settings.spamspan.m,_1).each(function(_2){var _3=($(\"span.\"+Drupal.settings.spamspan.u,this).text()+\"@\"+$(\"span.\"+Drupal.settings.spamspan.d,this).text()).replace(/\\s+/g,\"\").replace(/\\[dot\\]/g,\".\");var _4=$(\"span.\"+Drupal.settings.spamspan.h,this).text().replace(/^ ?\\((.*)\\) ?$/,\"$1\");var _5=$.map(_4.split(/, /),function(n,i){return (n.replace(/: /,\"=\"));});var _6=$(\"span.\"+Drupal.settings.spamspan.t,this).text().replace(/^ \\((.*)\\)$/,\"$1\");var _7=\"mailto:\"+encodeURIComponent(_3);var _8=_5.join(\"&\");_7+=_8?(\"?\"+_8):\"\";$(this).after($(\"<a></a>\").attr(\"href\",_7).html(_6?_6:_3).addClass(\"spamspan\")).remove();});};;\n\r\n/**\r\n * Ensure swftools namespace is established.\r\n */\r\nvar swftools = swftools || {};\r\n\r\n/**\r\n* Define Flowplayer functions here.\r\n*/\r\nswftools.flowplayer3 = function() {\r\n var instances = [];\r\n var activePlayerID = null;\r\n var flowplayer_api = false;\r\n \r\n function getPlayer (playerID) {\r\n if (flowplayer_api) {\r\n return swftools.getObject(playerID + '_api');\r\n }\r\n return swftools.getObject(playerID);\r\n };\r\n \r\n return {\r\n flowplayer3_api_present: function() {\r\n flowplayer_api = true;\r\n },\r\n pushInstance: function(playerID) {\r\n instances.push(playerID);\r\n },\r\n activate: function(playerID) {\r\n if (activePlayerID && activePlayerID != playerID) {\r\n getPlayer(activePlayerID).fp_pause();\r\n };\r\n activePlayerID = playerID;\r\n },\r\n play: function(playerID) {\r\n getPlayer(playerID).fp_play();\r\n },\r\n pause: function(playerID) {\r\n getPlayer(playerID).fp_pause();\r\n },\r\n stop: function(playerID) {\r\n getPlayer(playerID).fp_stop();\r\n },\r\n mute: function(playerID) {\r\n getPlayer(playerID).fp_mute();\r\n },\r\n unmute: function(playerID) {\r\n getPlayer(playerID).fp_unmute();\r\n }\r\n }\r\n}();\r\n\r\nDrupal.behaviors.swftools_flowplayer3 = function (context) {\r\n $('.swftools-flowplayer3:not(.swftools-flowplayer3-processed)', context).addClass('swftools-flowplayer3-processed').each(function () {\r\n var playerID = $(this).attr('id').substring(9);\r\n swftools.flowplayer3.pushInstance(playerID);\r\n if (typeof $f != 'undefined') {\r\n $f(playerID).onStart(function() {\r\n swftools.flowplayer3.activate(playerID); \r\n });\r\n $f(playerID).onResume(function() {\r\n swftools.flowplayer3.activate(playerID); \r\n });\r\n };\r\n });\r\n $('[class^=flowplayer3-accessible]:not(.swftools-flowplayer3-processed)', context).addClass('swftools-flowplayer3-processed').each(function () {\r\n $(this).click(function(){\r\n var classes = $(this).attr('class');\r\n var classes = classes.split(' ');\r\n var parts = classes[0].split('-');\r\n var idStarts = 24 + parts[2].length;\r\n var action = \"swftools.flowplayer3.\" + parts[2] + \"('\" + classes[0].substring(idStarts) + \"')\";\r\n eval(action);\r\n return false;\r\n });\r\n });\r\n if (typeof $f != 'undefined') {\r\n swftools.flowplayer3.flowplayer3_api_present();\r\n };\r\n \r\n // See if there are any playlists to render\r\n $('[class^=swftools].clips:not(.swftools-flowplayer3-processed)', context).addClass('swftools-flowplayer3-processed').each(function() {\r\n var classes = $(this).attr('class');\r\n var classes = classes.split(' ');\r\n var playerID = classes[0];\r\n// flowplayer(playerID).swftools_playlist(\"div.\" + playerID + \".clips\", {loop:true});\r\n flowplayer(playerID).swftools_playlist(\"div.\" + playerID + \".clips\");\r\n\r\n // If there is scrollable playlist set clips height to something very big!\r\n $('div.swftools-flowplayer3-playlist div.[class^=swftools].clips:not(.swftools-flowplayer3-scrollable)', context).addClass('swftools-flowplayer3-scrollable').css({ height: '20000em', position: 'absolute' });\r\n \r\n // Activate scrollable playlists\r\n $(\"div.swftools-flowplayer3-playlist\").scrollable({\r\n items:'div.' + playerID + '.clips',\r\n vertical:true,\r\n next:'a.down',\r\n prev:'a.up',\r\n size: 4\r\n });\r\n \r\n });\r\n \r\n};\r\n\r\n// If flowplayer not yet created we create our own version to handle auto-pause. It will be over-written by flowplayer.js if it is called.\r\nif (typeof flowplayer == 'undefined') {\r\n var flowplayer = {};\r\n flowplayer.fireEvent = function() {\r\n var a = [].slice.call(arguments);\r\n// console.log(a[1] + ' : ' + a[0]);\r\n if (a[1] == 'onStart' || a[1] == 'onResume') {\r\n swftools.flowplayer3.activate(a[0]);\r\n };\r\n };\r\n};\r\n;\n/* \r\n * flowplayer.js 3.2.6. The Flowplayer API\r\n * \r\n * Copyright 2009-2011 Flowplayer Oy\r\n * \r\n * This file is part of Flowplayer.\r\n * \r\n * Flowplayer is free software: you can redistribute it and/or modify\r\n * it under the terms of the GNU General Public License as published by\r\n * the Free Software Foundation, either version 3 of the License, or\r\n * (at your option) any later version.\r\n * \r\n * Flowplayer is distributed in the hope that it will be useful,\r\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r\n * GNU General Public License for more details.\r\n * \r\n * You should have received a copy of the GNU General Public License\r\n * along with Flowplayer. If not, see <http://www.gnu.org/licenses/>.\r\n * \r\n * Date: 2011-02-04 05:45:28 -0500 (Fri, 04 Feb 2011)\r\n * Revision: 614 \r\n */\r\n(function(){function g(o){console.log(\"$f.fireEvent\",[].slice.call(o))}function k(q){if(!q||typeof q!=\"object\"){return q}var o=new q.constructor();for(var p in q){if(q.hasOwnProperty(p)){o[p]=k(q[p])}}return o}function m(t,q){if(!t){return}var o,p=0,r=t.length;if(r===undefined){for(o in t){if(q.call(t[o],o,t[o])===false){break}}}else{for(var s=t[0];p<r&&q.call(s,p,s)!==false;s=t[++p]){}}return t}function c(o){return document.getElementById(o)}function i(q,p,o){if(typeof p!=\"object\"){return q}if(q&&p){m(p,function(r,s){if(!o||typeof s!=\"function\"){q[r]=s}})}return q}function n(s){var q=s.indexOf(\".\");if(q!=-1){var p=s.slice(0,q)||\"*\";var o=s.slice(q+1,s.length);var r=[];m(document.getElementsByTagName(p),function(){if(this.className&&this.className.indexOf(o)!=-1){r.push(this)}});return r}}function f(o){o=o||window.event;if(o.preventDefault){o.stopPropagation();o.preventDefault()}else{o.returnValue=false;o.cancelBubble=true}return false}function j(q,o,p){q[o]=q[o]||[];q[o].push(p)}function e(){return\"_\"+(\"\"+Math.random()).slice(2,10)}var h=function(t,r,s){var q=this,p={},u={};q.index=r;if(typeof t==\"string\"){t={url:t}}i(this,t,true);m((\"Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop\").split(\",\"),function(){var v=\"on\"+this;if(v.indexOf(\"*\")!=-1){v=v.slice(0,v.length-1);var w=\"onBefore\"+v.slice(2);q[w]=function(x){j(u,w,x);return q}}q[v]=function(x){j(u,v,x);return q};if(r==-1){if(q[w]){s[w]=q[w]}if(q[v]){s[v]=q[v]}}});i(this,{onCuepoint:function(x,w){if(arguments.length==1){p.embedded=[null,x];return q}if(typeof x==\"number\"){x=[x]}var v=e();p[v]=[x,w];if(s.isLoaded()){s._api().fp_addCuepoints(x,r,v)}return q},update:function(w){i(q,w);if(s.isLoaded()){s._api().fp_updateClip(w,r)}var v=s.getConfig();var x=(r==-1)?v.clip:v.playlist[r];i(x,w,true)},_fireEvent:function(v,y,w,A){if(v==\"onLoad\"){m(p,function(B,C){if(C[0]){s._api().fp_addCuepoints(C[0],r,B)}});return false}A=A||q;if(v==\"onCuepoint\"){var z=p[y];if(z){return z[1].call(s,A,w)}}if(y&&\"onBeforeBegin,onMetaData,onStart,onUpdate,onResume\".indexOf(v)!=-1){i(A,y);if(y.metaData){if(!A.duration){A.duration=y.metaData.duration}else{A.fullDuration=y.metaData.duration}}}var x=true;m(u[v],function(){x=this.call(s,A,y,w)});return x}});if(t.onCuepoint){var o=t.onCuepoint;q.onCuepoint.apply(q,typeof o==\"function\"?[o]:o);delete t.onCuepoint}m(t,function(v,w){if(typeof w==\"function\"){j(u,v,w);delete t[v]}});if(r==-1){s.onCuepoint=this.onCuepoint}};var l=function(p,r,q,t){var o=this,s={},u=false;if(t){i(s,t)}m(r,function(v,w){if(typeof w==\"function\"){s[v]=w;delete r[v]}});i(this,{animate:function(y,z,x){if(!y){return o}if(typeof z==\"function\"){x=z;z=500}if(typeof y==\"string\"){var w=y;y={};y[w]=z;z=500}if(x){var v=e();s[v]=x}if(z===undefined){z=500}r=q._api().fp_animate(p,y,z,v);return o},css:function(w,x){if(x!==undefined){var v={};v[w]=x;w=v}r=q._api().fp_css(p,w);i(o,r);return o},show:function(){this.display=\"block\";q._api().fp_showPlugin(p);return o},hide:function(){this.display=\"none\";q._api().fp_hidePlugin(p);return o},toggle:function(){this.display=q._api().fp_togglePlugin(p);return o},fadeTo:function(y,x,w){if(typeof x==\"function\"){w=x;x=500}if(w){var v=e();s[v]=w}this.display=q._api().fp_fadeTo(p,y,x,v);this.opacity=y;return o},fadeIn:function(w,v){return o.fadeTo(1,w,v)},fadeOut:function(w,v){return o.fadeTo(0,w,v)},getName:function(){return p},getPlayer:function(){return q},_fireEvent:function(w,v,x){if(w==\"onUpdate\"){var z=q._api().fp_getPlugin(p);if(!z){return}i(o,z);delete o.methods;if(!u){m(z.methods,function(){var B=\"\"+this;o[B]=function(){var C=[].slice.call(arguments);var D=q._api().fp_invoke(p,B,C);return D===\"undefined\"||D===undefined?o:D}});u=true}}var A=s[w];if(A){var y=A.apply(o,v);if(w.slice(0,1)==\"_\"){delete s[w]}return y}return o}})};function b(q,G,t){var w=this,v=null,D=false,u,s,F=[],y={},x={},E,r,p,C,o,A;i(w,{id:function(){return E},isLoaded:function(){return(v!==null&&v.fp_play!==undefined&&!D)},getParent:function(){return q},hide:function(H){if(H){q.style.height=\"0px\"}if(w.isLoaded()){v.style.height=\"0px\"}return w},show:function(){q.style.height=A+\"px\";if(w.isLoaded()){v.style.height=o+\"px\"}return w},isHidden:function(){return w.isLoaded()&&parseInt(v.style.height,10)===0},load:function(J){if(!w.isLoaded()&&w._fireEvent(\"onBeforeLoad\")!==false){var H=function(){u=q.innerHTML;if(u&&!flashembed.isSupported(G.version)){q.innerHTML=\"\"}if(J){J.cached=true;j(x,\"onLoad\",J)}flashembed(q,G,{config:t})};var I=0;m(a,function(){this.unload(function(K){if(++I==a.length){H()}})})}return w},unload:function(J){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){if(J){J(false)}return w}if(u.replace(/\\s/g,\"\")!==\"\"){if(w._fireEvent(\"onBeforeUnload\")===false){if(J){J(false)}return w}D=true;try{if(v){v.fp_close();w._fireEvent(\"onUnload\")}}catch(H){}var I=function(){v=null;q.innerHTML=u;D=false;if(J){J(true)}};setTimeout(I,50)}else{if(J){J(false)}}return w},getClip:function(H){if(H===undefined){H=C}return F[H]},getCommonClip:function(){return s},getPlaylist:function(){return F},getPlugin:function(H){var J=y[H];if(!J&&w.isLoaded()){var I=w._api().fp_getPlugin(H);if(I){J=new l(H,I,w);y[H]=J}}return J},getScreen:function(){return w.getPlugin(\"screen\")},getControls:function(){return w.getPlugin(\"controls\")._fireEvent(\"onUpdate\")},getLogo:function(){try{return w.getPlugin(\"logo\")._fireEvent(\"onUpdate\")}catch(H){}},getPlay:function(){return w.getPlugin(\"play\")._fireEvent(\"onUpdate\")},getConfig:function(H){return H?k(t):t},getFlashParams:function(){return G},loadPlugin:function(K,J,M,L){if(typeof M==\"function\"){L=M;M={}}var I=L?e():\"_\";w._api().fp_loadPlugin(K,J,M,I);var H={};H[I]=L;var N=new l(K,null,w,H);y[K]=N;return N},getState:function(){return w.isLoaded()?v.fp_getState():-1},play:function(I,H){var J=function(){if(I!==undefined){w._api().fp_play(I,H)}else{w._api().fp_play()}};if(w.isLoaded()){J()}else{if(D){setTimeout(function(){w.play(I,H)},50)}else{w.load(function(){J()})}}return w},getVersion:function(){var I=\"flowplayer.js 3.2.6\";if(w.isLoaded()){var H=v.fp_getVersion();H.push(I);return H}return I},_api:function(){if(!w.isLoaded()){throw\"Flowplayer \"+w.id()+\" not loaded when calling an API method\"}return v},setClip:function(H){w.setPlaylist([H]);return w},getIndex:function(){return p},_swfHeight:function(){return v.clientHeight}});m((\"Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut\").split(\",\"),function(){var H=\"on\"+this;if(H.indexOf(\"*\")!=-1){H=H.slice(0,H.length-1);var I=\"onBefore\"+H.slice(2);w[I]=function(J){j(x,I,J);return w}}w[H]=function(J){j(x,H,J);return w}});m((\"pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled\").split(\",\"),function(){var H=this;w[H]=function(J,I){if(!w.isLoaded()){return w}var K=null;if(J!==undefined&&I!==undefined){K=v[\"fp_\"+H](J,I)}else{K=(J===undefined)?v[\"fp_\"+H]():v[\"fp_\"+H](J)}return K===\"undefined\"||K===undefined?w:K}});w._fireEvent=function(Q){if(typeof Q==\"string\"){Q=[Q]}var R=Q[0],O=Q[1],M=Q[2],L=Q[3],K=0;if(t.debug){g(Q)}if(!w.isLoaded()&&R==\"onLoad\"&&O==\"player\"){v=v||c(r);o=w._swfHeight();m(F,function(){this._fireEvent(\"onLoad\")});m(y,function(S,T){T._fireEvent(\"onUpdate\")});s._fireEvent(\"onLoad\")}if(R==\"onLoad\"&&O!=\"player\"){return}if(R==\"onError\"){if(typeof O==\"string\"||(typeof O==\"number\"&&typeof M==\"number\")){O=M;M=L}}if(R==\"onContextMenu\"){m(t.contextMenu[O],function(S,T){T.call(w)});return}if(R==\"onPluginEvent\"||R==\"onBeforePluginEvent\"){var H=O.name||O;var I=y[H];if(I){I._fireEvent(\"onUpdate\",O);return I._fireEvent(M,Q.slice(3))}return}if(R==\"onPlaylistReplace\"){F=[];var N=0;m(O,function(){F.push(new h(this,N++,w))})}if(R==\"onClipAdd\"){if(O.isInStream){return}O=new h(O,M,w);F.splice(M,0,O);for(K=M+1;K<F.length;K++){F[K].index++}}var P=true;if(typeof O==\"number\"&&O<F.length){C=O;var J=F[O];if(J){P=J._fireEvent(R,M,L)}if(!J||P!==false){P=s._fireEvent(R,M,L,J)}}m(x[R],function(){P=this.call(w,O,M);if(this.cached){x[R].splice(K,1)}if(P===false){return false}K++});return P};function B(){if($f(q)){$f(q).getParent().innerHTML=\"\";p=$f(q).getIndex();a[p]=w}else{a.push(w);p=a.length-1}A=parseInt(q.style.height,10)||q.clientHeight;E=q.id||\"fp\"+e();r=G.id||E+\"_api\";G.id=r;t.playerId=E;if(typeof t==\"string\"){t={clip:{url:t}}}if(typeof t.clip==\"string\"){t.clip={url:t.clip}}t.clip=t.clip||{};if(q.getAttribute(\"href\",2)&&!t.clip.url){t.clip.url=q.getAttribute(\"href\",2)}s=new h(t.clip,-1,w);t.playlist=t.playlist||[t.clip];var I=0;m(t.playlist,function(){var K=this;if(typeof K==\"object\"&&K.length){K={url:\"\"+K}}m(t.clip,function(L,M){if(M!==undefined&&K[L]===undefined&&typeof M!=\"function\"){K[L]=M}});t.playlist[I]=K;K=new h(K,I,w);F.push(K);I++});m(t,function(K,L){if(typeof L==\"function\"){if(s[K]){s[K](L)}else{j(x,K,L)}delete t[K]}});m(t.plugins,function(K,L){if(L){y[K]=new l(K,L,w)}});if(!t.plugins||t.plugins.controls===undefined){y.controls=new l(\"controls\",null,w)}y.canvas=new l(\"canvas\",null,w);u=q.innerHTML;function J(L){var K=w.hasiPadSupport&&w.hasiPadSupport();if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(F[0].url)&&!K){return true}if(!w.isLoaded()&&w._fireEvent(\"onBeforeClick\")!==false){w.load()}return f(L)}function H(){if(u.replace(/\\s/g,\"\")!==\"\"){if(q.addEventListener){q.addEventListener(\"click\",J,false)}else{if(q.attachEvent){q.attachEvent(\"onclick\",J)}}}else{if(q.addEventListener){q.addEventListener(\"click\",f,false)}w.load()}}setTimeout(H,0)}if(typeof q==\"string\"){var z=c(q);if(!z){throw\"Flowplayer cannot access element: \"+q}q=z;B()}else{B()}}var a=[];function d(o){this.length=o.length;this.each=function(p){m(o,p)};this.size=function(){return o.length}}window.flowplayer=window.$f=function(){var p=null;var o=arguments[0];if(!arguments.length){m(a,function(){if(this.isLoaded()){p=this;return false}});return p||a[0]}if(arguments.length==1){if(typeof o==\"number\"){return a[o]}else{if(o==\"*\"){return new d(a)}m(a,function(){if(this.id()==o.id||this.id()==o||this.getParent()==o){p=this;return false}});return p}}if(arguments.length>1){var t=arguments[1],q=(arguments.length==3)?arguments[2]:{};if(typeof t==\"string\"){t={src:t}}t=i({bgcolor:\"#000000\",version:[9,0],expressInstall:\"http://static.flowplayer.org/swf/expressinstall.swf\",cachebusting:false},t);if(typeof o==\"string\"){if(o.indexOf(\".\")!=-1){var s=[];m(n(o),function(){s.push(new b(this,k(t),k(q)))});return new d(s)}else{var r=c(o);return new b(r!==null?r:o,t,q)}}else{if(o){return new b(o,t,q)}}}return null};i(window.$f,{fireEvent:function(){var o=[].slice.call(arguments);var q=$f(o[0]);return q?q._fireEvent(o.slice(1)):null},addPlugin:function(o,p){b.prototype[o]=p;return $f},each:m,extend:i});if(typeof jQuery==\"function\"){jQuery.fn.flowplayer=function(q,p){if(!arguments.length||typeof arguments[0]==\"number\"){var o=[];this.each(function(){var r=$f(this);if(r){o.push(r)}});return arguments.length?o[arguments[0]]:new d(o)}return this.each(function(){$f(this,k(q),p?k(p):{})})}}})();(function(){var e=typeof jQuery==\"function\";var i={width:\"100%\",height:\"100%\",allowfullscreen:true,allowscriptaccess:\"always\",quality:\"high\",version:null,onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(e){jQuery.tools=jQuery.tools||{};jQuery.tools.flashembed={version:\"1.0.4\",conf:i}}function j(){if(c.done){return false}var l=document;if(l&&l.getElementsByTagName&&l.getElementById&&l.body){clearInterval(c.timer);c.timer=null;for(var k=0;k<c.ready.length;k++){c.ready[k].call()}c.ready=null;c.done=true}}var c=e?jQuery:function(k){if(c.done){return k()}if(c.timer){c.ready.push(k)}else{c.ready=[k];c.timer=setInterval(j,13)}};function f(l,k){if(k){for(key in k){if(k.hasOwnProperty(key)){l[key]=k[key]}}}return l}function g(k){switch(h(k)){case\"string\":k=k.replace(new RegExp('([\"\\\\\\\\])',\"g\"),\"\\\\$1\");k=k.replace(/^\\s?(\\d+)%/,\"$1pct\");return'\"'+k+'\"';case\"array\":return\"[\"+b(k,function(n){return g(n)}).join(\",\")+\"]\";case\"function\":return'\"function()\"';case\"object\":var l=[];for(var m in k){if(k.hasOwnProperty(m)){l.push('\"'+m+'\":'+g(k[m]))}}return\"{\"+l.join(\",\")+\"}\"}return String(k).replace(/\\s/g,\" \").replace(/\\'/g,'\"')}function h(l){if(l===null||l===undefined){return false}var k=typeof l;return(k==\"object\"&&l.push)?\"array\":k}if(window.attachEvent){window.attachEvent(\"onbeforeunload\",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}})}function b(k,n){var m=[];for(var l in k){if(k.hasOwnProperty(l)){m[l]=n(k[l])}}return m}function a(r,t){var q=f({},r);var s=document.all;var n='<object width=\"'+q.width+'\" height=\"'+q.height+'\"';if(s&&!q.id){q.id=\"_\"+(\"\"+Math.random()).substring(9)}if(q.id){n+=' id=\"'+q.id+'\"'}if(q.cachebusting){q.src+=((q.src.indexOf(\"?\")!=-1?\"&\":\"?\")+Math.random())}if(q.w3c||!s){n+=' data=\"'+q.src+'\" type=\"application/x-shockwave-flash\"'}else{n+=' classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"'}n+=\">\";if(q.w3c||s){n+='<param name=\"movie\" value=\"'+q.src+'\" />'}q.width=q.height=q.id=q.w3c=q.src=null;for(var l in q){if(q[l]!==null){n+='<param name=\"'+l+'\" value=\"'+q[l]+'\" />'}}var o=\"\";if(t){for(var m in t){if(t[m]!==null){o+=m+\"=\"+(typeof t[m]==\"object\"?g(t[m]):t[m])+\"&\"}}o=o.substring(0,o.length-1);n+='<param name=\"flashvars\" value=\\''+o+\"' />\"}n+=\"</object>\";return n}function d(m,p,l){var k=flashembed.getVersion();f(this,{getContainer:function(){return m},getConf:function(){return p},getVersion:function(){return k},getFlashvars:function(){return l},getApi:function(){return m.firstChild},getHTML:function(){return a(p,l)}});var q=p.version;var r=p.expressInstall;var o=!q||flashembed.isSupported(q);if(o){p.onFail=p.version=p.expressInstall=null;m.innerHTML=a(p,l)}else{if(q&&r&&flashembed.isSupported([6,65])){f(p,{src:r});l={MMredirectURL:location.href,MMplayerType:\"PlugIn\",MMdoctitle:document.title};m.innerHTML=a(p,l)}else{if(m.innerHTML.replace(/\\s/g,\"\")!==\"\"){}else{m.innerHTML=\"<h2>Flash version \"+q+\" or greater is required</h2><h3>\"+(k[0]>0?\"Your version is \"+k:\"You have no flash plugin installed\")+\"</h3>\"+(m.tagName==\"A\"?\"<p>Click here to download latest version</p>\":\"<p>Download latest version from <a href='http://www.adobe.com/go/getflashplayer'>here</a></p>\");if(m.tagName==\"A\"){m.onclick=function(){location.href=\"http://www.adobe.com/go/getflashplayer\"}}}}}if(!o&&p.onFail){var n=p.onFail.call(this);if(typeof n==\"string\"){m.innerHTML=n}}if(document.all){window[p.id]=document.getElementById(p.id)}}window.flashembed=function(l,m,k){if(typeof l==\"string\"){var n=document.getElementById(l);if(n){l=n}else{c(function(){flashembed(l,m,k)});return}}if(!l){return}if(typeof m==\"string\"){m={src:m}}var o=f({},i);f(o,m);return new d(l,o,k)};f(window.flashembed,{getVersion:function(){var m=[0,0];if(navigator.plugins&&typeof navigator.plugins[\"Shockwave Flash\"]==\"object\"){var l=navigator.plugins[\"Shockwave Flash\"].description;if(typeof l!=\"undefined\"){l=l.replace(/^.*\\s+(\\S+\\s+\\S+$)/,\"$1\");var n=parseInt(l.replace(/^(.*)\\..*$/,\"$1\"),10);var r=/r/.test(l)?parseInt(l.replace(/^.*r(.*)$/,\"$1\"),10):0;m=[n,r]}}else{if(window.ActiveXObject){try{var p=new ActiveXObject(\"ShockwaveFlash.ShockwaveFlash.7\")}catch(q){try{p=new ActiveXObject(\"ShockwaveFlash.ShockwaveFlash.6\");m=[6,0];p.AllowScriptAccess=\"always\"}catch(k){if(m[0]==6){return m}}try{p=new ActiveXObject(\"ShockwaveFlash.ShockwaveFlash\")}catch(o){}}if(typeof p==\"object\"){l=p.GetVariable(\"$version\");if(typeof l!=\"undefined\"){l=l.replace(/^\\S+\\s+(.*)$/,\"$1\").split(\",\");m=[parseInt(l[0],10),parseInt(l[2],10)]}}}}return m},isSupported:function(k){var m=flashembed.getVersion();var l=(m[0]>k[0])||(m[0]==k[0]&&m[1]>=k[1]);return l},domReady:c,asString:g,getHTML:a});if(e){jQuery.fn.flashembed=function(l,k){var m=null;this.each(function(){m=flashembed(this,l,k)});return l.api===false?this:m}}})();;\n/**\r\n * This file is adapted from flowplayer.playlist 3.0.7\r\n *\r\n * Author: Tero Piirainen, <[email protected]>\r\n * Copyright (c) 2008 Flowplayer Ltd\r\n *\r\n * Dual licensed under MIT and GPL 2+ licenses\r\n * SEE: http://www.opensource.org/licenses\r\n * \r\n * Date: 2009-02-16 06:51:28 -0500 (Mon, 16 Feb 2009)\r\n * Revision: 1454 \r\n */ \r\n(function($) {\r\n \r\n $f.addPlugin(\"swftools_playlist\", function(wrap, options) {\r\n\r\n // self points to current Player instance\r\n var self = this; \r\n \r\n var opts = {\r\n playingClass: 'playing',\r\n pausedClass: 'paused',\r\n progressClass:'progress',\r\n template: '<a href=\"${url}\">${title}</a>',\r\n loop: false,\r\n playOnClick: true,\r\n }; \r\n \r\n var clipEls = [];\r\n \r\n $.extend(opts, options);\r\n wrap = $(wrap); \r\n var els = null;\r\n var playlistLastElement = 0;\r\n \r\n \r\n//{{{ \"private\" functions\r\n \r\n function toString(clip) {\r\n \r\n // Get the template\r\n var el = template;\r\n \r\n // Iterate over each clip element as key and value\r\n $.each(clip, function(key, val) { \r\n \r\n // If the value is not a function then try to make a replacement\r\n if (!$.isFunction(val)) {\r\n el = el.replace(\"$\\{\" +key+ \"\\}\", val).replace(\"$%7B\" +key+ \"%7D\", val); \r\n }\r\n });\r\n \r\n // We have to process images separately to avoid \"page not found\" errors from the template\r\n if (typeof clip.swftoolsImage != 'undefined') {\r\n el = el.replace('class=\"swftoolsImage\" src=\"\"', 'src=\"' + clip.swftoolsImage + '\"');\r\n };\r\n \r\n // Return the completed element ready for inclusion\r\n return el;\r\n }\r\n \r\n // assign onClick event for each clip\r\n function bindClicks() { \r\n els = wrap.children().unbind(\"click.playlist\").bind(\"click.playlist\", function() {\r\n\r\n // Extract the index of the clip we actually want to play (may be different to DOM index)\r\n var playMe = $(this).attr('class').split(' ');\r\n playMe = parseInt(playMe[0].substring(4));\r\n \r\n // If this clip is a thumbnail then we want to autoPlay the next one\r\n // Why can't we do this in buildPlaylist - it ignores the autoPlay property!\r\n if (typeof self.getClip(playMe).swftoolsThumb != 'undefined') {\r\n self.getClip(playMe+1).update({autoPlay: true});\r\n }\r\n \r\n // Play the clip that we want\r\n return play($(this), playMe);\r\n \r\n }); \r\n }\r\n \r\n function buildPlaylist() {\r\n wrap.empty();\r\n var playMe = null;\r\n var elCount = 0;\r\n \r\n // Iterate over the playlist\r\n $.each(self.getPlaylist(), function() { \r\n \r\n // Update the size of the playlist\r\n playlistLastElement = this.index;\r\n \r\n // Why does this not work?! It sets true, but buildClicks() doesn't work\r\n// self.getClip(this.index).update({autoPlay: true});\r\n \r\n // If swftoolsThumb is set then this clip is a splash image\r\n // Do not add to DOM, but store its index for the next clip to use\r\n if (typeof this.swftoolsThumb != 'undefined') {\r\n playMe = this.index;\r\n } \r\n else {\r\n \r\n // This is a clip to be played - add it to the DOM\r\n wrap.append(toString(this));\r\n el = wrap.children(\":last\");\r\n \r\n // Store the DOM element index using clip index as key\r\n // This is so we know what DOM element to attach classes to later\r\n clipEls[this.index] = elCount++;\r\n \r\n // If playMe is set then we had a splash image - when this playlist\r\n // entry is clicked we want to play the PREVIOUS clip first to get the splash\r\n // image on screen. We use the class play[n] to indicate what we want to play\r\n if (playMe != null) {\r\n el.addClass('play' + playMe);\r\n playMe = null;\r\n }\r\n \r\n // If playMe is null then this is straightforward clip - just play it\r\n else {\r\n el.addClass('play' + this.index);\r\n };\r\n };\r\n }); \r\n \r\n // Attach click behaviors\r\n bindClicks();\r\n } \r\n\r\n \r\n function play(el, clip) {\r\n \r\n if (el.hasClass(opts.playingClass) || el.hasClass(opts.pausedClass)) {\r\n self.toggle();\r\n \r\n } else {\r\n el.addClass(opts.progressClass);\r\n self.play(clip); \r\n } \r\n \r\n return false;\r\n } \r\n \r\n \r\n function clearCSS() {\r\n els.removeClass(opts.playingClass);\r\n els.removeClass(opts.pausedClass);\r\n els.removeClass(opts.progressClass); \r\n }\r\n \r\n function getEl(clip) {\r\n return els.filter(function(index) {\r\n return index == clipEls[clip.index];\r\n });\r\n }\r\n//}}} \r\n \r\n /* setup playlists with onClick handlers */ \r\n \r\n var template = wrap.is(\":empty\") ? opts.template : wrap.html(); \r\n buildPlaylist(); \r\n \r\n // When a clip starts attach the playingClass to the DOM element\r\n self.onBegin(function(clip) {\r\n // If this clip doesn't have a DOM element then do nothing\r\n if (typeof clipEls[clip.index] == 'undefined') {\r\n return;\r\n }\r\n // Clear all existing playingClass and set a new one\r\n clearCSS(); \r\n getEl(clip).addClass(opts.playingClass);\r\n }); \r\n \r\n // onPause \r\n self.onPause(function(clip) {\r\n getEl(clip).removeClass(opts.playingClass).addClass(opts.pausedClass); \r\n }); \r\n \r\n // onResume\r\n self.onResume(function(clip) {\r\n getEl(clip).removeClass(opts.pausedClass).addClass(opts.playingClass); \r\n }); \r\n \r\n // what happens when clip ends and we're not looping?\r\n if (!opts.loop) {\r\n \r\n // stop the playback if this isn't a splash image\r\n self.onBeforeFinish(function(clip) {\r\n if (typeof clip.swftoolsThumb == 'undefined' && clip.index < playlistLastElement) {\r\n return false;\r\n };\r\n });\r\n\r\n };\r\n\r\n // onUnload\r\n self.onUnload(function() {\r\n clearCSS(); \r\n });\r\n \r\n // onPlaylistReplace\r\n self.onPlaylistReplace(function() {\r\n buildPlaylist(); \r\n });\r\n \r\n // onClipAdd\r\n self.onClipAdd(function(clip, index) { \r\n els.eq(index).before(toString(clip)); \r\n bindClicks(); \r\n }); \r\n \r\n return self;\r\n \r\n });\r\n \r\n})(jQuery); \r\n;\n\r\n/**\r\n * Ensure swftools namespace is established.\r\n */\r\nvar swftools = swftools || {};\r\n\r\n/**\r\n * Callback from OnePixelOut to stop all players when a player is stopped. \r\n */\r\nfunction ap_stopAll(playerID) {\r\n swftools.onepixelout.closeAll(playerID);\r\n}\r\n\r\n/**\r\n * Define OnePixelOut functions here.\r\n */\r\nswftools.onepixelout = function() {\r\n var instances = [];\r\n return {\r\n pushInstance: function(playerID) {\r\n instances.push(playerID);\r\n },\r\n closeAll: function(playerID) {\r\n for(var i = 0; i < instances.length; i++) {\r\n player = swftools.getObject('swf-' + instances[i]);\r\n if(instances[i] != playerID) {\r\n player.SetVariable('closePlayer', 1);\r\n }\r\n else {\r\n player.SetVariable('closePlayer', 0);\r\n }\r\n }\r\n }\r\n }\r\n}();\r\n\r\nDrupal.behaviors.swftools_onepixelout = function (context) {\r\n $('.swftools-onepixelout:not(.swftools-onepixelout-processed)', context).addClass('swftools-onepixelout-processed').each(function () {\r\n swftools.onepixelout.pushInstance($(this).attr('id').substring(13));\r\n });\r\n}\r\n;\n/** @license\r\n *\r\n * SoundManager 2: JavaScript Sound for the Web\r\n * ----------------------------------------------\r\n * http://schillmania.com/projects/soundmanager2/\r\n *\r\n * Copyright (c) 2007, Scott Schiller. All rights reserved.\r\n * Code provided under the BSD License:\r\n * http://schillmania.com/projects/soundmanager2/license.txt\r\n *\r\n * V2.97a.20121104\r\n */\r\n(function(Q){function R(R,fa){function S(b){return c.preferFlash&&y&&!c.ignoreFlash&&void 0!==c.flash[b]&&c.flash[b]}function m(b){return function(c){var e=this._s;return!e||!e._a?null:b.call(this,c)}}this.setupOptions={url:R||null,flashVersion:8,debugMode:!0,debugFlash:!1,useConsole:!0,consoleOnly:!0,waitForWindowLoad:!1,bgColor:\"#ffffff\",useHighPerformance:!1,flashPollingInterval:null,html5PollingInterval:null,flashLoadTimeout:1E3,wmode:null,allowScriptAccess:\"always\",useFlashBlock:!1,useHTML5Audio:!0,\nhtml5Test:/^(probably|maybe)$/i,preferFlash:!0,noSWFCache:!1};this.defaultOptions={autoLoad:!1,autoPlay:!1,from:null,loops:1,onid3:null,onload:null,whileloading:null,onplay:null,onpause:null,onresume:null,whileplaying:null,onposition:null,onstop:null,onfailure:null,onfinish:null,multiShot:!0,multiShotEvents:!1,position:null,pan:0,stream:!0,to:null,type:null,usePolicyFile:!1,volume:100};this.flash9Options={isMovieStar:null,usePeakData:!1,useWaveformData:!1,useEQData:!1,onbufferchange:null,ondataerror:null};\nthis.movieStarOptions={bufferTime:3,serverURL:null,onconnect:null,duration:null};this.audioFormats={mp3:{type:['audio/mpeg; codecs=\"mp3\"',\"audio/mpeg\",\"audio/mp3\",\"audio/MPA\",\"audio/mpa-robust\"],required:!0},mp4:{related:[\"aac\",\"m4a\",\"m4b\"],type:['audio/mp4; codecs=\"mp4a.40.2\"',\"audio/aac\",\"audio/x-m4a\",\"audio/MP4A-LATM\",\"audio/mpeg4-generic\"],required:!1},ogg:{type:[\"audio/ogg; codecs=vorbis\"],required:!1},wav:{type:['audio/wav; codecs=\"1\"',\"audio/wav\",\"audio/wave\",\"audio/x-wav\"],required:!1}};this.movieID=\n\"sm2-container\";this.id=fa||\"sm2movie\";this.debugID=\"soundmanager-debug\";this.debugURLParam=/([#?&])debug=1/i;this.versionNumber=\"V2.97a.20121104\";this.altURL=this.movieURL=this.version=null;this.enabled=this.swfLoaded=!1;this.oMC=null;this.sounds={};this.soundIDs=[];this.didFlashBlock=this.muted=!1;this.filePattern=null;this.filePatterns={flash8:/\\.mp3(\\?.*)?$/i,flash9:/\\.mp3(\\?.*)?$/i};this.features={buffering:!1,peakData:!1,waveformData:!1,eqData:!1,movieStar:!1};this.sandbox={};this.html5={usingFlash:null};\nthis.flash={};this.ignoreFlash=this.html5Only=!1;var Da,c=this,Ea=null,g=null,T,q=navigator.userAgent,h=Q,ga=h.location.href.toString(),k=document,ha,Fa,ia,j,v=[],I=!1,J=!1,i=!1,s=!1,ja=!1,K,r,ka,U,la,A,B,C,Ga,ma,V,W,D,na,L,oa,X,E,Ha,pa,Ia,Y,Ja,M=null,qa=null,t,ra,F,Z,$,G,n,N=!1,sa=!1,Ka,La,Ma,aa=0,O=null,ba,p=null,Na,ca,P,w,ta,ua,Oa,l,bb=Array.prototype.slice,z=!1,Pa,y,va,Qa,u,Ra,wa=q.match(/(ipad|iphone|ipod)/i),x=q.match(/msie/i),cb=q.match(/webkit/i),xa=q.match(/safari/i)&&!q.match(/chrome/i),\nya=q.match(/opera/i),za=q.match(/(mobile|pre\\/|xoom)/i)||wa,Sa=!ga.match(/usehtml5audio/i)&&!ga.match(/sm2\\-ignorebadua/i)&&xa&&!q.match(/silk/i)&&q.match(/OS X 10_6_([3-7])/i),Aa=void 0!==k.hasFocus?k.hasFocus():null,da=xa&&(void 0===k.hasFocus||!k.hasFocus()),Ta=!da,Ua=/(mp3|mp4|mpa|m4a|m4b)/i,Ba=k.location?k.location.protocol.match(/http/i):null,Va=!Ba?\"http://\":\"\",Wa=/^\\s*audio\\/(?:x-)?(?:mpeg4|aac|flv|mov|mp4||m4v|m4a|m4b|mp4v|3gp|3g2)\\s*(?:$|;)/i,Xa=\"mpeg4 aac flv mov mp4 m4v f4v m4a m4b mp4v 3gp 3g2\".split(\" \"),\ndb=RegExp(\"\\\\.(\"+Xa.join(\"|\")+\")(\\\\?.*)?$\",\"i\");this.mimePattern=/^\\s*audio\\/(?:x-)?(?:mp(?:eg|3))\\s*(?:$|;)/i;this.useAltURL=!Ba;za&&(c.useHTML5Audio=!0,c.preferFlash=!1,wa&&(z=c.ignoreFlash=!0));var Ca;try{Ca=void 0!==Audio&&void 0!==(ya&&void 0!==opera&&10>opera.version()?new Audio(null):new Audio).canPlayType}catch(fb){Ca=!1}this.hasHTML5=Ca;this.setup=function(b){var d=!c.url;void 0!==b&&(i&&p&&c.ok()&&(void 0!==b.flashVersion||void 0!==b.url))&&G(t(\"setupLate\"));ka(b);d&&(L&&void 0!==b.url)&&\nc.beginDelayedInit();!L&&(void 0!==b.url&&\"complete\"===k.readyState)&&setTimeout(D,1);return c};this.supported=this.ok=function(){return p?i&&!s:c.useHTML5Audio&&c.hasHTML5};this.getMovie=function(b){return T(b)||k[b]||h[b]};this.createSound=function(b,d){function e(){a=Z(a);c.sounds[a.id]=new Da(a);c.soundIDs.push(a.id);return c.sounds[a.id]}var a,f=null;if(!i||!c.ok())return G(void 0),!1;void 0!==d&&(b={id:b,url:d});a=r(b);a.url=ba(a.url);if(n(a.id,!0))return c.sounds[a.id];ca(a)?(f=e(),f._setup_html5(a)):\n(8<j&&null===a.isMovieStar&&(a.isMovieStar=!(!a.serverURL&&!(a.type&&a.type.match(Wa)||a.url.match(db)))),a=$(a,void 0),f=e(),8===j?g._createSound(a.id,a.loops||1,a.usePolicyFile):(g._createSound(a.id,a.url,a.usePeakData,a.useWaveformData,a.useEQData,a.isMovieStar,a.isMovieStar?a.bufferTime:!1,a.loops||1,a.serverURL,a.duration||null,a.autoPlay,!0,a.autoLoad,a.usePolicyFile),a.serverURL||(f.connected=!0,a.onconnect&&a.onconnect.apply(f))),!a.serverURL&&(a.autoLoad||a.autoPlay)&&f.load(a));!a.serverURL&&\na.autoPlay&&f.play();return f};this.destroySound=function(b,d){if(!n(b))return!1;var e=c.sounds[b],a;e._iO={};e.stop();e.unload();for(a=0;a<c.soundIDs.length;a++)if(c.soundIDs[a]===b){c.soundIDs.splice(a,1);break}d||e.destruct(!0);delete c.sounds[b];return!0};this.load=function(b,d){return!n(b)?!1:c.sounds[b].load(d)};this.unload=function(b){return!n(b)?!1:c.sounds[b].unload()};this.onposition=this.onPosition=function(b,d,e,a){return!n(b)?!1:c.sounds[b].onposition(d,e,a)};this.clearOnPosition=function(b,\nd,e){return!n(b)?!1:c.sounds[b].clearOnPosition(d,e)};this.start=this.play=function(b,d){var e=!1;return!i||!c.ok()?(G(\"soundManager.play(): \"+t(!i?\"notReady\":\"notOK\")),e):!n(b)?(d instanceof Object||(d={url:d}),d&&d.url&&(d.id=b,e=c.createSound(d).play()),e):c.sounds[b].play(d)};this.setPosition=function(b,d){return!n(b)?!1:c.sounds[b].setPosition(d)};this.stop=function(b){return!n(b)?!1:c.sounds[b].stop()};this.stopAll=function(){for(var b in c.sounds)c.sounds.hasOwnProperty(b)&&c.sounds[b].stop()};\nthis.pause=function(b){return!n(b)?!1:c.sounds[b].pause()};this.pauseAll=function(){var b;for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].pause()};this.resume=function(b){return!n(b)?!1:c.sounds[b].resume()};this.resumeAll=function(){var b;for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].resume()};this.togglePause=function(b){return!n(b)?!1:c.sounds[b].togglePause()};this.setPan=function(b,d){return!n(b)?!1:c.sounds[b].setPan(d)};this.setVolume=function(b,d){return!n(b)?!1:c.sounds[b].setVolume(d)};\nthis.mute=function(b){var d=0;b instanceof String&&(b=null);if(b)return!n(b)?!1:c.sounds[b].mute();for(d=c.soundIDs.length-1;0<=d;d--)c.sounds[c.soundIDs[d]].mute();return c.muted=!0};this.muteAll=function(){c.mute()};this.unmute=function(b){b instanceof String&&(b=null);if(b)return!n(b)?!1:c.sounds[b].unmute();for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].unmute();c.muted=!1;return!0};this.unmuteAll=function(){c.unmute()};this.toggleMute=function(b){return!n(b)?!1:c.sounds[b].toggleMute()};\nthis.getMemoryUse=function(){var b=0;g&&8!==j&&(b=parseInt(g._getMemoryUse(),10));return b};this.disable=function(b){var d;void 0===b&&(b=!1);if(s)return!1;s=!0;for(d=c.soundIDs.length-1;0<=d;d--)Ia(c.sounds[c.soundIDs[d]]);K(b);l.remove(h,\"load\",B);return!0};this.canPlayMIME=function(b){var d;c.hasHTML5&&(d=P({type:b}));!d&&p&&(d=b&&c.ok()?!!(8<j&&b.match(Wa)||b.match(c.mimePattern)):null);return d};this.canPlayURL=function(b){var d;c.hasHTML5&&(d=P({url:b}));!d&&p&&(d=b&&c.ok()?!!b.match(c.filePattern):\nnull);return d};this.canPlayLink=function(b){return void 0!==b.type&&b.type&&c.canPlayMIME(b.type)?!0:c.canPlayURL(b.href)};this.getSoundById=function(b){if(!b)throw Error(\"soundManager.getSoundById(): sID is null/undefined\");return c.sounds[b]};this.onready=function(b,c){if(\"function\"===typeof b)c||(c=h),la(\"onready\",b,c),A();else throw t(\"needFunction\",\"onready\");return!0};this.ontimeout=function(b,c){if(\"function\"===typeof b)c||(c=h),la(\"ontimeout\",b,c),A({type:\"ontimeout\"});else throw t(\"needFunction\",\n\"ontimeout\");return!0};this._wD=this._writeDebug=function(){return!0};this._debug=function(){};this.reboot=function(){var b,d;for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].destruct();if(g)try{x&&(qa=g.innerHTML),M=g.parentNode.removeChild(g)}catch(e){}qa=M=p=null;c.enabled=L=i=N=sa=I=J=s=c.swfLoaded=!1;c.soundIDs=[];c.sounds={};g=null;for(b in v)if(v.hasOwnProperty(b))for(d=v[b].length-1;0<=d;d--)v[b][d].fired=!1;h.setTimeout(c.beginDelayedInit,20)};this.getMoviePercent=function(){return g&&\n\"PercentLoaded\"in g?g.PercentLoaded():null};this.beginDelayedInit=function(){ja=!0;D();setTimeout(function(){if(sa)return!1;X();W();return sa=!0},20);C()};this.destruct=function(){c.disable(!0)};Da=function(b){var d,e,a=this,f,Ya,Za,H,h,k,m=!1,i=[],l=0,q,s,p=null;e=d=null;this.sID=this.id=b.id;this.url=b.url;this._iO=this.instanceOptions=this.options=r(b);this.pan=this.options.pan;this.volume=this.options.volume;this.isHTML5=!1;this._a=null;this.id3={};this._debug=function(){};this.load=function(b){var c=\nnull;void 0!==b?a._iO=r(b,a.options):(b=a.options,a._iO=b,p&&p!==a.url&&(a._iO.url=a.url,a.url=null));a._iO.url||(a._iO.url=a.url);a._iO.url=ba(a._iO.url);b=a.instanceOptions=a._iO;if(b.url===a.url&&0!==a.readyState&&2!==a.readyState)return 3===a.readyState&&b.onload&&b.onload.apply(a,[!!a.duration]),a;a.loaded=!1;a.readyState=1;a.playState=0;a.id3={};if(ca(b))c=a._setup_html5(b),c._called_load||(a._html5_canplay=!1,a.url!==b.url&&(a._a.src=b.url,a.setPosition(0)),a._a.autobuffer=\"auto\",a._a.preload=\n\"auto\",a._a._called_load=!0,b.autoPlay&&a.play());else try{a.isHTML5=!1,a._iO=$(Z(b)),b=a._iO,8===j?g._load(a.id,b.url,b.stream,b.autoPlay,b.usePolicyFile):g._load(a.id,b.url,!!b.stream,!!b.autoPlay,b.loops||1,!!b.autoLoad,b.usePolicyFile)}catch(d){E({type:\"SMSOUND_LOAD_JS_EXCEPTION\",fatal:!0})}a.url=b.url;return a};this.unload=function(){0!==a.readyState&&(a.isHTML5?(H(),a._a&&(a._a.pause(),ta(a._a,\"about:blank\"),p=\"about:blank\")):8===j?g._unload(a.id,\"about:blank\"):g._unload(a.id),f());return a};\nthis.destruct=function(b){a.isHTML5?(H(),a._a&&(a._a.pause(),ta(a._a),z||Za(),a._a._s=null,a._a=null)):(a._iO.onfailure=null,g._destroySound(a.id));b||c.destroySound(a.id,!0)};this.start=this.play=function(b,c){var d,e;e=!0;e=null;c=void 0===c?!0:c;b||(b={});a.url&&(a._iO.url=a.url);a._iO=r(a._iO,a.options);a._iO=r(b,a._iO);a._iO.url=ba(a._iO.url);a.instanceOptions=a._iO;if(a._iO.serverURL&&!a.connected)return a.getAutoPlay()||a.setAutoPlay(!0),a;ca(a._iO)&&(a._setup_html5(a._iO),h());1===a.playState&&\n!a.paused&&((d=a._iO.multiShot)||(e=a));if(null!==e)return e;b.url&&b.url!==a.url&&a.load(a._iO);a.loaded||(0===a.readyState?(a.isHTML5||(a._iO.autoPlay=!0),a.load(a._iO),a.instanceOptions=a._iO):2===a.readyState&&(e=a));if(null!==e)return e;!a.isHTML5&&(9===j&&0<a.position&&a.position===a.duration)&&(b.position=0);if(a.paused&&0<=a.position&&(!a._iO.serverURL||0<a.position))a.resume();else{a._iO=r(b,a._iO);if(null!==a._iO.from&&null!==a._iO.to&&0===a.instanceCount&&0===a.playState&&!a._iO.serverURL){d=\nfunction(){a._iO=r(b,a._iO);a.play(a._iO)};if(a.isHTML5&&!a._html5_canplay)a.load({oncanplay:d}),e=!1;else if(!a.isHTML5&&!a.loaded&&(!a.readyState||2!==a.readyState))a.load({onload:d}),e=!1;if(null!==e)return e;a._iO=s()}(!a.instanceCount||a._iO.multiShotEvents||!a.isHTML5&&8<j&&!a.getAutoPlay())&&a.instanceCount++;a._iO.onposition&&0===a.playState&&k(a);a.playState=1;a.paused=!1;a.position=void 0!==a._iO.position&&!isNaN(a._iO.position)?a._iO.position:0;a.isHTML5||(a._iO=$(Z(a._iO)));a._iO.onplay&&\nc&&(a._iO.onplay.apply(a),m=!0);a.setVolume(a._iO.volume,!0);a.setPan(a._iO.pan,!0);a.isHTML5?(h(),e=a._setup_html5(),a.setPosition(a._iO.position),e.play()):(e=g._start(a.id,a._iO.loops||1,9===j?a._iO.position:a._iO.position/1E3,a._iO.multiShot),9===j&&!e&&a._iO.onplayerror&&a._iO.onplayerror.apply(a))}return a};this.stop=function(b){var c=a._iO;1===a.playState&&(a._onbufferchange(0),a._resetOnPosition(0),a.paused=!1,a.isHTML5||(a.playState=0),q(),c.to&&a.clearOnPosition(c.to),a.isHTML5?a._a&&(b=\na.position,a.setPosition(0),a.position=b,a._a.pause(),a.playState=0,a._onTimer(),H()):(g._stop(a.id,b),c.serverURL&&a.unload()),a.instanceCount=0,a._iO={},c.onstop&&c.onstop.apply(a));return a};this.setAutoPlay=function(b){a._iO.autoPlay=b;a.isHTML5||(g._setAutoPlay(a.id,b),b&&!a.instanceCount&&1===a.readyState&&a.instanceCount++)};this.getAutoPlay=function(){return a._iO.autoPlay};this.setPosition=function(b){void 0===b&&(b=0);var c=a.isHTML5?Math.max(b,0):Math.min(a.duration||a._iO.duration,Math.max(b,\n0));a.position=c;b=a.position/1E3;a._resetOnPosition(a.position);a._iO.position=c;if(a.isHTML5){if(a._a&&a._html5_canplay&&a._a.currentTime!==b)try{a._a.currentTime=b,(0===a.playState||a.paused)&&a._a.pause()}catch(d){}}else b=9===j?a.position:b,a.readyState&&2!==a.readyState&&g._setPosition(a.id,b,a.paused||!a.playState,a._iO.multiShot);a.isHTML5&&a.paused&&a._onTimer(!0);return a};this.pause=function(b){if(a.paused||0===a.playState&&1!==a.readyState)return a;a.paused=!0;a.isHTML5?(a._setup_html5().pause(),\nH()):(b||void 0===b)&&g._pause(a.id,a._iO.multiShot);a._iO.onpause&&a._iO.onpause.apply(a);return a};this.resume=function(){var b=a._iO;if(!a.paused)return a;a.paused=!1;a.playState=1;a.isHTML5?(a._setup_html5().play(),h()):(b.isMovieStar&&!b.serverURL&&a.setPosition(a.position),g._pause(a.id,b.multiShot));!m&&b.onplay?(b.onplay.apply(a),m=!0):b.onresume&&b.onresume.apply(a);return a};this.togglePause=function(){if(0===a.playState)return a.play({position:9===j&&!a.isHTML5?a.position:a.position/1E3}),\na;a.paused?a.resume():a.pause();return a};this.setPan=function(b,c){void 0===b&&(b=0);void 0===c&&(c=!1);a.isHTML5||g._setPan(a.id,b);a._iO.pan=b;c||(a.pan=b,a.options.pan=b);return a};this.setVolume=function(b,d){void 0===b&&(b=100);void 0===d&&(d=!1);a.isHTML5?a._a&&(a._a.volume=Math.max(0,Math.min(1,b/100))):g._setVolume(a.id,c.muted&&!a.muted||a.muted?0:b);a._iO.volume=b;d||(a.volume=b,a.options.volume=b);return a};this.mute=function(){a.muted=!0;a.isHTML5?a._a&&(a._a.muted=!0):g._setVolume(a.id,\n0);return a};this.unmute=function(){a.muted=!1;var b=void 0!==a._iO.volume;a.isHTML5?a._a&&(a._a.muted=!1):g._setVolume(a.id,b?a._iO.volume:a.options.volume);return a};this.toggleMute=function(){return a.muted?a.unmute():a.mute()};this.onposition=this.onPosition=function(b,c,d){i.push({position:parseInt(b,10),method:c,scope:void 0!==d?d:a,fired:!1});return a};this.clearOnPosition=function(a,b){var c,a=parseInt(a,10);if(isNaN(a))return!1;for(c=0;c<i.length;c++)if(a===i[c].position&&(!b||b===i[c].method))i[c].fired&&\nl--,i.splice(c,1)};this._processOnPosition=function(){var b,c;b=i.length;if(!b||!a.playState||l>=b)return!1;for(b-=1;0<=b;b--)c=i[b],!c.fired&&a.position>=c.position&&(c.fired=!0,l++,c.method.apply(c.scope,[c.position]));return!0};this._resetOnPosition=function(a){var b,c;b=i.length;if(!b)return!1;for(b-=1;0<=b;b--)c=i[b],c.fired&&a<=c.position&&(c.fired=!1,l--);return!0};s=function(){var b=a._iO,c=b.from,d=b.to,e,f;f=function(){a.clearOnPosition(d,f);a.stop()};e=function(){if(null!==d&&!isNaN(d))a.onPosition(d,\nf)};null!==c&&!isNaN(c)&&(b.position=c,b.multiShot=!1,e());return b};k=function(){var b,c=a._iO.onposition;if(c)for(b in c)if(c.hasOwnProperty(b))a.onPosition(parseInt(b,10),c[b])};q=function(){var b,c=a._iO.onposition;if(c)for(b in c)c.hasOwnProperty(b)&&a.clearOnPosition(parseInt(b,10))};h=function(){a.isHTML5&&Ka(a)};H=function(){a.isHTML5&&La(a)};f=function(b){b||(i=[],l=0);m=!1;a._hasTimer=null;a._a=null;a._html5_canplay=!1;a.bytesLoaded=null;a.bytesTotal=null;a.duration=a._iO&&a._iO.duration?\na._iO.duration:null;a.durationEstimate=null;a.buffered=[];a.eqData=[];a.eqData.left=[];a.eqData.right=[];a.failures=0;a.isBuffering=!1;a.instanceOptions={};a.instanceCount=0;a.loaded=!1;a.metadata={};a.readyState=0;a.muted=!1;a.paused=!1;a.peakData={left:0,right:0};a.waveformData={left:[],right:[]};a.playState=0;a.position=null;a.id3={}};f();this._onTimer=function(b){var c,f=!1,g={};if(a._hasTimer||b){if(a._a&&(b||(0<a.playState||1===a.readyState)&&!a.paused))c=a._get_html5_duration(),c!==d&&(d=c,\na.duration=c,f=!0),a.durationEstimate=a.duration,c=1E3*a._a.currentTime||0,c!==e&&(e=c,f=!0),(f||b)&&a._whileplaying(c,g,g,g,g);return f}};this._get_html5_duration=function(){var b=a._iO;return(b=a._a&&a._a.duration?1E3*a._a.duration:b&&b.duration?b.duration:null)&&!isNaN(b)&&Infinity!==b?b:null};this._apply_loop=function(a,b){a.loop=1<b?\"loop\":\"\"};this._setup_html5=function(b){var b=r(a._iO,b),c=decodeURI,d=z?Ea:a._a,e=c(b.url),g;z?e===Pa&&(g=!0):e===p&&(g=!0);if(d){if(d._s)if(z)d._s&&(d._s.playState&&\n!g)&&d._s.stop();else if(!z&&e===c(p))return a._apply_loop(d,b.loops),d;g||(f(!1),d.src=b.url,Pa=p=a.url=b.url,d._called_load=!1)}else a._a=b.autoLoad||b.autoPlay?new Audio(b.url):ya&&10>opera.version()?new Audio(null):new Audio,d=a._a,d._called_load=!1,z&&(Ea=d);a.isHTML5=!0;a._a=d;d._s=a;Ya();a._apply_loop(d,b.loops);b.autoLoad||b.autoPlay?a.load():(d.autobuffer=!1,d.preload=\"auto\");return d};Ya=function(){if(a._a._added_events)return!1;var b;a._a._added_events=!0;for(b in u)u.hasOwnProperty(b)&&\na._a&&a._a.addEventListener(b,u[b],!1);return!0};Za=function(){var b;a._a._added_events=!1;for(b in u)u.hasOwnProperty(b)&&a._a&&a._a.removeEventListener(b,u[b],!1)};this._onload=function(b){b=!!b||!a.isHTML5&&8===j&&a.duration;a.loaded=b;a.readyState=b?3:2;a._onbufferchange(0);a._iO.onload&&a._iO.onload.apply(a,[b]);return!0};this._onbufferchange=function(b){if(0===a.playState||b&&a.isBuffering||!b&&!a.isBuffering)return!1;a.isBuffering=1===b;a._iO.onbufferchange&&a._iO.onbufferchange.apply(a);return!0};\nthis._onsuspend=function(){a._iO.onsuspend&&a._iO.onsuspend.apply(a);return!0};this._onfailure=function(b,c,d){a.failures++;if(a._iO.onfailure&&1===a.failures)a._iO.onfailure(a,b,c,d)};this._onfinish=function(){var b=a._iO.onfinish;a._onbufferchange(0);a._resetOnPosition(0);a.instanceCount&&(a.instanceCount--,a.instanceCount||(q(),a.playState=0,a.paused=!1,a.instanceCount=0,a.instanceOptions={},a._iO={},H(),a.isHTML5&&(a.position=0)),(!a.instanceCount||a._iO.multiShotEvents)&&b&&b.apply(a))};this._whileloading=\nfunction(b,c,d,e){var f=a._iO;a.bytesLoaded=b;a.bytesTotal=c;a.duration=Math.floor(d);a.bufferLength=e;a.durationEstimate=!a.isHTML5&&!f.isMovieStar?f.duration?a.duration>f.duration?a.duration:f.duration:parseInt(a.bytesTotal/a.bytesLoaded*a.duration,10):a.duration;a.isHTML5||(a.buffered=[{start:0,end:a.duration}]);(3!==a.readyState||a.isHTML5)&&f.whileloading&&f.whileloading.apply(a)};this._whileplaying=function(b,c,d,e,f){var g=a._iO;if(isNaN(b)||null===b)return!1;a.position=Math.max(0,b);a._processOnPosition();\n!a.isHTML5&&8<j&&(g.usePeakData&&(void 0!==c&&c)&&(a.peakData={left:c.leftPeak,right:c.rightPeak}),g.useWaveformData&&(void 0!==d&&d)&&(a.waveformData={left:d.split(\",\"),right:e.split(\",\")}),g.useEQData&&(void 0!==f&&f&&f.leftEQ)&&(b=f.leftEQ.split(\",\"),a.eqData=b,a.eqData.left=b,void 0!==f.rightEQ&&f.rightEQ&&(a.eqData.right=f.rightEQ.split(\",\"))));1===a.playState&&(!a.isHTML5&&(8===j&&!a.position&&a.isBuffering)&&a._onbufferchange(0),g.whileplaying&&g.whileplaying.apply(a));return!0};this._oncaptiondata=\nfunction(b){a.captiondata=b;a._iO.oncaptiondata&&a._iO.oncaptiondata.apply(a,[b])};this._onmetadata=function(b,c){var d={},e,f;e=0;for(f=b.length;e<f;e++)d[b[e]]=c[e];a.metadata=d;a._iO.onmetadata&&a._iO.onmetadata.apply(a)};this._onid3=function(b,c){var d=[],e,f;e=0;for(f=b.length;e<f;e++)d[b[e]]=c[e];a.id3=r(a.id3,d);a._iO.onid3&&a._iO.onid3.apply(a)};this._onconnect=function(b){b=1===b;if(a.connected=b)a.failures=0,n(a.id)&&(a.getAutoPlay()?a.play(void 0,a.getAutoPlay()):a._iO.autoLoad&&a.load()),\na._iO.onconnect&&a._iO.onconnect.apply(a,[b])};this._ondataerror=function(){0<a.playState&&a._iO.ondataerror&&a._iO.ondataerror.apply(a)}};oa=function(){return k.body||k._docElement||k.getElementsByTagName(\"div\")[0]};T=function(b){return k.getElementById(b)};r=function(b,d){var e=b||{},a,f;a=void 0===d?c.defaultOptions:d;for(f in a)a.hasOwnProperty(f)&&void 0===e[f]&&(e[f]=\"object\"!==typeof a[f]||null===a[f]?a[f]:r(e[f],a[f]));return e};U={onready:1,ontimeout:1,defaultOptions:1,flash9Options:1,movieStarOptions:1};\nka=function(b,d){var e,a=!0,f=void 0!==d,g=c.setupOptions;for(e in b)if(b.hasOwnProperty(e))if(\"object\"!==typeof b[e]||null===b[e]||b[e]instanceof Array)f&&void 0!==U[d]?c[d][e]=b[e]:void 0!==g[e]?(c.setupOptions[e]=b[e],c[e]=b[e]):void 0===U[e]?(G(t(void 0===c[e]?\"setupUndef\":\"setupError\",e),2),a=!1):c[e]instanceof Function?c[e].apply(c,b[e]instanceof Array?b[e]:[b[e]]):c[e]=b[e];else if(void 0===U[e])G(t(void 0===c[e]?\"setupUndef\":\"setupError\",e),2),a=!1;else return ka(b[e],e);return a};var $a=\nfunction(b){var b=bb.call(b),c=b.length;ea?(b[1]=\"on\"+b[1],3<c&&b.pop()):3===c&&b.push(!1);return b},ab=function(b,c){var e=b.shift(),a=[eb[c]];if(ea)e[a](b[0],b[1]);else e[a].apply(e,b)},ea=h.attachEvent,eb={add:ea?\"attachEvent\":\"addEventListener\",remove:ea?\"detachEvent\":\"removeEventListener\"};l={add:function(){ab($a(arguments),\"add\")},remove:function(){ab($a(arguments),\"remove\")}};u={abort:m(function(){}),canplay:m(function(){var b=this._s,c;if(b._html5_canplay)return!0;b._html5_canplay=!0;b._onbufferchange(0);\nc=void 0!==b._iO.position&&!isNaN(b._iO.position)?b._iO.position/1E3:null;if(b.position&&this.currentTime!==c)try{this.currentTime=c}catch(e){}b._iO._oncanplay&&b._iO._oncanplay()}),canplaythrough:m(function(){var b=this._s;b.loaded||(b._onbufferchange(0),b._whileloading(b.bytesLoaded,b.bytesTotal,b._get_html5_duration()),b._onload(!0))}),ended:m(function(){this._s._onfinish()}),error:m(function(){this._s._onload(!1)}),loadeddata:m(function(){var b=this._s;!b._loaded&&!xa&&(b.duration=b._get_html5_duration())}),\nloadedmetadata:m(function(){}),loadstart:m(function(){this._s._onbufferchange(1)}),play:m(function(){this._s._onbufferchange(0)}),playing:m(function(){this._s._onbufferchange(0)}),progress:m(function(b){var c=this._s,e,a,f=0,f=b.target.buffered;e=b.loaded||0;var g=b.total||1;c.buffered=[];if(f&&f.length){e=0;for(a=f.length;e<a;e++)c.buffered.push({start:1E3*f.start(e),end:1E3*f.end(e)});f=1E3*(f.end(0)-f.start(0));e=f/(1E3*b.target.duration)}isNaN(e)||(c._onbufferchange(0),c._whileloading(e,g,c._get_html5_duration()),\ne&&(g&&e===g)&&u.canplaythrough.call(this,b))}),ratechange:m(function(){}),suspend:m(function(b){var c=this._s;u.progress.call(this,b);c._onsuspend()}),stalled:m(function(){}),timeupdate:m(function(){this._s._onTimer()}),waiting:m(function(){this._s._onbufferchange(1)})};ca=function(b){return b.serverURL||b.type&&S(b.type)?!1:b.type?P({type:b.type}):P({url:b.url})||c.html5Only};ta=function(b,c){b&&(b.src=c)};P=function(b){if(!c.useHTML5Audio||!c.hasHTML5)return!1;var d=b.url||null,b=b.type||null,\ne=c.audioFormats,a;if(b&&void 0!==c.html5[b])return c.html5[b]&&!S(b);if(!w){w=[];for(a in e)e.hasOwnProperty(a)&&(w.push(a),e[a].related&&(w=w.concat(e[a].related)));w=RegExp(\"\\\\.(\"+w.join(\"|\")+\")(\\\\?.*)?$\",\"i\")}a=d?d.toLowerCase().match(w):null;!a||!a.length?b&&(d=b.indexOf(\";\"),a=(-1!==d?b.substr(0,d):b).substr(6)):a=a[1];a&&void 0!==c.html5[a]?d=c.html5[a]&&!S(a):(b=\"audio/\"+a,d=c.html5.canPlayType({type:b}),d=(c.html5[a]=d)&&c.html5[b]&&!S(b));return d};Oa=function(){function b(a){var b,e,f=\nb=!1;if(!d||\"function\"!==typeof d.canPlayType)return b;if(a instanceof Array){b=0;for(e=a.length;b<e;b++)if(c.html5[a[b]]||d.canPlayType(a[b]).match(c.html5Test))f=!0,c.html5[a[b]]=!0,c.flash[a[b]]=!!a[b].match(Ua);b=f}else a=d&&\"function\"===typeof d.canPlayType?d.canPlayType(a):!1,b=!(!a||!a.match(c.html5Test));return b}if(!c.useHTML5Audio||!c.hasHTML5)return!1;var d=void 0!==Audio?ya&&10>opera.version()?new Audio(null):new Audio:null,e,a,f={},g;g=c.audioFormats;for(e in g)if(g.hasOwnProperty(e)&&\n(a=\"audio/\"+e,f[e]=b(g[e].type),f[a]=f[e],e.match(Ua)?(c.flash[e]=!0,c.flash[a]=!0):(c.flash[e]=!1,c.flash[a]=!1),g[e]&&g[e].related))for(a=g[e].related.length-1;0<=a;a--)f[\"audio/\"+g[e].related[a]]=f[e],c.html5[g[e].related[a]]=f[e],c.flash[g[e].related[a]]=f[e];f.canPlayType=d?b:null;c.html5=r(c.html5,f);return!0};t=function(){};Z=function(b){8===j&&(1<b.loops&&b.stream)&&(b.stream=!1);return b};$=function(b){if(b&&!b.usePolicyFile&&(b.onid3||b.usePeakData||b.useWaveformData||b.useEQData))b.usePolicyFile=\n!0;return b};G=function(){};ha=function(){return!1};Ia=function(b){for(var c in b)b.hasOwnProperty(c)&&\"function\"===typeof b[c]&&(b[c]=ha)};Y=function(b){void 0===b&&(b=!1);(s||b)&&c.disable(b)};Ja=function(b){var d=null;if(b)if(b.match(/\\.swf(\\?.*)?$/i)){if(d=b.substr(b.toLowerCase().lastIndexOf(\".swf?\")+4))return b}else b.lastIndexOf(\"/\")!==b.length-1&&(b+=\"/\");b=(b&&-1!==b.lastIndexOf(\"/\")?b.substr(0,b.lastIndexOf(\"/\")+1):\"./\")+c.movieURL;c.noSWFCache&&(b+=\"?ts=\"+(new Date).getTime());return b};\nma=function(){j=parseInt(c.flashVersion,10);8!==j&&9!==j&&(c.flashVersion=j=8);var b=c.debugMode||c.debugFlash?\"_debug.swf\":\".swf\";c.useHTML5Audio&&(!c.html5Only&&c.audioFormats.mp4.required&&9>j)&&(c.flashVersion=j=9);c.version=c.versionNumber+(c.html5Only?\" (HTML5-only mode)\":9===j?\" (AS3/Flash 9)\":\" (AS2/Flash 8)\");8<j?(c.defaultOptions=r(c.defaultOptions,c.flash9Options),c.features.buffering=!0,c.defaultOptions=r(c.defaultOptions,c.movieStarOptions),c.filePatterns.flash9=RegExp(\"\\\\.(mp3|\"+Xa.join(\"|\")+\n\")(\\\\?.*)?$\",\"i\"),c.features.movieStar=!0):c.features.movieStar=!1;c.filePattern=c.filePatterns[8!==j?\"flash9\":\"flash8\"];c.movieURL=(8===j?\"soundmanager2.swf\":\"soundmanager2_flash9.swf\").replace(\".swf\",b);c.features.peakData=c.features.waveformData=c.features.eqData=8<j};Ha=function(b,c){if(!g)return!1;g._setPolling(b,c)};pa=function(){c.debugURLParam.test(ga)&&(c.debugMode=!0)};n=this.getSoundById;F=function(){var b=[];c.debugMode&&b.push(\"sm2_debug\");c.debugFlash&&b.push(\"flash_debug\");c.useHighPerformance&&\nb.push(\"high_performance\");return b.join(\" \")};ra=function(){t(\"fbHandler\");var b=c.getMoviePercent(),d={type:\"FLASHBLOCK\"};if(c.html5Only)return!1;c.ok()?c.oMC&&(c.oMC.className=[F(),\"movieContainer\",\"swf_loaded\"+(c.didFlashBlock?\" swf_unblocked\":\"\")].join(\" \")):(p&&(c.oMC.className=F()+\" movieContainer \"+(null===b?\"swf_timedout\":\"swf_error\")),c.didFlashBlock=!0,A({type:\"ontimeout\",ignoreInit:!0,error:d}),E(d))};la=function(b,c,e){void 0===v[b]&&(v[b]=[]);v[b].push({method:c,scope:e||null,fired:!1})};\nA=function(b){b||(b={type:c.ok()?\"onready\":\"ontimeout\"});if(!i&&b&&!b.ignoreInit||\"ontimeout\"===b.type&&(c.ok()||s&&!b.ignoreInit))return!1;var d={success:b&&b.ignoreInit?c.ok():!s},e=b&&b.type?v[b.type]||[]:[],a=[],f,d=[d],g=p&&c.useFlashBlock&&!c.ok();b.error&&(d[0].error=b.error);b=0;for(f=e.length;b<f;b++)!0!==e[b].fired&&a.push(e[b]);if(a.length){b=0;for(f=a.length;b<f;b++)a[b].scope?a[b].method.apply(a[b].scope,d):a[b].method.apply(this,d),g||(a[b].fired=!0)}return!0};B=function(){h.setTimeout(function(){c.useFlashBlock&&\nra();A();\"function\"===typeof c.onload&&c.onload.apply(h);c.waitForWindowLoad&&l.add(h,\"load\",B)},1)};va=function(){if(void 0!==y)return y;var b=!1,c=navigator,e=c.plugins,a,f=h.ActiveXObject;if(e&&e.length)(c=c.mimeTypes)&&(c[\"application/x-shockwave-flash\"]&&c[\"application/x-shockwave-flash\"].enabledPlugin&&c[\"application/x-shockwave-flash\"].enabledPlugin.description)&&(b=!0);else if(void 0!==f&&!q.match(/MSAppHost/i)){try{a=new f(\"ShockwaveFlash.ShockwaveFlash\")}catch(g){}b=!!a}return y=b};Na=function(){var b,\nd,e=c.audioFormats;if(wa&&q.match(/os (1|2|3_0|3_1)/i))c.hasHTML5=!1,c.html5Only=!0,c.oMC&&(c.oMC.style.display=\"none\");else if(c.useHTML5Audio&&(!c.html5||!c.html5.canPlayType))c.hasHTML5=!1;if(c.useHTML5Audio&&c.hasHTML5)for(d in e)if(e.hasOwnProperty(d)&&(e[d].required&&!c.html5.canPlayType(e[d].type)||c.preferFlash&&(c.flash[d]||c.flash[e[d].type])))b=!0;c.ignoreFlash&&(b=!1);c.html5Only=c.hasHTML5&&c.useHTML5Audio&&!b;return!c.html5Only};ba=function(b){var d,e,a=0;if(b instanceof Array){d=0;\nfor(e=b.length;d<e;d++)if(b[d]instanceof Object){if(c.canPlayMIME(b[d].type)){a=d;break}}else if(c.canPlayURL(b[d])){a=d;break}b[a].url&&(b[a]=b[a].url);b=b[a]}return b};Ka=function(b){b._hasTimer||(b._hasTimer=!0,!za&&c.html5PollingInterval&&(null===O&&0===aa&&(O=h.setInterval(Ma,c.html5PollingInterval)),aa++))};La=function(b){b._hasTimer&&(b._hasTimer=!1,!za&&c.html5PollingInterval&&aa--)};Ma=function(){var b;if(null!==O&&!aa)return h.clearInterval(O),O=null,!1;for(b=c.soundIDs.length-1;0<=b;b--)c.sounds[c.soundIDs[b]].isHTML5&&\nc.sounds[c.soundIDs[b]]._hasTimer&&c.sounds[c.soundIDs[b]]._onTimer()};E=function(b){b=void 0!==b?b:{};\"function\"===typeof c.onerror&&c.onerror.apply(h,[{type:void 0!==b.type?b.type:null}]);void 0!==b.fatal&&b.fatal&&c.disable()};Qa=function(){if(!Sa||!va())return!1;var b=c.audioFormats,d,e;for(e in b)if(b.hasOwnProperty(e)&&(\"mp3\"===e||\"mp4\"===e))if(c.html5[e]=!1,b[e]&&b[e].related)for(d=b[e].related.length-1;0<=d;d--)c.html5[b[e].related[d]]=!1};this._setSandboxType=function(){};this._externalInterfaceOK=\nfunction(){if(c.swfLoaded)return!1;(new Date).getTime();c.swfLoaded=!0;da=!1;Sa&&Qa();setTimeout(ia,x?100:1)};X=function(b,d){function e(a,b){return'<param name=\"'+a+'\" value=\"'+b+'\" />'}if(I&&J)return!1;if(c.html5Only)return ma(),c.oMC=T(c.movieID),ia(),J=I=!0,!1;var a=d||c.url,f=c.altURL||a,g=oa(),h=F(),j=null,j=k.getElementsByTagName(\"html\")[0],i,m,l,j=j&&j.dir&&j.dir.match(/rtl/i),b=void 0===b?c.id:b;ma();c.url=Ja(Ba?a:f);d=c.url;c.wmode=!c.wmode&&c.useHighPerformance?\"transparent\":c.wmode;if(null!==\nc.wmode&&(q.match(/msie 8/i)||!x&&!c.useHighPerformance)&&navigator.platform.match(/win32|win64/i))c.wmode=null;g={name:b,id:b,src:d,quality:\"high\",allowScriptAccess:c.allowScriptAccess,bgcolor:c.bgColor,pluginspage:Va+\"www.macromedia.com/go/getflashplayer\",title:\"JS/Flash audio component (SoundManager 2)\",type:\"application/x-shockwave-flash\",wmode:c.wmode,hasPriority:\"true\"};c.debugFlash&&(g.FlashVars=\"debug=1\");c.wmode||delete g.wmode;if(x)a=k.createElement(\"div\"),m=['<object id=\"'+b+'\" data=\"'+\nd+'\" type=\"'+g.type+'\" title=\"'+g.title+'\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"'+Va+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0\">',e(\"movie\",d),e(\"AllowScriptAccess\",c.allowScriptAccess),e(\"quality\",g.quality),c.wmode?e(\"wmode\",c.wmode):\"\",e(\"bgcolor\",c.bgColor),e(\"hasPriority\",\"true\"),c.debugFlash?e(\"FlashVars\",g.FlashVars):\"\",\"</object>\"].join(\"\");else for(i in a=k.createElement(\"embed\"),g)g.hasOwnProperty(i)&&a.setAttribute(i,g[i]);\npa();h=F();if(g=oa())if(c.oMC=T(c.movieID)||k.createElement(\"div\"),c.oMC.id)l=c.oMC.className,c.oMC.className=(l?l+\" \":\"movieContainer\")+(h?\" \"+h:\"\"),c.oMC.appendChild(a),x&&(i=c.oMC.appendChild(k.createElement(\"div\")),i.className=\"sm2-object-box\",i.innerHTML=m),J=!0;else{c.oMC.id=c.movieID;c.oMC.className=\"movieContainer \"+h;i=h=null;c.useFlashBlock||(c.useHighPerformance?h={position:\"fixed\",width:\"8px\",height:\"8px\",bottom:\"0px\",left:\"0px\",overflow:\"hidden\"}:(h={position:\"absolute\",width:\"6px\",height:\"6px\",\ntop:\"-9999px\",left:\"-9999px\"},j&&(h.left=Math.abs(parseInt(h.left,10))+\"px\")));cb&&(c.oMC.style.zIndex=1E4);if(!c.debugFlash)for(l in h)h.hasOwnProperty(l)&&(c.oMC.style[l]=h[l]);try{x||c.oMC.appendChild(a),g.appendChild(c.oMC),x&&(i=c.oMC.appendChild(k.createElement(\"div\")),i.className=\"sm2-object-box\",i.innerHTML=m),J=!0}catch(n){throw Error(t(\"domError\")+\" \\n\"+n.toString());}}return I=!0};W=function(){if(c.html5Only)return X(),!1;if(g||!c.url)return!1;g=c.getMovie(c.id);g||(M?(x?c.oMC.innerHTML=\nqa:c.oMC.appendChild(M),M=null,I=!0):X(c.id,c.url),g=c.getMovie(c.id));\"function\"===typeof c.oninitmovie&&setTimeout(c.oninitmovie,1);return!0};C=function(){setTimeout(Ga,1E3)};Ga=function(){var b,d=!1;if(!c.url||N)return!1;N=!0;l.remove(h,\"load\",C);if(da&&!Aa)return!1;i||(b=c.getMoviePercent(),0<b&&100>b&&(d=!0));setTimeout(function(){b=c.getMoviePercent();if(d)return N=!1,h.setTimeout(C,1),!1;!i&&Ta&&(null===b?c.useFlashBlock||0===c.flashLoadTimeout?c.useFlashBlock&&ra():Y(!0):0!==c.flashLoadTimeout&&\nY(!0))},c.flashLoadTimeout)};V=function(){if(Aa||!da)return l.remove(h,\"focus\",V),!0;Aa=Ta=!0;N=!1;C();l.remove(h,\"focus\",V);return!0};Ra=function(){};K=function(b){if(i)return!1;if(c.html5Only)return i=!0,B(),!0;var d=!0,e;if(!c.useFlashBlock||!c.flashLoadTimeout||c.getMoviePercent())i=!0,s&&(e={type:!y&&p?\"NO_FLASH\":\"INIT_TIMEOUT\"});if(s||b)c.useFlashBlock&&c.oMC&&(c.oMC.className=F()+\" \"+(null===c.getMoviePercent()?\"swf_timedout\":\"swf_error\")),A({type:\"ontimeout\",error:e,ignoreInit:!0}),E(e),d=\n!1;s||(c.waitForWindowLoad&&!ja?l.add(h,\"load\",B):B());return d};Fa=function(){var b,d=c.setupOptions;for(b in d)d.hasOwnProperty(b)&&(void 0===c[b]?c[b]=d[b]:c[b]!==d[b]&&(c.setupOptions[b]=c[b]))};ia=function(){if(i)return!1;if(c.html5Only)return i||(l.remove(h,\"load\",c.beginDelayedInit),c.enabled=!0,K()),!0;W();try{g._externalInterfaceTest(!1),Ha(!0,c.flashPollingInterval||(c.useHighPerformance?10:50)),c.debugMode||g._disableDebug(),c.enabled=!0,c.html5Only||l.add(h,\"unload\",ha)}catch(b){return E({type:\"JS_TO_FLASH_EXCEPTION\",\nfatal:!0}),Y(!0),K(),!1}K();l.remove(h,\"load\",c.beginDelayedInit);return!0};D=function(){if(L)return!1;L=!0;Fa();pa();!y&&c.hasHTML5&&c.setup({useHTML5Audio:!0,preferFlash:!1});Oa();c.html5.usingFlash=Na();p=c.html5.usingFlash;Ra();!y&&p&&c.setup({flashLoadTimeout:1});k.removeEventListener&&k.removeEventListener(\"DOMContentLoaded\",D,!1);W();return!0};ua=function(){\"complete\"===k.readyState&&(D(),k.detachEvent(\"onreadystatechange\",ua));return!0};na=function(){ja=!0;l.remove(h,\"load\",na)};va();l.add(h,\n\"focus\",V);l.add(h,\"load\",C);l.add(h,\"load\",na);k.addEventListener?k.addEventListener(\"DOMContentLoaded\",D,!1):k.attachEvent?k.attachEvent(\"onreadystatechange\",ua):E({type:\"NO_DOM2_EVENTS\",fatal:!0})}var fa=null;if(void 0===Q.SM2_DEFER||!SM2_DEFER)fa=new R;Q.SoundManager=R;Q.soundManager=fa})(window);;\n\r\nDrupal.behaviors.swftools_soundmanager2 = function (context) {\r\n if (typeof soundManager != 'undefined') {\r\n\r\n soundManager.url = Drupal.settings['swftools_soundmanager2']['soundManager.url'];\r\n soundManager.debugMode = Drupal.settings['swftools_soundmanager2']['soundManager.debugMode'];\r\n soundManager.flashVersion = Drupal.settings['swftools_soundmanager2']['soundManager.flashVersion']=='8'?8:9;\r\n soundManager.useFlashBlock = Drupal.settings['swftools_soundmanager2']['soundManager.useFlashBlock'];\r\n soundManager.useFastPolling = Drupal.settings['swftools_soundmanager2']['soundManager.useFastPolling'];\r\n soundManager.useHighPerformance = Drupal.settings['swftools_soundmanager2']['soundManager.useHighPerformance'];\r\n \r\n threeSixtyPlayer.config.imageRoot = Drupal.settings['swftools_soundmanager2']['threeSixtyPlayer.config.imageRoot'];\r\n \r\n if (typeof Drupal.settings['swftools_soundmanager2']['useVisualisation'] != 'undefined') {\r\n \r\n threeSixtyPlayer.config.showHMSTime = Drupal.settings['swftools_soundmanager2']['threeSixtyPlayer.config.showHMSTime'];\r\n threeSixtyPlayer.config.useWaveformData = Drupal.settings['swftools_soundmanager2']['threeSixtyPlayer.config.useWaveformData'];\r\n threeSixtyPlayer.config.useEQData = Drupal.settings['swftools_soundmanager2']['threeSixtyPlayer.config.useEQData'];\r\n threeSixtyPlayer.config.scaleFont = (navigator.userAgent.match(/msie/i)?false:true);\r\n\r\n soundManager.flash9Options.useWaveformData = Drupal.settings['swftools_soundmanager2']['soundManager.flash9Options.useWaveformData'];\r\n soundManager.flash9Options.useEQData = Drupal.settings['swftools_soundmanager2']['soundManager.flash9Options.useEQData'];\r\n soundManager.flash9Options.usePeakData = Drupal.settings['swftools_soundmanager2']['soundManager.flash9Options.usePeakData'];\r\n \r\n }\r\n \r\n };\r\n};\r\n;\n/** @license\r\n\tAnimator.js 1.1.9\r\n\t\r\n\tThis library is released under the BSD license:\r\n\r\n\tCopyright (c) 2006, Bernard Sumption. All rights reserved.\r\n\t\r\n\tRedistribution and use in source and binary forms, with or without\r\n\tmodification, are permitted provided that the following conditions are met:\r\n\t\r\n\tRedistributions of source code must retain the above copyright notice, this\r\n\tlist of conditions and the following disclaimer. Redistributions in binary\r\n\tform must reproduce the above copyright notice, this list of conditions and\r\n\tthe following disclaimer in the documentation and/or other materials\r\n\tprovided with the distribution. Neither the name BernieCode nor\r\n\tthe names of its contributors may be used to endorse or promote products\r\n\tderived from this software without specific prior written permission. \r\n\t\r\n\tTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\r\n\tAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r\n\tIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r\n\tARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR\r\n\tANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r\n\tDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r\n\tSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r\n\tCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r\n\tLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r\n\tOUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\r\n\tDAMAGE.\r\n\r\n*/\r\n\r\n// http://www.berniecode.com/writing/animator.html\r\n\r\n// Applies a sequence of numbers between 0 and 1 to a number of subjects\r\n// construct - see setOptions for parameters\r\nfunction Animator(options) {\r\n\tthis.setOptions(options);\r\n\tvar _this = this;\r\n\tthis.timerDelegate = function(){_this.onTimerEvent()};\r\n\tthis.subjects = [];\r\n\tthis.subjectScopes = [];\r\n\tthis.target = 0;\r\n\tthis.state = 0;\r\n\tthis.lastTime = null;\r\n};\r\nAnimator.prototype = {\r\n\t// apply defaults\r\n\tsetOptions: function(options) {\r\n\t\tthis.options = Animator.applyDefaults({\r\n\t\t\tinterval: 20, // time between animation frames\r\n\t\t\tduration: 400, // length of animation\r\n\t\t\tonComplete: function(){},\r\n\t\t\tonStep: function(){},\r\n\t\t\ttransition: Animator.tx.easeInOut\r\n\t\t}, options);\r\n\t},\r\n\t// animate from the current state to provided value\r\n\tseekTo: function(to) {\r\n\t\tthis.seekFromTo(this.state, to);\r\n\t},\r\n\t// animate from the current state to provided value\r\n\tseekFromTo: function(from, to) {\r\n\t\tthis.target = Math.max(0, Math.min(1, to));\r\n\t\tthis.state = Math.max(0, Math.min(1, from));\r\n\t\tthis.lastTime = new Date().getTime();\r\n\t\tif (!this.intervalId) {\r\n\t\t\tthis.intervalId = window.setInterval(this.timerDelegate, this.options.interval);\r\n\t\t}\r\n\t},\r\n\t// animate from the current state to provided value\r\n\tjumpTo: function(to) {\r\n\t\tthis.target = this.state = Math.max(0, Math.min(1, to));\r\n\t\tthis.propagate();\r\n\t},\r\n\t// seek to the opposite of the current target\r\n\ttoggle: function() {\r\n\t\tthis.seekTo(1 - this.target);\r\n\t},\r\n\t// add a function or an object with a method setState(state) that will be called with a number\r\n\t// between 0 and 1 on each frame of the animation\r\n\taddSubject: function(subject,scope) {\r\n\t\tthis.subjects[this.subjects.length] = subject;\r\n\t\tthis.subjectScopes[this.subjectScopes.length] = scope;\r\n\t\treturn this;\r\n\t},\r\n\t// remove all subjects\r\n\tclearSubjects: function() {\r\n\t\tthis.subjects = [];\r\n\t\tthis.subjectScopes = [];\r\n\t},\r\n\t// forward the current state to the animation subjects\r\n\tpropagate: function() {\r\n\t\tvar value = this.options.transition(this.state);\r\n\t\tfor (var i=0; i<this.subjects.length; i++) {\r\n\t\t\tif (this.subjects[i].setState) {\r\n\t\t\t\tthis.subjects[i].setState(value);\r\n\t\t\t} else {\r\n\t\t\t\tthis.subjects[i].apply(this.subjectScopes[i],[value]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t// called once per frame to update the current state\r\n\tonTimerEvent: function() {\r\n\t\tvar now = new Date().getTime();\r\n\t\tvar timePassed = now - this.lastTime;\r\n\t\tthis.lastTime = now;\r\n\t\tvar movement = (timePassed / this.options.duration) * (this.state < this.target ? 1 : -1);\r\n\t\tif (Math.abs(movement) >= Math.abs(this.state - this.target)) {\r\n\t\t\tthis.state = this.target;\r\n\t\t} else {\r\n\t\t\tthis.state += movement;\r\n\t\t}\r\n\t\t\r\n\t\ttry {\r\n\t\t\tthis.propagate();\r\n\t\t} finally {\r\n\t\t\tthis.options.onStep.call(this);\r\n\t\t\tif (this.target == this.state) {\r\n\t\t\t\twindow.clearInterval(this.intervalId);\r\n\t\t\t\tthis.intervalId = null;\r\n\t\t\t\tthis.options.onComplete.call(this);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t// shortcuts\r\n\tplay: function() {this.seekFromTo(0, 1)},\r\n\treverse: function() {this.seekFromTo(1, 0)},\r\n\t// return a string describing this Animator, for debugging\r\n\tinspect: function() {\r\n\t\tvar str = \"#<Animator:\\n\";\r\n\t\tfor (var i=0; i<this.subjects.length; i++) {\r\n\t\t\tstr += this.subjects[i].inspect();\r\n\t\t}\r\n\t\tstr += \">\";\r\n\t\treturn str;\r\n\t}\r\n}\r\n// merge the properties of two objects\r\nAnimator.applyDefaults = function(defaults, prefs) {\r\n\tprefs = prefs || {};\r\n\tvar prop, result = {};\r\n\tfor (prop in defaults) result[prop] = prefs[prop] !== undefined ? prefs[prop] : defaults[prop];\r\n\treturn result;\r\n}\r\n// make an array from any object\r\nAnimator.makeArray = function(o) {\r\n\tif (o == null) return [];\r\n\tif (!o.length) return [o];\r\n\tvar result = [];\r\n\tfor (var i=0; i<o.length; i++) result[i] = o[i];\r\n\treturn result;\r\n}\r\n// convert a dash-delimited-property to a camelCaseProperty (c/o Prototype, thanks Sam!)\r\nAnimator.camelize = function(string) {\r\n\tvar oStringList = string.split('-');\r\n\tif (oStringList.length == 1) return oStringList[0];\r\n\t\r\n\tvar camelizedString = string.indexOf('-') == 0\r\n\t\t? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1)\r\n\t\t: oStringList[0];\r\n\t\r\n\tfor (var i = 1, len = oStringList.length; i < len; i++) {\r\n\t\tvar s = oStringList[i];\r\n\t\tcamelizedString += s.charAt(0).toUpperCase() + s.substring(1);\r\n\t}\r\n\treturn camelizedString;\r\n}\r\n// syntactic sugar for creating CSSStyleSubjects\r\nAnimator.apply = function(el, style, options) {\r\n\tif (style instanceof Array) {\r\n\t\treturn new Animator(options).addSubject(new CSSStyleSubject(el, style[0], style[1]));\r\n\t}\r\n\treturn new Animator(options).addSubject(new CSSStyleSubject(el, style));\r\n}\r\n// make a transition function that gradually accelerates. pass a=1 for smooth\r\n// gravitational acceleration, higher values for an exaggerated effect\r\nAnimator.makeEaseIn = function(a) {\r\n\treturn function(state) {\r\n\t\treturn Math.pow(state, a*2); \r\n\t}\r\n}\r\n// as makeEaseIn but for deceleration\r\nAnimator.makeEaseOut = function(a) {\r\n\treturn function(state) {\r\n\t\treturn 1 - Math.pow(1 - state, a*2); \r\n\t}\r\n}\r\n// make a transition function that, like an object with momentum being attracted to a point,\r\n// goes past the target then returns\r\nAnimator.makeElastic = function(bounces) {\r\n\treturn function(state) {\r\n\t\tstate = Animator.tx.easeInOut(state);\r\n\t\treturn ((1-Math.cos(state * Math.PI * bounces)) * (1 - state)) + state; \r\n\t}\r\n}\r\n// make an Attack Decay Sustain Release envelope that starts and finishes on the same level\r\n// \r\nAnimator.makeADSR = function(attackEnd, decayEnd, sustainEnd, sustainLevel) {\r\n\tif (sustainLevel == null) sustainLevel = 0.5;\r\n\treturn function(state) {\r\n\t\tif (state < attackEnd) {\r\n\t\t\treturn state / attackEnd;\r\n\t\t}\r\n\t\tif (state < decayEnd) {\r\n\t\t\treturn 1 - ((state - attackEnd) / (decayEnd - attackEnd) * (1 - sustainLevel));\r\n\t\t}\r\n\t\tif (state < sustainEnd) {\r\n\t\t\treturn sustainLevel;\r\n\t\t}\r\n\t\treturn sustainLevel * (1 - ((state - sustainEnd) / (1 - sustainEnd)));\r\n\t}\r\n}\r\n// make a transition function that, like a ball falling to floor, reaches the target and/\r\n// bounces back again\r\nAnimator.makeBounce = function(bounces) {\r\n\tvar fn = Animator.makeElastic(bounces);\r\n\treturn function(state) {\r\n\t\tstate = fn(state); \r\n\t\treturn state <= 1 ? state : 2-state;\r\n\t}\r\n}\r\n \r\n// pre-made transition functions to use with the 'transition' option\r\nAnimator.tx = {\r\n\teaseInOut: function(pos){\r\n\t\treturn ((-Math.cos(pos*Math.PI)/2) + 0.5);\r\n\t},\r\n\tlinear: function(x) {\r\n\t\treturn x;\r\n\t},\r\n\teaseIn: Animator.makeEaseIn(1.5),\r\n\teaseOut: Animator.makeEaseOut(1.5),\r\n\tstrongEaseIn: Animator.makeEaseIn(2.5),\r\n\tstrongEaseOut: Animator.makeEaseOut(2.5),\r\n\telastic: Animator.makeElastic(1),\r\n\tveryElastic: Animator.makeElastic(3),\r\n\tbouncy: Animator.makeBounce(1),\r\n\tveryBouncy: Animator.makeBounce(3)\r\n}\r\n\r\n// animates a pixel-based style property between two integer values\r\nfunction NumericalStyleSubject(els, property, from, to, units) {\r\n\tthis.els = Animator.makeArray(els);\r\n\tif (property == 'opacity' && window.ActiveXObject) {\r\n\t\tthis.property = 'filter';\r\n\t} else {\r\n\t\tthis.property = Animator.camelize(property);\r\n\t}\r\n\tthis.from = parseFloat(from);\r\n\tthis.to = parseFloat(to);\r\n\tthis.units = units != null ? units : 'px';\r\n}\r\nNumericalStyleSubject.prototype = {\r\n\tsetState: function(state) {\r\n\t\tvar style = this.getStyle(state);\r\n\t\tvar visibility = (this.property == 'opacity' && state == 0) ? 'hidden' : '';\r\n\t\tvar j=0;\r\n\t\tfor (var i=0; i<this.els.length; i++) {\r\n\t\t\ttry {\r\n\t\t\t\tthis.els[i].style[this.property] = style;\r\n\t\t\t} catch (e) {\r\n\t\t\t\t// ignore fontWeight - intermediate numerical values cause exeptions in firefox\r\n\t\t\t\tif (this.property != 'fontWeight') throw e;\r\n\t\t\t}\r\n\t\t\tif (j++ > 20) return;\r\n\t\t}\r\n\t},\r\n\tgetStyle: function(state) {\r\n\t\tstate = this.from + ((this.to - this.from) * state);\r\n\t\tif (this.property == 'filter') return \"alpha(opacity=\" + Math.round(state*100) + \")\";\r\n\t\tif (this.property == 'opacity') return state;\r\n\t\treturn Math.round(state) + this.units;\r\n\t},\r\n\tinspect: function() {\r\n\t\treturn \"\\t\" + this.property + \"(\" + this.from + this.units + \" to \" + this.to + this.units + \")\\n\";\r\n\t}\r\n}\r\n\r\n// animates a colour based style property between two hex values\r\nfunction ColorStyleSubject(els, property, from, to) {\r\n\tthis.els = Animator.makeArray(els);\r\n\tthis.property = Animator.camelize(property);\r\n\tthis.to = this.expandColor(to);\r\n\tthis.from = this.expandColor(from);\r\n\tthis.origFrom = from;\r\n\tthis.origTo = to;\r\n}\r\n\r\nColorStyleSubject.prototype = {\r\n\t// parse \"#FFFF00\" to [256, 256, 0]\r\n\texpandColor: function(color) {\r\n\t\tvar hexColor, red, green, blue;\r\n\t\thexColor = ColorStyleSubject.parseColor(color);\r\n\t\tif (hexColor) {\r\n\t\t\tred = parseInt(hexColor.slice(1, 3), 16);\r\n\t\t\tgreen = parseInt(hexColor.slice(3, 5), 16);\r\n\t\t\tblue = parseInt(hexColor.slice(5, 7), 16);\r\n\t\t\treturn [red,green,blue]\r\n\t\t}\r\n\t\tif (window.DEBUG) {\r\n\t\t\talert(\"Invalid colour: '\" + color + \"'\");\r\n\t\t}\r\n\t},\r\n\tgetValueForState: function(color, state) {\r\n\t\treturn Math.round(this.from[color] + ((this.to[color] - this.from[color]) * state));\r\n\t},\r\n\tsetState: function(state) {\r\n\t\tvar color = '#'\r\n\t\t\t\t+ ColorStyleSubject.toColorPart(this.getValueForState(0, state))\r\n\t\t\t\t+ ColorStyleSubject.toColorPart(this.getValueForState(1, state))\r\n\t\t\t\t+ ColorStyleSubject.toColorPart(this.getValueForState(2, state));\r\n\t\tfor (var i=0; i<this.els.length; i++) {\r\n\t\t\tthis.els[i].style[this.property] = color;\r\n\t\t}\r\n\t},\r\n\tinspect: function() {\r\n\t\treturn \"\\t\" + this.property + \"(\" + this.origFrom + \" to \" + this.origTo + \")\\n\";\r\n\t}\r\n}\r\n\r\n// return a properly formatted 6-digit hex colour spec, or false\r\nColorStyleSubject.parseColor = function(string) {\r\n\tvar color = '#', match;\r\n\tif(match = ColorStyleSubject.parseColor.rgbRe.exec(string)) {\r\n\t\tvar part;\r\n\t\tfor (var i=1; i<=3; i++) {\r\n\t\t\tpart = Math.max(0, Math.min(255, parseInt(match[i])));\r\n\t\t\tcolor += ColorStyleSubject.toColorPart(part);\r\n\t\t}\r\n\t\treturn color;\r\n\t}\r\n\tif (match = ColorStyleSubject.parseColor.hexRe.exec(string)) {\r\n\t\tif(match[1].length == 3) {\r\n\t\t\tfor (var i=0; i<3; i++) {\r\n\t\t\t\tcolor += match[1].charAt(i) + match[1].charAt(i);\r\n\t\t\t}\r\n\t\t\treturn color;\r\n\t\t}\r\n\t\treturn '#' + match[1];\r\n\t}\r\n\treturn false;\r\n}\r\n// convert a number to a 2 digit hex string\r\nColorStyleSubject.toColorPart = function(number) {\r\n\tif (number > 255) number = 255;\r\n\tvar digits = number.toString(16);\r\n\tif (number < 16) return '0' + digits;\r\n\treturn digits;\r\n}\r\nColorStyleSubject.parseColor.rgbRe = /^rgb\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)$/i;\r\nColorStyleSubject.parseColor.hexRe = /^\\#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;\r\n\r\n// Animates discrete styles, i.e. ones that do not scale but have discrete values\r\n// that can't be interpolated\r\nfunction DiscreteStyleSubject(els, property, from, to, threshold) {\r\n\tthis.els = Animator.makeArray(els);\r\n\tthis.property = Animator.camelize(property);\r\n\tthis.from = from;\r\n\tthis.to = to;\r\n\tthis.threshold = threshold || 0.5;\r\n}\r\n\r\nDiscreteStyleSubject.prototype = {\r\n\tsetState: function(state) {\r\n\t\tvar j=0;\r\n\t\tfor (var i=0; i<this.els.length; i++) {\r\n\t\t\tthis.els[i].style[this.property] = state <= this.threshold ? this.from : this.to; \r\n\t\t}\r\n\t},\r\n\tinspect: function() {\r\n\t\treturn \"\\t\" + this.property + \"(\" + this.from + \" to \" + this.to + \" @ \" + this.threshold + \")\\n\";\r\n\t}\r\n}\r\n\r\n// animates between two styles defined using CSS.\r\n// if style1 and style2 are present, animate between them, if only style1\r\n// is present, animate between the element's current style and style1\r\nfunction CSSStyleSubject(els, style1, style2) {\r\n\tels = Animator.makeArray(els);\r\n\tthis.subjects = [];\r\n\tif (els.length == 0) return;\r\n\tvar prop, toStyle, fromStyle;\r\n\tif (style2) {\r\n\t\tfromStyle = this.parseStyle(style1, els[0]);\r\n\t\ttoStyle = this.parseStyle(style2, els[0]);\r\n\t} else {\r\n\t\ttoStyle = this.parseStyle(style1, els[0]);\r\n\t\tfromStyle = {};\r\n\t\tfor (prop in toStyle) {\r\n\t\t\tfromStyle[prop] = CSSStyleSubject.getStyle(els[0], prop);\r\n\t\t}\r\n\t}\r\n\t// remove unchanging properties\r\n\tvar prop;\r\n\tfor (prop in fromStyle) {\r\n\t\tif (fromStyle[prop] == toStyle[prop]) {\r\n\t\t\tdelete fromStyle[prop];\r\n\t\t\tdelete toStyle[prop];\r\n\t\t}\r\n\t}\r\n\t// discover the type (numerical or colour) of each style\r\n\tvar prop, units, match, type, from, to;\r\n\tfor (prop in fromStyle) {\r\n\t\tvar fromProp = String(fromStyle[prop]);\r\n\t\tvar toProp = String(toStyle[prop]);\r\n\t\tif (toStyle[prop] == null) {\r\n\t\t\tif (window.DEBUG) alert(\"No to style provided for '\" + prop + '\"');\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\t\r\n\t\tif (from = ColorStyleSubject.parseColor(fromProp)) {\r\n\t\t\tto = ColorStyleSubject.parseColor(toProp);\r\n\t\t\ttype = ColorStyleSubject;\r\n\t\t} else if (fromProp.match(CSSStyleSubject.numericalRe)\r\n\t\t\t\t&& toProp.match(CSSStyleSubject.numericalRe)) {\r\n\t\t\tfrom = parseFloat(fromProp);\r\n\t\t\tto = parseFloat(toProp);\r\n\t\t\ttype = NumericalStyleSubject;\r\n\t\t\tmatch = CSSStyleSubject.numericalRe.exec(fromProp);\r\n\t\t\tvar reResult = CSSStyleSubject.numericalRe.exec(toProp);\r\n\t\t\tif (match[1] != null) {\r\n\t\t\t\tunits = match[1];\r\n\t\t\t} else if (reResult[1] != null) {\r\n\t\t\t\tunits = reResult[1];\r\n\t\t\t} else {\r\n\t\t\t\tunits = reResult;\r\n\t\t\t}\r\n\t\t} else if (fromProp.match(CSSStyleSubject.discreteRe)\r\n\t\t\t\t&& toProp.match(CSSStyleSubject.discreteRe)) {\r\n\t\t\tfrom = fromProp;\r\n\t\t\tto = toProp;\r\n\t\t\ttype = DiscreteStyleSubject;\r\n\t\t\tunits = 0; // hack - how to get an animator option down to here\r\n\t\t} else {\r\n\t\t\tif (window.DEBUG) {\r\n\t\t\t\talert(\"Unrecognised format for value of \"\r\n\t\t\t\t\t+ prop + \": '\" + fromStyle[prop] + \"'\");\r\n\t\t\t}\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tthis.subjects[this.subjects.length] = new type(els, prop, from, to, units);\r\n\t}\r\n}\r\n\r\nCSSStyleSubject.prototype = {\r\n\t// parses \"width: 400px; color: #FFBB2E\" to {width: \"400px\", color: \"#FFBB2E\"}\r\n\tparseStyle: function(style, el) {\r\n\t\tvar rtn = {};\r\n\t\t// if style is a rule set\r\n\t\tif (style.indexOf(\":\") != -1) {\r\n\t\t\tvar styles = style.split(\";\");\r\n\t\t\tfor (var i=0; i<styles.length; i++) {\r\n\t\t\t\tvar parts = CSSStyleSubject.ruleRe.exec(styles[i]);\r\n\t\t\t\tif (parts) {\r\n\t\t\t\t\trtn[parts[1]] = parts[2];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// else assume style is a class name\r\n\t\telse {\r\n\t\t\tvar prop, value, oldClass;\r\n\t\t\toldClass = el.className;\r\n\t\t\tel.className = style;\r\n\t\t\tfor (var i=0; i<CSSStyleSubject.cssProperties.length; i++) {\r\n\t\t\t\tprop = CSSStyleSubject.cssProperties[i];\r\n\t\t\t\tvalue = CSSStyleSubject.getStyle(el, prop);\r\n\t\t\t\tif (value != null) {\r\n\t\t\t\t\trtn[prop] = value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tel.className = oldClass;\r\n\t\t}\r\n\t\treturn rtn;\r\n\t\t\r\n\t},\r\n\tsetState: function(state) {\r\n\t\tfor (var i=0; i<this.subjects.length; i++) {\r\n\t\t\tthis.subjects[i].setState(state);\r\n\t\t}\r\n\t},\r\n\tinspect: function() {\r\n\t\tvar str = \"\";\r\n\t\tfor (var i=0; i<this.subjects.length; i++) {\r\n\t\t\tstr += this.subjects[i].inspect();\r\n\t\t}\r\n\t\treturn str;\r\n\t}\r\n}\r\n// get the current value of a css property, \r\nCSSStyleSubject.getStyle = function(el, property){\r\n\tvar style;\r\n\tif(document.defaultView && document.defaultView.getComputedStyle){\r\n\t\tstyle = document.defaultView.getComputedStyle(el, \"\").getPropertyValue(property);\r\n\t\tif (style) {\r\n\t\t\treturn style;\r\n\t\t}\r\n\t}\r\n\tproperty = Animator.camelize(property);\r\n\tif(el.currentStyle){\r\n\t\tstyle = el.currentStyle[property];\r\n\t}\r\n\treturn style || el.style[property]\r\n}\r\n\r\n\r\nCSSStyleSubject.ruleRe = /^\\s*([a-zA-Z\\-]+)\\s*:\\s*(\\S(.+\\S)?)\\s*$/;\r\nCSSStyleSubject.numericalRe = /^-?\\d+(?:\\.\\d+)?(%|[a-zA-Z]{2})?$/;\r\nCSSStyleSubject.discreteRe = /^\\w+$/;\r\n\r\n// required because the style object of elements isn't enumerable in Safari\r\n/*\r\nCSSStyleSubject.cssProperties = ['background-color','border','border-color','border-spacing',\r\n'border-style','border-top','border-right','border-bottom','border-left','border-top-color',\r\n'border-right-color','border-bottom-color','border-left-color','border-top-width','border-right-width',\r\n'border-bottom-width','border-left-width','border-width','bottom','color','font-size','font-size-adjust',\r\n'font-stretch','font-style','height','left','letter-spacing','line-height','margin','margin-top',\r\n'margin-right','margin-bottom','margin-left','marker-offset','max-height','max-width','min-height',\r\n'min-width','orphans','outline','outline-color','outline-style','outline-width','overflow','padding',\r\n'padding-top','padding-right','padding-bottom','padding-left','quotes','right','size','text-indent',\r\n'top','width','word-spacing','z-index','opacity','outline-offset'];*/\r\n\r\n\r\nCSSStyleSubject.cssProperties = ['azimuth','background','background-attachment','background-color','background-image','background-position','background-repeat','border-collapse','border-color','border-spacing','border-style','border-top','border-top-color','border-right-color','border-bottom-color','border-left-color','border-top-style','border-right-style','border-bottom-style','border-left-style','border-top-width','border-right-width','border-bottom-width','border-left-width','border-width','bottom','clear','clip','color','content','cursor','direction','display','elevation','empty-cells','css-float','font','font-family','font-size','font-size-adjust','font-stretch','font-style','font-variant','font-weight','height','left','letter-spacing','line-height','list-style','list-style-image','list-style-position','list-style-type','margin','margin-top','margin-right','margin-bottom','margin-left','max-height','max-width','min-height','min-width','orphans','outline','outline-color','outline-style','outline-width','overflow','padding','padding-top','padding-right','padding-bottom','padding-left','pause','position','right','size','table-layout','text-align','text-decoration','text-indent','text-shadow','text-transform','top','vertical-align','visibility','white-space','width','word-spacing','z-index','opacity','outline-offset','overflow-x','overflow-y'];\r\n\r\n\r\n// chains several Animator objects together\r\nfunction AnimatorChain(animators, options) {\r\n\tthis.animators = animators;\r\n\tthis.setOptions(options);\r\n\tfor (var i=0; i<this.animators.length; i++) {\r\n\t\tthis.listenTo(this.animators[i]);\r\n\t}\r\n\tthis.forwards = false;\r\n\tthis.current = 0;\r\n}\r\n\r\nAnimatorChain.prototype = {\r\n\t// apply defaults\r\n\tsetOptions: function(options) {\r\n\t\tthis.options = Animator.applyDefaults({\r\n\t\t\t// by default, each call to AnimatorChain.play() calls jumpTo(0) of each animator\r\n\t\t\t// before playing, which can cause flickering if you have multiple animators all\r\n\t\t\t// targeting the same element. Set this to false to avoid this.\r\n\t\t\tresetOnPlay: true\r\n\t\t}, options);\r\n\t},\r\n\t// play each animator in turn\r\n\tplay: function() {\r\n\t\tthis.forwards = true;\r\n\t\tthis.current = -1;\r\n\t\tif (this.options.resetOnPlay) {\r\n\t\t\tfor (var i=0; i<this.animators.length; i++) {\r\n\t\t\t\tthis.animators[i].jumpTo(0);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.advance();\r\n\t},\r\n\t// play all animators backwards\r\n\treverse: function() {\r\n\t\tthis.forwards = false;\r\n\t\tthis.current = this.animators.length;\r\n\t\tif (this.options.resetOnPlay) {\r\n\t\t\tfor (var i=0; i<this.animators.length; i++) {\r\n\t\t\t\tthis.animators[i].jumpTo(1);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.advance();\r\n\t},\r\n\t// if we have just play()'d, then call reverse(), and vice versa\r\n\ttoggle: function() {\r\n\t\tif (this.forwards) {\r\n\t\t\tthis.seekTo(0);\r\n\t\t} else {\r\n\t\t\tthis.seekTo(1);\r\n\t\t}\r\n\t},\r\n\t// internal: install an event listener on an animator's onComplete option\r\n\t// to trigger the next animator\r\n\tlistenTo: function(animator) {\r\n\t\tvar oldOnComplete = animator.options.onComplete;\r\n\t\tvar _this = this;\r\n\t\tanimator.options.onComplete = function() {\r\n\t\t\tif (oldOnComplete) oldOnComplete.call(animator);\r\n\t\t\t_this.advance();\r\n\t\t}\r\n\t},\r\n\t// play the next animator\r\n\tadvance: function() {\r\n\t\tif (this.forwards) {\r\n\t\t\tif (this.animators[this.current + 1] == null) return;\r\n\t\t\tthis.current++;\r\n\t\t\tthis.animators[this.current].play();\r\n\t\t} else {\r\n\t\t\tif (this.animators[this.current - 1] == null) return;\r\n\t\t\tthis.current--;\r\n\t\t\tthis.animators[this.current].reverse();\r\n\t\t}\r\n\t},\r\n\t// this function is provided for drop-in compatibility with Animator objects,\r\n\t// but only accepts 0 and 1 as target values\r\n\tseekTo: function(target) {\r\n\t\tif (target <= 0) {\r\n\t\t\tthis.forwards = false;\r\n\t\t\tthis.animators[this.current].seekTo(0);\r\n\t\t} else {\r\n\t\t\tthis.forwards = true;\r\n\t\t\tthis.animators[this.current].seekTo(1);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// an Accordion is a class that creates and controls a number of Animators. An array of elements is passed in,\r\n// and for each element an Animator and a activator button is created. When an Animator's activator button is\r\n// clicked, the Animator and all before it seek to 0, and all Animators after it seek to 1. This can be used to\r\n// create the classic Accordion effect, hence the name.\r\n// see setOptions for arguments\r\nfunction Accordion(options) {\r\n\tthis.setOptions(options);\r\n\tvar selected = this.options.initialSection, current;\r\n\tif (this.options.rememberance) {\r\n\t\tcurrent = document.location.hash.substring(1);\r\n\t}\r\n\tthis.rememberanceTexts = [];\r\n\tthis.ans = [];\r\n\tvar _this = this;\r\n\tfor (var i=0; i<this.options.sections.length; i++) {\r\n\t\tvar el = this.options.sections[i];\r\n\t\tvar an = new Animator(this.options.animatorOptions);\r\n\t\tvar from = this.options.from + (this.options.shift * i);\r\n\t\tvar to = this.options.to + (this.options.shift * i);\r\n\t\tan.addSubject(new NumericalStyleSubject(el, this.options.property, from, to, this.options.units));\r\n\t\tan.jumpTo(0);\r\n\t\tvar activator = this.options.getActivator(el);\r\n\t\tactivator.index = i;\r\n\t\tactivator.onclick = function(){_this.show(this.index)};\r\n\t\tthis.ans[this.ans.length] = an;\r\n\t\tthis.rememberanceTexts[i] = activator.innerHTML.replace(/\\s/g, \"\");\r\n\t\tif (this.rememberanceTexts[i] === current) {\r\n\t\t\tselected = i;\r\n\t\t}\r\n\t}\r\n\tthis.show(selected);\r\n}\r\n\r\nAccordion.prototype = {\r\n\t// apply defaults\r\n\tsetOptions: function(options) {\r\n\t\tthis.options = Object.extend({\r\n\t\t\t// REQUIRED: an array of elements to use as the accordion sections\r\n\t\t\tsections: null,\r\n\t\t\t// a function that locates an activator button element given a section element.\r\n\t\t\t// by default it takes a button id from the section's \"activator\" attibute\r\n\t\t\tgetActivator: function(el) {return document.getElementById(el.getAttribute(\"activator\"))},\r\n\t\t\t// shifts each animator's range, for example with options {from:0,to:100,shift:20}\r\n\t\t\t// the animators' ranges will be 0-100, 20-120, 40-140 etc.\r\n\t\t\tshift: 0,\r\n\t\t\t// the first page to show\r\n\t\t\tinitialSection: 0,\r\n\t\t\t// if set to true, document.location.hash will be used to preserve the open section across page reloads \r\n\t\t\trememberance: true,\r\n\t\t\t// constructor arguments to the Animator objects\r\n\t\t\tanimatorOptions: {}\r\n\t\t}, options || {});\r\n\t},\r\n\tshow: function(section) {\r\n\t\tfor (var i=0; i<this.ans.length; i++) {\r\n\t\t\tthis.ans[i].seekTo(i > section ? 1 : 0);\r\n\t\t}\r\n\t\tif (this.options.rememberance) {\r\n\t\t\tdocument.location.hash = this.rememberanceTexts[section];\r\n\t\t}\r\n\t}\r\n}\r\n;\n/**\r\n *\r\n * SoundManager 2 Demo: 360-degree / \"donut player\"\r\n * ------------------------------------------------\r\n * http://schillmania.com/projects/soundmanager2/\r\n *\r\n * An inline player with a circular UI.\r\n * Based on the original SM2 inline player.\r\n * Inspired by Apple's preview feature in the\r\n * iTunes music store (iPhone), among others.\r\n *\r\n * Requires SoundManager 2 Javascript API.\r\n * Also uses Bernie's Better Animation Class (BSD):\r\n * http://www.berniecode.com/writing/animator.html\r\n *\r\n*/\r\n\r\n/*jslint white: false, onevar: true, undef: true, nomen: false, eqeqeq: true, plusplus: false, bitwise: true, regexp: false, newcap: true, immed: true */\r\n/*global document, window, soundManager, navigator */\r\n\r\nvar threeSixtyPlayer, // instance\r\n ThreeSixtyPlayer; // constructor\r\n\r\n(function(window) {\r\n\r\nfunction ThreeSixtyPlayer() {\r\n\r\n var self = this,\r\n pl = this,\r\n sm = soundManager, // soundManager instance\r\n uA = navigator.userAgent,\r\n isIE = (uA.match(/msie/i)),\r\n isOpera = (uA.match(/opera/i)),\r\n isSafari = (uA.match(/safari/i)),\r\n isChrome = (uA.match(/chrome/i)),\r\n isFirefox = (uA.match(/firefox/i)),\r\n isTouchDevice = (uA.match(/ipad|iphone/i)),\r\n hasRealCanvas = (typeof window.G_vmlCanvasManager === 'undefined' && typeof document.createElement('canvas').getContext('2d') !== 'undefined'),\r\n // I dunno what Opera doesn't like about this. I'm probably doing it wrong.\r\n fullCircle = (isOpera||isChrome?359.9:360);\r\n\r\n // CSS class for ignoring MP3 links\r\n this.excludeClass = 'threesixty-exclude';\r\n this.links = [];\r\n this.sounds = [];\r\n this.soundsByURL = [];\r\n this.indexByURL = [];\r\n this.lastSound = null;\r\n this.lastTouchedSound = null;\r\n this.soundCount = 0;\r\n this.oUITemplate = null;\r\n this.oUIImageMap = null;\r\n this.vuMeter = null;\r\n this.callbackCount = 0;\r\n this.peakDataHistory = [];\r\n\r\n // 360player configuration options\r\n this.config = {\r\n\r\n playNext: false, // stop after one sound, or play through list until end\r\n autoPlay: false, // start playing the first sound right away\r\n allowMultiple: false, // let many sounds play at once (false = only one sound playing at a time)\r\n loadRingColor: '#ccc', // how much has loaded\r\n playRingColor: '#000', // how much has played\r\n backgroundRingColor: '#eee', // color shown underneath load + play (\"not yet loaded\" color)\r\n\r\n // optional segment/annotation (metadata) stuff..\r\n segmentRingColor: 'rgba(255,255,255,0.33)', // metadata/annotation (segment) colors\r\n segmentRingColorAlt: 'rgba(0,0,0,0.1)',\r\n loadRingColorMetadata: '#ddd', // \"annotations\" load color\r\n playRingColorMetadata: 'rgba(128,192,256,0.9)', // how much has played when metadata is present\r\n\r\n circleDiameter: null, // set dynamically according to values from CSS\r\n circleRadius: null,\r\n animDuration: 500,\r\n animTransition: window.Animator.tx.bouncy, // http://www.berniecode.com/writing/animator.html\r\n showHMSTime: false, // hours:minutes:seconds vs. seconds-only\r\n scaleFont: true, // also set the font size (if possible) while animating the circle\r\n\r\n // optional: spectrum or EQ graph in canvas (not supported in IE <9, too slow via ExCanvas)\r\n useWaveformData: false,\r\n waveformDataColor: '#0099ff',\r\n waveformDataDownsample: 3, // use only one in X (of a set of 256 values) - 1 means all 256\r\n waveformDataOutside: false,\r\n waveformDataConstrain: false, // if true, +ve values only - keep within inside circle\r\n waveformDataLineRatio: 0.64,\r\n\r\n // \"spectrum frequency\" option\r\n useEQData: false,\r\n eqDataColor: '#339933',\r\n eqDataDownsample: 4, // use only one in X (of 256 values)\r\n eqDataOutside: true,\r\n eqDataLineRatio: 0.54,\r\n\r\n // enable \"amplifier\" (canvas pulses like a speaker) effect\r\n usePeakData: true,\r\n peakDataColor: '#ff33ff',\r\n peakDataOutside: true,\r\n peakDataLineRatio: 0.5,\r\n\r\n useAmplifier: true, // \"pulse\" like a speaker\r\n\r\n fontSizeMax: null, // set according to CSS\r\n\r\n scaleArcWidth: 1, // thickness factor of playback progress ring\r\n\r\n useFavIcon: false // Experimental (also requires usePeakData: true).. Try to draw a \"VU Meter\" in the favicon area, if browser supports it (Firefox + Opera as of 2009)\r\n\r\n };\r\n\r\n this.css = {\r\n\r\n // CSS class names appended to link during various states\r\n sDefault: 'sm2_link', // default state\r\n sBuffering: 'sm2_buffering',\r\n sPlaying: 'sm2_playing',\r\n sPaused: 'sm2_paused'\r\n\r\n };\r\n\r\n this.addEventHandler = (typeof window.addEventListener !== 'undefined' ? function(o, evtName, evtHandler) {\r\n return o.addEventListener(evtName,evtHandler,false);\r\n } : function(o, evtName, evtHandler) {\r\n o.attachEvent('on'+evtName,evtHandler);\r\n });\r\n\r\n this.removeEventHandler = (typeof window.removeEventListener !== 'undefined' ? function(o, evtName, evtHandler) {\r\n return o.removeEventListener(evtName,evtHandler,false);\r\n } : function(o, evtName, evtHandler) {\r\n return o.detachEvent('on'+evtName,evtHandler);\r\n });\r\n\r\n this.hasClass = function(o,cStr) {\r\n return typeof(o.className)!=='undefined'?o.className.match(new RegExp('(\\\\s|^)'+cStr+'(\\\\s|$)')):false;\r\n };\r\n\r\n this.addClass = function(o,cStr) {\r\n\r\n if (!o || !cStr || self.hasClass(o,cStr)) {\r\n return false;\r\n }\r\n o.className = (o.className?o.className+' ':'')+cStr;\r\n\r\n };\r\n\r\n this.removeClass = function(o,cStr) {\r\n\r\n if (!o || !cStr || !self.hasClass(o,cStr)) {\r\n return false;\r\n }\r\n o.className = o.className.replace(new RegExp('( '+cStr+')|('+cStr+')','g'),'');\r\n\r\n };\r\n\r\n this.getElementsByClassName = function(className,tagNames,oParent) {\r\n\r\n var doc = (oParent||document),\r\n matches = [], i,j, nodes = [];\r\n if (typeof tagNames !== 'undefined' && typeof tagNames !== 'string') {\r\n for (i=tagNames.length; i--;) {\r\n if (!nodes || !nodes[tagNames[i]]) {\r\n nodes[tagNames[i]] = doc.getElementsByTagName(tagNames[i]);\r\n }\r\n }\r\n } else if (tagNames) {\r\n nodes = doc.getElementsByTagName(tagNames);\r\n } else {\r\n nodes = doc.all||doc.getElementsByTagName('*');\r\n }\r\n if (typeof(tagNames)!=='string') {\r\n for (i=tagNames.length; i--;) {\r\n for (j=nodes[tagNames[i]].length; j--;) {\r\n if (self.hasClass(nodes[tagNames[i]][j],className)) {\r\n matches.push(nodes[tagNames[i]][j]);\r\n }\r\n }\r\n }\r\n } else {\r\n for (i=0; i<nodes.length; i++) {\r\n if (self.hasClass(nodes[i],className)) {\r\n matches.push(nodes[i]);\r\n }\r\n }\r\n }\r\n return matches;\r\n\r\n };\r\n\r\n this.getParentByNodeName = function(oChild,sParentNodeName) {\r\n\r\n if (!oChild || !sParentNodeName) {\r\n return false;\r\n }\r\n sParentNodeName = sParentNodeName.toLowerCase();\r\n while (oChild.parentNode && sParentNodeName !== oChild.parentNode.nodeName.toLowerCase()) {\r\n oChild = oChild.parentNode;\r\n }\r\n return (oChild.parentNode && sParentNodeName === oChild.parentNode.nodeName.toLowerCase()?oChild.parentNode:null);\r\n\r\n };\r\n\r\n this.getParentByClassName = function(oChild,sParentClassName) {\r\n\r\n if (!oChild || !sParentClassName) {\r\n return false;\r\n }\r\n while (oChild.parentNode && !self.hasClass(oChild.parentNode,sParentClassName)) {\r\n oChild = oChild.parentNode;\r\n }\r\n return (oChild.parentNode && self.hasClass(oChild.parentNode,sParentClassName)?oChild.parentNode:null);\r\n\r\n };\r\n\r\n this.getSoundByURL = function(sURL) {\r\n return (typeof self.soundsByURL[sURL] !== 'undefined'?self.soundsByURL[sURL]:null);\r\n };\r\n\r\n this.isChildOfNode = function(o,sNodeName) {\r\n\r\n if (!o || !o.parentNode) {\r\n return false;\r\n }\r\n sNodeName = sNodeName.toLowerCase();\r\n do {\r\n o = o.parentNode;\r\n } while (o && o.parentNode && o.nodeName.toLowerCase() !== sNodeName);\r\n return (o && o.nodeName.toLowerCase() === sNodeName?o:null);\r\n\r\n };\r\n\r\n this.isChildOfClass = function(oChild,oClass) {\r\n\r\n if (!oChild || !oClass) {\r\n return false;\r\n }\r\n while (oChild.parentNode && !self.hasClass(oChild,oClass)) {\r\n oChild = self.findParent(oChild);\r\n }\r\n return (self.hasClass(oChild,oClass));\r\n\r\n };\r\n\r\n this.findParent = function(o) {\r\n\r\n if (!o || !o.parentNode) {\r\n return false;\r\n }\r\n o = o.parentNode;\r\n if (o.nodeType === 2) {\r\n while (o && o.parentNode && o.parentNode.nodeType === 2) {\r\n o = o.parentNode;\r\n }\r\n }\r\n return o;\r\n\r\n };\r\n\r\n this.getStyle = function(o,sProp) {\r\n\r\n // http://www.quirksmode.org/dom/getstyles.html\r\n try {\r\n if (o.currentStyle) {\r\n return o.currentStyle[sProp];\r\n } else if (window.getComputedStyle) {\r\n return document.defaultView.getComputedStyle(o,null).getPropertyValue(sProp);\r\n }\r\n } catch(e) {\r\n // oh well\r\n }\r\n return null;\r\n\r\n };\r\n\r\n this.findXY = function(obj) {\r\n\r\n var curleft = 0, curtop = 0;\r\n do {\r\n curleft += obj.offsetLeft;\r\n curtop += obj.offsetTop;\r\n } while (!!(obj = obj.offsetParent));\r\n return [curleft,curtop];\r\n\r\n };\r\n\r\n this.getMouseXY = function(e) {\r\n\r\n // http://www.quirksmode.org/js/events_properties.html\r\n e = e?e:window.event;\r\n if (isTouchDevice && e.touches) {\r\n e = e.touches[0];\r\n }\r\n if (e.pageX || e.pageY) {\r\n return [e.pageX,e.pageY];\r\n } else if (e.clientX || e.clientY) {\r\n return [e.clientX+self.getScrollLeft(),e.clientY+self.getScrollTop()];\r\n }\r\n\r\n };\r\n\r\n this.getScrollLeft = function() {\r\n return (document.body.scrollLeft+document.documentElement.scrollLeft);\r\n };\r\n\r\n this.getScrollTop = function() {\r\n return (document.body.scrollTop+document.documentElement.scrollTop);\r\n };\r\n\r\n this.events = {\r\n\r\n // handlers for sound events as they're started/stopped/played\r\n\r\n play: function() {\r\n pl.removeClass(this._360data.oUIBox,this._360data.className);\r\n this._360data.className = pl.css.sPlaying;\r\n pl.addClass(this._360data.oUIBox,this._360data.className);\r\n self.fanOut(this);\r\n },\r\n\r\n stop: function() {\r\n pl.removeClass(this._360data.oUIBox,this._360data.className);\r\n this._360data.className = '';\r\n self.fanIn(this);\r\n },\r\n\r\n pause: function() {\r\n pl.removeClass(this._360data.oUIBox,this._360data.className);\r\n this._360data.className = pl.css.sPaused;\r\n pl.addClass(this._360data.oUIBox,this._360data.className);\r\n },\r\n\r\n resume: function() {\r\n pl.removeClass(this._360data.oUIBox,this._360data.className);\r\n this._360data.className = pl.css.sPlaying;\r\n pl.addClass(this._360data.oUIBox,this._360data.className); \r\n },\r\n\r\n finish: function() {\r\n var nextLink;\r\n pl.removeClass(this._360data.oUIBox,this._360data.className);\r\n this._360data.className = '';\r\n // self.clearCanvas(this._360data.oCanvas);\r\n this._360data.didFinish = true; // so fan draws full circle\r\n self.fanIn(this);\r\n if (pl.config.playNext) {\r\n nextLink = (pl.indexByURL[this._360data.oLink.href]+1);\r\n if (nextLink<pl.links.length) {\r\n pl.handleClick({'target':pl.links[nextLink]});\r\n }\r\n }\r\n },\r\n\r\n whileloading: function() {\r\n if (this.paused) {\r\n self.updatePlaying.apply(this);\r\n }\r\n },\r\n\r\n whileplaying: function() {\r\n self.updatePlaying.apply(this);\r\n this._360data.fps++;\r\n },\r\n\r\n bufferchange: function() {\r\n if (this.isBuffering) {\r\n pl.addClass(this._360data.oUIBox,pl.css.sBuffering);\r\n } else {\r\n pl.removeClass(this._360data.oUIBox,pl.css.sBuffering);\r\n }\r\n }\r\n\r\n };\r\n\r\n this.stopEvent = function(e) {\r\n\r\n if (typeof e !== 'undefined' && typeof e.preventDefault !== 'undefined') {\r\n e.preventDefault();\r\n } else if (typeof window.event !== 'undefined' && typeof window.event.returnValue !== 'undefined') {\r\n window.event.returnValue = false;\r\n }\r\n return false;\r\n\r\n };\r\n\r\n this.getTheDamnLink = (isIE)?function(e) {\r\n // I really didn't want to have to do this.\r\n return (e && e.target?e.target:window.event.srcElement);\r\n }:function(e) {\r\n return e.target;\r\n };\r\n\r\n this.handleClick = function(e) {\r\n\r\n // a sound link was clicked\r\n if (e.button > 1) {\r\n // only catch left-clicks\r\n return true;\r\n }\r\n\r\n var o = self.getTheDamnLink(e),\r\n sURL, soundURL, thisSound, oContainer, has_vis, diameter;\r\n\r\n if (o.nodeName.toLowerCase() !== 'a') {\r\n o = self.isChildOfNode(o,'a');\r\n if (!o) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!self.isChildOfClass(o,'ui360')) {\r\n // not a link we're interested in\r\n return true;\r\n }\r\n\r\n sURL = o.getAttribute('href');\r\n\r\n if (!o.href || !sm.canPlayLink(o) || self.hasClass(o,self.excludeClass)) {\r\n return true; // pass-thru for non-MP3/non-links\r\n }\r\n\r\n sm._writeDebug('handleClick()');\r\n soundURL = (o.href);\r\n thisSound = self.getSoundByURL(soundURL);\r\n\r\n if (thisSound) {\r\n\r\n // already exists\r\n if (thisSound === self.lastSound) {\r\n // and was playing (or paused)\r\n thisSound.togglePause();\r\n } else {\r\n // different sound\r\n thisSound.togglePause(); // start playing current\r\n sm._writeDebug('sound different than last sound: '+self.lastSound.id);\r\n if (!self.config.allowMultiple && self.lastSound) {\r\n self.stopSound(self.lastSound);\r\n }\r\n }\r\n\r\n } else {\r\n\r\n // append some dom shiz, make noise\r\n\r\n oContainer = o.parentNode;\r\n has_vis = (self.getElementsByClassName('ui360-vis','div',oContainer.parentNode).length);\r\n\r\n // create sound\r\n thisSound = sm.createSound({\r\n id:'ui360Sound'+(self.soundCount++),\r\n url:soundURL,\r\n onplay:self.events.play,\r\n onstop:self.events.stop,\r\n onpause:self.events.pause,\r\n onresume:self.events.resume,\r\n onfinish:self.events.finish,\r\n onbufferchange:self.events.bufferchange,\r\n whileloading:self.events.whileloading,\r\n whileplaying:self.events.whileplaying,\r\n useWaveformData:(has_vis && self.config.useWaveformData),\r\n useEQData:(has_vis && self.config.useEQData),\r\n usePeakData:(has_vis && self.config.usePeakData)\r\n });\r\n\r\n // tack on some custom data\r\n\r\n diameter = parseInt(self.getElementsByClassName('sm2-360ui','div',oContainer)[0].offsetWidth, 10);\r\n\r\n thisSound._360data = {\r\n oUI360: self.getParentByClassName(o,'ui360'), // the (whole) entire container\r\n oLink: o, // DOM node for reference within SM2 object event handlers\r\n className: self.css.sPlaying,\r\n oUIBox: self.getElementsByClassName('sm2-360ui','div',oContainer)[0],\r\n oCanvas: self.getElementsByClassName('sm2-canvas','canvas',oContainer)[0],\r\n oButton: self.getElementsByClassName('sm2-360btn','span',oContainer)[0],\r\n oTiming: self.getElementsByClassName('sm2-timing','div',oContainer)[0],\r\n oCover: self.getElementsByClassName('sm2-cover','div',oContainer)[0],\r\n circleDiameter: diameter,\r\n circleRadius: diameter/2,\r\n lastTime: null,\r\n didFinish: null,\r\n pauseCount:0,\r\n radius:0,\r\n fontSize: 1,\r\n fontSizeMax: self.config.fontSizeMax,\r\n scaleFont: (has_vis && self.config.scaleFont),\r\n showHMSTime: has_vis,\r\n amplifier: (has_vis && self.config.usePeakData?0.9:1), // TODO: x1 if not being used, else use dynamic \"how much to amplify by\" value\r\n radiusMax: diameter*0.175, // circle radius\r\n width:0,\r\n widthMax: diameter*0.4, // width of the outer ring\r\n lastValues: {\r\n bytesLoaded: 0,\r\n bytesTotal: 0,\r\n position: 0,\r\n durationEstimate: 0\r\n }, // used to track \"last good known\" values before sound finish/reset for anim\r\n animating: false,\r\n oAnim: new window.Animator({\r\n duration: self.config.animDuration,\r\n transition:self.config.animTransition,\r\n onComplete: function() {\r\n // var thisSound = this;\r\n // thisSound._360data.didFinish = false; // reset full circle\r\n }\r\n }),\r\n oAnimProgress: function(nProgress) {\r\n var thisSound = this;\r\n thisSound._360data.radius = parseInt(thisSound._360data.radiusMax*thisSound._360data.amplifier*nProgress, 10);\r\n thisSound._360data.width = parseInt(thisSound._360data.widthMax*thisSound._360data.amplifier*nProgress, 10);\r\n if (thisSound._360data.scaleFont && thisSound._360data.fontSizeMax !== null) {\r\n thisSound._360data.oTiming.style.fontSize = parseInt(Math.max(1,thisSound._360data.fontSizeMax*nProgress), 10)+'px';\r\n thisSound._360data.oTiming.style.opacity = nProgress;\r\n }\r\n if (thisSound.paused || thisSound.playState === 0 || thisSound._360data.lastValues.bytesLoaded === 0 || thisSound._360data.lastValues.position === 0) {\r\n self.updatePlaying.apply(thisSound);\r\n }\r\n },\r\n fps: 0\r\n };\r\n\r\n // \"Metadata\" (annotations)\r\n if (typeof self.Metadata !== 'undefined' && self.getElementsByClassName('metadata','div',thisSound._360data.oUI360).length) {\r\n thisSound._360data.metadata = new self.Metadata(thisSound,self);\r\n }\r\n\r\n // minimize ze font\r\n if (thisSound._360data.scaleFont && thisSound._360data.fontSizeMax !== null) {\r\n thisSound._360data.oTiming.style.fontSize = '1px';\r\n }\r\n\r\n // set up ze animation\r\n thisSound._360data.oAnim.addSubject(thisSound._360data.oAnimProgress,thisSound);\r\n\r\n // animate the radius out nice\r\n self.refreshCoords(thisSound);\r\n\r\n self.updatePlaying.apply(thisSound);\r\n\r\n self.soundsByURL[soundURL] = thisSound;\r\n self.sounds.push(thisSound);\r\n if (!self.config.allowMultiple && self.lastSound) {\r\n self.stopSound(self.lastSound);\r\n }\r\n thisSound.play();\r\n\r\n }\r\n\r\n self.lastSound = thisSound; // reference for next call\r\n\r\n if (typeof e !== 'undefined' && typeof e.preventDefault !== 'undefined') {\r\n e.preventDefault();\r\n } else if (typeof window.event !== 'undefined') {\r\n window.event.returnValue = false;\r\n }\r\n return false;\r\n\r\n };\r\n\r\n this.fanOut = function(oSound) {\r\n\r\n var thisSound = oSound;\r\n if (thisSound._360data.animating === 1) {\r\n return false;\r\n }\r\n thisSound._360data.animating = 0;\r\n soundManager._writeDebug('fanOut: '+thisSound.id+': '+thisSound._360data.oLink.href);\r\n thisSound._360data.oAnim.seekTo(1); // play to end\r\n window.setTimeout(function() {\r\n // oncomplete hack\r\n thisSound._360data.animating = 0;\r\n },self.config.animDuration+20);\r\n\r\n };\r\n\r\n this.fanIn = function(oSound) {\r\n\r\n var thisSound = oSound;\r\n if (thisSound._360data.animating === -1) {\r\n return false;\r\n }\r\n thisSound._360data.animating = -1;\r\n soundManager._writeDebug('fanIn: '+thisSound.id+': '+thisSound._360data.oLink.href);\r\n // massive hack\r\n thisSound._360data.oAnim.seekTo(0); // play to end\r\n window.setTimeout(function() {\r\n // reset full 360 fill after animation has completed (oncomplete hack)\r\n thisSound._360data.didFinish = false;\r\n thisSound._360data.animating = 0;\r\n self.resetLastValues(thisSound);\r\n }, self.config.animDuration+20);\r\n\r\n };\r\n\r\n this.resetLastValues = function(oSound) {\r\n oSound._360data.lastValues.position = 0;\r\n };\r\n\r\n this.refreshCoords = function(thisSound) {\r\n\r\n thisSound._360data.canvasXY = self.findXY(thisSound._360data.oCanvas);\r\n thisSound._360data.canvasMid = [thisSound._360data.circleRadius,thisSound._360data.circleRadius];\r\n thisSound._360data.canvasMidXY = [thisSound._360data.canvasXY[0]+thisSound._360data.canvasMid[0], thisSound._360data.canvasXY[1]+thisSound._360data.canvasMid[1]];\r\n\r\n };\r\n\r\n this.stopSound = function(oSound) {\r\n\r\n soundManager._writeDebug('stopSound: '+oSound.id);\r\n soundManager.stop(oSound.id);\r\n if (!isTouchDevice) { // iOS 4.2+ security blocks onfinish() -> playNext() if we set a .src in-between(?)\r\n soundManager.unload(oSound.id);\r\n }\r\n\r\n };\r\n\r\n this.buttonClick = function(e) {\r\n\r\n var o = e?(e.target?e.target:e.srcElement):window.event.srcElement;\r\n self.handleClick({target:self.getParentByClassName(o,'sm2-360ui').nextSibling}); // link next to the nodes we inserted\r\n return false;\r\n\r\n };\r\n\r\n this.buttonMouseDown = function(e) {\r\n\r\n // user might decide to drag from here\r\n // watch for mouse move\r\n if (!isTouchDevice) {\r\n document.onmousemove = function(e) {\r\n // should be boundary-checked, really (eg. move 3px first?)\r\n self.mouseDown(e);\r\n };\r\n } else {\r\n self.addEventHandler(document,'touchmove',self.mouseDown);\r\n }\r\n self.stopEvent(e);\r\n return false;\r\n\r\n };\r\n\r\n this.mouseDown = function(e) {\r\n\r\n if (!isTouchDevice && e.button > 1) {\r\n return true; // ignore non-left-click\r\n }\r\n\r\n if (!self.lastSound) {\r\n self.stopEvent(e);\r\n return false;\r\n }\r\n\r\n var evt = e?e:window.event,\r\n target, thisSound, oData;\r\n\r\n if (isTouchDevice && evt.touches) {\r\n evt = evt.touches[0];\r\n }\r\n target = (evt.target||evt.srcElement);\r\n\r\n thisSound = self.getSoundByURL(self.getElementsByClassName('sm2_link','a',self.getParentByClassName(target,'ui360'))[0].href); // self.lastSound; // TODO: In multiple sound case, figure out which sound is involved etc.\r\n // just in case, update coordinates (maybe the element moved since last time.)\r\n self.lastTouchedSound = thisSound;\r\n self.refreshCoords(thisSound);\r\n oData = thisSound._360data;\r\n self.addClass(oData.oUIBox,'sm2_dragging');\r\n oData.pauseCount = (self.lastTouchedSound.paused?1:0);\r\n // self.lastSound.pause();\r\n self.mmh(e?e:window.event);\r\n\r\n if (isTouchDevice) {\r\n self.removeEventHandler(document,'touchmove',self.mouseDown);\r\n self.addEventHandler(document,'touchmove',self.mmh);\r\n self.addEventHandler(document,'touchend',self.mouseUp);\r\n } else {\r\n // incredibly old-skool. TODO: Modernize.\r\n document.onmousemove = self.mmh;\r\n document.onmouseup = self.mouseUp;\r\n }\r\n\r\n self.stopEvent(e);\r\n return false;\r\n\r\n };\r\n\r\n this.mouseUp = function(e) {\r\n\r\n var oData = self.lastTouchedSound._360data;\r\n self.removeClass(oData.oUIBox,'sm2_dragging');\r\n if (oData.pauseCount === 0) {\r\n self.lastTouchedSound.resume();\r\n }\r\n if (!isTouchDevice) {\r\n document.onmousemove = null;\r\n document.onmouseup = null;\r\n } else {\r\n self.removeEventHandler(document,'touchmove',self.mmh);\r\n self.removeEventHandler(document,'touchend',self.mouseUP);\r\n }\r\n\r\n };\r\n\r\n this.mmh = function(e) {\r\n\r\n if (typeof e === 'undefined') {\r\n e = window.event;\r\n }\r\n var oSound = self.lastTouchedSound,\r\n coords = self.getMouseXY(e),\r\n x = coords[0],\r\n y = coords[1],\r\n deltaX = x-oSound._360data.canvasMidXY[0],\r\n deltaY = y-oSound._360data.canvasMidXY[1],\r\n angle = Math.floor(fullCircle-(self.rad2deg(Math.atan2(deltaX,deltaY))+180));\r\n\r\n oSound.setPosition(oSound.durationEstimate*(angle/fullCircle));\r\n self.stopEvent(e);\r\n return false;\r\n\r\n };\r\n\r\n // assignMouseDown();\r\n\r\n this.drawSolidArc = function(oCanvas, color, radius, width, radians, startAngle, noClear) {\r\n\r\n // thank you, http://www.snipersystems.co.nz/community/polarclock/tutorial.html\r\n\r\n var x = radius,\r\n y = radius,\r\n canvas = oCanvas,\r\n ctx, innerRadius, doesntLikeZero, endPoint;\r\n\r\n if (canvas.getContext){\r\n // use getContext to use the canvas for drawing\r\n ctx = canvas.getContext('2d');\r\n }\r\n\r\n // re-assign canvas as the actual context\r\n oCanvas = ctx;\r\n\r\n if (!noClear) {\r\n self.clearCanvas(canvas);\r\n }\r\n // ctx.restore();\r\n\r\n if (color) {\r\n ctx.fillStyle = color;\r\n }\r\n\r\n oCanvas.beginPath();\r\n\r\n if (isNaN(radians)) {\r\n radians = 0;\r\n }\r\n\r\n innerRadius = radius-width;\r\n doesntLikeZero = (isOpera || isSafari); // safari 4 doesn't actually seem to mind.\r\n\r\n if (!doesntLikeZero || (doesntLikeZero && radius > 0)) {\r\n oCanvas.arc(0, 0, radius, startAngle, radians, false);\r\n endPoint = self.getArcEndpointCoords(innerRadius, radians);\r\n oCanvas.lineTo(endPoint.x, endPoint.y);\r\n oCanvas.arc(0, 0, innerRadius, radians, startAngle, true);\r\n oCanvas.closePath();\r\n oCanvas.fill();\r\n }\r\n\r\n };\r\n\r\n this.getArcEndpointCoords = function(radius, radians) {\r\n\r\n return {\r\n x: radius * Math.cos(radians), \r\n y: radius * Math.sin(radians)\r\n };\r\n\r\n };\r\n\r\n this.deg2rad = function(nDeg) {\r\n return (nDeg * Math.PI/180);\r\n };\r\n\r\n this.rad2deg = function(nRad) {\r\n return (nRad * 180/Math.PI);\r\n };\r\n\r\n this.getTime = function(nMSec,bAsString) {\r\n\r\n // convert milliseconds to mm:ss, return as object literal or string\r\n var nSec = Math.floor(nMSec/1000),\r\n min = Math.floor(nSec/60),\r\n sec = nSec-(min*60);\r\n // if (min === 0 && sec === 0) return null; // return 0:00 as null\r\n return (bAsString?(min+':'+(sec<10?'0'+sec:sec)):{'min':min,'sec':sec});\r\n\r\n };\r\n\r\n this.clearCanvas = function(oCanvas) {\r\n\r\n var canvas = oCanvas,\r\n ctx = null,\r\n width, height;\r\n if (canvas.getContext){\r\n // use getContext to use the canvas for drawing\r\n ctx = canvas.getContext('2d');\r\n }\r\n width = canvas.offsetWidth;\r\n height = canvas.offsetHeight;\r\n ctx.clearRect(-(width/2), -(height/2), width, height);\r\n\r\n };\r\n\r\n this.updatePlaying = function() {\r\n\r\n var timeNow = (this._360data.showHMSTime?self.getTime(this.position,true):parseInt(this.position/1000, 10));\r\n var ringScaleFactor = self.config.scaleArcWidth;\r\n\r\n if (this.bytesLoaded) {\r\n this._360data.lastValues.bytesLoaded = this.bytesLoaded;\r\n this._360data.lastValues.bytesTotal = this.bytesTotal;\r\n }\r\n\r\n if (this.position) {\r\n this._360data.lastValues.position = this.position;\r\n }\r\n\r\n if (this.durationEstimate) {\r\n this._360data.lastValues.durationEstimate = this.durationEstimate;\r\n }\r\n\r\n // background ring\r\n self.drawSolidArc(this._360data.oCanvas,self.config.backgroundRingColor,this._360data.width,this._360data.radius * ringScaleFactor,self.deg2rad(fullCircle),false);\r\n\r\n // loaded ring\r\n self.drawSolidArc(this._360data.oCanvas,(this._360data.metadata?self.config.loadRingColorMetadata:self.config.loadRingColor),this._360data.width,this._360data.radius * ringScaleFactor,self.deg2rad(fullCircle*(this._360data.lastValues.bytesLoaded/this._360data.lastValues.bytesTotal)),0,true);\r\n\r\n // don't draw if 0 (full black circle in Opera)\r\n if (this._360data.lastValues.position !== 0) {\r\n self.drawSolidArc(this._360data.oCanvas,(this._360data.metadata?self.config.playRingColorMetadata:self.config.playRingColor),this._360data.width,this._360data.radius * ringScaleFactor,self.deg2rad((this._360data.didFinish===1?fullCircle:fullCircle*(this._360data.lastValues.position/this._360data.lastValues.durationEstimate))),0,true);\r\n }\r\n\r\n // metadata goes here\r\n if (this._360data.metadata) {\r\n this._360data.metadata.events.whileplaying();\r\n }\r\n\r\n if (timeNow !== this._360data.lastTime) {\r\n this._360data.lastTime = timeNow;\r\n this._360data.oTiming.innerHTML = timeNow;\r\n }\r\n\r\n // draw spectrum, if applicable\r\n if ((this.instanceOptions.useWaveformData || this.instanceOptions.useEQData) && hasRealCanvas) { // IE <9 can render maybe 3 or 4 FPS when including the wave/EQ, so don't bother.\r\n self.updateWaveform(this);\r\n }\r\n\r\n if (self.config.useFavIcon && self.vuMeter) {\r\n self.vuMeter.updateVU(this);\r\n }\r\n\r\n };\r\n\r\n this.updateWaveform = function(oSound) {\r\n\r\n if ((!self.config.useWaveformData && !self.config.useEQData) || (!sm.features.waveformData && !sm.features.eqData)) {\r\n // feature not enabled..\r\n return false;\r\n }\r\n\r\n if (!oSound.waveformData.left.length && !oSound.eqData.length && !oSound.peakData.left) {\r\n // no data (or errored out/paused/unavailable?)\r\n return false;\r\n }\r\n\r\n /* use for testing the data */\r\n /*\r\n for (i=0; i<256; i++) {\r\n oSound.eqData[i] = 1-(i/256);\r\n }\r\n */\r\n\r\n var oCanvas = oSound._360data.oCanvas.getContext('2d'),\r\n offX = 0,\r\n offY = parseInt(oSound._360data.circleDiameter/2, 10),\r\n scale = offY/2, // Y axis (+/- this distance from 0)\r\n // lineWidth = Math.floor(oSound._360data.circleDiameter-(oSound._360data.circleDiameter*0.175)/(oSound._360data.circleDiameter/255)); // width for each line\r\n lineWidth = 1,\r\n lineHeight = 1,\r\n thisY = 0,\r\n offset = offY,\r\n i, j, direction, downSample, dataLength, sampleCount, startAngle, endAngle, waveData, innerRadius, perItemAngle, yDiff, eqSamples, playedAngle, iAvg, nPeak;\r\n\r\n if (self.config.useWaveformData) {\r\n // raw waveform\r\n downSample = self.config.waveformDataDownsample; // only sample X in 256 (greater number = less sample points)\r\n downSample = Math.max(1,downSample); // make sure it's at least 1\r\n dataLength = 256;\r\n sampleCount = (dataLength/downSample);\r\n startAngle = 0;\r\n endAngle = 0;\r\n waveData = null;\r\n innerRadius = (self.config.waveformDataOutside?1:(self.config.waveformDataConstrain?0.5:0.565));\r\n scale = (self.config.waveformDataOutside?0.7:0.75);\r\n perItemAngle = self.deg2rad((360/sampleCount)*self.config.waveformDataLineRatio); // 0.85 = clean pixel lines at 150? // self.deg2rad(360*(Math.max(1,downSample-1))/sampleCount);\r\n for (i=0; i<dataLength; i+=downSample) {\r\n startAngle = self.deg2rad(360*(i/(sampleCount)*1/downSample)); // +0.67 - counter for spacing\r\n endAngle = startAngle+perItemAngle;\r\n waveData = oSound.waveformData.left[i];\r\n if (waveData<0 && self.config.waveformDataConstrain) {\r\n waveData = Math.abs(waveData);\r\n }\r\n self.drawSolidArc(oSound._360data.oCanvas,self.config.waveformDataColor,oSound._360data.width*innerRadius*(2-self.config.scaleArcWidth),oSound._360data.radius*scale*1.25*waveData,endAngle,startAngle,true);\r\n }\r\n }\r\n\r\n if (self.config.useEQData) {\r\n // EQ spectrum\r\n downSample = self.config.eqDataDownsample; // only sample N in 256\r\n yDiff = 0;\r\n downSample = Math.max(1,downSample); // make sure it's at least 1\r\n eqSamples = 192; // drop the last 25% of the spectrum (>16500 Hz), most stuff won't actually use it.\r\n sampleCount = (eqSamples/downSample);\r\n innerRadius = (self.config.eqDataOutside?1:0.565);\r\n direction = (self.config.eqDataOutside?-1:1);\r\n scale = (self.config.eqDataOutside?0.5:0.75);\r\n startAngle = 0;\r\n endAngle = 0;\r\n perItemAngle = self.deg2rad((360/sampleCount)*self.config.eqDataLineRatio); // self.deg2rad(360/(sampleCount+1));\r\n playedAngle = self.deg2rad((oSound._360data.didFinish===1?360:360*(oSound._360data.lastValues.position/oSound._360data.lastValues.durationEstimate)));\r\n j=0;\r\n iAvg = 0;\r\n for (i=0; i<eqSamples; i+=downSample) {\r\n startAngle = self.deg2rad(360*(i/eqSamples));\r\n endAngle = startAngle+perItemAngle;\r\n self.drawSolidArc(oSound._360data.oCanvas,(endAngle>playedAngle?self.config.eqDataColor:self.config.playRingColor),oSound._360data.width*innerRadius,oSound._360data.radius*scale*(oSound.eqData.left[i]*direction),endAngle,startAngle,true);\r\n }\r\n }\r\n\r\n if (self.config.usePeakData) {\r\n if (!oSound._360data.animating) {\r\n nPeak = (oSound.peakData.left||oSound.peakData.right);\r\n // GIANT HACK: use EQ spectrum data for bass frequencies\r\n eqSamples = 3;\r\n for (i=0; i<eqSamples; i++) {\r\n nPeak = (nPeak||oSound.eqData[i]);\r\n }\r\n oSound._360data.amplifier = (self.config.useAmplifier?(0.9+(nPeak*0.1)):1);\r\n oSound._360data.radiusMax = oSound._360data.circleDiameter*0.175*oSound._360data.amplifier;\r\n oSound._360data.widthMax = oSound._360data.circleDiameter*0.4*oSound._360data.amplifier;\r\n oSound._360data.radius = parseInt(oSound._360data.radiusMax*oSound._360data.amplifier, 10);\r\n oSound._360data.width = parseInt(oSound._360data.widthMax*oSound._360data.amplifier, 10);\r\n }\r\n }\r\n\r\n };\r\n\r\n this.getUIHTML = function(diameter) {\r\n\r\n return [\r\n '<canvas class=\"sm2-canvas\" width=\"'+diameter+'\" height=\"'+diameter+'\"></canvas>',\r\n ' <span class=\"sm2-360btn sm2-360btn-default\"></span>', // note use of imageMap, edit or remove if you use a different-size image.\r\n ' <div class=\"sm2-timing'+(navigator.userAgent.match(/safari/i)?' alignTweak':'')+'\"></div>', // + Ever-so-slight Safari horizontal alignment tweak\r\n ' <div class=\"sm2-cover\"></div>'\r\n ];\r\n\r\n };\r\n\r\n this.uiTest = function(sClass) {\r\n\r\n // fake a 360 UI so we can get some numbers from CSS, etc.\r\n\r\n var oTemplate = document.createElement('div'),\r\n oFakeUI, oFakeUIBox, oTemp, fakeDiameter, uiHTML, circleDiameter, circleRadius, fontSizeMax, oTiming;\r\n\r\n oTemplate.className = 'sm2-360ui';\r\n\r\n oFakeUI = document.createElement('div');\r\n oFakeUI.className = 'ui360'+(sClass?' '+sClass:''); // ui360 ui360-vis\r\n\r\n oFakeUIBox = oFakeUI.appendChild(oTemplate.cloneNode(true));\r\n\r\n oFakeUI.style.position = 'absolute';\r\n oFakeUI.style.left = '-9999px';\r\n\r\n oTemp = document.body.appendChild(oFakeUI);\r\n\r\n fakeDiameter = oFakeUIBox.offsetWidth;\r\n\r\n uiHTML = self.getUIHTML(fakeDiameter);\r\n\r\n oFakeUIBox.innerHTML = uiHTML[1]+uiHTML[2]+uiHTML[3];\r\n\r\n circleDiameter = parseInt(oFakeUIBox.offsetWidth, 10);\r\n circleRadius = parseInt(circleDiameter/2, 10);\r\n\r\n oTiming = self.getElementsByClassName('sm2-timing','div',oTemp)[0];\r\n fontSizeMax = parseInt(self.getStyle(oTiming,'font-size'), 10);\r\n if (isNaN(fontSizeMax)) {\r\n // getStyle() etc. didn't work.\r\n fontSizeMax = null;\r\n }\r\n\r\n // soundManager._writeDebug('diameter, font size: '+circleDiameter+','+fontSizeMax);\r\n\r\n oFakeUI.parentNode.removeChild(oFakeUI);\r\n\r\n uiHTML = oFakeUI = oFakeUIBox = oTemp = null;\r\n\r\n return {\r\n circleDiameter: circleDiameter,\r\n circleRadius: circleRadius,\r\n fontSizeMax: fontSizeMax\r\n };\r\n\r\n };\r\n\r\n this.init = function() {\r\n\r\n sm._writeDebug('threeSixtyPlayer.init()');\r\n\r\n var oItems = self.getElementsByClassName('ui360','div'),\r\n i, j, oLinks = [], is_vis = false, foundItems = 0, oCanvas, oCanvasCTX, oCover, diameter, radius, uiData, uiDataVis, oUI, oBtn, o, o2, oID;\r\n\r\n for (i=0,j=oItems.length; i<j; i++) {\r\n oLinks.push(oItems[i].getElementsByTagName('a')[0]);\r\n // remove \"fake\" play button (unsupported case)\r\n oItems[i].style.backgroundImage = 'none';\r\n }\r\n // grab all links, look for .mp3\r\n\r\n self.oUITemplate = document.createElement('div');\r\n self.oUITemplate.className = 'sm2-360ui';\r\n\r\n self.oUITemplateVis = document.createElement('div');\r\n self.oUITemplateVis.className = 'sm2-360ui';\r\n\r\n uiData = self.uiTest();\r\n\r\n self.config.circleDiameter = uiData.circleDiameter;\r\n self.config.circleRadius = uiData.circleRadius;\r\n // self.config.fontSizeMax = uiData.fontSizeMax;\r\n\r\n uiDataVis = self.uiTest('ui360-vis');\r\n\r\n self.config.fontSizeMax = uiDataVis.fontSizeMax;\r\n\r\n // canvas needs inline width and height, doesn't quite work otherwise\r\n self.oUITemplate.innerHTML = self.getUIHTML(self.config.circleDiameter).join('');\r\n\r\n self.oUITemplateVis.innerHTML = self.getUIHTML(uiDataVis.circleDiameter).join('');\r\n\r\n for (i=0,j=oLinks.length; i<j; i++) {\r\n if (sm.canPlayLink(oLinks[i]) && !self.hasClass(oLinks[i],self.excludeClass) && !self.hasClass(oLinks[i],self.css.sDefault)) {\r\n self.addClass(oLinks[i],self.css.sDefault); // add default CSS decoration\r\n self.links[foundItems] = (oLinks[i]);\r\n self.indexByURL[oLinks[i].href] = foundItems; // hack for indexing\r\n foundItems++;\r\n\r\n is_vis = self.hasClass(oLinks[i].parentNode, 'ui360-vis');\r\n\r\n diameter = (is_vis ? uiDataVis : uiData).circleDiameter;\r\n radius = (is_vis ? uiDataVis : uiData).circleRadius;\r\n\r\n // add canvas shiz\r\n oUI = oLinks[i].parentNode.insertBefore((is_vis?self.oUITemplateVis:self.oUITemplate).cloneNode(true),oLinks[i]);\r\n\r\n if (isIE && typeof window.G_vmlCanvasManager !== 'undefined') { // IE only\r\n o = oLinks[i].parentNode;\r\n o2 = document.createElement('canvas');\r\n o2.className = 'sm2-canvas';\r\n oID = 'sm2_canvas_'+parseInt(Math.random()*1048576, 10);\r\n o2.id = oID;\r\n o2.width = diameter;\r\n o2.height = diameter;\r\n oUI.appendChild(o2);\r\n window.G_vmlCanvasManager.initElement(o2); // Apply ExCanvas compatibility magic\r\n oCanvas = document.getElementById(oID);\r\n } else { \r\n // add a handler for the button\r\n oCanvas = oLinks[i].parentNode.getElementsByTagName('canvas')[0];\r\n }\r\n oCover = self.getElementsByClassName('sm2-cover','div',oLinks[i].parentNode)[0];\r\n oBtn = oLinks[i].parentNode.getElementsByTagName('span')[0];\r\n self.addEventHandler(oBtn,'click',self.buttonClick);\r\n if (!isTouchDevice) {\r\n self.addEventHandler(oCover,'mousedown',self.mouseDown);\r\n } else {\r\n self.addEventHandler(oCover,'touchstart',self.mouseDown);\r\n }\r\n oCanvasCTX = oCanvas.getContext('2d');\r\n oCanvasCTX.translate(radius, radius);\r\n oCanvasCTX.rotate(self.deg2rad(-90)); // compensate for arc starting at EAST // http://stackoverflow.com/questions/319267/tutorial-for-html-canvass-arc-function\r\n }\r\n }\r\n if (foundItems>0) {\r\n self.addEventHandler(document,'click',self.handleClick);\r\n if (self.config.autoPlay) {\r\n self.handleClick({target:self.links[0],preventDefault:function(){}});\r\n }\r\n }\r\n sm._writeDebug('threeSixtyPlayer.init(): Found '+foundItems+' relevant items.');\r\n\r\n if (self.config.useFavIcon && typeof this.VUMeter !== 'undefined') {\r\n this.vuMeter = new this.VUMeter(this);\r\n }\r\n\r\n };\r\n\r\n}\r\n\r\n// Optional: VU Meter component\r\n\r\nThreeSixtyPlayer.prototype.VUMeter = function(oParent) {\r\n\r\n var self = oParent,\r\n me = this,\r\n _head = document.getElementsByTagName('head')[0],\r\n isOpera = (navigator.userAgent.match(/opera/i)),\r\n isFirefox = (navigator.userAgent.match(/firefox/i));\r\n\r\n this.vuMeterData = [];\r\n this.vuDataCanvas = null;\r\n\r\n this.setPageIcon = function(sDataURL) {\r\n\r\n if (!self.config.useFavIcon || !self.config.usePeakData || !sDataURL) {\r\n return false;\r\n }\r\n\r\n var link = document.getElementById('sm2-favicon');\r\n if (link) {\r\n _head.removeChild(link);\r\n link = null;\r\n }\r\n if (!link) {\r\n link = document.createElement('link');\r\n link.id = 'sm2-favicon';\r\n link.rel = 'shortcut icon';\r\n link.type = 'image/png';\r\n link.href = sDataURL;\r\n document.getElementsByTagName('head')[0].appendChild(link);\r\n }\r\n\r\n };\r\n\r\n this.resetPageIcon = function() {\r\n\r\n if (!self.config.useFavIcon) {\r\n return false;\r\n }\r\n var link = document.getElementById('favicon');\r\n if (link) {\r\n link.href = '/favicon.ico';\r\n }\r\n\r\n };\r\n\r\n this.updateVU = function(oSound) {\r\n\r\n if (soundManager.flashVersion >= 9 && self.config.useFavIcon && self.config.usePeakData) {\r\n me.setPageIcon(me.vuMeterData[parseInt(16*oSound.peakData.left, 10)][parseInt(16*oSound.peakData.right, 10)]);\r\n }\r\n\r\n };\r\n\r\n this.createVUData = function() {\r\n\r\n var i=0, j=0,\r\n canvas = me.vuDataCanvas.getContext('2d'),\r\n vuGrad = canvas.createLinearGradient(0, 16, 0, 0),\r\n bgGrad = canvas.createLinearGradient(0, 16, 0, 0),\r\n outline = 'rgba(0,0,0,0.2)';\r\n\r\n vuGrad.addColorStop(0,'rgb(0,192,0)');\r\n vuGrad.addColorStop(0.30,'rgb(0,255,0)');\r\n vuGrad.addColorStop(0.625,'rgb(255,255,0)');\r\n vuGrad.addColorStop(0.85,'rgb(255,0,0)');\r\n bgGrad.addColorStop(0,outline);\r\n bgGrad.addColorStop(1,'rgba(0,0,0,0.5)');\r\n for (i=0; i<16; i++) {\r\n me.vuMeterData[i] = [];\r\n }\r\n for (i=0; i<16; i++) {\r\n for (j=0; j<16; j++) {\r\n // reset/erase canvas\r\n me.vuDataCanvas.setAttribute('width',16);\r\n me.vuDataCanvas.setAttribute('height',16);\r\n // draw new stuffs\r\n canvas.fillStyle = bgGrad;\r\n canvas.fillRect(0,0,7,15);\r\n canvas.fillRect(8,0,7,15);\r\n /*\r\n // shadow\r\n canvas.fillStyle = 'rgba(0,0,0,0.1)';\r\n canvas.fillRect(1,15-i,7,17-(17-i));\r\n canvas.fillRect(9,15-j,7,17-(17-j));\r\n */\r\n canvas.fillStyle = vuGrad;\r\n canvas.fillRect(0,15-i,7,16-(16-i));\r\n canvas.fillRect(8,15-j,7,16-(16-j));\r\n // and now, clear out some bits.\r\n canvas.clearRect(0,3,16,1);\r\n canvas.clearRect(0,7,16,1);\r\n canvas.clearRect(0,11,16,1);\r\n me.vuMeterData[i][j] = me.vuDataCanvas.toDataURL('image/png');\r\n // for debugging VU images\r\n /*\r\n var o = document.createElement('img');\r\n o.style.marginRight = '5px'; \r\n o.src = vuMeterData[i][j];\r\n document.documentElement.appendChild(o);\r\n */\r\n }\r\n }\r\n\r\n };\r\n\r\n this.testCanvas = function() {\r\n\r\n // canvas + toDataURL();\r\n var c = document.createElement('canvas'),\r\n ctx = null, ok;\r\n if (!c || typeof c.getContext === 'undefined') {\r\n return null;\r\n }\r\n ctx = c.getContext('2d');\r\n if (!ctx || typeof c.toDataURL !== 'function') {\r\n return null;\r\n }\r\n // just in case..\r\n try {\r\n ok = c.toDataURL('image/png');\r\n } catch(e) {\r\n // no canvas or no toDataURL()\r\n return null;\r\n }\r\n // assume we're all good.\r\n return c;\r\n\r\n };\r\n\r\n this.init = function() {\r\n\r\n if (self.config.useFavIcon) {\r\n me.vuDataCanvas = me.testCanvas();\r\n if (me.vuDataCanvas && (isFirefox || isOpera)) {\r\n // these browsers support dynamically-updating the favicon\r\n me.createVUData();\r\n } else {\r\n // browser doesn't support doing this\r\n self.config.useFavIcon = false;\r\n }\r\n }\r\n\r\n };\r\n\r\n this.init();\r\n\r\n};\r\n\r\n// completely optional: Metadata/annotations/segments code\r\n\r\nThreeSixtyPlayer.prototype.Metadata = function(oSound, oParent) {\r\n\r\n soundManager._wD('Metadata()');\r\n\r\n var me = this,\r\n oBox = oSound._360data.oUI360,\r\n o = oBox.getElementsByTagName('ul')[0],\r\n oItems = o.getElementsByTagName('li'),\r\n isFirefox = (navigator.userAgent.match(/firefox/i)),\r\n isAlt = false, i, oDuration;\r\n\r\n this.lastWPExec = 0;\r\n this.refreshInterval = 250;\r\n this.totalTime = 0;\r\n\r\n this.events = {\r\n\r\n whileplaying: function() {\r\n\r\n var width = oSound._360data.width,\r\n radius = oSound._360data.radius,\r\n fullDuration = (oSound.durationEstimate||(me.totalTime*1000)),\r\n isAlt = null, i, j, d;\r\n\r\n for (i=0,j=me.data.length; i<j; i++) {\r\n isAlt = (i%2===0);\r\n oParent.drawSolidArc(oSound._360data.oCanvas,(isAlt?oParent.config.segmentRingColorAlt:oParent.config.segmentRingColor),isAlt?width:width, isAlt?radius/2:radius/2, oParent.deg2rad(360*(me.data[i].endTimeMS/fullDuration)), oParent.deg2rad(360*((me.data[i].startTimeMS||1)/fullDuration)), true);\r\n }\r\n d = new Date();\r\n if (d-me.lastWPExec>me.refreshInterval) {\r\n me.refresh();\r\n me.lastWPExec = d;\r\n }\r\n\r\n }\r\n\r\n };\r\n\r\n this.refresh = function() {\r\n\r\n // Display info as appropriate\r\n var i, j, index = null,\r\n now = oSound.position,\r\n metadata = oSound._360data.metadata.data;\r\n\r\n for (i=0, j=metadata.length; i<j; i++) {\r\n if (now >= metadata[i].startTimeMS && now <= metadata[i].endTimeMS) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n if (index !== metadata.currentItem && index < metadata.length) {\r\n // update\r\n oSound._360data.oLink.innerHTML = metadata.mainTitle+' <span class=\"metadata\"><span class=\"sm2_divider\"> | </span><span class=\"sm2_metadata\">'+metadata[index].title+'</span></span>';\r\n // self.setPageTitle(metadata[index].title+' | '+metadata.mainTitle);\r\n metadata.currentItem = index;\r\n }\r\n\r\n };\r\n\r\n this.strToTime = function(sTime) {\r\n var segments = sTime.split(':'),\r\n seconds = 0, i;\r\n for (i=segments.length; i--;) {\r\n seconds += parseInt(segments[i], 10)*Math.pow(60,segments.length-1-i); // hours, minutes\r\n }\r\n return seconds;\r\n };\r\n\r\n this.data = [];\r\n this.data.givenDuration = null;\r\n this.data.currentItem = null;\r\n this.data.mainTitle = oSound._360data.oLink.innerHTML;\r\n\r\n for (i=0; i<oItems.length; i++) {\r\n this.data[i] = {\r\n o: null,\r\n title: oItems[i].getElementsByTagName('p')[0].innerHTML,\r\n startTime: oItems[i].getElementsByTagName('span')[0].innerHTML,\r\n startSeconds: me.strToTime(oItems[i].getElementsByTagName('span')[0].innerHTML.replace(/[()]/g,'')),\r\n duration: 0,\r\n durationMS: null,\r\n startTimeMS: null,\r\n endTimeMS: null,\r\n oNote: null\r\n };\r\n }\r\n oDuration = oParent.getElementsByClassName('duration','div',oBox);\r\n this.data.givenDuration = (oDuration.length?me.strToTime(oDuration[0].innerHTML)*1000:0);\r\n for (i=0; i<this.data.length; i++) {\r\n this.data[i].duration = parseInt(this.data[i+1]?this.data[i+1].startSeconds:(me.data.givenDuration?me.data.givenDuration:oSound.durationEstimate)/1000, 10)-this.data[i].startSeconds;\r\n this.data[i].startTimeMS = this.data[i].startSeconds*1000;\r\n this.data[i].durationMS = this.data[i].duration*1000;\r\n this.data[i].endTimeMS = this.data[i].startTimeMS+this.data[i].durationMS;\r\n this.totalTime += this.data[i].duration;\r\n }\r\n\r\n};\r\n\r\nif (navigator.userAgent.match(/webkit/i) && navigator.userAgent.match(/mobile/i)) {\r\n // iPad, iPhone etc.\r\n soundManager.setup({\r\n useHTML5Audio: true\r\n });\r\n}\r\n\r\nsoundManager.setup({\r\n html5PollingInterval: 50, // increased framerate for whileplaying() etc.\r\n debugMode: (window.location.href.match(/debug=1/i)), // disable or enable debug output\r\n consoleOnly: true,\r\n flashVersion: 9,\r\n useHighPerformance: true,\r\n useFlashBlock: true\r\n});\r\n\r\n// FPS data, testing/debug only\r\nif (soundManager.debugMode) {\r\n window.setInterval(function() {\r\n var p = window.threeSixtyPlayer;\r\n if (p && p.lastSound && p.lastSound._360data.fps && typeof window.isHome === 'undefined') {\r\n soundManager._writeDebug('fps: ~'+p.lastSound._360data.fps);\r\n p.lastSound._360data.fps = 0;\r\n }\r\n },1000);\r\n}\r\n\r\nwindow.ThreeSixtyPlayer = ThreeSixtyPlayer; // constructor\r\n\r\n}(window));\r\n\r\nthreeSixtyPlayer = new ThreeSixtyPlayer();\r\n\r\n// hook into SM2 init\r\nsoundManager.onready(threeSixtyPlayer.init);;\n/*\tSWFObject v2.2 <http://code.google.com/p/swfobject/> \r\n\tis released under the MIT License <http://www.opensource.org/licenses/mit-license.php> \r\n*/\r\nvar swfobject=function(){var D=\"undefined\",r=\"object\",S=\"Shockwave Flash\",W=\"ShockwaveFlash.ShockwaveFlash\",q=\"application/x-shockwave-flash\",R=\"SWFObjectExprInst\",x=\"onreadystatechange\",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\\/(\\d+(\\.\\d+)?).*$/,\"$1\")):false,X=!+\"\\v1\",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\\s+(\\S+\\s+\\S+$)/,\"$1\");ag[0]=parseInt(ab.replace(/^(.*)\\..*$/,\"$1\"),10);ag[1]=parseInt(ab.replace(/^.*\\.(.*)\\s.*$/,\"$1\"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,\"$1\"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable(\"$version\");if(ab){X=true;ab=ab.split(\" \")[1].split(\",\");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState==\"complete\")||(typeof j.readyState==D&&(j.getElementsByTagName(\"body\")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener(\"DOMContentLoaded\",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState==\"complete\"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll(\"left\")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName(\"body\")[0].appendChild(C(\"span\"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener(\"load\",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener(\"load\",Y,false)}else{if(typeof O.attachEvent!=D){i(O,\"onload\",Y)}else{if(typeof O.onload==\"function\"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName(\"body\")[0];var aa=C(r);aa.setAttribute(\"type\",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable(\"$version\");if(ab){ab=ab.split(\" \")[1].split(\",\");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute(\"width\")||\"0\";ai.height=ae.getAttribute(\"height\")||\"0\";if(ae.getAttribute(\"class\")){ai.styleclass=ae.getAttribute(\"class\")}if(ae.getAttribute(\"align\")){ai.align=ae.getAttribute(\"align\")}var ah={};var X=ae.getElementsByTagName(\"param\");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute(\"name\").toLowerCase()!=\"movie\"){ah[X[ad].getAttribute(\"name\")]=X[ad].getAttribute(\"value\")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName==\"OBJECT\"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F(\"6.0.65\")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName==\"OBJECT\"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width=\"310\"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height=\"137\"}j.title=j.title.slice(0,47)+\" - Flash Player Installation\";var ad=M.ie&&M.win?\"ActiveX\":\"PlugIn\",ac=\"MMredirectURL=\"+O.location.toString().replace(/&/g,\"%26\")+\"&MMplayerType=\"+ad+\"&MMdoctitle=\"+j.title;if(typeof ab.flashvars!=D){ab.flashvars+=\"&\"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C(\"div\");X+=\"SWFObjectNew\";Y.setAttribute(\"id\",X);ae.parentNode.insertBefore(Y,ae);ae.style.display=\"none\";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C(\"div\");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display=\"none\";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C(\"div\");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName==\"PARAM\")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah=\"\";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()==\"data\"){ag.movie=ai[ae]}else{if(ae.toLowerCase()==\"styleclass\"){ah+=' class=\"'+ai[ae]+'\"'}else{if(ae.toLowerCase()!=\"classid\"){ah+=\" \"+ae+'=\"'+ai[ae]+'\"'}}}}}var af=\"\";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name=\"'+ad+'\" value=\"'+ag[ad]+'\" />'}}aa.outerHTML='<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"'+ah+\">\"+af+\"</object>\";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute(\"type\",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()==\"styleclass\"){Z.setAttribute(\"class\",ai[ac])}else{if(ac.toLowerCase()!=\"classid\"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!=\"movie\"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C(\"param\");aa.setAttribute(\"name\",X);aa.setAttribute(\"value\",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName==\"OBJECT\"){if(M.ie&&M.win){X.style.display=\"none\";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]==\"function\"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(\".\");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName(\"head\")[0];if(!aa){return}var X=(ad&&typeof ad==\"string\")?ad:\"screen\";if(ab){n=null;G=null}if(!n||G!=X){var Z=C(\"style\");Z.setAttribute(\"type\",\"text/css\");Z.setAttribute(\"media\",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+\" {\"+Y+\"}\"))}}}function w(Z,X){if(!m){return}var Y=X?\"visible\":\"hidden\";if(J&&c(Z)){c(Z).style.visibility=Y}else{v(\"#\"+Z,\"visibility:\"+Y)}}function L(Y){var Z=/[\\\\\\\"<>\\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent(\"onunload\",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+=\"\";ag+=\"\";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+=\"&\"+ai+\"=\"+Z[ai]}else{am.flashvars=ai+\"=\"+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\\?/.test(Z)){Z=Z.split(\"?\")[1]}if(aa==null){return L(Z)}var Y=Z.split(\"&\");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf(\"=\"))==aa){return L(Y[X].substring((Y[X].indexOf(\"=\")+1)))}}}return\"\"},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display=\"block\"}}if(E){E(B)}}a=false}}}}();;\n\r\n/**\r\n * Ensure swftools namespace is established.\r\n */\r\nvar swftools = swftools || {};\r\n\r\n/**\r\n * Returns a DOM object that points to the flash content with the supplied id. \r\n */\r\nswftools.getObject = function(objectID) {\r\n \r\n // Get the base object\r\n swftoolsObject = document.getElementById(objectID);\r\n \r\n // See if we can get the object like this (IE/Chrome)\r\n if (typeof swftoolsObject == 'object') {\r\n return swftoolsObject;\r\n }\r\n // See if we can get the object like this (FF with swfobject embedding)\r\n if (typeof swftoolsObject.attributes.type != 'undefined' && swftoolsObject.attributes.type.value == 'application/x-shockwave-flash') {\r\n return swftoolsObject;\r\n }\r\n // Otherwise try this (FF with direct embedding)\r\n return swftoolsObject.getElementsByTagName('object')[0];\r\n}\r\n;\n\r\n/**\r\n * WordPress audio player functions exist in the AudioPlayer namespace.\r\n */ \r\nvar AudioPlayer = function () {\r\n var instances = [];\r\n var activePlayerID;\r\n var currentVolume = -1;\r\n return {\r\n syncVolumes: function (playerID, volume) {\r\n currentVolume = volume;\r\n for (var i = 0; i < instances.length; i++) {\r\n if (instances[i] != playerID) {\r\n swftools.getObject(instances[i]).setVolume(currentVolume);\r\n }\r\n }\r\n },\r\n activate: function (playerID, info) {\r\n if (activePlayerID && activePlayerID != playerID) {\r\n swftools.getObject(activePlayerID).close();\r\n }\r\n activePlayerID = playerID;\r\n },\r\n close: function (playerID) {\r\n swftools.getObject(playerID).close();\r\n if (playerID == activePlayerID) {\r\n activePlayerID = null;\r\n }\r\n },\r\n open: function (playerID, index) {\r\n swftools.getObject(playerID).open(index == undefined ? 0 : index-1);\r\n },\r\n pushInstance: function (playerID) {\r\n instances.push(playerID);\r\n }\r\n }\r\n}();\r\n\r\nDrupal.behaviors.swftools_wpaudio = function (context) {\r\n $('.swftools-wpaudio:not(.swftools-wpaudio-processed)', context).addClass('swftools-wpaudio-processed').each(function () {\r\n AudioPlayer.pushInstance($(this).attr('id').substring(9));\r\n });\r\n $('[class^=wpaudio-accessible]:not(.swftools-wpaudio-processed)', context).addClass('swftools-wpaudio-processed').each(function () {\r\n $(this).click(function(){\r\n var classes = $(this).attr('class');\r\n var classes = classes.split(' ');\r\n var parts = classes[0].split('-');\r\n var idStarts = 20 + parts[2].length;\r\n var action = \"AudioPlayer.\" + parts[2] + \"('\" + classes[0].substring(idStarts) + \"')\";\r\n eval(action);\r\n return false;\r\n });\r\n });\r\n};\r\n;\n// Javascript for user_relationships_ui.module\r\n\r\n// Creating our own namespace for the module\r\nDrupal.user_relationships_ui = {};\r\n\r\nif (Drupal.jsEnabled) {\r\n $(document).ready(function() {\r\n // Any links that we have created in the ui module are\r\n // Given a click handler so you can display the popup correctly\r\n $('a.user_relationships_popup_link').click(function(e) {\r\n var buttoncode = e.which ? e.which : e.button; // msie specific checks does not support e.which\r\n // If position is fixed, allow for %'s.\r\n position = Drupal.settings.user_relationships_ui.position.position;\r\n left = Drupal.settings.user_relationships_ui.position.left;\r\n xtop = Drupal.settings.user_relationships_ui.position.top;\r\n \r\n if(position == \"fixed\") {\r\n // If left is defined in a % (.5) calculate left requirement\r\n if(left <= 1) {\r\n // Window width * desired - UI width\r\n left = Math.round(($(window).width()*left) - ($(\"#user_relationships_popup_form\").width()/2));\r\n }\r\n // If top is define in a % (.33) calculate top requirement\r\n if(xtop <= 1) {\r\n // Window height * desired - UI height (which is an unknown)\r\n xtop = Math.round(($(window).height()*xtop));// - ($(\"#user_relationships_popup_form\").height()/2));\r\n }\r\n } else {\r\n left = (e.pageX ? e.pageX : e.clientX) + Number(left); // msie specific checks does not support e.page\r\n if (left + $(\"#user_relationships_popup_form\").width() > $(window).width()) {\r\n left = (e.pageX ? e.pageX : e.clientX) - $(\"#user_relationships_popup_form\").width();\r\n }\r\n xtop = (e.pageY ? e.pageY : e.clientY) + Number(xtop); // msie specific checks does not support e.page\r\n }\r\n var href = $(this).attr('href'); // Where we send the ajax request.\r\n Drupal.user_relationships_ui.showForm(href, position, left, xtop);\r\n return false;\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Function to display the pertinent form for the user\r\n *\r\n * @param href\r\n * Ajax url where we will retrieve the form\r\n * @param pageX\r\n * Left value for the event\r\n * @param pageY\r\n * Top value for the event\r\n */\r\nDrupal.user_relationships_ui.showForm = function(href, position, left, top) {\r\n // Making sure that any currently open popups will be hidden.\r\n Drupal.user_relationships_ui.hidePopup();\r\n // Putting the animation into this\r\n\r\n $('#user_relationships_popup_form')\r\n .css({top: top + 'px', left: left + 'px', position: position})\r\n .html(Drupal.user_relationships_ui.loadingAnimation())\r\n .slideDown();\r\n // Adding ajax to the href because we need to determine between ajax and regular\r\n if (href.indexOf('?') == -1) {\r\n href += '?';\r\n };\r\n href += '&ajax=1';\r\n // Making the ajax request to the server to retrieve the form.\r\n $.get(href, function(result) {\r\n $('#user_relationships_popup_form').html(result).slideDown();\r\n // Making sure the cancel link on each form in the popup closes the popup.\r\n $('#user_relationships_popup_form a').click(function() {\r\n Drupal.user_relationships_ui.hidePopup();\r\n return false;\r\n });\r\n //Prevent users from clicking submit button twice\r\n Drupal.user_relationships_ui.formCheck();\r\n });\r\n};\r\n\r\n/**\r\n * Function used to return the html that is used to build the.\r\n * Loading animation when a form is requested by the user.\r\n */\r\nDrupal.user_relationships_ui.loadingAnimation = function() {\r\n var html = '<div>';\r\n html += '<div style=\"text-align: center; font-weight: bold;\">';\r\n html += Drupal.t('Form Loading');\r\n html += '</div>';\r\n html += '<img src=\"' + Drupal.settings.user_relationships_ui['loadingimage'] + '\" border=\"0\" height=\"20\" width=\"200\" />';\r\n html += '</div>';\r\n return html;\r\n}\r\n\r\n/**\r\n * Helper function to hide the popup form\r\n */\r\nDrupal.user_relationships_ui.hidePopup = function() {\r\n $('#user_relationships_popup_form').slideUp();\r\n}\r\n\r\n/**\r\n * Prevent users from clicking a submit button twice - borrowed from http://drupal.org/project/newswire - thanks, fellows :)\r\n */\r\nDrupal.user_relationships_ui.formCheck = function() {\r\n // only apply this to node and comment and new user registration forms\r\n var forms = $(\"#user_relationships_popup_form #edit-submit\");\r\n // insert the saving div now to cache it for better performance and to show the loading image\r\n $('<div id=\"user_relationships_popup_form_saving\"><p class=\"user_relationships_popup_form_saving\">' + Drupal.t('Saving...') + '</p></div>').insertAfter(forms);\r\n forms.click(function() {\r\n $(this).siblings(\"input[type=submit]\").hide();\r\n $(this).hide();\r\n $(\"#user_relationships_popup_form_saving\").show();\r\n var notice = function() {\r\n $('<p id=\"user_relationships_popup_form_saving_notice\">' + Drupal.t('Not saving? Please wait a few seconds, reload this page, and try again.') + '</p>').appendTo(\"#user_relationships_popup_form_saving\").fadeIn();\r\n };\r\n // append notice if form saving isn't work, perhaps a timeout issue\r\n setTimeout(notice, 60000);\r\n });\r\n};\r\n\r\n$(document).ready(function() {\r\n $('#edit-is-oneway').click(function () {\r\n if ($('#edit-is-oneway').attr('checked')) {\r\n $('#edit-is-reciprocal-wrapper').slideDown('slow');\r\n }\r\n else {\r\n $('#edit-is-reciprocal-wrapper').slideUp('slow');\r\n }\r\n });\r\n \r\n if (!$('#edit-is-oneway').attr('checked')) {\r\n $('#edit-is-reciprocal-wrapper').hide();\r\n }\r\n});\r\n;\n\r\n/**\r\n * @file\r\n * Adds some show/hide to the admin form to make the UXP easier.\r\n *\r\n */\r\n\r\n$(document).ready(function() {\r\n //lets see if we have any jmedia movies\r\n if($.fn.media) {\r\n $('.jmedia').media();\r\n }\r\n\t\r\n video_hide_all_options();\r\n $(\"input[name='vid_convertor']\").change(function() {\r\n video_hide_all_options();\r\n });\r\n\r\n // change metadata options\r\n video_hide_all__metadata_options();\r\n $(\"input[name='vid_metadata']\").change(function() {\r\n video_hide_all__metadata_options();\r\n });\r\n\r\n // change metadata options\r\n video_hide_all__filesystem_options();\r\n $(\"input[name='vid_filesystem']\").change(function() {\r\n video_hide_all__filesystem_options();\r\n });\r\n\r\n $('.video_select').each(function() {\r\n var ext = $(this).attr('rel');\r\n $('select', this).change(function() {\r\n if($(this).val() == 'video_play_flv') {\r\n $('#flv_player_'+ext).show();\r\n } else if($(this).val() == 'video_play_html5') {\r\n $('#html5_player_'+ext).show();\r\n } else {\r\n $('#flv_player_'+ext).hide();\r\n $('#html5_player_'+ext).hide();\r\n }\r\n });\r\n if($('select', this).val() == 'video_play_flv') {\r\n $('#flv_player_'+ext).show();\r\n }\r\n if($('select', this).val() == 'video_play_html5') {\r\n $('#html5_player_'+ext).show();\r\n } else {\r\n $('#html5_player_'+ext).hide();\r\n }\r\n });\r\n\t\r\n if(Drupal.settings.video) {\r\n $.fn.media.defaults.flvPlayer = Drupal.settings.video.flvplayer;\r\n\r\n }\r\n\t\r\n //lets setup our colorbox videos\r\n $('.video-box').each(function() {\r\n var url = $(this).attr('href');\r\n var data = $(this).metadata();\r\n var width = data.width;\r\n var height= data.height;\r\n var player = Drupal.settings.video.player; //player can be either jwplayer or flowplayer.\r\n $(this).colorbox({\r\n html: '<a id=\"video-overlay\" href=\"'+url+'\" style=\"height:'+height+'; width:'+width+'; display: block;\"></a>',\r\n onComplete:function() {\r\n if(player == 'flowplayer') {\r\n flowplayer(\"video-overlay\", Drupal.settings.video.flvplayer, {\r\n clip: {\r\n autoPlay: Drupal.settings.video.autoplay,\r\n autoBuffering: Drupal.settings.video.autobuffer\r\n }\r\n });\r\n } else {\r\n $('#video-overlay').media({\r\n flashvars: {\r\n autostart: Drupal.settings.video.autoplay\r\n },\r\n width:width,\r\n height:height\r\n });\r\n }\r\n }\r\n });\r\n });\r\n});\r\n\r\nfunction video_hide_all_options() {\r\n $(\"input[name='vid_convertor']\").each(function() {\r\n var id = $(this).val();\r\n $('#'+id).hide();\r\n if ($(this).is(':checked')) {\r\n $('#' + id).show();\r\n }\r\n });\r\n}\r\n\r\nfunction videoftp_thumbnail_change() {\r\n // Add handlers for the video thumbnail radio buttons to update the large thumbnail onchange.\r\n $(\".video-thumbnails input\").each(function() {\r\n var path = $(this).val();\r\n if($(this).is(':checked')) {\r\n var holder = $(this).attr('rel');\r\n $('.'+holder+' img').attr('src', Drupal.settings.basePath + path);\r\n }\r\n });\r\n\r\n}\r\n\r\nfunction video_hide_all__metadata_options() {\r\n $(\"input[name='vid_metadata']\").each(function() {\r\n var id = $(this).val();\r\n $('#'+id).hide();\r\n if ($(this).is(':checked')) {\r\n $('#' + id).show();\r\n }\r\n });\r\n}\r\n\r\nfunction video_hide_all__filesystem_options() {\r\n $(\"input[name='vid_filesystem']\").each(function() {\r\n var id = $(this).val();\r\n $('#'+id).hide();\r\n if ($(this).is(':checked')) {\r\n $('#' + id).show();\r\n }\r\n });\r\n}\r\n;\n/**\r\n * jCarousel - Riding carousels with jQuery\r\n * http://sorgalla.com/jcarousel/\r\n *\r\n * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)\r\n * Dual licensed under the MIT (MIT-LICENSE.txt)\r\n * and GPL (GPL-LICENSE.txt) licenses.\r\n *\r\n * Built on top of the jQuery library\r\n * http://jquery.com\r\n *\r\n * Inspired by the \"Carousel Component\" by Bill Scott\r\n * http://billwscott.com/carousel/\r\n */\r\neval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('(9($){$.1v.C=9(o){z 4.1b(9(){3p r(4,o)})};8 q={Z:F,25:1,21:1,u:7,1c:3,15:7,1K:\\'2X\\',2c:\\'2Q\\',1q:0,B:7,1j:7,1G:7,2F:7,2B:7,2z:7,2x:7,2v:7,2s:7,2p:7,1S:\\'<P></P>\\',1Q:\\'<P></P>\\',2m:\\'2l\\',2k:\\'2l\\',1O:7,1L:7};$.C=9(e,o){4.5=$.16({},q,o||{});4.Q=F;4.D=7;4.H=7;4.t=7;4.U=7;4.R=7;4.N=!4.5.Z?\\'1H\\':\\'26\\';4.E=!4.5.Z?\\'24\\':\\'23\\';8 a=\\'\\',1e=e.K.1e(\\' \\');1r(8 i=0;i<1e.I;i++){6(1e[i].2y(\\'C-2w\\')!=-1){$(e).1E(1e[i]);8 a=1e[i];1p}}6(e.2t==\\'3o\\'||e.2t==\\'3n\\'){4.t=$(e);4.D=4.t.19();6(4.D.1o(\\'C-H\\')){6(!4.D.19().1o(\\'C-D\\'))4.D=4.D.B(\\'<P></P>\\');4.D=4.D.19()}10 6(!4.D.1o(\\'C-D\\'))4.D=4.t.B(\\'<P></P>\\').19()}10{4.D=$(e);4.t=$(e).3h(\\'>2o,>2n,P>2o,P>2n\\')}6(a!=\\'\\'&&4.D.19()[0].K.2y(\\'C-2w\\')==-1)4.D.B(\\'<P 3g=\" \\'+a+\\'\"></P>\\');4.H=4.t.19();6(!4.H.I||!4.H.1o(\\'C-H\\'))4.H=4.t.B(\\'<P></P>\\').19();4.R=$(\\'.C-11\\',4.D);6(4.R.u()==0&&4.5.1Q!=7)4.R=4.H.1z(4.5.1Q).11();4.R.V(4.K(\\'C-11\\'));4.U=$(\\'.C-17\\',4.D);6(4.U.u()==0&&4.5.1S!=7)4.U=4.H.1z(4.5.1S).11();4.U.V(4.K(\\'C-17\\'));4.H.V(4.K(\\'C-H\\'));4.t.V(4.K(\\'C-t\\'));4.D.V(4.K(\\'C-D\\'));8 b=4.5.15!=7?1k.1P(4.1m()/4.5.15):7;8 c=4.t.32(\\'1F\\');8 d=4;6(c.u()>0){8 f=0,i=4.5.21;c.1b(9(){d.1I(4,i++);f+=d.S(4,b)});4.t.y(4.N,f+\\'T\\');6(!o||o.u===J)4.5.u=c.u()}4.D.y(\\'1y\\',\\'1A\\');4.U.y(\\'1y\\',\\'1A\\');4.R.y(\\'1y\\',\\'1A\\');4.2G=9(){d.17()};4.2b=9(){d.11()};4.1U=9(){d.2q()};6(4.5.1j!=7)4.5.1j(4,\\'2a\\');6($.2A.28){4.1f(F,F);$(27).1u(\\'2I\\',9(){d.1t()})}10 4.1t()};8 r=$.C;r.1v=r.2H={C:\\'0.2.3\\'};r.1v.16=r.16=$.16;r.1v.16({1t:9(){4.A=7;4.G=7;4.X=7;4.13=7;4.14=F;4.1d=7;4.O=7;4.W=F;6(4.Q)z;4.t.y(4.E,4.1s(4.5.21)+\\'T\\');8 p=4.1s(4.5.25);4.X=4.13=7;4.1i(p,F);$(27).22(\\'2E\\',4.1U).1u(\\'2E\\',4.1U)},2D:9(){4.t.2C();4.t.y(4.E,\\'3u\\');4.t.y(4.N,\\'3t\\');6(4.5.1j!=7)4.5.1j(4,\\'2D\\');4.1t()},2q:9(){6(4.O!=7&&4.W)4.t.y(4.E,r.M(4.t.y(4.E))+4.O);4.O=7;4.W=F;6(4.5.1G!=7)4.5.1G(4);6(4.5.15!=7){8 a=4;8 b=1k.1P(4.1m()/4.5.15),N=0,E=0;$(\\'1F\\',4.t).1b(9(i){N+=a.S(4,b);6(i+1<a.A)E=N});4.t.y(4.N,N+\\'T\\');4.t.y(4.E,-E+\\'T\\')}4.1c(4.A,F)},3s:9(){4.Q=1h;4.1f()},3r:9(){4.Q=F;4.1f()},u:9(s){6(s!=J){4.5.u=s;6(!4.Q)4.1f()}z 4.5.u},3q:9(i,a){6(a==J||!a)a=i;6(4.5.u!==7&&a>4.5.u)a=4.5.u;1r(8 j=i;j<=a;j++){8 e=4.L(j);6(!e.I||e.1o(\\'C-1a-1D\\'))z F}z 1h},L:9(i){z $(\\'.C-1a-\\'+i,4.t)},2u:9(i,s){8 e=4.L(i),20=0,2u=0;6(e.I==0){8 c,e=4.1B(i),j=r.M(i);1n(c=4.L(--j)){6(j<=0||c.I){j<=0?4.t.2r(e):c.1X(e);1p}}}10 20=4.S(e);e.1E(4.K(\\'C-1a-1D\\'));1R s==\\'3l\\'?e.3k(s):e.2C().3j(s);8 a=4.5.15!=7?1k.1P(4.1m()/4.5.15):7;8 b=4.S(e,a)-20;6(i>0&&i<4.A)4.t.y(4.E,r.M(4.t.y(4.E))-b+\\'T\\');4.t.y(4.N,r.M(4.t.y(4.N))+b+\\'T\\');z e},1V:9(i){8 e=4.L(i);6(!e.I||(i>=4.A&&i<=4.G))z;8 d=4.S(e);6(i<4.A)4.t.y(4.E,r.M(4.t.y(4.E))+d+\\'T\\');e.1V();4.t.y(4.N,r.M(4.t.y(4.N))-d+\\'T\\')},17:9(){4.1C();6(4.O!=7&&!4.W)4.1T(F);10 4.1c(((4.5.B==\\'1Z\\'||4.5.B==\\'G\\')&&4.5.u!=7&&4.G==4.5.u)?1:4.A+4.5.1c)},11:9(){4.1C();6(4.O!=7&&4.W)4.1T(1h);10 4.1c(((4.5.B==\\'1Z\\'||4.5.B==\\'A\\')&&4.5.u!=7&&4.A==1)?4.5.u:4.A-4.5.1c)},1T:9(b){6(4.Q||4.14||!4.O)z;8 a=r.M(4.t.y(4.E));!b?a-=4.O:a+=4.O;4.W=!b;4.X=4.A;4.13=4.G;4.1i(a)},1c:9(i,a){6(4.Q||4.14)z;4.1i(4.1s(i),a)},1s:9(i){6(4.Q||4.14)z;6(4.5.B!=\\'18\\')i=i<1?1:(4.5.u&&i>4.5.u?4.5.u:i);8 a=4.A>i;8 b=r.M(4.t.y(4.E));8 f=4.5.B!=\\'18\\'&&4.A<=1?1:4.A;8 c=a?4.L(f):4.L(4.G);8 j=a?f:f-1;8 e=7,l=0,p=F,d=0;1n(a?--j>=i:++j<i){e=4.L(j);p=!e.I;6(e.I==0){e=4.1B(j).V(4.K(\\'C-1a-1D\\'));c[a?\\'1z\\':\\'1X\\'](e)}c=e;d=4.S(e);6(p)l+=d;6(4.A!=7&&(4.5.B==\\'18\\'||(j>=1&&(4.5.u==7||j<=4.5.u))))b=a?b+d:b-d}8 g=4.1m();8 h=[];8 k=0,j=i,v=0;8 c=4.L(i-1);1n(++k){e=4.L(j);p=!e.I;6(e.I==0){e=4.1B(j).V(4.K(\\'C-1a-1D\\'));c.I==0?4.t.2r(e):c[a?\\'1z\\':\\'1X\\'](e)}c=e;8 d=4.S(e);6(d==0){3f(\\'3e: 3d 1H/26 3c 1r 3b. 3a 39 38 37 36 35. 34...\\');z 0}6(4.5.B!=\\'18\\'&&4.5.u!==7&&j>4.5.u)h.33(e);10 6(p)l+=d;v+=d;6(v>=g)1p;j++}1r(8 x=0;x<h.I;x++)h[x].1V();6(l>0){4.t.y(4.N,4.S(4.t)+l+\\'T\\');6(a){b-=l;4.t.y(4.E,r.M(4.t.y(4.E))-l+\\'T\\')}}8 n=i+k-1;6(4.5.B!=\\'18\\'&&4.5.u&&n>4.5.u)n=4.5.u;6(j>n){k=0,j=n,v=0;1n(++k){8 e=4.L(j--);6(!e.I)1p;v+=4.S(e);6(v>=g)1p}}8 o=n-k+1;6(4.5.B!=\\'18\\'&&o<1)o=1;6(4.W&&a){b+=4.O;4.W=F}4.O=7;6(4.5.B!=\\'18\\'&&n==4.5.u&&(n-k+1)>=1){8 m=r.Y(4.L(n),!4.5.Z?\\'1l\\':\\'1N\\');6((v-m)>g)4.O=v-g-m}1n(i-->o)b+=4.S(4.L(i));4.X=4.A;4.13=4.G;4.A=o;4.G=n;z b},1i:9(p,a){6(4.Q||4.14)z;4.14=1h;8 b=4;8 c=9(){b.14=F;6(p==0)b.t.y(b.E,0);6(b.5.B==\\'1Z\\'||b.5.B==\\'G\\'||b.5.u==7||b.G<b.5.u)b.2j();b.1f();b.1M(\\'2i\\')};4.1M(\\'31\\');6(!4.5.1K||a==F){4.t.y(4.E,p+\\'T\\');c()}10{8 o=!4.5.Z?{\\'24\\':p}:{\\'23\\':p};4.t.1i(o,4.5.1K,4.5.2c,c)}},2j:9(s){6(s!=J)4.5.1q=s;6(4.5.1q==0)z 4.1C();6(4.1d!=7)z;8 a=4;4.1d=30(9(){a.17()},4.5.1q*2Z)},1C:9(){6(4.1d==7)z;2Y(4.1d);4.1d=7},1f:9(n,p){6(n==J||n==7){8 n=!4.Q&&4.5.u!==0&&((4.5.B&&4.5.B!=\\'A\\')||4.5.u==7||4.G<4.5.u);6(!4.Q&&(!4.5.B||4.5.B==\\'A\\')&&4.5.u!=7&&4.G>=4.5.u)n=4.O!=7&&!4.W}6(p==J||p==7){8 p=!4.Q&&4.5.u!==0&&((4.5.B&&4.5.B!=\\'G\\')||4.A>1);6(!4.Q&&(!4.5.B||4.5.B==\\'G\\')&&4.5.u!=7&&4.A==1)p=4.O!=7&&4.W}8 a=4;4.U[n?\\'1u\\':\\'22\\'](4.5.2m,4.2G)[n?\\'1E\\':\\'V\\'](4.K(\\'C-17-1w\\')).1J(\\'1w\\',n?F:1h);4.R[p?\\'1u\\':\\'22\\'](4.5.2k,4.2b)[p?\\'1E\\':\\'V\\'](4.K(\\'C-11-1w\\')).1J(\\'1w\\',p?F:1h);6(4.U.I>0&&(4.U[0].1g==J||4.U[0].1g!=n)&&4.5.1O!=7){4.U.1b(9(){a.5.1O(a,4,n)});4.U[0].1g=n}6(4.R.I>0&&(4.R[0].1g==J||4.R[0].1g!=p)&&4.5.1L!=7){4.R.1b(9(){a.5.1L(a,4,p)});4.R[0].1g=p}},1M:9(a){8 b=4.X==7?\\'2a\\':(4.X<4.A?\\'17\\':\\'11\\');4.12(\\'2F\\',a,b);6(4.X!==4.A){4.12(\\'2B\\',a,b,4.A);4.12(\\'2z\\',a,b,4.X)}6(4.13!==4.G){4.12(\\'2x\\',a,b,4.G);4.12(\\'2v\\',a,b,4.13)}4.12(\\'2s\\',a,b,4.A,4.G,4.X,4.13);4.12(\\'2p\\',a,b,4.X,4.13,4.A,4.G)},12:9(a,b,c,d,e,f,g){6(4.5[a]==J||(1R 4.5[a]!=\\'2h\\'&&b!=\\'2i\\'))z;8 h=1R 4.5[a]==\\'2h\\'?4.5[a][b]:4.5[a];6(!$.2W(h))z;8 j=4;6(d===J)h(j,c,b);10 6(e===J)4.L(d).1b(9(){h(j,4,d,c,b)});10{1r(8 i=d;i<=e;i++)6(i!==7&&!(i>=f&&i<=g))4.L(i).1b(9(){h(j,4,i,c,b)})}},1B:9(i){z 4.1I(\\'<1F></1F>\\',i)},1I:9(e,i){8 a=$(e).V(4.K(\\'C-1a\\')).V(4.K(\\'C-1a-\\'+i));a.1J(\\'2V\\',i);z a},K:9(c){z c+\\' \\'+c+(!4.5.Z?\\'-2U\\':\\'-Z\\')},S:9(e,d){8 a=e.2g!=J?e[0]:e;8 b=!4.5.Z?a.1x+r.Y(a,\\'2f\\')+r.Y(a,\\'1l\\'):a.2e+r.Y(a,\\'2d\\')+r.Y(a,\\'1N\\');6(d==J||b==d)z b;8 w=!4.5.Z?d-r.Y(a,\\'2f\\')-r.Y(a,\\'1l\\'):d-r.Y(a,\\'2d\\')-r.Y(a,\\'1N\\');$(a).y(4.N,w+\\'T\\');z 4.S(a)},1m:9(){z!4.5.Z?4.H[0].1x-r.M(4.H.y(\\'2T\\'))-r.M(4.H.y(\\'2S\\')):4.H[0].2e-r.M(4.H.y(\\'2R\\'))-r.M(4.H.y(\\'3i\\'))},2P:9(i,s){6(s==J)s=4.5.u;z 1k.2O((((i-1)/s)-1k.2N((i-1)/s))*s)+1}});r.16({3m:9(d){z $.16(q,d||{})},Y:9(e,p){6(!e)z 0;8 a=e.2g!=J?e[0]:e;6(p==\\'1l\\'&&$.2A.28){8 b={\\'1y\\':\\'1A\\',\\'2M\\':\\'2L\\',\\'1H\\':\\'1q\\'},1Y,1W;$.29(a,b,9(){1Y=a.1x});b[\\'1l\\']=0;$.29(a,b,9(){1W=a.1x});z 1W-1Y}z r.M($.y(a,p))},M:9(v){v=2K(v);z 2J(v)?0:v}})})(3v);',62,218,'||||this|options|if|null|var|function||||||||||||||||||||list|size||||css|return|first|wrap|jcarousel|container|lt|false|last|clip|length|undefined|className|get|intval|wh|tail|div|locked|buttonPrev|dimension|px|buttonNext|addClass|inTail|prevFirst|margin|vertical|else|prev|callback|prevLast|animating|visible|extend|next|circular|parent|item|each|scroll|timer|split|buttons|jcarouselstate|true|animate|initCallback|Math|marginRight|clipping|while|hasClass|break|auto|for|pos|setup|bind|fn|disabled|offsetWidth|display|before|block|create|stopAuto|placeholder|removeClass|li|reloadCallback|width|format|attr|animation|buttonPrevCallback|notify|marginBottom|buttonNextCallback|ceil|buttonPrevHTML|typeof|buttonNextHTML|scrollTail|funcResize|remove|oWidth2|after|oWidth|both|old|offset|unbind|top|left|start|height|window|safari|swap|init|funcPrev|easing|marginTop|offsetHeight|marginLeft|jquery|object|onAfterAnimation|startAuto|buttonPrevEvent|click|buttonNextEvent|ol|ul|itemVisibleOutCallback|reload|prepend|itemVisibleInCallback|nodeName|add|itemLastOutCallback|skin|itemLastInCallback|indexOf|itemFirstOutCallback|browser|itemFirstInCallback|empty|reset|resize|itemLoadCallback|funcNext|prototype|load|isNaN|parseInt|none|float|floor|round|index|swing|borderTopWidth|borderRightWidth|borderLeftWidth|horizontal|jcarouselindex|isFunction|normal|clearTimeout|1000|setTimeout|onBeforeAnimation|children|push|Aborting|loop|infinite|an|cause|will|This|items|set|No|jCarousel|alert|class|find|borderBottomWidth|append|html|string|defaults|OL|UL|new|has|unlock|lock|10px|0px|jQuery'.split('|'),0,{}))\r\n;\n(function($) {\r\n var viewscarouselHTML = new Array();\r\n var viewscarouselObjects = new Array();\r\n var uuid = 0;\r\n Drupal.behaviors.viewscarousel = function(context) {\r\n $.each(Drupal.settings.viewscarousel, function(id) {\r\n if (this.scroll) this.scroll = parseInt(this.scroll);\r\n if (this.start) this.start = parseInt(this.start);\r\n if (this.visible) this.visible = parseInt(this.visible);\r\n if (this.auto) this.auto = parseInt(this.auto);\r\n\r\n // If a number is passed in for the animation we need to turn it from a\r\n // string into a number.\r\n if (this.animation) {\r\n var animation = parseInt(this.animation);\r\n if (!isNaN(animation)) {\r\n this.animation = animation;\r\n }\r\n }\r\n $this = $('#' + id);\r\n if (this.auto_pause == 1 && this.auto > 0) {\r\n this.initCallback = viewscarouselInitCallback;\r\n }\r\n if (this.wrap == 'circular') {\r\n this.itemVisibleInCallback = {onBeforeAnimation: viewscarouselItemVisibleInCallback};\r\n this.itemVisibleOutCallback = {onAfterAnimation: viewscarouselItemVisibleOutCallback};\r\n this.viewscarouseluuid = uuid;\r\n viewscarouselHTML[uuid] = new Array();\r\n $.each($this.children(), function () {\r\n viewscarouselHTML[uuid].push($(this).html());\r\n });\r\n uuid++;\r\n }\r\n $this.jcarousel(this);\r\n });\r\n }\r\n\r\n function viewscarouselItemVisibleInCallback(carousel, item, i, state, evt) {\r\n var idx = carousel.index(i, viewscarouselHTML[carousel.options.viewscarouseluuid].length);\r\n carousel.add(i, viewscarouselHTML[carousel.options.viewscarouseluuid][idx - 1]);\r\n };\r\n\r\n function viewscarouselItemVisibleOutCallback(carousel, item, i, state, evt) {\r\n carousel.remove(i);\r\n\r\n // The rotator stops rotating at the end. For circular rotations we want it to\r\n // continue so we start it again.\r\n if (carousel.options.auto > 0) {\r\n carousel.startAuto();\r\n }\r\n };\r\n\r\n function viewscarouselInitCallback(carousel) {\r\n // Disable autoscrolling if the user clicks the prev or next button.\r\n carousel.buttonNext.bind('click', function() {\r\n carousel.startAuto(0);\r\n });\r\n\r\n carousel.buttonPrev.bind('click', function() {\r\n carousel.startAuto(0);\r\n });\r\n\r\n // Pause autoscrolling if the user moves with the cursor over the clip.\r\n carousel.clip.hover(function() {\r\n carousel.stopAuto();\r\n }, function() {\r\n carousel.startAuto();\r\n });\r\n };\r\n})(jQuery);\n/**\r\n * @file base.js\r\n *\r\n * Some basic behaviors and utility functions for Views.\r\n */\r\n\r\nDrupal.Views = {};\r\n\r\n/**\r\n * jQuery UI tabs, Views integration component\r\n */\r\nDrupal.behaviors.viewsTabs = function (context) {\r\n $('#views-tabset:not(.views-processed)').addClass('views-processed').each(function() {\r\n new Drupal.Views.Tabs($(this), {selectedClass: 'active'});\r\n });\r\n\r\n $('a.views-remove-link')\r\n .addClass('views-processed')\r\n .click(function() {\r\n var id = $(this).attr('id').replace('views-remove-link-', '');\r\n $('#views-row-' + id).hide();\r\n $('#views-removed-' + id).attr('checked', true);\r\n return false;\r\n });\r\n}\r\n\r\n/**\r\n * For IE, attach some javascript so that our hovers do what they're supposed\r\n * to do.\r\n */\r\nDrupal.behaviors.viewsHoverlinks = function() {\r\n if ($.browser.msie) {\r\n // If IE, attach a hover event so we can see our admin links.\r\n $(\"div.view:not(.views-hover-processed)\").addClass('views-hover-processed').hover(\r\n function() {\r\n $('div.views-hide', this).addClass(\"views-hide-hover\"); return true;\r\n },\r\n function(){\r\n $('div.views-hide', this).removeClass(\"views-hide-hover\"); return true;\r\n }\r\n );\r\n $(\"div.views-admin-links:not(.views-hover-processed)\")\r\n .addClass('views-hover-processed')\r\n .hover(\r\n function() {\r\n $(this).addClass(\"views-admin-links-hover\"); return true;\r\n },\r\n function(){\r\n $(this).removeClass(\"views-admin-links-hover\"); return true;\r\n }\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Helper function to parse a querystring.\r\n */\r\nDrupal.Views.parseQueryString = function (query) {\r\n var args = {};\r\n var pos = query.indexOf('?');\r\n if (pos != -1) {\r\n query = query.substring(pos + 1);\r\n }\r\n var pairs = query.split('&');\r\n for(var i in pairs) {\r\n if (typeof(pairs[i]) == 'string') {\r\n var pair = pairs[i].split('=');\r\n // Ignore the 'q' path argument, if present.\r\n if (pair[0] != 'q' && pair[1]) {\r\n args[pair[0]] = decodeURIComponent(pair[1].replace(/\\+/g, ' '));\r\n }\r\n }\r\n }\r\n return args;\r\n};\r\n\r\n/**\r\n * Helper function to return a view's arguments based on a path.\r\n */\r\nDrupal.Views.parseViewArgs = function (href, viewPath) {\r\n var returnObj = {};\r\n var path = Drupal.Views.getPath(href);\r\n // Ensure we have a correct path.\r\n if (viewPath && path.substring(0, viewPath.length + 1) == viewPath + '/') {\r\n var args = decodeURIComponent(path.substring(viewPath.length + 1, path.length));\r\n returnObj.view_args = args;\r\n returnObj.view_path = path;\r\n }\r\n return returnObj;\r\n};\r\n\r\n/**\r\n * Strip off the protocol plus domain from an href.\r\n */\r\nDrupal.Views.pathPortion = function (href) {\r\n // Remove e.g. http://example.com if present.\r\n var protocol = window.location.protocol;\r\n if (href.substring(0, protocol.length) == protocol) {\r\n // 2 is the length of the '//' that normally follows the protocol\r\n href = href.substring(href.indexOf('/', protocol.length + 2));\r\n }\r\n return href;\r\n};\r\n\r\n/**\r\n * Return the Drupal path portion of an href.\r\n */\r\nDrupal.Views.getPath = function (href) {\r\n href = Drupal.Views.pathPortion(href);\r\n href = href.substring(Drupal.settings.basePath.length, href.length);\r\n // 3 is the length of the '?q=' added to the url without clean urls.\r\n if (href.substring(0, 3) == '?q=') {\r\n href = href.substring(3, href.length);\r\n }\r\n var chars = ['#', '?', '&'];\r\n for (i in chars) {\r\n if (href.indexOf(chars[i]) > -1) {\r\n href = href.substr(0, href.indexOf(chars[i]));\r\n }\r\n }\r\n return href;\r\n};\r\n;\n\r\n/**\r\n * @file ajaxView.js\r\n *\r\n * Handles AJAX fetching of views, including filter submission and response.\r\n */\r\n\r\nDrupal.Views.Ajax = Drupal.Views.Ajax || {};\r\n\r\n/**\r\n * An ajax responder that accepts a packet of JSON data and acts appropriately.\r\n *\r\n * The following fields control behavior.\r\n * - 'display': Display the associated data in the view area.\r\n */\r\nDrupal.Views.Ajax.ajaxViewResponse = function(target, response) {\r\n\r\n if (response.debug) {\r\n alert(response.debug);\r\n }\r\n\r\n var $view = $(target);\r\n\r\n // Check the 'display' for data.\r\n if (response.status && response.display) {\r\n var $newView = $(response.display);\r\n $view.replaceWith($newView);\r\n $view = $newView;\r\n Drupal.attachBehaviors($view.parent());\r\n }\r\n\r\n if (response.messages) {\r\n // Show any messages (but first remove old ones, if there are any).\r\n $view.find('.views-messages').remove().end().prepend(response.messages);\r\n }\r\n};\r\n\r\n/**\r\n * Ajax behavior for views.\r\n */\r\nDrupal.behaviors.ViewsAjaxView = function() {\r\n if (Drupal.settings && Drupal.settings.views && Drupal.settings.views.ajaxViews) {\r\n var ajax_path = Drupal.settings.views.ajax_path;\r\n // If there are multiple views this might've ended up showing up multiple times.\r\n if (ajax_path.constructor.toString().indexOf(\"Array\") != -1) {\r\n ajax_path = ajax_path[0];\r\n }\r\n $.each(Drupal.settings.views.ajaxViews, function(i, settings) {\r\n if (settings.view_dom_id) {\r\n var view = '.view-dom-id-' + settings.view_dom_id;\r\n if (!$(view).size()) {\r\n // Backward compatibility: if 'views-view.tpl.php' is old and doesn't\r\n // contain the 'view-dom-id-#' class, we fall back to the old way of\r\n // locating the view:\r\n view = '.view-id-' + settings.view_name + '.view-display-id-' + settings.view_display_id;\r\n }\r\n }\r\n\r\n\r\n // Process exposed filter forms.\r\n $('form#views-exposed-form-' + settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-'))\r\n .filter(':not(.views-processed)')\r\n .each(function () {\r\n // remove 'q' from the form; it's there for clean URLs\r\n // so that it submits to the right place with regular submit\r\n // but this method is submitting elsewhere.\r\n $('input[name=q]', this).remove();\r\n var form = this;\r\n // ajaxSubmit doesn't accept a data argument, so we have to\r\n // pass additional fields this way.\r\n $.each(settings, function(key, setting) {\r\n $(form).append('<input type=\"hidden\" name=\"'+ key + '\" value=\"'+ setting +'\"/>');\r\n });\r\n })\r\n .addClass('views-processed')\r\n .submit(function () {\r\n $('input[type=submit], button', this).after('<span class=\"views-throbbing\"> </span>');\r\n var object = this;\r\n $(this).ajaxSubmit({\r\n url: ajax_path,\r\n type: 'GET',\r\n success: function(response) {\r\n // Call all callbacks.\r\n if (response.__callbacks) {\r\n $.each(response.__callbacks, function(i, callback) {\r\n eval(callback)(view, response);\r\n });\r\n $('.views-throbbing', object).remove();\r\n }\r\n },\r\n error: function(xhr) { Drupal.Views.Ajax.handleErrors(xhr, ajax_path); $('.views-throbbing', object).remove(); },\r\n dataType: 'json'\r\n });\r\n\r\n return false;\r\n });\r\n\r\n $(view).filter(':not(.views-processed)')\r\n // Don't attach to nested views. Doing so would attach multiple behaviors\r\n // to a given element.\r\n .filter(function() {\r\n // If there is at least one parent with a view class, this view\r\n // is nested (e.g., an attachment). Bail.\r\n return !$(this).parents('.view').size();\r\n })\r\n .each(function() {\r\n // Set a reference that will work in subsequent calls.\r\n var target = this;\r\n $(this)\r\n .addClass('views-processed')\r\n // Process pager, tablesort, and attachment summary links.\r\n .find('ul.pager > li > a, th.views-field a, .attachment .views-summary a')\r\n .each(function () {\r\n var viewData = { 'js': 1 };\r\n // Construct an object using the settings defaults and then overriding\r\n // with data specific to the link.\r\n $.extend(\r\n viewData,\r\n Drupal.Views.parseQueryString($(this).attr('href')),\r\n // Extract argument data from the URL.\r\n Drupal.Views.parseViewArgs($(this).attr('href'), settings.view_base_path),\r\n // Settings must be used last to avoid sending url aliases to the server.\r\n settings\r\n );\r\n $(this).click(function () {\r\n $.extend(viewData, Drupal.Views.parseViewArgs($(this).attr('href'), settings.view_base_path));\r\n $(this).addClass('views-throbbing');\r\n $.ajax({\r\n url: ajax_path,\r\n type: 'GET',\r\n data: viewData,\r\n success: function(response) {\r\n $(this).removeClass('views-throbbing');\r\n // Scroll to the top of the view. This will allow users\r\n // to browse newly loaded content after e.g. clicking a pager\r\n // link.\r\n var offset = $(target).offset();\r\n // We can't guarantee that the scrollable object should be\r\n // the body, as the view could be embedded in something\r\n // more complex such as a modal popup. Recurse up the DOM\r\n // and scroll the first element that has a non-zero top.\r\n var scrollTarget = target;\r\n while ($(scrollTarget).scrollTop() == 0 && $(scrollTarget).parent()) {\r\n scrollTarget = $(scrollTarget).parent()\r\n }\r\n // Only scroll upward\r\n if (offset.top - 10 < $(scrollTarget).scrollTop()) {\r\n $(scrollTarget).animate({scrollTop: (offset.top - 10)}, 500);\r\n }\r\n // Call all callbacks.\r\n if (response.__callbacks) {\r\n $.each(response.__callbacks, function(i, callback) {\r\n eval(callback)(target, response);\r\n });\r\n }\r\n },\r\n error: function(xhr) { $(this).removeClass('views-throbbing'); Drupal.Views.Ajax.handleErrors(xhr, ajax_path); },\r\n dataType: 'json'\r\n });\r\n\r\n return false;\r\n });\r\n }); // .each function () {\r\n }); // $view.filter().each\r\n }); // .each Drupal.settings.views.ajaxViews\r\n } // if\r\n};\r\n;\n\nDrupal.settings.views = Drupal.settings.views || {'ajax_path': 'views/ajax'};\n\nDrupal.behaviors.quicktabs = function (context) {\n $('.quicktabs_wrapper:not(.quicktabs-processed)', context).addClass('quicktabs-processed').each(function(){\n Drupal.quicktabs.prepare(this);\n });\n};\n\nDrupal.quicktabs = Drupal.quicktabs || {};\nDrupal.quicktabs.ajax = {};\nDrupal.quicktabs.scripts = {};\nDrupal.quicktabs.css = {};\n\n// setting up the inital behaviours\nDrupal.quicktabs.prepare = function(el) {\n var i = 0;\n // el.id format: \"quicktabs-$qtid\"\n var qtid = el.id.substring(el.id.indexOf('-') +1);\n\n $(el).find('ul.quicktabs_tabs li a').each(function(){\n this.myTabIndex = i++;\n this.qtid = qtid;\n $(this).unbind('click').bind('click', quicktabsClick);\n });\n\n // Search for the active tab.\n var $active_tab = $(el).children('.quicktabs_tabs').find('li.active a');\n\n if ($active_tab.hasClass('qt_tab') || $active_tab.hasClass('qt_ajax_tab')) {\n $active_tab.trigger('click');\n }\n else {\n // Click on the first tab.\n $(el).children('.quicktabs_tabs').find('li.first a').trigger('click');\n }\n return false;\n}\n\n// constructor for an individual tab\nDrupal.quicktabs.tab = function (el) {\n this.element = el;\n this.tabIndex = el.myTabIndex;\n this.qtid = el.qtid;\n var qtKey = 'qt_' + this.qtid;\n var i = 0;\n for (var key in Drupal.settings.quicktabs[qtKey].tabs) {\n if (i == this.tabIndex) {\n this.tabObj = Drupal.settings.quicktabs[qtKey].tabs[key];\n this.tabKey = key;\n }\n i++;\n }\n this.tabpage_id = 'quicktabs_tabpage_' + this.qtid + '_' + this.tabKey;\n this.container = $('#quicktabs_container_' + this.qtid);\n this.tabpage = this.container.find('#' + this.tabpage_id);\n // The 'this' variable will not persist inside of the options object.\n var tab = this;\n this.options = {\n success: function(response) {\n return tab.success(response);\n },\n complete: function(response) {\n return tab.complete();\n }\n }\n}\n\n// ajax callback for non-views tabs\nDrupal.quicktabs.tab.prototype.success = function(response) {\n this.container.append(Drupal.theme('quicktabsResponse', this, response.data.content));\n $.extend(true, Drupal.settings, response.data.js_css.js_settings);\n Drupal.quicktabs.ajax.scripts(response.data.js_css.js_files);\n Drupal.quicktabs.ajax.css_files(response.data.js_css.css_files);\n Drupal.attachBehaviors(this.container);\n}\n\n// function to call on completed ajax call\n// for non-views tabs\nDrupal.quicktabs.tab.prototype.complete = function() {\n // stop the progress bar\n this.stopProgress();\n}\n\n\nDrupal.quicktabs.tab.prototype.stopProgress = function () {\n if (this.progress.element) {\n $(this.progress.element).remove();\n }\n $(this.element).removeClass('progress-disabled').attr('disabled', false);\n}\n\nDrupal.quicktabs.tab.prototype.startProgress = function () {\n var progressBar = new Drupal.progressBar('qt-progress-' + this.element.id, null, null, null);\n progressBar.setProgress(-1, Drupal.t('Loading'));\n this.progress = {};\n this.progress.element = $(progressBar.element).addClass('qt-progress qt-progress-bar');\n this.container.prepend(this.progress.element);\n}\n\nDrupal.quicktabs.tab.prototype.quicktabsAjaxView = function() {\n // Create an empty div for the tabpage. The generated view will be inserted into this.\n var tab = this;\n tab.container.append(Drupal.theme('quicktabsResponse', this, null));\n\n var target;\n target = $('#' + tab.tabpage_id + ' > div');\n var ajax_path = Drupal.settings.views.ajax_path;\n //If there are multiple views this might've ended up showing up multiple times.\n if (ajax_path.constructor.toString().indexOf(\"Array\") != -1) {\n ajax_path = ajax_path[0];\n }\n var args;\n if (tab.tabObj.args != '') {\n args = tab.tabObj.args.join('/');\n } else {\n args = '';\n }\n var viewData = {\n 'view_name': tab.tabObj.vid,\n 'view_display_id': tab.tabObj.display,\n 'view_args': args\n }\n $.ajax({\n url: ajax_path,\n type: 'GET',\n data: viewData,\n success: function(response) {\n // Call all callbacks.\n if (response.__callbacks) {\n $.each(response.__callbacks, function(i, callback) {\n eval(callback)(target, response);\n });\n }\n },\n complete: function() {\n tab.stopProgress();\n },\n error: function() { alert(Drupal.t(\"An error occurred at @path.\", {'@path': ajax_path})); },\n dataType: 'json'\n });\n}\n\nvar quicktabsClick = function() {\n\n var tab = new Drupal.quicktabs.tab(this);\n\n // Set clicked tab to active.\n $(this).parents('li').siblings().removeClass('active');\n $(this).parents('li').addClass('active');\n\n // Hide all tabpages.\n tab.container.children().addClass('quicktabs-hide');\n\n // Show the active tabpage.\n if (tab.tabpage.hasClass('quicktabs_tabpage')) {\n tab.tabpage.removeClass('quicktabs-hide');\n }\n else {\n if ($(this).hasClass('qt_ajax_tab')) {\n tab.startProgress();\n // Construct the ajax tabpage.\n if (tab.tabObj.type != 'view') {\n // construct the ajax path to retrieve the content, depending on type\n var qtAjaxPath = Drupal.settings.basePath + 'quicktabs/ajax/' + tab.tabObj.type + '/';\n switch (tab.tabObj.type) {\n case 'node':\n qtAjaxPath += tab.tabObj.nid + '/' + tab.tabObj.teaser + '/' + tab.tabObj.hide_title;\n break;\n case 'block':\n qtAjaxPath += tab.qtid + '/' + tab.tabObj.bid + '/' + tab.tabObj.hide_title;\n break;\n case 'qtabs':\n qtAjaxPath += tab.tabObj.qtid;\n break;\n }\n \n $.ajax({\n url: qtAjaxPath,\n type: 'GET',\n data: null,\n success: tab.options.success,\n complete: tab.options.complete,\n dataType: 'json'\n });\n }\n else {\n // special treatment for views\n tab.quicktabsAjaxView();\n }\n }\n }\n return false;\n}\n\n// theme function for ajax response\nDrupal.theme.prototype.quicktabsResponse = function(tab, content) {\n var newDiv = tab.tabObj.type == 'view' ? '<div id=\"' + tab.tabpage_id + '\" class=\"quicktabs_tabpage\"><div></div></div>' : '<div id=\"' + tab.tabpage_id + '\" class=\"quicktabs_tabpage\">' + content + '</div>';\n return newDiv;\n};\n\n\n/**\n * Quicktabs' implementation of merlinofchaos's CTools js magic for loading\n * required js files for ajax-loaded content\n */\nDrupal.quicktabs.ajax.scripts = function(files) {\n // Build a list of scripts already loaded:\n $('script').each(function () {\n Drupal.quicktabs.scripts[$(this).attr('src')] = $(this).attr('src');\n });\n\n var html = '';\n for (i in files) {\n // Load all files that aren't already present on the page, but make sure not\n // to add misc/jquery.js because this could override a newer version of\n // jQuery loaded by jQuery Update module.\n if (!Drupal.quicktabs.scripts[files[i]] && !files[i].match(/^\\/misc\\/jquery\\.js.*$/)) {\n Drupal.quicktabs.scripts[files[i]] = files[i];\n html += '<script type=\"text/javascript\" src=\"' + files[i] + '\"></script>';\n }\n }\n\n if (html) {\n $('body').append($(html));\n }\n};\n\n/**\n * Quicktabs' implementation of merlinofchaos's CTools js magic for loading\n * required css files for ajax-loaded content\n */\nDrupal.quicktabs.ajax.css_files = function(files) {\n // Build a list of css files already loaded:\n\n $('link:not(.qt-temporary-css)').each(function () {\n if ($(this).attr('type') == 'text/css') {\n Drupal.quicktabs.css[$(this).attr('href')] = $(this).attr('href');\n }\n });\n\n var html = '';\n for (i in files) {\n if (!Drupal.quicktabs.css[files[i].file]) {\n html += '<link class=\"qt-temporary-css\" type=\"text/css\" rel=\"stylesheet\" media=\"' + files[i].media +\n '\" href=\"' + files[i].file + '\" />';\n }\n }\n\n if (html) {\n $('link.ctools-temporary-css').remove();\n $('body').append($(html));\n }\n};\n;\n/*\n * jQuery Form Plugin\n * version: 2.25 (08-APR-2009)\n * @requires jQuery v1.2.2 or later\n * @note This has been modified for ajax.module\n * Examples and documentation at: http://malsup.com/jquery/form/\n * Dual licensed under the MIT and GPL licenses:\n * http://www.opensource.org/licenses/mit-license.php\n * http://www.gnu.org/licenses/gpl.html\n */\neval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}(';(5($){$.B.1s=5(u){2(!4.G){R(\\'1b: 2M 9 2N - 2O 2P 1t\\');6 4}2(S u==\\'5\\')u={T:u};3 v=4.14(\\'1c\\')||1d.2Q.2R;v=(v.2S(/^([^#]+)/)||[])[1];v=v||\\'\\';u=$.1n({1e:v,H:4.14(\\'1u\\')||\\'1Q\\'},u||{});3 w={};4.L(\\'C-1R-1S\\',[4,u,w]);2(w.1T){R(\\'1b: 9 1U 1o C-1R-1S L\\');6 4}2(u.1v&&u.1v(4,u)===I){R(\\'1b: 9 1f 1o 1v 1V\\');6 4}3 a=4.1w(u.2T);2(u.J){u.O=u.J;K(3 n 1x u.J){2(u.J[n]2U 15){K(3 k 1x u.J[n])a.D({7:n,8:u.J[n][k]})}E a.D({7:n,8:u.J[n]})}}2(u.1y&&u.1y(a,4,u)===I){R(\\'1b: 9 1f 1o 1y 1V\\');6 4}4.L(\\'C-9-1W\\',[a,4,u,w]);2(w.1T){R(\\'1b: 9 1U 1o C-9-1W L\\');6 4}3 q=$.1z(a);2(u.H.2V()==\\'1Q\\'){u.1e+=(u.1e.2W(\\'?\\')>=0?\\'&\\':\\'?\\')+q;u.J=F}E u.J=q;3 x=4,V=[];2(u.2X)V.D(5(){x.1X()});2(u.2Y)V.D(5(){x.1Y()});2(!u.16&&u.17){3 y=u.T||5(){};V.D(5(a){$(u.17).2Z(a).P(y,1Z)})}E 2(u.T)V.D(u.T);u.T=5(a,b){K(3 i=0,M=V.G;i<M;i++)V[i].30(u,[a,b,x])};3 z=$(\\'W:31\\',4).18();3 A=I;K(3 j=0;j<z.G;j++)2(z[j])A=Q;2(u.20||A){2(u.21)$.32(u.21,1A);E 1A()}E $.33(u);4.L(\\'C-9-34\\',[4,u]);6 4;5 1A(){3 h=x[0];2($(\\':W[7=9]\\',h).G){35(\\'36: 37 22 38 39 3a 3b \"9\".\\');6}3 i=$.1n({},$.23,u);3 s=$.1n(Q,{},$.1n(Q,{},$.23),i);3 j=\\'3c\\'+(1B 3d().3e());3 k=$(\\'<20 3f=\"\\'+j+\\'\" 7=\"\\'+j+\\'\" 24=\"25:26\" />\\');3 l=k[0];k.3g({3h:\\'3i\\',27:\\'-28\\',29:\\'-28\\'});3 m={1f:0,19:F,1g:F,3j:0,3k:\\'n/a\\',3l:5(){},2a:5(){},3m:5(){},3n:5(){4.1f=1;k.14(\\'24\\',\\'25:26\\')}};3 g=i.2b;2(g&&!$.1C++)$.1h.L(\"3o\");2(g)$.1h.L(\"3p\",[m,i]);2(s.2c&&s.2c(m,s)===I){s.2b&&$.1C--;6}2(m.1f)6;3 o=0;3 p=0;3 q=h.U;2(q){3 n=q.7;2(n&&!q.1i){u.O=u.O||{};u.O[n]=q.8;2(q.H==\"X\"){u.O[7+\\'.x\\']=h.Y;u.O[7+\\'.y\\']=h.Z}}}1j(5(){3 t=x.14(\\'17\\'),a=x.14(\\'1c\\');h.1k(\\'17\\',j);2(h.2d(\\'1u\\')!=\\'2e\\')h.1k(\\'1u\\',\\'2e\\');2(h.2d(\\'1c\\')!=i.1e)h.1k(\\'1c\\',i.1e);2(!u.3q){x.14({3r:\\'2f/C-J\\',3s:\\'2f/C-J\\'})}2(i.1D)1j(5(){p=Q;11()},i.1D);3 b=[];2g{2(u.O)K(3 n 1x u.O)b.D($(\\'<W H=\"3t\" 7=\"\\'+n+\\'\" 8=\"\\'+u.O[n]+\\'\" />\\').2h(h)[0]);k.2h(\\'1l\\');l.2i?l.2i(\\'2j\\',11):l.3u(\\'2k\\',11,I);h.9()}3v{h.1k(\\'1c\\',a);t?h.1k(\\'17\\',t):x.3w(\\'17\\');$(b).2l()}},10);3 r=0;5 11(){2(o++)6;l.2m?l.2m(\\'2j\\',11):l.3x(\\'2k\\',11,I);3 c=Q;2g{2(p)3y\\'1D\\';3 d,N;N=l.2n?l.2n.2o:l.2p?l.2p:l.2o;2((N.1l==F||N.1l.2q==\\'\\')&&!r){r=1;o--;1j(11,2r);6}m.19=N.1l?N.1l.2q:F;m.1g=N.2s?N.2s:N;m.2a=5(a){3 b={\\'3z-H\\':i.16};6 b[a]};2(i.16==\\'3A\\'||i.16==\\'3B\\'){3 f=N.1E(\\'1F\\')[0];m.19=f?f.8:m.19}E 2(i.16==\\'2t\\'&&!m.1g&&m.19!=F){m.1g=2u(m.19)}d=$.3C(m,i.16)}3D(e){c=I;$.3E(i,m,\\'2v\\',e)}2(c){i.T(d,\\'T\\');2(g)$.1h.L(\"3F\",[m,i])}2(g)$.1h.L(\"3G\",[m,i]);2(g&&!--$.1C)$.1h.L(\"3H\");2(i.2w)i.2w(m,c?\\'T\\':\\'2v\\');1j(5(){k.2l();m.1g=F},2r)};5 2u(s,a){2(1d.2x){a=1B 2x(\\'3I.3J\\');a.3K=\\'I\\';a.3L(s)}E a=(1B 3M()).3N(s,\\'1G/2t\\');6(a&&a.2y&&a.2y.1p!=\\'3O\\')?a:F}}};$.B.3P=5(c){6 4.2z().2A(\\'9.C-1q\\',5(){$(4).1s(c);6 I}).P(5(){$(\":9,W:X\",4).2A(\\'2B.C-1q\\',5(e){3 a=4.C;a.U=4;2(4.H==\\'X\\'){2(e.2C!=12){a.Y=e.2C;a.Z=e.3Q}E 2(S $.B.2D==\\'5\\'){3 b=$(4).2D();a.Y=e.2E-b.29;a.Z=e.2F-b.27}E{a.Y=e.2E-4.3R;a.Z=e.2F-4.3S}}1j(5(){a.U=a.Y=a.Z=F},10)})})};$.B.2z=5(){4.2G(\\'9.C-1q\\');6 4.P(5(){$(\":9,W:X\",4).2G(\\'2B.C-1q\\')})};$.B.1w=5(b){3 a=[];2(4.G==0)6 a;3 c=4[0];3 d=b?c.1E(\\'*\\'):c.22;2(!d)6 a;K(3 i=0,M=d.G;i<M;i++){3 e=d[i];3 n=e.7;2(!n)1H;2(b&&c.U&&e.H==\"X\"){2(!e.1i&&c.U==e)a.D({7:n+\\'.x\\',8:c.Y},{7:n+\\'.y\\',8:c.Z});1H}3 v=$.18(e,Q);2(v&&v.1r==15){K(3 j=0,2H=v.G;j<2H;j++)a.D({7:n,8:v[j]})}E 2(v!==F&&S v!=\\'12\\')a.D({7:n,8:v})}2(!b&&c.U){3 f=c.1E(\"W\");K(3 i=0,M=f.G;i<M;i++){3 g=f[i];3 n=g.7;2(n&&!g.1i&&g.H==\"X\"&&c.U==g)a.D({7:n+\\'.x\\',8:c.Y},{7:n+\\'.y\\',8:c.Z})}}6 a};$.B.3T=5(a){6 $.1z(4.1w(a))};$.B.3U=5(b){3 a=[];4.P(5(){3 n=4.7;2(!n)6;3 v=$.18(4,b);2(v&&v.1r==15){K(3 i=0,M=v.G;i<M;i++)a.D({7:n,8:v[i]})}E 2(v!==F&&S v!=\\'12\\')a.D({7:4.7,8:v})});6 $.1z(a)};$.B.18=5(a){K(3 b=[],i=0,M=4.G;i<M;i++){3 c=4[i];3 v=$.18(c,a);2(v===F||S v==\\'12\\'||(v.1r==15&&!v.G))1H;v.1r==15?$.3V(b,v):b.D(v)}6 b};$.18=5(b,c){3 n=b.7,t=b.H,1a=b.1p.1I();2(S c==\\'12\\')c=Q;2(c&&(!n||b.1i||t==\\'1m\\'||t==\\'3W\\'||(t==\\'1J\\'||t==\\'1K\\')&&!b.1L||(t==\\'9\\'||t==\\'X\\')&&b.C&&b.C.U!=b||1a==\\'13\\'&&b.1M==-1))6 F;2(1a==\\'13\\'){3 d=b.1M;2(d<0)6 F;3 a=[],1N=b.3X;3 e=(t==\\'13-2I\\');3 f=(e?d+1:1N.G);K(3 i=(e?d:0);i<f;i++){3 g=1N[i];2(g.1t){3 v=g.8;2(!v)v=(g.1O&&g.1O[\\'8\\']&&!(g.1O[\\'8\\'].3Y))?g.1G:g.8;2(e)6 v;a.D(v)}}6 a}6 b.8};$.B.1Y=5(){6 4.P(5(){$(\\'W,13,1F\\',4).2J()})};$.B.2J=$.B.3Z=5(){6 4.P(5(){3 t=4.H,1a=4.1p.1I();2(t==\\'1G\\'||t==\\'40\\'||1a==\\'1F\\')4.8=\\'\\';E 2(t==\\'1J\\'||t==\\'1K\\')4.1L=I;E 2(1a==\\'13\\')4.1M=-1})};$.B.1X=5(){6 4.P(5(){2(S 4.1m==\\'5\\'||(S 4.1m==\\'41\\'&&!4.1m.42))4.1m()})};$.B.43=5(b){2(b==12)b=Q;6 4.P(5(){4.1i=!b})};$.B.2K=5(b){2(b==12)b=Q;6 4.P(5(){3 t=4.H;2(t==\\'1J\\'||t==\\'1K\\')4.1L=b;E 2(4.1p.1I()==\\'2L\\'){3 a=$(4).44(\\'13\\');2(b&&a[0]&&a[0].H==\\'13-2I\\'){a.45(\\'2L\\').2K(I)}4.1t=b}})};5 R(){2($.B.1s.46&&1d.1P&&1d.1P.R)1d.1P.R(\\'[47.C] \\'+15.48.49.4a(1Z,\\'\\'))}})(4b);',62,260,'||if|var|this|function|return|name|value|submit||||||||||||||||||||||||||||fn|form|push|else|null|length|type|false|data|for|trigger|max|doc|extraData|each|true|log|typeof|success|clk|callbacks|input|image|clk_x|clk_y||cb|undefined|select|attr|Array|dataType|target|a_fieldValue|responseText|tag|ajaxSubmit|action|window|url|aborted|responseXML|event|disabled|setTimeout|setAttribute|body|reset|extend|via|tagName|plugin|constructor|a_ajaxSubmit|selected|method|beforeSerialize|a_formToArray|in|beforeSubmit|param|fileUpload|new|active|timeout|getElementsByTagName|textarea|text|continue|toLowerCase|checkbox|radio|checked|selectedIndex|ops|attributes|console|GET|pre|serialize|veto|vetoed|callback|validate|a_resetForm|a_clearForm|arguments|iframe|closeKeepAlive|elements|ajaxSettings|src|about|blank|top|1000px|left|getResponseHeader|global|beforeSend|getAttribute|POST|multipart|try|appendTo|attachEvent|onload|load|remove|detachEvent|contentWindow|document|contentDocument|innerHTML|100|XMLDocument|xml|toXml|error|complete|ActiveXObject|documentElement|a_ajaxFormUnbind|bind|click|offsetX|offset|pageX|pageY|unbind|jmax|one|a_clearFields|a_selected|option|skipping|process|no|element|location|href|match|semantic|instanceof|toUpperCase|indexOf|resetForm|clearForm|html|apply|file|get|ajax|notify|alert|Error|Form|must|not|be|named|jqFormIO|Date|getTime|id|css|position|absolute|status|statusText|getAllResponseHeaders|setRequestHeader|abort|ajaxStart|ajaxSend|skipEncodingOverride|encoding|enctype|hidden|addEventListener|finally|removeAttr|removeEventListener|throw|content|json|script|httpData|catch|handleError|ajaxSuccess|ajaxComplete|ajaxStop|Microsoft|XMLDOM|async|loadXML|DOMParser|parseFromString|parsererror|a_ajaxForm|offsetY|offsetLeft|offsetTop|a_formSerialize|a_fieldSerialize|merge|button|options|specified|a_clearInputs|password|object|nodeType|a_enable|parent|find|debug|jquery|prototype|join|call|jQuery'.split('|'),0,{}));\n/**\n * Automatic ajax validation\n *\n * @see http://drupal.org/project/ajax\n * @see irc://freenode.net/#drupy\n * @depends Drupal 6\n * @author brendoncrawford\n * @note This file uses a 79 character width limit.\n * \n *\n */\n\nDrupal.Ajax = new Object;\n\nDrupal.Ajax.plugins = {};\n\nDrupal.Ajax.firstRun = false;\n\n/**\n * Init function.\n * This is being executed by Drupal behaviours.\n * See bottom of script.\n * \n * @param {HTMLElement} context\n * @return {Bool}\n */\nDrupal.Ajax.init = function(context) {\n var f, s;\n if (f = $('.ajax-form', context)) {\n if (!Drupal.Ajax.firstRun) {\n Drupal.Ajax.invoke('init');\n Drupal.Ajax.firstRun = true;\n }\n s = $('input[type=\"submit\"]', f);\n s.click(function(){\n this.form.ajax_activator = $(this);\n return true;\n });\n f.each(function(){\n this.ajax_activator = null;\n $(this).submit(function(){\n if (this.ajax_activator === null) {\n this.ajax_activator = $('#edit-submit', this);\n }\n if (this.ajax_activator.hasClass('ajax-trigger')) {\n Drupal.Ajax.go($(this), this.ajax_activator);\n return false;\n }\n else {\n return true;\n }\n });\n return true;\n });\n }\n return true;\n};\n\n/**\n * Invokes plugins\n * \n * @param {Object} formObj\n * @param {Object} submitter\n */\nDrupal.Ajax.invoke = function(hook, args) {\n var plugin, r, ret;\n ret = true;\n for (plugin in Drupal.Ajax.plugins) {\n r = Drupal.Ajax.plugins[plugin](hook, args);\n if (r === false) {\n ret = false;\n }\n }\n return ret;\n};\n\n/**\n * Handles submission\n * \n * @param {Object} submitter_\n * @return {Bool}\n */\nDrupal.Ajax.go = function(formObj, submitter) {\n var submitterVal, submitterName, extraData;\n Drupal.Ajax.invoke('submit', {submitter:submitter});\n submitterVal = submitter.val();\n submitterName = submitter.attr('name');\n submitter.val(Drupal.t('Loading...'));\n extraData = {};\n extraData[submitterName] = submitterVal;\n extraData['drupal_ajax'] = '1';\n formObj.a_ajaxSubmit({\n extraData : extraData,\n beforeSubmit : function(data) {\n data[data.length] = {\n name : submitterName,\n value : submitterVal\n };\n data[data.length] = {\n name : 'drupal_ajax',\n value : '1'\n };\n return true;\n },\n dataType : 'json',\n error: function (XMLHttpRequest, textStatus, errorThrown) {\n window.alert(Drupal.t('ajax.module: An unknown error has occurred.'));\n if (window.console) {\n console.log('error', arguments);\n }\n return true;\n },\n success: function(data){\n submitter.val(submitterVal);\n Drupal.Ajax.response(submitter, formObj, data);\n return true;\n }\n });\n return false;\n};\n\n/**\n * Handles messaging\n * \n * @param {Object} formObj\n * @param {Object} submitter\n * @param {Object} data\n * @param {Object} options\n * @return {Bool}\n */\nDrupal.Ajax.message = function(formObj, submitter, data, options) {\n var args;\n data.local = {\n submitter : submitter,\n form : formObj\n };\n if (Drupal.Ajax.invoke('message', data)) {\n Drupal.Ajax.writeMessage(data.local.form, data.local.submitter, options);\n Drupal.Ajax.invoke('afterMessage', data);\n }\n return true;\n};\n\n/**\n * Writes message\n * \n * @param {Object} formObj\n * @param {Object} submitter\n * @param {Object} options\n * @return {Bool}\n */\nDrupal.Ajax.writeMessage = function(formObj, submitter, options) {\n var i, _i, thisItem, log, errBox, h, data;\n if (options.action === 'notify') {\n // Cleanups\n $('.messages, .ajax-preview', formObj).remove();\n $('input, textarea').removeClass('error status warning required');\n // Preview\n if (options.type === 'preview') {\n log = $('<div>').addClass('ajax-preview');\n log.html(options.messages);\n formObj.prepend(log);\n }\n // Status, Error, Message\n else {\n log = $('<ul>');\n errBox = $(\".messages.\" + options.type, formObj[0])\n for (i = 0, _i = options.messages.length; i < _i; i++) {\n thisItem = $('#' + options.messages[i].id, formObj[0])\n thisItem.addClass(options.type);\n if (options.messages[i].required) {\n thisItem.addClass('required');\n }\n log.append('<li>' + options.messages[i].value + '</li>');\n }\n if (errBox.length === 0) {\n errBox = $(\"<div class='messages \" + options.type + \"'>\");\n formObj.prepend(errBox);\n }\n errBox.html(log);\n }\n }\n else if (options.action === 'clear') {\n $('.messages, .ajax-preview', formObj).remove();\n }\n return true;\n};\n\n/**\n * Updates message containers\n * \n * @param {Object} updaters\n * @return {Bool}\n */\nDrupal.Ajax.updater = function(updaters) {\n var i, _i, elm;\n for (i = 0, _i = updaters.length; i < _i; i++) {\n elm = $(updaters[i].selector);\n // HTML:IN\n if (updaters[i].type === 'html_in') {\n elm.html(updaters[i].value);\n }\n // HTML:OUT\n else if (updaters[i].type === 'html_out') {\n elm.replaceWith(updaters[i].value);\n }\n // FIELD\n else if (updaters[i].type === 'field') {\n elm.val(updaters[i].value);\n }\n // REMOVE\n else if(updaters[i].type === 'remove') {\n elm.remove();\n }\n }\n return true;\n};\n\n/**\n * Handles data response\n * \n * @param {Object} submitter\n * @param {Object} formObj\n * @param {Object} data\n * @return {Bool}\n */\nDrupal.Ajax.response = function(submitter, formObj, data){\n var newSubmitter;\n data.local = {\n submitter : submitter,\n form : formObj\n };\n /**\n * Failure\n */\n if (data.status === false) {\n Drupal.Ajax.updater(data.updaters);\n Drupal.Ajax.message(formObj, submitter, data, {\n action : 'notify',\n messages : data.messages_error,\n type : 'error'\n });\n }\n /**\n * Success\n */\n else {\n // Display preview\n if (data.preview !== null) {\n Drupal.Ajax.updater(data.updaters);\n Drupal.Ajax.message(formObj, submitter, data, {\n action : 'notify',\n messages : decodeURIComponent(data.preview),\n type : 'preview'\n });\n }\n // If no redirect, then simply show messages\n else if (data.redirect === null) {\n if (data.messages_status.length > 0) {\n Drupal.Ajax.message(formObj, submitter, data, {\n action : 'notify',\n messages : data.messages_status,\n type : 'status'\n });\n }\n if (data.messages_warning.length > 0) {\n Drupal.Ajax.message(formObj, submitter, data, {\n action : 'notify',\n messages : data.messages_warning,\n type : 'warning'\n });\n }\n if (data.messages_status.length === 0 &&\n data.messages_warning.length === 0) {\n Drupal.Ajax.message(formObj, submitter, data, {action:'clear'});\n }\n }\n // Redirect\n else {\n if (Drupal.Ajax.invoke('redirect', data)) {\n Drupal.Ajax.redirect( data.redirect );\n }\n else {\n Drupal.Ajax.updater(data.updaters);\n if (data.messages_status.length === 0 &&\n data.messages_warning.length === 0) {\n Drupal.Ajax.message(formObj, submitter, data, {action:'clear'});\n }\n else {\n Drupal.Ajax.message(formObj, submitter, data, {\n action : 'notify',\n messages : data.messages_status,\n type : 'status'\n });\n }\n }\n }\n }\n return true;\n};\n\n\n/**\n * Redirects to appropriate page\n * \n * @todo\n * Some of this functionality should possibly hapen on\n * the server instead of client.\n * @param {String} url\n */\nDrupal.Ajax.redirect = function(url) {\n window.location.href = url;\n};\n\nDrupal.behaviors.Ajax = Drupal.Ajax.init;\n\n\n;\n// tipsy, facebook style tooltips for jquery\r\n// version 1.0.0a\r\n// (c) 2008-2010 jason frame [[email protected]]\r\n// released under the MIT license\r\n\r\n(function($) {\r\n \r\n function Tipsy(element, options) {\r\n this.$element = $(element);\r\n this.options = options;\r\n this.enabled = true;\r\n this.fixTitle();\r\n }\r\n \r\n Tipsy.prototype = {\r\n show: function() {\r\n var title = this.getTitle();\r\n if (title && this.enabled) {\r\n var $tip = this.tip();\r\n \r\n $tip.find('.tipsy-inner')[this.options.html ? 'html' : 'text'](title);\r\n $tip[0].className = 'tipsy'; // reset classname in case of dynamic gravity\r\n $tip.remove().css({top: 0, left: 0, visibility: 'hidden', display: 'block'}).appendTo(document.body);\r\n \r\n var pos = $.extend({}, this.$element.offset(), {\r\n width: this.$element[0].offsetWidth,\r\n height: this.$element[0].offsetHeight\r\n });\r\n \r\n var actualWidth = $tip[0].offsetWidth, actualHeight = $tip[0].offsetHeight;\r\n var gravity = (typeof this.options.gravity == 'function')\r\n ? this.options.gravity.call(this.$element[0])\r\n : this.options.gravity;\r\n \r\n var tp;\r\n switch (gravity.charAt(0)) {\r\n case 'n':\r\n tp = {top: pos.top + pos.height + this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};\r\n break;\r\n case 's':\r\n tp = {top: pos.top - actualHeight - this.options.offset, left: pos.left + pos.width / 2 - actualWidth / 2};\r\n break;\r\n case 'e':\r\n tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth - this.options.offset};\r\n break;\r\n case 'w':\r\n tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width + this.options.offset};\r\n break;\r\n }\r\n \r\n if (gravity.length == 2) {\r\n if (gravity.charAt(1) == 'w') {\r\n tp.left = pos.left + pos.width / 2 - 15;\r\n } else {\r\n tp.left = pos.left + pos.width / 2 - actualWidth + 15;\r\n }\r\n }\r\n \r\n $tip.css(tp).addClass('tipsy-' + gravity);\r\n \r\n if (this.options.fade) {\r\n $tip.stop().css({opacity: 0, display: 'block', visibility: 'visible'}).animate({opacity: this.options.opacity});\r\n } else {\r\n $tip.css({visibility: 'visible', opacity: this.options.opacity});\r\n }\r\n }\r\n },\r\n \r\n hide: function() {\r\n if (this.options.fade) {\r\n this.tip().stop().fadeOut(function() { $(this).remove(); });\r\n } else {\r\n this.tip().remove();\r\n }\r\n },\r\n \r\n fixTitle: function() {\r\n var $e = this.$element;\r\n if ($e.attr('title') || typeof($e.attr('original-title')) != 'string') {\r\n $e.attr('original-title', $e.attr('title') || '').removeAttr('title');\r\n }\r\n },\r\n \r\n getTitle: function() {\r\n var title, $e = this.$element, o = this.options;\r\n this.fixTitle();\r\n var title, o = this.options;\r\n if (typeof o.title == 'string') {\r\n title = $e.attr(o.title == 'title' ? 'original-title' : o.title);\r\n } else if (typeof o.title == 'function') {\r\n title = o.title.call($e[0]);\r\n }\r\n title = ('' + title).replace(/(^\\s*|\\s*$)/, \"\");\r\n return title || o.fallback;\r\n },\r\n \r\n tip: function() {\r\n if (!this.$tip) {\r\n this.$tip = $('<div class=\"tipsy\"></div>').html('<div class=\"tipsy-arrow\"></div><div class=\"tipsy-inner\"></div>');\r\n }\r\n return this.$tip;\r\n },\r\n \r\n validate: function() {\r\n if (!this.$element[0].parentNode) {\r\n this.hide();\r\n this.$element = null;\r\n this.options = null;\r\n }\r\n },\r\n \r\n enable: function() { this.enabled = true; },\r\n disable: function() { this.enabled = false; },\r\n toggleEnabled: function() { this.enabled = !this.enabled; }\r\n };\r\n \r\n $.fn.tipsy = function(options) {\r\n \r\n if (options === true) {\r\n return this.data('tipsy');\r\n } else if (typeof options == 'string') {\r\n var tipsy = this.data('tipsy');\r\n if (tipsy) tipsy[options]();\r\n return this;\r\n }\r\n \r\n options = $.extend({}, $.fn.tipsy.defaults, options);\r\n \r\n function get(ele) {\r\n var tipsy = $.data(ele, 'tipsy');\r\n if (!tipsy) {\r\n tipsy = new Tipsy(ele, $.fn.tipsy.elementOptions(ele, options));\r\n $.data(ele, 'tipsy', tipsy);\r\n }\r\n return tipsy;\r\n }\r\n \r\n function enter() {\r\n var tipsy = get(this);\r\n tipsy.hoverState = 'in';\r\n if (options.delayIn == 0) {\r\n tipsy.show();\r\n } else {\r\n tipsy.fixTitle();\r\n setTimeout(function() { if (tipsy.hoverState == 'in') tipsy.show(); }, options.delayIn);\r\n }\r\n };\r\n \r\n function leave() {\r\n var tipsy = get(this);\r\n tipsy.hoverState = 'out';\r\n if (options.delayOut == 0) {\r\n tipsy.hide();\r\n } else {\r\n setTimeout(function() { if (tipsy.hoverState == 'out') tipsy.hide(); }, options.delayOut);\r\n }\r\n };\r\n \r\n if (!options.live) this.each(function() { get(this); });\r\n \r\n if (options.trigger != 'manual') {\r\n var binder = options.live ? 'live' : 'bind',\r\n eventIn = options.trigger == 'hover' ? 'mouseenter' : 'focus',\r\n eventOut = options.trigger == 'hover' ? 'mouseleave' : 'blur';\r\n this[binder](eventIn, enter)[binder](eventOut, leave);\r\n }\r\n \r\n return this;\r\n \r\n };\r\n \r\n $.fn.tipsy.defaults = {\r\n delayIn: 0,\r\n delayOut: 0,\r\n fade: false,\r\n fallback: '',\r\n gravity: 'n',\r\n html: false,\r\n live: false,\r\n offset: 0,\r\n opacity: 0.8,\r\n title: 'title',\r\n trigger: 'hover'\r\n };\r\n \r\n // Overwrite this method to provide options on a per-element basis.\r\n // For example, you could store the gravity in a 'tipsy-gravity' attribute:\r\n // return $.extend({}, options, {gravity: $(ele).attr('tipsy-gravity') || 'n' });\r\n // (remember - do not modify 'options' in place!)\r\n $.fn.tipsy.elementOptions = function(ele, options) {\r\n return $.metadata ? $.extend({}, options, $(ele).metadata()) : options;\r\n };\r\n \r\n $.fn.tipsy.autoNS = function() {\r\n return $(this).offset().top > ($(document).scrollTop() + $(window).height() / 2) ? 's' : 'n';\r\n };\r\n \r\n $.fn.tipsy.autoWE = function() {\r\n return $(this).offset().left > ($(document).scrollLeft() + $(window).width() / 2) ? 'e' : 'w';\r\n };\r\n \r\n})(jQuery);\r\n;\n/**\r\n * Phyrtual :: JS :: Common\r\n */\r\n\r\n$(document).ready(function(){\r\n // $('html').addClass('phyrtual');\r\n\r\n // Google Chrome Frame\r\n /*\r\n if('object' == typeof CFInstall) {\r\n CFInstall.check({\r\n mode: \"overlay\"\r\n });\r\n }\r\n */\r\n\r\n // External links handling\r\n /*\r\n $('a[href^=\"http://\"]')\r\n .addClass('external-link')\r\n .attr({\r\n target: '_blank',\r\n rel: 'external',\r\n title: Drupal.t('Opens in a new window')\r\n }); // .append(\" »\");\r\n */\r\n\r\n $('a.tooltip, a.tooltip-ns').tipsy({\r\n fade: true,\r\n gravity: $.fn.tipsy.autoNS\r\n });\r\n $('a.tooltip-we').tipsy({\r\n fade: true,\r\n gravity: $.fn.tipsy.autoWE\r\n });\r\n $('a.tooltip-w, .brand').tipsy({\r\n fade: true,\r\n gravity: 'w'\r\n });\r\n\r\n // Display popups in with colorbox! ;)\r\n\r\n $.fn.colorbox.settings.close = Drupal.t('Close');\r\n\r\n $('.popups').colorbox({\r\n minWidth: '720px',\r\n maxWidth: '960px',\r\n opacity: 0.6,\r\n title: function() { return $(this).text(); },\r\n href: function() { return $(this).attr('href') + ' div.content'; }\r\n });\r\n $('.popups-form').colorbox({\r\n minWidth: '720px',\r\n maxWidth: '960px',\r\n opacity: 0.6,\r\n title: function() { return $(this).text(); },\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n preloading: true,\r\n onComplete: function() {\r\n $('div.content input#edit-submit').submit(function() {\r\n $.colorbox.resize();\r\n });\r\n $.colorbox.resize();\r\n }\r\n });\r\n\r\n $('.signup').colorbox({\r\n title: function() { return $(this).text(); },\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n onComplete: function() {\r\n $('.user-register-form a').colorbox({\r\n title: function() { return $(this).text(); },\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n onComplete: function() {\r\n $.colorbox.resize();\r\n },\r\n preloading: true\r\n });\r\n },\r\n preloading: true\r\n });\r\n\r\n $('.facebook_status_edit_delete a', '.logged-in').colorbox({\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n preloading: true\r\n });\r\n\r\n // Project zone effects and tooltips\r\n $('.views-row', '.view-phyrtual-zone-projects').hover(\r\n function() { $(this).addClass('over'); },\r\n function() { $(this).removeClass('over'); }\r\n )\r\n .click(function(){\r\n window.location.href = $(this).find('.views-field-title a').attr('href');\r\n })\r\n .tipsy({\r\n fade: true,\r\n gravity: $.fn.tipsy.autoNS,\r\n title: function(){ return $(this).find('.views-field-description').text(); }\r\n });\r\n\r\n // Messages\r\n $('.messages', '#extras #messages')\r\n .prepend('<a class=\"close\" style=\"float:right;color:#666;text-decoration:none\" href=\"#messages-close\">x</a>')\r\n .find('.close')\r\n .click(function(){\r\n $(this).fadeOut(100).parent('.messages').fadeOut(500);\r\n return false;\r\n });\r\n\r\n // Message Actions\r\n $('.message-actions a').colorbox({\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n preloading: true\r\n });\r\n\r\n // Comments\r\n var commentTip = Drupal.t('Write a comment...');\r\n $('label[for=edit-comment]').html(commentTip).show();\r\n $('#edit-comment', '#comment-form')\r\n // .autogrow({ expandTolerance: 2 })\r\n .css('color', '#888')\r\n .focus(function(e) {\r\n $(this).css('color', '#444');\r\n }).keyup(function(e) {\r\n if(e.which == 13 && $(this).val().length > 0) {\r\n // $('#edit-submit').submit();\r\n return false;\r\n }\r\n });\r\n\r\n // Common togglers\r\n $('a.toggle').click(function(){\r\n $(this).next('div.wrapper').slideToggle();\r\n return false;\r\n });\r\n\r\n}); // -- $(document).ready()\r\n\r\n// Balance height of some selected items\r\n/** @TODO: optimize me!! */\r\n$.fn.balanceHeight = function(arg) {\r\n if (arg == null) {\r\n arg = {\r\n min: 0\r\n };\r\n }\r\n\r\n var max = 0;\r\n\r\n this.each(function() {\r\n max = Math.max(max, $(this).height());\r\n });\r\n\r\n if (max < arg.min) {\r\n max = arg.min;\r\n }\r\n\r\n this.each(function() {\r\n $(this).height(max);\r\n });\r\n}; // -- balanceHeight\r\n\r\n// Delay plugin for jQuery < 1.4\r\n$.fn.delayedExec = function(time, name) {\r\n return this.queue((name || \"fx\"), function(){\r\n var self = this;\r\n setTimeout(function(){ $.dequeue(self); }, time);\r\n });\r\n}; // --\r\n\r\nif (typeof Drupal.wysiwyg == 'object') {\r\n Drupal.wysiwyg.editor.attach.tinymceBase = Drupal.wysiwyg.editor.attach.tinymce;\r\n Drupal.wysiwyg.editor.attach.tinymce = function(context, params, settings) {\r\n // Don't add TinyMCE on comment fields.\r\n if(params.field == 'edit-comment'){\r\n return;\r\n }\r\n Drupal.wysiwyg.editor.attach.tinymceBase(context, params, settings);\r\n }\r\n}\r\n;\n/**\r\n * Phyrtual :: JS :: Project\r\n */\r\n\r\n$(document).ready(function(){\r\n $('.category').tipsy({\r\n fade: true,\r\n gravity: 'w'\r\n });\r\n\r\n // admin menu toggler\r\n $('a.menu-toggle').click(function(){\r\n $(this).next('ul.admin-menu').slideToggle();\r\n return false;\r\n });\r\n $('a.create-content').click(function(){\r\n $('.project-manager-menu a.menu-toggle').click();\r\n });\r\n\r\n // collapsible create-menu areas\r\n var $areas = $('.create-menu .area-title', '.project-manager-menu');\r\n $areas.addClass('clickable').next('.group-block').hide();\r\n $areas.click(function(){\r\n $(this).parent().parent().find('.group-block').filter(':not(ul:eq(' + $(this).parent().parent().find('ul.group-block').index($(this).next('.group-block')) + '))').filter(':visible').slideToggle('fast');\r\n $(this).next('.group-block').slideToggle('fast');\r\n });\r\n\r\n // foreign links contribution suggestion\r\n /*\r\n $('.foreign a', '.project-manager-menu, .project-menu-combined').click(function(e) {\r\n e.preventDefault();\r\n var $a = $(this);\r\n $.colorbox({\r\n open: true,\r\n maxWidth: '480px',\r\n minHeight: '180px',\r\n title: Drupal.t('Contribute!'),\r\n html: '<p class=\"contribute\">' +\r\n Drupal.t('If you wish to donate or draw our attention to a useful application like %app, please <a href=\"mailto:!email\">send us an email</a>.',\r\n { '%app': $a.text(), '!email': '[email protected]' }) +\r\n '</br></br>' +\r\n Drupal.t('Continue to !applink website.', { '!applink': '<a class=\"go-to\" href=\"'+ $a.get(0) +'\" target=\"_blank\">'+ $a.text() +\"</a>\" }) +\r\n '</p>',\r\n onComplete: function() {\r\n $.colorbox.resize();\r\n $('a.go-to', '.contribute').click(function(){\r\n $.colorbox.close()\r\n });\r\n },\r\n preloading: true\r\n });\r\n return false;\r\n });\r\n\r\n $('.project-menu-combined h2', '.project-inner-left').click(function(){\r\n $(this).next().slideToggle();\r\n return false;\r\n });\r\n\r\n if(typeof $.fn.accordion == 'function') {\r\n $('.project-menu-combined', '.project-top-right').accordion({ header: 'h2' });\r\n }\r\n */\r\n\r\n $('.menu-icon', '.project-menu-combined').tipsy({\r\n fade: false,\r\n title: function() { return $(this).find('span').text(); },\r\n gravity: 'w'\r\n });\r\n\r\n $('ul.quicktabs-style-fastknowledge li a').wrapInner('<span style=\"display:none\" />')\r\n .tipsy({\r\n fade: true,\r\n gravity: 'w',\r\n title: function() { return $(this).text(); }\r\n });\r\n\r\n // community blocks\r\n $('.project-logo .title-icon, .user-list .user-picture, .project-list .project-logo').tipsy({\r\n fade: true,\r\n gravity: $.fn.tipsy.autoNS\r\n });\r\n\r\n /*\r\n $('.user-list-search, .project-list-search', '.logged-in').tipsy({\r\n fade: true,\r\n gravity: 'w',\r\n title: function() { return $(this).attr('name'); }\r\n }).keyup(function(){\r\n var val = $(this).val();\r\n var list = $(this).next();\r\n if(val.length > 2) {\r\n list.find('li').hide();\r\n list.find('li[class*=\"'+ val.toLowerCase() +'\"]', '.user-list-search').fadeIn();\r\n list.find('.li a[class*=\"'+ val.toLowerCase() +'\"], li span[class*=\"'+ val.toLowerCase() +'\"]', '.project-list').parent('li').fadeIn();\r\n } else {\r\n list.find('li').show();\r\n }\r\n });\r\n\r\n $('.view-ProjectUpdates, .quicktabs_tabpage', '.project-middle').balanceHeight({ min: 200 });\r\n */\r\n $('#comments .links .comment_edit a').colorbox({\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n preloading: true\r\n });\r\n $('#comments .links .comment_reply a').colorbox({\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n preloading: true\r\n });\r\n\r\n /* !!!!\r\n $('.donate-button').colorbox({\r\n href: function() { return $(this).attr('href') + ' div.content'; },\r\n preloading: true\r\n });\r\n*/\r\n\r\n});\r\n;\n/**\n * Automatic ajax validation\n *\n * @see http://drupal.org/project/ajax\n * @see irc://freenode.net/#drupy\n * @depends Drupal 6\n * @author brendoncrawford\n * @note This file uses a 79 character width limit.\n * \n * @note\n * When using an Drupal.Ajax form within a Lightbox/Thickbox which is loaded via\n * AJAX, be sure to call Drupal.attachBehaviors(LightBoxContainer) where\n * LightBoxContainer is the DOM element containing the Lightbox/Thickbox.\n * \n * @see http://drupal.org/node/114774#javascript-behaviors\n *\n */\n\n/**\n * Ajax Forms plugin for quicktabs module\n * \n * @param {String} hook\n * @param {Object} args\n * @return {Bool}\n */\nDrupal.Ajax.plugins.quicktabs = function(hook, args) {\n var quicktabs_original;\n if (hook === 'init') {\n if (Drupal.quicktabs) {\n quicktabs_original = Drupal.quicktabs.tab.prototype.success;\n Drupal.quicktabs.tab.prototype.success = function(data){\n this.quicktabs_original = quicktabs_original;\n this.quicktabs_original(data);\n Drupal.attachBehaviors(data.container);\n }\n }\n }\n return true;\n}\n\n\n;\n/**\n * Ajax wysiwyg Plugin\n *\n * @see http://drupal.org/project/ajax\n * @see irc://freenode.net/#drupy\n * @depends Drupal 6\n * @author brendoncrawford\n * @note This file uses a 79 character width limit.\n *\n */\n\n/**\n * Ajax Forms plugin for wysiwyg API\n * \n * @param {String} hook\n * @param {Object} args\n * @return {Bool}\n */\nDrupal.Ajax.plugins.wysiwyg = function(hook, args) {\n var p, e;\n if (hook === 'submit') {\n if (Drupal.wysiwyg && Drupal.wysiwygDetach) {\n for (w in Drupal.wysiwyg.instances) {\n p = Drupal.wysiwyg.instances[w];\n e = $('#' + p.field);\n Drupal.wysiwygDetach(e[0], p);\n }\n }\n }\n return true;\n}\n;\n" | |
}, | |
"redirectURL": "", | |
"headersSize": 296, | |
"bodySize": 140656 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 58, | |
"dns": 1, | |
"connect": 19, | |
"send": 0, | |
"wait": 65, | |
"receive": 305 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.048+01:00", | |
"time": 179, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org:9998/socket.io/socket.io.js", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org:9998" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "*/*" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 377, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Content-Type", | |
"value": "application/javascript" | |
}, | |
{ | |
"name": "Etag", | |
"value": "0.9.11:9185197162875451971646982581044521885036510252188503" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "44789" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
} | |
], | |
"content": { | |
"mimeType": "application/javascript", | |
"size": 44789, | |
"text": "/*! Socket.IO.min.js build:0.9.11, production. Copyright(c) 2011 LearnBoost <[email protected]> MIT Licensed */\nvar io=\"undefined\"==typeof module?{}:module.exports;(function(){(function(a,b){var c=a;c.version=\"0.9.11\",c.protocol=1,c.transports=[],c.j=[],c.sockets={},c.connect=function(a,d){var e=c.util.parseUri(a),f,g;b&&b.location&&(e.protocol=e.protocol||b.location.protocol.slice(0,-1),e.host=e.host||(b.document?b.document.domain:b.location.hostname),e.port=e.port||b.location.port),f=c.util.uniqueUri(e);var h={host:e.host,secure:\"https\"==e.protocol,port:e.port||(\"https\"==e.protocol?443:80),query:e.query||\"\"};c.util.merge(h,d);if(h[\"force new connection\"]||!c.sockets[f])g=new c.Socket(h);return!h[\"force new connection\"]&&g&&(c.sockets[f]=g),g=g||c.sockets[f],g.of(e.path.length>1?e.path:\"\")}})(\"object\"==typeof module?module.exports:this.io={},this),function(a,b){var c=a.util={},d=/^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,e=[\"source\",\"protocol\",\"authority\",\"userInfo\",\"user\",\"password\",\"host\",\"port\",\"relative\",\"path\",\"directory\",\"file\",\"query\",\"anchor\"];c.parseUri=function(a){var b=d.exec(a||\"\"),c={},f=14;while(f--)c[e[f]]=b[f]||\"\";return c},c.uniqueUri=function(a){var c=a.protocol,d=a.host,e=a.port;return\"document\"in b?(d=d||document.domain,e=e||(c==\"https\"&&document.location.protocol!==\"https:\"?443:document.location.port)):(d=d||\"localhost\",!e&&c==\"https\"&&(e=443)),(c||\"http\")+\"://\"+d+\":\"+(e||80)},c.query=function(a,b){var d=c.chunkQuery(a||\"\"),e=[];c.merge(d,c.chunkQuery(b||\"\"));for(var f in d)d.hasOwnProperty(f)&&e.push(f+\"=\"+d[f]);return e.length?\"?\"+e.join(\"&\"):\"\"},c.chunkQuery=function(a){var b={},c=a.split(\"&\"),d=0,e=c.length,f;for(;d<e;++d)f=c[d].split(\"=\"),f[0]&&(b[f[0]]=f[1]);return b};var f=!1;c.load=function(a){if(\"document\"in b&&document.readyState===\"complete\"||f)return a();c.on(b,\"load\",a,!1)},c.on=function(a,b,c,d){a.attachEvent?a.attachEvent(\"on\"+b,c):a.addEventListener&&a.addEventListener(b,c,d)},c.request=function(a){if(a&&\"undefined\"!=typeof XDomainRequest&&!c.ua.hasCORS)return new XDomainRequest;if(\"undefined\"!=typeof XMLHttpRequest&&(!a||c.ua.hasCORS))return new XMLHttpRequest;if(!a)try{return new(window[[\"Active\"].concat(\"Object\").join(\"X\")])(\"Microsoft.XMLHTTP\")}catch(b){}return null},\"undefined\"!=typeof window&&c.load(function(){f=!0}),c.defer=function(a){if(!c.ua.webkit||\"undefined\"!=typeof importScripts)return a();c.load(function(){setTimeout(a,100)})},c.merge=function(b,d,e,f){var g=f||[],h=typeof e==\"undefined\"?2:e,i;for(i in d)d.hasOwnProperty(i)&&c.indexOf(g,i)<0&&(typeof b[i]!=\"object\"||!h?(b[i]=d[i],g.push(d[i])):c.merge(b[i],d[i],h-1,g));return b},c.mixin=function(a,b){c.merge(a.prototype,b.prototype)},c.inherit=function(a,b){function c(){}c.prototype=b.prototype,a.prototype=new c},c.isArray=Array.isArray||function(a){return Object.prototype.toString.call(a)===\"[object Array]\"},c.intersect=function(a,b){var d=[],e=a.length>b.length?a:b,f=a.length>b.length?b:a;for(var g=0,h=f.length;g<h;g++)~c.indexOf(e,f[g])&&d.push(f[g]);return d},c.indexOf=function(a,b,c){for(var d=a.length,c=c<0?c+d<0?0:c+d:c||0;c<d&&a[c]!==b;c++);return d<=c?-1:c},c.toArray=function(a){var b=[];for(var c=0,d=a.length;c<d;c++)b.push(a[c]);return b},c.ua={},c.ua.hasCORS=\"undefined\"!=typeof XMLHttpRequest&&function(){try{var a=new XMLHttpRequest}catch(b){return!1}return a.withCredentials!=undefined}(),c.ua.webkit=\"undefined\"!=typeof navigator&&/webkit/i.test(navigator.userAgent),c.ua.iDevice=\"undefined\"!=typeof navigator&&/iPad|iPhone|iPod/i.test(navigator.userAgent)}(\"undefined\"!=typeof io?io:module.exports,this),function(a,b){function c(){}a.EventEmitter=c,c.prototype.on=function(a,c){return this.$events||(this.$events={}),this.$events[a]?b.util.isArray(this.$events[a])?this.$events[a].push(c):this.$events[a]=[this.$events[a],c]:this.$events[a]=c,this},c.prototype.addListener=c.prototype.on,c.prototype.once=function(a,b){function d(){c.removeListener(a,d),b.apply(this,arguments)}var c=this;return d.listener=b,this.on(a,d),this},c.prototype.removeListener=function(a,c){if(this.$events&&this.$events[a]){var d=this.$events[a];if(b.util.isArray(d)){var e=-1;for(var f=0,g=d.length;f<g;f++)if(d[f]===c||d[f].listener&&d[f].listener===c){e=f;break}if(e<0)return this;d.splice(e,1),d.length||delete this.$events[a]}else(d===c||d.listener&&d.listener===c)&&delete this.$events[a]}return this},c.prototype.removeAllListeners=function(a){return a===undefined?(this.$events={},this):(this.$events&&this.$events[a]&&(this.$events[a]=null),this)},c.prototype.listeners=function(a){return this.$events||(this.$events={}),this.$events[a]||(this.$events[a]=[]),b.util.isArray(this.$events[a])||(this.$events[a]=[this.$events[a]]),this.$events[a]},c.prototype.emit=function(a){if(!this.$events)return!1;var c=this.$events[a];if(!c)return!1;var d=Array.prototype.slice.call(arguments,1);if(\"function\"==typeof c)c.apply(this,d);else{if(!b.util.isArray(c))return!1;var e=c.slice();for(var f=0,g=e.length;f<g;f++)e[f].apply(this,d)}return!0}}(\"undefined\"!=typeof io?io:module.exports,\"undefined\"!=typeof io?io:module.parent.exports),function(exports,nativeJSON){function f(a){return a<10?\"0\"+a:a}function date(a,b){return isFinite(a.valueOf())?a.getUTCFullYear()+\"-\"+f(a.getUTCMonth()+1)+\"-\"+f(a.getUTCDate())+\"T\"+f(a.getUTCHours())+\":\"+f(a.getUTCMinutes())+\":\"+f(a.getUTCSeconds())+\"Z\":null}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'\"'+a.replace(escapable,function(a){var b=meta[a];return typeof b==\"string\"?b:\"\\\\u\"+(\"0000\"+a.charCodeAt(0).toString(16)).slice(-4)})+'\"':'\"'+a+'\"'}function str(a,b){var c,d,e,f,g=gap,h,i=b[a];i instanceof Date&&(i=date(a)),typeof rep==\"function\"&&(i=rep.call(b,a,i));switch(typeof i){case\"string\":return quote(i);case\"number\":return isFinite(i)?String(i):\"null\";case\"boolean\":case\"null\":return String(i);case\"object\":if(!i)return\"null\";gap+=indent,h=[];if(Object.prototype.toString.apply(i)===\"[object Array]\"){f=i.length;for(c=0;c<f;c+=1)h[c]=str(c,i)||\"null\";return e=h.length===0?\"[]\":gap?\"[\\n\"+gap+h.join(\",\\n\"+gap)+\"\\n\"+g+\"]\":\"[\"+h.join(\",\")+\"]\",gap=g,e}if(rep&&typeof rep==\"object\"){f=rep.length;for(c=0;c<f;c+=1)typeof rep[c]==\"string\"&&(d=rep[c],e=str(d,i),e&&h.push(quote(d)+(gap?\": \":\":\")+e))}else for(d in i)Object.prototype.hasOwnProperty.call(i,d)&&(e=str(d,i),e&&h.push(quote(d)+(gap?\": \":\":\")+e));return e=h.length===0?\"{}\":gap?\"{\\n\"+gap+h.join(\",\\n\"+gap)+\"\\n\"+g+\"}\":\"{\"+h.join(\",\")+\"}\",gap=g,e}}\"use strict\";if(nativeJSON&&nativeJSON.parse)return exports.JSON={parse:nativeJSON.parse,stringify:nativeJSON.stringify};var JSON=exports.JSON={},cx=/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,escapable=/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,gap,indent,meta={\"\\b\":\"\\\\b\",\"\\t\":\"\\\\t\",\"\\n\":\"\\\\n\",\"\\f\":\"\\\\f\",\"\\r\":\"\\\\r\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\"},rep;JSON.stringify=function(a,b,c){var d;gap=\"\",indent=\"\";if(typeof c==\"number\")for(d=0;d<c;d+=1)indent+=\" \";else typeof c==\"string\"&&(indent=c);rep=b;if(!b||typeof b==\"function\"||typeof b==\"object\"&&typeof b.length==\"number\")return str(\"\",{\"\":a});throw new Error(\"JSON.stringify\")},JSON.parse=function(text,reviver){function walk(a,b){var c,d,e=a[b];if(e&&typeof e==\"object\")for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&(d=walk(e,c),d!==undefined?e[c]=d:delete e[c]);return reviver.call(a,b,e)}var j;text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(a){return\"\\\\u\"+(\"0000\"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,\"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g,\"\")))return j=eval(\"(\"+text+\")\"),typeof reviver==\"function\"?walk({\"\":j},\"\"):j;throw new SyntaxError(\"JSON.parse\")}}(\"undefined\"!=typeof io?io:module.exports,typeof JSON!=\"undefined\"?JSON:undefined),function(a,b){var c=a.parser={},d=c.packets=[\"disconnect\",\"connect\",\"heartbeat\",\"message\",\"json\",\"event\",\"ack\",\"error\",\"noop\"],e=c.reasons=[\"transport not supported\",\"client not handshaken\",\"unauthorized\"],f=c.advice=[\"reconnect\"],g=b.JSON,h=b.util.indexOf;c.encodePacket=function(a){var b=h(d,a.type),c=a.id||\"\",i=a.endpoint||\"\",j=a.ack,k=null;switch(a.type){case\"error\":var l=a.reason?h(e,a.reason):\"\",m=a.advice?h(f,a.advice):\"\";if(l!==\"\"||m!==\"\")k=l+(m!==\"\"?\"+\"+m:\"\");break;case\"message\":a.data!==\"\"&&(k=a.data);break;case\"event\":var n={name:a.name};a.args&&a.args.length&&(n.args=a.args),k=g.stringify(n);break;case\"json\":k=g.stringify(a.data);break;case\"connect\":a.qs&&(k=a.qs);break;case\"ack\":k=a.ackId+(a.args&&a.args.length?\"+\"+g.stringify(a.args):\"\")}var o=[b,c+(j==\"data\"?\"+\":\"\"),i];return k!==null&&k!==undefined&&o.push(k),o.join(\":\")},c.encodePayload=function(a){var b=\"\";if(a.length==1)return a[0];for(var c=0,d=a.length;c<d;c++){var e=a[c];b+=\"\\ufffd\"+e.length+\"\\ufffd\"+a[c]}return b};var i=/([^:]+):([0-9]+)?(\\+)?:([^:]+)?:?([\\s\\S]*)?/;c.decodePacket=function(a){var b=a.match(i);if(!b)return{};var c=b[2]||\"\",a=b[5]||\"\",h={type:d[b[1]],endpoint:b[4]||\"\"};c&&(h.id=c,b[3]?h.ack=\"data\":h.ack=!0);switch(h.type){case\"error\":var b=a.split(\"+\");h.reason=e[b[0]]||\"\",h.advice=f[b[1]]||\"\";break;case\"message\":h.data=a||\"\";break;case\"event\":try{var j=g.parse(a);h.name=j.name,h.args=j.args}catch(k){}h.args=h.args||[];break;case\"json\":try{h.data=g.parse(a)}catch(k){}break;case\"connect\":h.qs=a||\"\";break;case\"ack\":var b=a.match(/^([0-9]+)(\\+)?(.*)/);if(b){h.ackId=b[1],h.args=[];if(b[3])try{h.args=b[3]?g.parse(b[3]):[]}catch(k){}}break;case\"disconnect\":case\"heartbeat\":}return h},c.decodePayload=function(a){if(a.charAt(0)==\"\\ufffd\"){var b=[];for(var d=1,e=\"\";d<a.length;d++)a.charAt(d)==\"\\ufffd\"?(b.push(c.decodePacket(a.substr(d+1).substr(0,e))),d+=Number(e)+1,e=\"\"):e+=a.charAt(d);return b}return[c.decodePacket(a)]}}(\"undefined\"!=typeof io?io:module.exports,\"undefined\"!=typeof io?io:module.parent.exports),function(a,b){function c(a,b){this.socket=a,this.sessid=b}a.Transport=c,b.util.mixin(c,b.EventEmitter),c.prototype.heartbeats=function(){return!0},c.prototype.onData=function(a){this.clearCloseTimeout(),(this.socket.connected||this.socket.connecting||this.socket.reconnecting)&&this.setCloseTimeout();if(a!==\"\"){var c=b.parser.decodePayload(a);if(c&&c.length)for(var d=0,e=c.length;d<e;d++)this.onPacket(c[d])}return this},c.prototype.onPacket=function(a){return this.socket.setHeartbeatTimeout(),a.type==\"heartbeat\"?this.onHeartbeat():(a.type==\"connect\"&&a.endpoint==\"\"&&this.onConnect(),a.type==\"error\"&&a.advice==\"reconnect\"&&(this.isOpen=!1),this.socket.onPacket(a),this)},c.prototype.setCloseTimeout=function(){if(!this.closeTimeout){var a=this;this.closeTimeout=setTimeout(function(){a.onDisconnect()},this.socket.closeTimeout)}},c.prototype.onDisconnect=function(){return this.isOpen&&this.close(),this.clearTimeouts(),this.socket.onDisconnect(),this},c.prototype.onConnect=function(){return this.socket.onConnect(),this},c.prototype.clearCloseTimeout=function(){this.closeTimeout&&(clearTimeout(this.closeTimeout),this.closeTimeout=null)},c.prototype.clearTimeouts=function(){this.clearCloseTimeout(),this.reopenTimeout&&clearTimeout(this.reopenTimeout)},c.prototype.packet=function(a){this.send(b.parser.encodePacket(a))},c.prototype.onHeartbeat=function(a){this.packet({type:\"heartbeat\"})},c.prototype.onOpen=function(){this.isOpen=!0,this.clearCloseTimeout(),this.socket.onOpen()},c.prototype.onClose=function(){var a=this;this.isOpen=!1,this.socket.onClose(),this.onDisconnect()},c.prototype.prepareUrl=function(){var a=this.socket.options;return this.scheme()+\"://\"+a.host+\":\"+a.port+\"/\"+a.resource+\"/\"+b.protocol+\"/\"+this.name+\"/\"+this.sessid},c.prototype.ready=function(a,b){b.call(this)}}(\"undefined\"!=typeof io?io:module.exports,\"undefined\"!=typeof io?io:module.parent.exports),function(a,b,c){function d(a){this.options={port:80,secure:!1,document:\"document\"in c?document:!1,resource:\"socket.io\",transports:b.transports,\"connect timeout\":1e4,\"try multiple transports\":!0,reconnect:!0,\"reconnection delay\":500,\"reconnection limit\":Infinity,\"reopen delay\":3e3,\"max reconnection attempts\":10,\"sync disconnect on unload\":!1,\"auto connect\":!0,\"flash policy port\":10843,manualFlush:!1},b.util.merge(this.options,a),this.connected=!1,this.open=!1,this.connecting=!1,this.reconnecting=!1,this.namespaces={},this.buffer=[],this.doBuffer=!1;if(this.options[\"sync disconnect on unload\"]&&(!this.isXDomain()||b.util.ua.hasCORS)){var d=this;b.util.on(c,\"beforeunload\",function(){d.disconnectSync()},!1)}this.options[\"auto connect\"]&&this.connect()}function e(){}a.Socket=d,b.util.mixin(d,b.EventEmitter),d.prototype.of=function(a){return this.namespaces[a]||(this.namespaces[a]=new b.SocketNamespace(this,a),a!==\"\"&&this.namespaces[a].packet({type:\"connect\"})),this.namespaces[a]},d.prototype.publish=function(){this.emit.apply(this,arguments);var a;for(var b in this.namespaces)this.namespaces.hasOwnProperty(b)&&(a=this.of(b),a.$emit.apply(a,arguments))},d.prototype.handshake=function(a){function f(b){b instanceof Error?(c.connecting=!1,c.onError(b.message)):a.apply(null,b.split(\":\"))}var c=this,d=this.options,g=[\"http\"+(d.secure?\"s\":\"\")+\":/\",d.host+\":\"+d.port,d.resource,b.protocol,b.util.query(this.options.query,\"t=\"+ +(new Date))].join(\"/\");if(this.isXDomain()&&!b.util.ua.hasCORS){var h=document.getElementsByTagName(\"script\")[0],i=document.createElement(\"script\");i.src=g+\"&jsonp=\"+b.j.length,h.parentNode.insertBefore(i,h),b.j.push(function(a){f(a),i.parentNode.removeChild(i)})}else{var j=b.util.request();j.open(\"GET\",g,!0),this.isXDomain()&&(j.withCredentials=!0),j.onreadystatechange=function(){j.readyState==4&&(j.onreadystatechange=e,j.status==200?f(j.responseText):j.status==403?c.onError(j.responseText):(c.connecting=!1,!c.reconnecting&&c.onError(j.responseText)))},j.send(null)}},d.prototype.getTransport=function(a){var c=a||this.transports,d;for(var e=0,f;f=c[e];e++)if(b.Transport[f]&&b.Transport[f].check(this)&&(!this.isXDomain()||b.Transport[f].xdomainCheck(this)))return new b.Transport[f](this,this.sessionid);return null},d.prototype.connect=function(a){if(this.connecting)return this;var c=this;return c.connecting=!0,this.handshake(function(d,e,f,g){function h(a){c.transport&&c.transport.clearTimeouts(),c.transport=c.getTransport(a);if(!c.transport)return c.publish(\"connect_failed\");c.transport.ready(c,function(){c.connecting=!0,c.publish(\"connecting\",c.transport.name),c.transport.open(),c.options[\"connect timeout\"]&&(c.connectTimeoutTimer=setTimeout(function(){if(!c.connected){c.connecting=!1;if(c.options[\"try multiple transports\"]){var a=c.transports;while(a.length>0&&a.splice(0,1)[0]!=c.transport.name);a.length?h(a):c.publish(\"connect_failed\")}}},c.options[\"connect timeout\"]))})}c.sessionid=d,c.closeTimeout=f*1e3,c.heartbeatTimeout=e*1e3,c.transports||(c.transports=c.origTransports=g?b.util.intersect(g.split(\",\"),c.options.transports):c.options.transports),c.setHeartbeatTimeout(),h(c.transports),c.once(\"connect\",function(){clearTimeout(c.connectTimeoutTimer),a&&typeof a==\"function\"&&a()})}),this},d.prototype.setHeartbeatTimeout=function(){clearTimeout(this.heartbeatTimeoutTimer);if(this.transport&&!this.transport.heartbeats())return;var a=this;this.heartbeatTimeoutTimer=setTimeout(function(){a.transport.onClose()},this.heartbeatTimeout)},d.prototype.packet=function(a){return this.connected&&!this.doBuffer?this.transport.packet(a):this.buffer.push(a),this},d.prototype.setBuffer=function(a){this.doBuffer=a,!a&&this.connected&&this.buffer.length&&(this.options.manualFlush||this.flushBuffer())},d.prototype.flushBuffer=function(){this.transport.payload(this.buffer),this.buffer=[]},d.prototype.disconnect=function(){if(this.connected||this.connecting)this.open&&this.of(\"\").packet({type:\"disconnect\"}),this.onDisconnect(\"booted\");return this},d.prototype.disconnectSync=function(){var a=b.util.request(),c=[\"http\"+(this.options.secure?\"s\":\"\")+\":/\",this.options.host+\":\"+this.options.port,this.options.resource,b.protocol,\"\",this.sessionid].join(\"/\")+\"/?disconnect=1\";a.open(\"GET\",c,!1),a.send(null),this.onDisconnect(\"booted\")},d.prototype.isXDomain=function(){var a=c.location.port||(\"https:\"==c.location.protocol?443:80);return this.options.host!==c.location.hostname||this.options.port!=a},d.prototype.onConnect=function(){this.connected||(this.connected=!0,this.connecting=!1,this.doBuffer||this.setBuffer(!1),this.emit(\"connect\"))},d.prototype.onOpen=function(){this.open=!0},d.prototype.onClose=function(){this.open=!1,clearTimeout(this.heartbeatTimeoutTimer)},d.prototype.onPacket=function(a){this.of(a.endpoint).onPacket(a)},d.prototype.onError=function(a){a&&a.advice&&a.advice===\"reconnect\"&&(this.connected||this.connecting)&&(this.disconnect(),this.options.reconnect&&this.reconnect()),this.publish(\"error\",a&&a.reason?a.reason:a)},d.prototype.onDisconnect=function(a){var b=this.connected,c=this.connecting;this.connected=!1,this.connecting=!1,this.open=!1;if(b||c)this.transport.close(),this.transport.clearTimeouts(),b&&(this.publish(\"disconnect\",a),\"booted\"!=a&&this.options.reconnect&&!this.reconnecting&&this.reconnect())},d.prototype.reconnect=function(){function e(){if(a.connected){for(var b in a.namespaces)a.namespaces.hasOwnProperty(b)&&\"\"!==b&&a.namespaces[b].packet({type:\"connect\"});a.publish(\"reconnect\",a.transport.name,a.reconnectionAttempts)}clearTimeout(a.reconnectionTimer),a.removeListener(\"connect_failed\",f),a.removeListener(\"connect\",f),a.reconnecting=!1,delete a.reconnectionAttempts,delete a.reconnectionDelay,delete a.reconnectionTimer,delete a.redoTransports,a.options[\"try multiple transports\"]=c}function f(){if(!a.reconnecting)return;if(a.connected)return e();if(a.connecting&&a.reconnecting)return a.reconnectionTimer=setTimeout(f,1e3);a.reconnectionAttempts++>=b?a.redoTransports?(a.publish(\"reconnect_failed\"),e()):(a.on(\"connect_failed\",f),a.options[\"try multiple transports\"]=!0,a.transports=a.origTransports,a.transport=a.getTransport(),a.redoTransports=!0,a.connect()):(a.reconnectionDelay<d&&(a.reconnectionDelay*=2),a.connect(),a.publish(\"reconnecting\",a.reconnectionDelay,a.reconnectionAttempts),a.reconnectionTimer=setTimeout(f,a.reconnectionDelay))}this.reconnecting=!0,this.reconnectionAttempts=0,this.reconnectionDelay=this.options[\"reconnection delay\"];var a=this,b=this.options[\"max reconnection attempts\"],c=this.options[\"try multiple transports\"],d=this.options[\"reconnection limit\"];this.options[\"try multiple transports\"]=!1,this.reconnectionTimer=setTimeout(f,this.reconnectionDelay),this.on(\"connect\",f)}}(\"undefined\"!=typeof io?io:module.exports,\"undefined\"!=typeof io?io:module.parent.exports,this),function(a,b){function c(a,b){this.socket=a,this.name=b||\"\",this.flags={},this.json=new d(this,\"json\"),this.ackPackets=0,this.acks={}}function d(a,b){this.namespace=a,this.name=b}a.SocketNamespace=c,b.util.mixin(c,b.EventEmitter),c.prototype.$emit=b.EventEmitter.prototype.emit,c.prototype.of=function(){return this.socket.of.apply(this.socket,arguments)},c.prototype.packet=function(a){return a.endpoint=this.name,this.socket.packet(a),this.flags={},this},c.prototype.send=function(a,b){var c={type:this.flags.json?\"json\":\"message\",data:a};return\"function\"==typeof b&&(c.id=++this.ackPackets,c.ack=!0,this.acks[c.id]=b),this.packet(c)},c.prototype.emit=function(a){var b=Array.prototype.slice.call(arguments,1),c=b[b.length-1],d={type:\"event\",name:a};return\"function\"==typeof c&&(d.id=++this.ackPackets,d.ack=\"data\",this.acks[d.id]=c,b=b.slice(0,b.length-1)),d.args=b,this.packet(d)},c.prototype.disconnect=function(){return this.name===\"\"?this.socket.disconnect():(this.packet({type:\"disconnect\"}),this.$emit(\"disconnect\")),this},c.prototype.onPacket=function(a){function d(){c.packet({type:\"ack\",args:b.util.toArray(arguments),ackId:a.id})}var c=this;switch(a.type){case\"connect\":this.$emit(\"connect\");break;case\"disconnect\":this.name===\"\"?this.socket.onDisconnect(a.reason||\"booted\"):this.$emit(\"disconnect\",a.reason);break;case\"message\":case\"json\":var e=[\"message\",a.data];a.ack==\"data\"?e.push(d):a.ack&&this.packet({type:\"ack\",ackId:a.id}),this.$emit.apply(this,e);break;case\"event\":var e=[a.name].concat(a.args);a.ack==\"data\"&&e.push(d),this.$emit.apply(this,e);break;case\"ack\":this.acks[a.ackId]&&(this.acks[a.ackId].apply(this,a.args),delete this.acks[a.ackId]);break;case\"error\":a.advice?this.socket.onError(a):a.reason==\"unauthorized\"?this.$emit(\"connect_failed\",a.reason):this.$emit(\"error\",a.reason)}},d.prototype.send=function(){this.namespace.flags[this.name]=!0,this.namespace.send.apply(this.namespace,arguments)},d.prototype.emit=function(){this.namespace.flags[this.name]=!0,this.namespace.emit.apply(this.namespace,arguments)}}(\"undefined\"!=typeof io?io:module.exports,\"undefined\"!=typeof io?io:module.parent.exports),function(a,b,c){function d(a){b.Transport.apply(this,arguments)}a.websocket=d,b.util.inherit(d,b.Transport),d.prototype.name=\"websocket\",d.prototype.open=function(){var a=b.util.query(this.socket.options.query),d=this,e;return e||(e=c.MozWebSocket||c.WebSocket),this.websocket=new e(this.prepareUrl()+a),this.websocket.onopen=function(){d.onOpen(),d.socket.setBuffer(!1)},this.websocket.onmessage=function(a){d.onData(a.data)},this.websocket.onclose=function(){d.onClose(),d.socket.setBuffer(!0)},this.websocket.onerror=function(a){d.onError(a)},this},b.util.ua.iDevice?d.prototype.send=function(a){var b=this;return setTimeout(function(){b.websocket.send(a)},0),this}:d.prototype.send=function(a){return this.websocket.send(a),this},d.prototype.payload=function(a){for(var b=0,c=a.length;b<c;b++)this.packet(a[b]);return this},d.prototype.close=function(){return this.websocket.close(),this},d.prototype.onError=function(a){this.socket.onError(a)},d.prototype.scheme=function(){return this.socket.options.secure?\"wss\":\"ws\"},d.check=function(){return\"WebSocket\"in c&&!(\"__addTask\"in WebSocket)||\"MozWebSocket\"in c},d.xdomainCheck=function(){return!0},b.transports.push(\"websocket\")}(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports,this),function(a,b){function c(){b.Transport.websocket.apply(this,arguments)}a.flashsocket=c,b.util.inherit(c,b.Transport.websocket),c.prototype.name=\"flashsocket\",c.prototype.open=function(){var a=this,c=arguments;return WebSocket.__addTask(function(){b.Transport.websocket.prototype.open.apply(a,c)}),this},c.prototype.send=function(){var a=this,c=arguments;return WebSocket.__addTask(function(){b.Transport.websocket.prototype.send.apply(a,c)}),this},c.prototype.close=function(){return WebSocket.__tasks.length=0,b.Transport.websocket.prototype.close.call(this),this},c.prototype.ready=function(a,d){function e(){var b=a.options,e=b[\"flash policy port\"],g=[\"http\"+(b.secure?\"s\":\"\")+\":/\",b.host+\":\"+b.port,b.resource,\"static/flashsocket\",\"WebSocketMain\"+(a.isXDomain()?\"Insecure\":\"\")+\".swf\"];c.loaded||(typeof WEB_SOCKET_SWF_LOCATION==\"undefined\"&&(WEB_SOCKET_SWF_LOCATION=g.join(\"/\")),e!==843&&WebSocket.loadFlashPolicyFile(\"xmlsocket://\"+b.host+\":\"+e),WebSocket.__initialize(),c.loaded=!0),d.call(f)}var f=this;if(document.body)return e();b.util.load(e)},c.check=function(){return typeof WebSocket!=\"undefined\"&&\"__initialize\"in WebSocket&&!!swfobject?swfobject.getFlashPlayerVersion().major>=10:!1},c.xdomainCheck=function(){return!0},typeof window!=\"undefined\"&&(WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=!0),b.transports.push(\"flashsocket\")}(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports);if(\"undefined\"!=typeof window)var swfobject=function(){function A(){if(t)return;try{var a=i.getElementsByTagName(\"body\")[0].appendChild(Q(\"span\"));a.parentNode.removeChild(a)}catch(b){return}t=!0;var c=l.length;for(var d=0;d<c;d++)l[d]()}function B(a){t?a():l[l.length]=a}function C(b){if(typeof h.addEventListener!=a)h.addEventListener(\"load\",b,!1);else if(typeof i.addEventListener!=a)i.addEventListener(\"load\",b,!1);else if(typeof h.attachEvent!=a)R(h,\"onload\",b);else if(typeof h.onload==\"function\"){var c=h.onload;h.onload=function(){c(),b()}}else h.onload=b}function D(){k?E():F()}function E(){var c=i.getElementsByTagName(\"body\")[0],d=Q(b);d.setAttribute(\"type\",e);var f=c.appendChild(d);if(f){var g=0;(function(){if(typeof f.GetVariable!=a){var b=f.GetVariable(\"$version\");b&&(b=b.split(\" \")[1].split(\",\"),y.pv=[parseInt(b[0],10),parseInt(b[1],10),parseInt(b[2],10)])}else if(g<10){g++,setTimeout(arguments.callee,10);return}c.removeChild(d),f=null,F()})()}else F()}function F(){var b=m.length;if(b>0)for(var c=0;c<b;c++){var d=m[c].id,e=m[c].callbackFn,f={success:!1,id:d};if(y.pv[0]>0){var g=P(d);if(g)if(S(m[c].swfVersion)&&!(y.wk&&y.wk<312))U(d,!0),e&&(f.success=!0,f.ref=G(d),e(f));else if(m[c].expressInstall&&H()){var h={};h.data=m[c].expressInstall,h.width=g.getAttribute(\"width\")||\"0\",h.height=g.getAttribute(\"height\")||\"0\",g.getAttribute(\"class\")&&(h.styleclass=g.getAttribute(\"class\")),g.getAttribute(\"align\")&&(h.align=g.getAttribute(\"align\"));var i={},j=g.getElementsByTagName(\"param\"),k=j.length;for(var l=0;l<k;l++)j[l].getAttribute(\"name\").toLowerCase()!=\"movie\"&&(i[j[l].getAttribute(\"name\")]=j[l].getAttribute(\"value\"));I(h,i,d,e)}else J(g),e&&e(f)}else{U(d,!0);if(e){var n=G(d);n&&typeof n.SetVariable!=a&&(f.success=!0,f.ref=n),e(f)}}}}function G(c){var d=null,e=P(c);if(e&&e.nodeName==\"OBJECT\")if(typeof e.SetVariable!=a)d=e;else{var f=e.getElementsByTagName(b)[0];f&&(d=f)}return d}function H(){return!u&&S(\"6.0.65\")&&(y.win||y.mac)&&!(y.wk&&y.wk<312)}function I(b,c,d,e){u=!0,r=e||null,s={success:!1,id:d};var g=P(d);if(g){g.nodeName==\"OBJECT\"?(p=K(g),q=null):(p=g,q=d),b.id=f;if(typeof b.width==a||!/%$/.test(b.width)&&parseInt(b.width,10)<310)b.width=\"310\";if(typeof b.height==a||!/%$/.test(b.height)&&parseInt(b.height,10)<137)b.height=\"137\";i.title=i.title.slice(0,47)+\" - Flash Player Installation\";var j=y.ie&&y.win?[\"Active\"].concat(\"\").join(\"X\"):\"PlugIn\",k=\"MMredirectURL=\"+h.location.toString().replace(/&/g,\"%26\")+\"&MMplayerType=\"+j+\"&MMdoctitle=\"+i.title;typeof c.flashvars!=a?c.flashvars+=\"&\"+k:c.flashvars=k;if(y.ie&&y.win&&g.readyState!=4){var l=Q(\"div\");d+=\"SWFObjectNew\",l.setAttribute(\"id\",d),g.parentNode.insertBefore(l,g),g.style.display=\"none\",function(){g.readyState==4?g.parentNode.removeChild(g):setTimeout(arguments.callee,10)}()}L(b,c,d)}}function J(a){if(y.ie&&y.win&&a.readyState!=4){var b=Q(\"div\");a.parentNode.insertBefore(b,a),b.parentNode.replaceChild(K(a),b),a.style.display=\"none\",function(){a.readyState==4?a.parentNode.removeChild(a):setTimeout(arguments.callee,10)}()}else a.parentNode.replaceChild(K(a),a)}function K(a){var c=Q(\"div\");if(y.win&&y.ie)c.innerHTML=a.innerHTML;else{var d=a.getElementsByTagName(b)[0];if(d){var e=d.childNodes;if(e){var f=e.length;for(var g=0;g<f;g++)(e[g].nodeType!=1||e[g].nodeName!=\"PARAM\")&&e[g].nodeType!=8&&c.appendChild(e[g].cloneNode(!0))}}}return c}function L(c,d,f){var g,h=P(f);if(y.wk&&y.wk<312)return g;if(h){typeof c.id==a&&(c.id=f);if(y.ie&&y.win){var i=\"\";for(var j in c)c[j]!=Object.prototype[j]&&(j.toLowerCase()==\"data\"?d.movie=c[j]:j.toLowerCase()==\"styleclass\"?i+=' class=\"'+c[j]+'\"':j.toLowerCase()!=\"classid\"&&(i+=\" \"+j+'=\"'+c[j]+'\"'));var k=\"\";for(var l in d)d[l]!=Object.prototype[l]&&(k+='<param name=\"'+l+'\" value=\"'+d[l]+'\" />');h.outerHTML='<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"'+i+\">\"+k+\"</object>\",n[n.length]=c.id,g=P(c.id)}else{var m=Q(b);m.setAttribute(\"type\",e);for(var o in c)c[o]!=Object.prototype[o]&&(o.toLowerCase()==\"styleclass\"?m.setAttribute(\"class\",c[o]):o.toLowerCase()!=\"classid\"&&m.setAttribute(o,c[o]));for(var p in d)d[p]!=Object.prototype[p]&&p.toLowerCase()!=\"movie\"&&M(m,p,d[p]);h.parentNode.replaceChild(m,h),g=m}}return g}function M(a,b,c){var d=Q(\"param\");d.setAttribute(\"name\",b),d.setAttribute(\"value\",c),a.appendChild(d)}function N(a){var b=P(a);b&&b.nodeName==\"OBJECT\"&&(y.ie&&y.win?(b.style.display=\"none\",function(){b.readyState==4?O(a):setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))}function O(a){var b=P(a);if(b){for(var c in b)typeof b[c]==\"function\"&&(b[c]=null);b.parentNode.removeChild(b)}}function P(a){var b=null;try{b=i.getElementById(a)}catch(c){}return b}function Q(a){return i.createElement(a)}function R(a,b,c){a.attachEvent(b,c),o[o.length]=[a,b,c]}function S(a){var b=y.pv,c=a.split(\".\");return c[0]=parseInt(c[0],10),c[1]=parseInt(c[1],10)||0,c[2]=parseInt(c[2],10)||0,b[0]>c[0]||b[0]==c[0]&&b[1]>c[1]||b[0]==c[0]&&b[1]==c[1]&&b[2]>=c[2]?!0:!1}function T(c,d,e,f){if(y.ie&&y.mac)return;var g=i.getElementsByTagName(\"head\")[0];if(!g)return;var h=e&&typeof e==\"string\"?e:\"screen\";f&&(v=null,w=null);if(!v||w!=h){var j=Q(\"style\");j.setAttribute(\"type\",\"text/css\"),j.setAttribute(\"media\",h),v=g.appendChild(j),y.ie&&y.win&&typeof i.styleSheets!=a&&i.styleSheets.length>0&&(v=i.styleSheets[i.styleSheets.length-1]),w=h}y.ie&&y.win?v&&typeof v.addRule==b&&v.addRule(c,d):v&&typeof i.createTextNode!=a&&v.appendChild(i.createTextNode(c+\" {\"+d+\"}\"))}function U(a,b){if(!x)return;var c=b?\"visible\":\"hidden\";t&&P(a)?P(a).style.visibility=c:T(\"#\"+a,\"visibility:\"+c)}function V(b){var c=/[\\\\\\\"<>\\.;]/,d=c.exec(b)!=null;return d&&typeof encodeURIComponent!=a?encodeURIComponent(b):b}var a=\"undefined\",b=\"object\",c=\"Shockwave Flash\",d=\"ShockwaveFlash.ShockwaveFlash\",e=\"application/x-shockwave-flash\",f=\"SWFObjectExprInst\",g=\"onreadystatechange\",h=window,i=document,j=navigator,k=!1,l=[D],m=[],n=[],o=[],p,q,r,s,t=!1,u=!1,v,w,x=!0,y=function(){var f=typeof i.getElementById!=a&&typeof i.getElementsByTagName!=a&&typeof i.createElement!=a,g=j.userAgent.toLowerCase(),l=j.platform.toLowerCase(),m=l?/win/.test(l):/win/.test(g),n=l?/mac/.test(l):/mac/.test(g),o=/webkit/.test(g)?parseFloat(g.replace(/^.*webkit\\/(\\d+(\\.\\d+)?).*$/,\"$1\")):!1,p=!1,q=[0,0,0],r=null;if(typeof j.plugins!=a&&typeof j.plugins[c]==b)r=j.plugins[c].description,r&&(typeof j.mimeTypes==a||!j.mimeTypes[e]||!!j.mimeTypes[e].enabledPlugin)&&(k=!0,p=!1,r=r.replace(/^.*\\s+(\\S+\\s+\\S+$)/,\"$1\"),q[0]=parseInt(r.replace(/^(.*)\\..*$/,\"$1\"),10),q[1]=parseInt(r.replace(/^.*\\.(.*)\\s.*$/,\"$1\"),10),q[2]=/[a-zA-Z]/.test(r)?parseInt(r.replace(/^.*[a-zA-Z]+(.*)$/,\"$1\"),10):0);else if(typeof h[[\"Active\"].concat(\"Object\").join(\"X\")]!=a)try{var s=new(window[[\"Active\"].concat(\"Object\").join(\"X\")])(d);s&&(r=s.GetVariable(\"$version\"),r&&(p=!0,r=r.split(\" \")[1].split(\",\"),q=[parseInt(r[0],10),parseInt(r[1],10),parseInt(r[2],10)]))}catch(t){}return{w3:f,pv:q,wk:o,ie:p,win:m,mac:n}}(),z=function(){if(!y.w3)return;(typeof i.readyState!=a&&i.readyState==\"complete\"||typeof i.readyState==a&&(i.getElementsByTagName(\"body\")[0]||i.body))&&A(),t||(typeof i.addEventListener!=a&&i.addEventListener(\"DOMContentLoaded\",A,!1),y.ie&&y.win&&(i.attachEvent(g,function(){i.readyState==\"complete\"&&(i.detachEvent(g,arguments.callee),A())}),h==top&&function(){if(t)return;try{i.documentElement.doScroll(\"left\")}catch(a){setTimeout(arguments.callee,0);return}A()}()),y.wk&&function(){if(t)return;if(!/loaded|complete/.test(i.readyState)){setTimeout(arguments.callee,0);return}A()}(),C(A))}(),W=function(){y.ie&&y.win&&window.attachEvent(\"onunload\",function(){var a=o.length;for(var b=0;b<a;b++)o[b][0].detachEvent(o[b][1],o[b][2]);var c=n.length;for(var d=0;d<c;d++)N(n[d]);for(var e in y)y[e]=null;y=null;for(var f in swfobject)swfobject[f]=null;swfobject=null})}();return{registerObject:function(a,b,c,d){if(y.w3&&a&&b){var e={};e.id=a,e.swfVersion=b,e.expressInstall=c,e.callbackFn=d,m[m.length]=e,U(a,!1)}else d&&d({success:!1,id:a})},getObjectById:function(a){if(y.w3)return G(a)},embedSWF:function(c,d,e,f,g,h,i,j,k,l){var m={success:!1,id:d};y.w3&&!(y.wk&&y.wk<312)&&c&&d&&e&&f&&g?(U(d,!1),B(function(){e+=\"\",f+=\"\";var n={};if(k&&typeof k===b)for(var o in k)n[o]=k[o];n.data=c,n.width=e,n.height=f;var p={};if(j&&typeof j===b)for(var q in j)p[q]=j[q];if(i&&typeof i===b)for(var r in i)typeof p.flashvars!=a?p.flashvars+=\"&\"+r+\"=\"+i[r]:p.flashvars=r+\"=\"+i[r];if(S(g)){var s=L(n,p,d);n.id==d&&U(d,!0),m.success=!0,m.ref=s}else{if(h&&H()){n.data=h,I(n,p,d,l);return}U(d,!0)}l&&l(m)})):l&&l(m)},switchOffAutoHideShow:function(){x=!1},ua:y,getFlashPlayerVersion:function(){return{major:y.pv[0],minor:y.pv[1],release:y.pv[2]}},hasFlashPlayerVersion:S,createSWF:function(a,b,c){return y.w3?L(a,b,c):undefined},showExpressInstall:function(a,b,c,d){y.w3&&H()&&I(a,b,c,d)},removeSWF:function(a){y.w3&&N(a)},createCSS:function(a,b,c,d){y.w3&&T(a,b,c,d)},addDomLoadEvent:B,addLoadEvent:C,getQueryParamValue:function(a){var b=i.location.search||i.location.hash;if(b){/\\?/.test(b)&&(b=b.split(\"?\")[1]);if(a==null)return V(b);var c=b.split(\"&\");for(var d=0;d<c.length;d++)if(c[d].substring(0,c[d].indexOf(\"=\"))==a)return V(c[d].substring(c[d].indexOf(\"=\")+1))}return\"\"},expressInstallCallback:function(){if(u){var a=P(f);a&&p&&(a.parentNode.replaceChild(p,a),q&&(U(q,!0),y.ie&&y.win&&(p.style.display=\"block\")),r&&r(s)),u=!1}}}}();(function(){if(\"undefined\"==typeof window||window.WebSocket)return;var a=window.console;if(!a||!a.log||!a.error)a={log:function(){},error:function(){}};if(!swfobject.hasFlashPlayerVersion(\"10.0.0\")){a.error(\"Flash Player >= 10.0.0 is required.\");return}location.protocol==\"file:\"&&a.error(\"WARNING: web-socket-js doesn't work in file:///... URL unless you set Flash Security Settings properly. Open the page via Web server i.e. http://...\"),WebSocket=function(a,b,c,d,e){var f=this;f.__id=WebSocket.__nextId++,WebSocket.__instances[f.__id]=f,f.readyState=WebSocket.CONNECTING,f.bufferedAmount=0,f.__events={},b?typeof b==\"string\"&&(b=[b]):b=[],setTimeout(function(){WebSocket.__addTask(function(){WebSocket.__flash.create(f.__id,a,b,c||null,d||0,e||null)})},0)},WebSocket.prototype.send=function(a){if(this.readyState==WebSocket.CONNECTING)throw\"INVALID_STATE_ERR: Web Socket connection has not been established\";var b=WebSocket.__flash.send(this.__id,encodeURIComponent(a));return b<0?!0:(this.bufferedAmount+=b,!1)},WebSocket.prototype.close=function(){if(this.readyState==WebSocket.CLOSED||this.readyState==WebSocket.CLOSING)return;this.readyState=WebSocket.CLOSING,WebSocket.__flash.close(this.__id)},WebSocket.prototype.addEventListener=function(a,b,c){a in this.__events||(this.__events[a]=[]),this.__events[a].push(b)},WebSocket.prototype.removeEventListener=function(a,b,c){if(!(a in this.__events))return;var d=this.__events[a];for(var e=d.length-1;e>=0;--e)if(d[e]===b){d.splice(e,1);break}},WebSocket.prototype.dispatchEvent=function(a){var b=this.__events[a.type]||[];for(var c=0;c<b.length;++c)b[c](a);var d=this[\"on\"+a.type];d&&d(a)},WebSocket.prototype.__handleEvent=function(a){\"readyState\"in a&&(this.readyState=a.readyState),\"protocol\"in a&&(this.protocol=a.protocol);var b;if(a.type==\"open\"||a.type==\"error\")b=this.__createSimpleEvent(a.type);else if(a.type==\"close\")b=this.__createSimpleEvent(\"close\");else{if(a.type!=\"message\")throw\"unknown event type: \"+a.type;var c=decodeURIComponent(a.message);b=this.__createMessageEvent(\"message\",c)}this.dispatchEvent(b)},WebSocket.prototype.__createSimpleEvent=function(a){if(document.createEvent&&window.Event){var b=document.createEvent(\"Event\");return b.initEvent(a,!1,!1),b}return{type:a,bubbles:!1,cancelable:!1}},WebSocket.prototype.__createMessageEvent=function(a,b){if(document.createEvent&&window.MessageEvent&&!window.opera){var c=document.createEvent(\"MessageEvent\");return c.initMessageEvent(\"message\",!1,!1,b,null,null,window,null),c}return{type:a,data:b,bubbles:!1,cancelable:!1}},WebSocket.CONNECTING=0,WebSocket.OPEN=1,WebSocket.CLOSING=2,WebSocket.CLOSED=3,WebSocket.__flash=null,WebSocket.__instances={},WebSocket.__tasks=[],WebSocket.__nextId=0,WebSocket.loadFlashPolicyFile=function(a){WebSocket.__addTask(function(){WebSocket.__flash.loadManualPolicyFile(a)})},WebSocket.__initialize=function(){if(WebSocket.__flash)return;WebSocket.__swfLocation&&(window.WEB_SOCKET_SWF_LOCATION=WebSocket.__swfLocation);if(!window.WEB_SOCKET_SWF_LOCATION){a.error(\"[WebSocket] set WEB_SOCKET_SWF_LOCATION to location of WebSocketMain.swf\");return}var b=document.createElement(\"div\");b.id=\"webSocketContainer\",b.style.position=\"absolute\",WebSocket.__isFlashLite()?(b.style.left=\"0px\",b.style.top=\"0px\"):(b.style.left=\"-100px\",b.style.top=\"-100px\");var c=document.createElement(\"div\");c.id=\"webSocketFlash\",b.appendChild(c),document.body.appendChild(b),swfobject.embedSWF(WEB_SOCKET_SWF_LOCATION,\"webSocketFlash\",\"1\",\"1\",\"10.0.0\",null,null,{hasPriority:!0,swliveconnect:!0,allowScriptAccess:\"always\"},null,function(b){b.success||a.error(\"[WebSocket] swfobject.embedSWF failed\")})},WebSocket.__onFlashInitialized=function(){setTimeout(function(){WebSocket.__flash=document.getElementById(\"webSocketFlash\"),WebSocket.__flash.setCallerUrl(location.href),WebSocket.__flash.setDebug(!!window.WEB_SOCKET_DEBUG);for(var a=0;a<WebSocket.__tasks.length;++a)WebSocket.__tasks[a]();WebSocket.__tasks=[]},0)},WebSocket.__onFlashEvent=function(){return setTimeout(function(){try{var b=WebSocket.__flash.receiveEvents();for(var c=0;c<b.length;++c)WebSocket.__instances[b[c].webSocketId].__handleEvent(b[c])}catch(d){a.error(d)}},0),!0},WebSocket.__log=function(b){a.log(decodeURIComponent(b))},WebSocket.__error=function(b){a.error(decodeURIComponent(b))},WebSocket.__addTask=function(a){WebSocket.__flash?a():WebSocket.__tasks.push(a)},WebSocket.__isFlashLite=function(){if(!window.navigator||!window.navigator.mimeTypes)return!1;var a=window.navigator.mimeTypes[\"application/x-shockwave-flash\"];return!a||!a.enabledPlugin||!a.enabledPlugin.filename?!1:a.enabledPlugin.filename.match(/flashlite/i)?!0:!1},window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION||(window.addEventListener?window.addEventListener(\"load\",function(){WebSocket.__initialize()},!1):window.attachEvent(\"onload\",function(){WebSocket.__initialize()}))})(),function(a,b,c){function d(a){if(!a)return;b.Transport.apply(this,arguments),this.sendBuffer=[]}function e(){}a.XHR=d,b.util.inherit(d,b.Transport),d.prototype.open=function(){return this.socket.setBuffer(!1),this.onOpen(),this.get(),this.setCloseTimeout(),this},d.prototype.payload=function(a){var c=[];for(var d=0,e=a.length;d<e;d++)c.push(b.parser.encodePacket(a[d]));this.send(b.parser.encodePayload(c))},d.prototype.send=function(a){return this.post(a),this},d.prototype.post=function(a){function d(){this.readyState==4&&(this.onreadystatechange=e,b.posting=!1,this.status==200?b.socket.setBuffer(!1):b.onClose())}function f(){this.onload=e,b.socket.setBuffer(!1)}var b=this;this.socket.setBuffer(!0),this.sendXHR=this.request(\"POST\"),c.XDomainRequest&&this.sendXHR instanceof XDomainRequest?this.sendXHR.onload=this.sendXHR.onerror=f:this.sendXHR.onreadystatechange=d,this.sendXHR.send(a)},d.prototype.close=function(){return this.onClose(),this},d.prototype.request=function(a){var c=b.util.request(this.socket.isXDomain()),d=b.util.query(this.socket.options.query,\"t=\"+ +(new Date));c.open(a||\"GET\",this.prepareUrl()+d,!0);if(a==\"POST\")try{c.setRequestHeader?c.setRequestHeader(\"Content-type\",\"text/plain;charset=UTF-8\"):c.contentType=\"text/plain\"}catch(e){}return c},d.prototype.scheme=function(){return this.socket.options.secure?\"https\":\"http\"},d.check=function(a,d){try{var e=b.util.request(d),f=c.XDomainRequest&&e instanceof XDomainRequest,g=a&&a.options&&a.options.secure?\"https:\":\"http:\",h=c.location&&g!=c.location.protocol;if(e&&(!f||!h))return!0}catch(i){}return!1},d.xdomainCheck=function(a){return d.check(a,!0)}}(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports,this),function(a,b){function c(a){b.Transport.XHR.apply(this,arguments)}a.htmlfile=c,b.util.inherit(c,b.Transport.XHR),c.prototype.name=\"htmlfile\",c.prototype.get=function(){this.doc=new(window[[\"Active\"].concat(\"Object\").join(\"X\")])(\"htmlfile\"),this.doc.open(),this.doc.write(\"<html></html>\"),this.doc.close(),this.doc.parentWindow.s=this;var a=this.doc.createElement(\"div\");a.className=\"socketio\",this.doc.body.appendChild(a),this.iframe=this.doc.createElement(\"iframe\"),a.appendChild(this.iframe);var c=this,d=b.util.query(this.socket.options.query,\"t=\"+ +(new Date));this.iframe.src=this.prepareUrl()+d,b.util.on(window,\"unload\",function(){c.destroy()})},c.prototype._=function(a,b){this.onData(a);try{var c=b.getElementsByTagName(\"script\")[0];c.parentNode.removeChild(c)}catch(d){}},c.prototype.destroy=function(){if(this.iframe){try{this.iframe.src=\"about:blank\"}catch(a){}this.doc=null,this.iframe.parentNode.removeChild(this.iframe),this.iframe=null,CollectGarbage()}},c.prototype.close=function(){return this.destroy(),b.Transport.XHR.prototype.close.call(this)},c.check=function(a){if(typeof window!=\"undefined\"&&[\"Active\"].concat(\"Object\").join(\"X\")in window)try{var c=new(window[[\"Active\"].concat(\"Object\").join(\"X\")])(\"htmlfile\");return c&&b.Transport.XHR.check(a)}catch(d){}return!1},c.xdomainCheck=function(){return!1},b.transports.push(\"htmlfile\")}(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports),function(a,b,c){function d(){b.Transport.XHR.apply(this,arguments)}function e(){}a[\"xhr-polling\"]=d,b.util.inherit(d,b.Transport.XHR),b.util.merge(d,b.Transport.XHR),d.prototype.name=\"xhr-polling\",d.prototype.heartbeats=function(){return!1},d.prototype.open=function(){var a=this;return b.Transport.XHR.prototype.open.call(a),!1},d.prototype.get=function(){function b(){this.readyState==4&&(this.onreadystatechange=e,this.status==200?(a.onData(this.responseText),a.get()):a.onClose())}function d(){this.onload=e,this.onerror=e,a.retryCounter=1,a.onData(this.responseText),a.get()}function f(){a.retryCounter++,!a.retryCounter||a.retryCounter>3?a.onClose():a.get()}if(!this.isOpen)return;var a=this;this.xhr=this.request(),c.XDomainRequest&&this.xhr instanceof XDomainRequest?(this.xhr.onload=d,this.xhr.onerror=f):this.xhr.onreadystatechange=b,this.xhr.send(null)},d.prototype.onClose=function(){b.Transport.XHR.prototype.onClose.call(this);if(this.xhr){this.xhr.onreadystatechange=this.xhr.onload=this.xhr.onerror=e;try{this.xhr.abort()}catch(a){}this.xhr=null}},d.prototype.ready=function(a,c){var d=this;b.util.defer(function(){c.call(d)})},b.transports.push(\"xhr-polling\")}(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports,this),function(a,b,c){function e(a){b.Transport[\"xhr-polling\"].apply(this,arguments),this.index=b.j.length;var c=this;b.j.push(function(a){c._(a)})}var d=c.document&&\"MozAppearance\"in c.document.documentElement.style;a[\"jsonp-polling\"]=e,b.util.inherit(e,b.Transport[\"xhr-polling\"]),e.prototype.name=\"jsonp-polling\",e.prototype.post=function(a){function i(){j(),c.socket.setBuffer(!1)}function j(){c.iframe&&c.form.removeChild(c.iframe);try{h=document.createElement('<iframe name=\"'+c.iframeId+'\">')}catch(a){h=document.createElement(\"iframe\"),h.name=c.iframeId}h.id=c.iframeId,c.form.appendChild(h),c.iframe=h}var c=this,d=b.util.query(this.socket.options.query,\"t=\"+ +(new Date)+\"&i=\"+this.index);if(!this.form){var e=document.createElement(\"form\"),f=document.createElement(\"textarea\"),g=this.iframeId=\"socketio_iframe_\"+this.index,h;e.className=\"socketio\",e.style.position=\"absolute\",e.style.top=\"0px\",e.style.left=\"0px\",e.style.display=\"none\",e.target=g,e.method=\"POST\",e.setAttribute(\"accept-charset\",\"utf-8\"),f.name=\"d\",e.appendChild(f),document.body.appendChild(e),this.form=e,this.area=f}this.form.action=this.prepareUrl()+d,j(),this.area.value=b.JSON.stringify(a);try{this.form.submit()}catch(k){}this.iframe.attachEvent?h.onreadystatechange=function(){c.iframe.readyState==\"complete\"&&i()}:this.iframe.onload=i,this.socket.setBuffer(!0)},e.prototype.get=function(){var a=this,c=document.createElement(\"script\"),e=b.util.query(this.socket.options.query,\"t=\"+ +(new Date)+\"&i=\"+this.index);this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),c.async=!0,c.src=this.prepareUrl()+e,c.onerror=function(){a.onClose()};var f=document.getElementsByTagName(\"script\")[0];f.parentNode.insertBefore(c,f),this.script=c,d&&setTimeout(function(){var a=document.createElement(\"iframe\");document.body.appendChild(a),document.body.removeChild(a)},100)},e.prototype._=function(a){return this.onData(a),this.isOpen&&this.get(),this},e.prototype.ready=function(a,c){var e=this;if(!d)return c.call(this);b.util.load(function(){c.call(e)})},e.check=function(){return\"document\"in c},e.xdomainCheck=function(){return!0},b.transports.push(\"jsonp-polling\")}(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports,this),typeof define==\"function\"&&define.amd&&define([],function(){return io})})()" | |
}, | |
"redirectURL": "", | |
"headersSize": 208, | |
"bodySize": 44789 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 0, | |
"dns": 0, | |
"connect": 0, | |
"send": 0, | |
"wait": 56, | |
"receive": 123 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "9998" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.052+01:00", | |
"time": 756, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/all/modules/languageicons/flags/en.png", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 424, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "210" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Sun, 03 Jun 2012 09:09:50 GMT" | |
}, | |
{ | |
"name": "Etag", | |
"value": "\"12020d-d2-4c18dc797b380\"" | |
}, | |
{ | |
"name": "Accept-Ranges", | |
"value": "bytes" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 210 | |
}, | |
"redirectURL": "", | |
"headersSize": 314, | |
"bodySize": 210 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 632, | |
"dns": 0, | |
"connect": 57, | |
"send": 0, | |
"wait": 67, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.057+01:00", | |
"time": 755, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/all/modules/languageicons/flags/it.png", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 424, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "116" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Sun, 03 Jun 2012 09:09:50 GMT" | |
}, | |
{ | |
"name": "Etag", | |
"value": "\"12021e-74-4c18dc797b380\"" | |
}, | |
{ | |
"name": "Accept-Ranges", | |
"value": "bytes" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 116 | |
}, | |
"redirectURL": "", | |
"headersSize": 314, | |
"bodySize": 116 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 627, | |
"dns": 0, | |
"connect": 58, | |
"send": 0, | |
"wait": 70, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.060+01:00", | |
"time": 758, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/all/modules/languageicons/flags/pt-br.png", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 427, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "313" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Sun, 03 Jun 2012 09:09:50 GMT" | |
}, | |
{ | |
"name": "Etag", | |
"value": "\"12022a-139-4c18dc797b380\"" | |
}, | |
{ | |
"name": "Accept-Ranges", | |
"value": "bytes" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 313 | |
}, | |
"redirectURL": "", | |
"headersSize": 315, | |
"bodySize": 313 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 624, | |
"dns": 0, | |
"connect": 58, | |
"send": 1, | |
"wait": 75, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.065+01:00", | |
"time": 757, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/all/modules/languageicons/flags/es.png", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 424, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "241" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Sun, 03 Jun 2012 09:09:50 GMT" | |
}, | |
{ | |
"name": "Etag", | |
"value": "\"12020f-f1-4c18dc797b380\"" | |
}, | |
{ | |
"name": "Accept-Ranges", | |
"value": "bytes" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 241 | |
}, | |
"redirectURL": "", | |
"headersSize": 314, | |
"bodySize": 241 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 619, | |
"dns": 0, | |
"connect": 59, | |
"send": 0, | |
"wait": 79, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.068+01:00", | |
"time": 760, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/all/modules/languageicons/flags/fr.png", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 424, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "116" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Sun, 03 Jun 2012 09:09:50 GMT" | |
}, | |
{ | |
"name": "Etag", | |
"value": "\"120215-74-4c18dc797b380\"" | |
}, | |
{ | |
"name": "Accept-Ranges", | |
"value": "bytes" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 116 | |
}, | |
"redirectURL": "", | |
"headersSize": 314, | |
"bodySize": 116 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 616, | |
"dns": 0, | |
"connect": 62, | |
"send": 0, | |
"wait": 82, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.072+01:00", | |
"time": 758, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/all/modules/languageicons/flags/el.png", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 424, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "189" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Sun, 03 Jun 2012 09:09:50 GMT" | |
}, | |
{ | |
"name": "Etag", | |
"value": "\"12020b-bd-4c18dc797b380\"" | |
}, | |
{ | |
"name": "Accept-Ranges", | |
"value": "bytes" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 189 | |
}, | |
"redirectURL": "", | |
"headersSize": 314, | |
"bodySize": 189 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 612, | |
"dns": 0, | |
"connect": 62, | |
"send": 0, | |
"wait": 84, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.076+01:00", | |
"time": 2644, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/sites/default/files/imagecache/128/project/1675/logo/save-the-earth.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 454, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [ | |
{ | |
"name": "SESS7c02ee855825b7d47ff4ec2a5b0aa276", | |
"value": "h233v6acj9hpvn00imkc4o7971", | |
"expires": "2015-01-22T18:49:28.000+01:00", | |
"path": "/" | |
} | |
], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:10 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/jpeg" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "2815" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "X-Powered-By", | |
"value": "PHP/5.3.3" | |
}, | |
{ | |
"name": "Set-Cookie", | |
"value": "SESS7c02ee855825b7d47ff4ec2a5b0aa276=h233v6acj9hpvn00imkc4o7971; expires=Thu, 22-Jan-2015 17:49:28 GMT; path=/" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:10 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600, private, must-revalidate" | |
} | |
], | |
"content": { | |
"mimeType": "image/jpeg", | |
"size": 2815 | |
}, | |
"redirectURL": "", | |
"headersSize": 390, | |
"bodySize": 2815 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 732, | |
"dns": 0, | |
"connect": 57, | |
"send": 0, | |
"wait": 1855, | |
"receive": 0 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.079+01:00", | |
"time": 3444, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/black-and-red-training-german-shepherd-puppy-images.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 501, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [ | |
{ | |
"name": "SESS7c02ee855825b7d47ff4ec2a5b0aa276", | |
"value": "4tnce742l9t9p2i28clvc1m9t1", | |
"expires": "2015-01-22T18:49:28.000+01:00", | |
"path": "/" | |
} | |
], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:10 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "X-Powered-By", | |
"value": "PHP/5.3.3" | |
}, | |
{ | |
"name": "Set-Cookie", | |
"value": "SESS7c02ee855825b7d47ff4ec2a5b0aa276=4tnce742l9t9p2i28clvc1m9t1; expires=Thu, 22-Jan-2015 17:49:28 GMT; path=/" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:10 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600, private, must-revalidate" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 433577 | |
}, | |
"redirectURL": "", | |
"headersSize": 395, | |
"bodySize": 433577 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 733, | |
"dns": 0, | |
"connect": 54, | |
"send": 0, | |
"wait": 1983, | |
"receive": 674 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.082+01:00", | |
"time": 3422, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/454414567-78654-990x742.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 473, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [ | |
{ | |
"name": "SESS7c02ee855825b7d47ff4ec2a5b0aa276", | |
"value": "jgmm7rg7rks6vn12g2v4fltpg7", | |
"expires": "2015-01-22T18:49:28.000+01:00", | |
"path": "/" | |
} | |
], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:10 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "X-Powered-By", | |
"value": "PHP/5.3.3" | |
}, | |
{ | |
"name": "Set-Cookie", | |
"value": "SESS7c02ee855825b7d47ff4ec2a5b0aa276=jgmm7rg7rks6vn12g2v4fltpg7; expires=Thu, 22-Jan-2015 17:49:28 GMT; path=/" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:10 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600, private, must-revalidate" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 237769 | |
}, | |
"redirectURL": "", | |
"headersSize": 395, | |
"bodySize": 237769 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 736, | |
"dns": 0, | |
"connect": 62, | |
"send": 0, | |
"wait": 2041, | |
"receive": 583 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.086+01:00", | |
"time": 3650, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/virus-ebola.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 461, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [ | |
{ | |
"name": "SESS7c02ee855825b7d47ff4ec2a5b0aa276", | |
"value": "tr2e2sivejgtpljbvfhh6m3t76", | |
"expires": "2015-01-22T18:49:28.000+01:00", | |
"path": "/" | |
} | |
], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:10 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "X-Powered-By", | |
"value": "PHP/5.3.3" | |
}, | |
{ | |
"name": "Set-Cookie", | |
"value": "SESS7c02ee855825b7d47ff4ec2a5b0aa276=tr2e2sivejgtpljbvfhh6m3t76; expires=Thu, 22-Jan-2015 17:49:28 GMT; path=/" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:10 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600, private, must-revalidate" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 518224 | |
}, | |
"redirectURL": "", | |
"headersSize": 395, | |
"bodySize": 518224 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 736, | |
"dns": 0, | |
"connect": 58, | |
"send": 0, | |
"wait": 2174, | |
"receive": 682 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.089+01:00", | |
"time": 2965, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/spinosaurus-skeleton.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 470, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [ | |
{ | |
"name": "SESS7c02ee855825b7d47ff4ec2a5b0aa276", | |
"value": "rnfec87vhkh6pkpoi32ilf22l6", | |
"expires": "2015-01-22T18:49:28.000+01:00", | |
"path": "/" | |
} | |
], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:10 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "X-Powered-By", | |
"value": "PHP/5.3.3" | |
}, | |
{ | |
"name": "Set-Cookie", | |
"value": "SESS7c02ee855825b7d47ff4ec2a5b0aa276=rnfec87vhkh6pkpoi32ilf22l6; expires=Thu, 22-Jan-2015 17:49:28 GMT; path=/" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:10 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600, private, must-revalidate" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 565623 | |
}, | |
"redirectURL": "", | |
"headersSize": 395, | |
"bodySize": 565623 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 739, | |
"dns": 0, | |
"connect": 60, | |
"send": 0, | |
"wait": 1741, | |
"receive": 425 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.093+01:00", | |
"time": 1284, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/sites/default/files/imagecache/carouselshare/video_thumbs/5410/video-thumb-for-5410-1.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 469, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:08 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/jpeg" | |
}, | |
{ | |
"name": "Content-Length", | |
"value": "583187" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Last-Modified", | |
"value": "Fri, 08 Aug 2014 20:26:10 GMT" | |
}, | |
{ | |
"name": "Etag", | |
"value": "\"1606f5-8e613-50024040a98e4\"" | |
}, | |
{ | |
"name": "Accept-Ranges", | |
"value": "bytes" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:08 GMT" | |
} | |
], | |
"content": { | |
"mimeType": "image/jpeg", | |
"size": 583187 | |
}, | |
"redirectURL": "", | |
"headersSize": 321, | |
"bodySize": 583187 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 737, | |
"dns": 0, | |
"connect": 58, | |
"send": 0, | |
"wait": 89, | |
"receive": 400 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.096+01:00", | |
"time": 3700, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/2d0hmw0.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 457, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 200, | |
"statusText": "OK", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [ | |
{ | |
"name": "SESS7c02ee855825b7d47ff4ec2a5b0aa276", | |
"value": "qpgm5dm50dr59h3hgkf17njdl5", | |
"expires": "2015-01-22T18:49:29.000+01:00", | |
"path": "/" | |
} | |
], | |
"headers": [ | |
{ | |
"name": "Server", | |
"value": "nginx" | |
}, | |
{ | |
"name": "Date", | |
"value": "Tue, 30 Dec 2014 14:16:11 GMT" | |
}, | |
{ | |
"name": "Content-Type", | |
"value": "image/png" | |
}, | |
{ | |
"name": "Transfer-Encoding", | |
"value": "chunked" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "X-Powered-By", | |
"value": "PHP/5.3.3" | |
}, | |
{ | |
"name": "Set-Cookie", | |
"value": "SESS7c02ee855825b7d47ff4ec2a5b0aa276=qpgm5dm50dr59h3hgkf17njdl5; expires=Thu, 22-Jan-2015 17:49:29 GMT; path=/" | |
}, | |
{ | |
"name": "Expires", | |
"value": "Tue, 13 Jan 2015 14:16:11 GMT" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "max-age=1209600, private, must-revalidate" | |
} | |
], | |
"content": { | |
"mimeType": "image/png", | |
"size": 313780 | |
}, | |
"redirectURL": "", | |
"headersSize": 395, | |
"bodySize": 313780 | |
}, | |
"cache": {}, | |
"timings": { | |
"blocked": 1281, | |
"dns": 0, | |
"connect": 94, | |
"send": 0, | |
"wait": 1657, | |
"receive": 668 | |
}, | |
"serverIPAddress": "149.210.142.146", | |
"connection": "80" | |
}, | |
{ | |
"pageref": "page_2", | |
"startedDateTime": "2014-12-30T15:16:08.100+01:00", | |
"time": 4121, | |
"request": { | |
"method": "GET", | |
"url": "http://phyrtual.org/it/sites/default/files/imagecache/carouselshare/project/1675/news/amazon-rainforest-hero.jpg", | |
"httpVersion": "HTTP/1.1", | |
"cookies": [], | |
"headers": [ | |
{ | |
"name": "Host", | |
"value": "phyrtual.org" | |
}, | |
{ | |
"name": "User-Agent", | |
"value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0" | |
}, | |
{ | |
"name": "Accept", | |
"value": "image/png,image/*;q=0.8,*/*;q=0.5" | |
}, | |
{ | |
"name": "Accept-Language", | |
"value": "it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3" | |
}, | |
{ | |
"name": "Accept-Encoding", | |
"value": "gzip, deflate" | |
}, | |
{ | |
"name": "Referer", | |
"value": "http://phyrtual.org/it/project/save-the-earth" | |
}, | |
{ | |
"name": "Connection", | |
"value": "keep-alive" | |
}, | |
{ | |
"name": "Pragma", | |
"value": "no-cache" | |
}, | |
{ | |
"name": "Cache-Control", | |
"value": "no-cache" | |
} | |
], | |
"queryString": [], | |
"headersSize": 472, | |
"bodySize": -1 | |
}, | |
"response": { | |
"status": 2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment