Revision 2cd9a3d6
Added by Andreas Kohlbecker over 14 years ago
.gitattributes | ||
---|---|---|
131 | 131 |
modules/cdm_dataportal/js/OpenLayers/theme/default/style.css -text |
132 | 132 |
modules/cdm_dataportal/js/cdm_annotations.js -text |
133 | 133 |
modules/cdm_dataportal/js/cdm_dynabox.js -text |
134 |
modules/cdm_dataportal/js/cdm_thickbox.css -text |
|
135 | 134 |
modules/cdm_dataportal/js/cluetip/Changelog.txt -text |
136 | 135 |
modules/cdm_dataportal/js/cluetip/images/arrowdown.gif -text |
137 | 136 |
modules/cdm_dataportal/js/cluetip/images/arrowleft.gif -text |
... | ... | |
159 | 158 |
modules/cdm_dataportal/js/cluetip/jquery.dimensions.js -text |
160 | 159 |
modules/cdm_dataportal/js/cluetip/jquery.hoverIntent.js -text |
161 | 160 |
modules/cdm_dataportal/js/cluetip/wait.gif -text |
161 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/css/jquery.lightbox-0.5.css -text |
|
162 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/images/lightbox-blank.gif -text |
|
163 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/images/lightbox-btn-close.gif -text |
|
164 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/images/lightbox-btn-next.gif -text |
|
165 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/images/lightbox-btn-prev.gif -text |
|
166 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/images/lightbox-ico-loading.gif -text |
|
167 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/index.htm -text |
|
168 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/js/jquery.js -text |
|
169 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/js/jquery.lightbox-0.5.js -text |
|
170 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/js/jquery.lightbox-0.5.min.js -text |
|
171 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/js/jquery.lightbox-0.5.pack.js -text |
|
172 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/image1.jpg -text |
|
173 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/image2.jpg -text |
|
174 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/image3.jpg -text |
|
175 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/image4.jpg -text |
|
176 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/image5.jpg -text |
|
177 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/thumb_image1.jpg -text |
|
178 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/thumb_image2.jpg -text |
|
179 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/thumb_image3.jpg -text |
|
180 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/thumb_image4.jpg -text |
|
181 |
modules/cdm_dataportal/js/jquery-lightbox-0.5/photos/thumb_image5.jpg -text |
|
162 | 182 |
modules/cdm_dataportal/js/jquery-ui.js -text |
163 | 183 |
modules/cdm_dataportal/js/jquery.dimensions.js -text |
164 | 184 |
modules/cdm_dataportal/js/jquery.dimensions.pack.js -text |
165 | 185 |
modules/cdm_dataportal/js/jquery.form.js -text |
166 | 186 |
modules/cdm_dataportal/js/jquery.imagetool.min.js -text |
167 |
modules/cdm_dataportal/js/thickbox.js -text |
|
187 |
modules/cdm_dataportal/js/thickbox/cdm_thickbox.css -text |
|
188 |
modules/cdm_dataportal/js/thickbox/thickbox.js -text |
|
168 | 189 |
modules/countrypresence/country-earth.dbf -text |
169 | 190 |
modules/countrypresence/country-earth.prj -text |
170 | 191 |
modules/countrypresence/country-earth.shp -text |
modules/cdm_dataportal/cdm_api/cdm_api.module | ||
---|---|---|
274 | 274 |
} |
275 | 275 |
|
276 | 276 |
/** |
277 |
* expects an ISO 8601 time representations of a org.joda.time.Partial |
|
278 |
* of the form yyyy-MM-dd and returns the year as String. |
|
277 |
* expects an ISO 8601 time representations of a org.joda.time.Partial
|
|
278 |
* of the form yyyy-MM-dd and returns the year as String.
|
|
279 | 279 |
* In case the year is unknown (= ????) null is returned. |
280 | 280 |
* |
281 |
* @param ISO 8601 time representations of a org.joda.time.Partial |
|
282 |
* @return String |
|
281 |
* @param ISO 8601 time representations of a org.joda.time.Partial
|
|
282 |
* @return String
|
|
283 | 283 |
*/ |
284 | 284 |
function partialToYear($partial){ |
285 | 285 |
if(is_string($partial)){ |
286 |
$year = substr($partial, 0, 4); |
|
286 |
$year = substr($partial, 0, 4);
|
|
287 | 287 |
if($year != '??'){ |
288 | 288 |
return $year; |
289 |
} |
|
289 |
}
|
|
290 | 290 |
} |
291 |
return; |
|
291 |
return;
|
|
292 | 292 |
} |
293 | 293 |
/** |
294 |
* expects an ISO 8601 time representations of a org.joda.time.Partial |
|
294 |
* expects an ISO 8601 time representations of a org.joda.time.Partial
|
|
295 | 295 |
* of the form yyyy-MM-dd and returns the month as String. |
296 | 296 |
* In case the month is unknown (= ???) null is returned. |
297 | 297 |
* |
298 |
* @param ISO 8601 time representations of a org.joda.time.Partial |
|
299 |
* @return String |
|
298 |
* @param ISO 8601 time representations of a org.joda.time.Partial
|
|
299 |
* @return String
|
|
300 | 300 |
*/ |
301 | 301 |
function partialToMonth($partial){ |
302 | 302 |
if(is_string($partial)){ |
... | ... | |
305 | 305 |
return $month; |
306 | 306 |
} |
307 | 307 |
} |
308 |
return; |
|
308 |
return;
|
|
309 | 309 |
} |
310 | 310 |
/** |
311 |
* expects an ISO 8601 time representations of a org.joda.time.Partial |
|
311 |
* expects an ISO 8601 time representations of a org.joda.time.Partial
|
|
312 | 312 |
* of the form yyyy-MM-dd and returns the day as String. |
313 | 313 |
* In case the day is unknown (= ???) null is returned. |
314 | 314 |
* |
315 |
* @param ISO 8601 time representations of a org.joda.time.Partial |
|
316 |
* @return String |
|
315 |
* @param ISO 8601 time representations of a org.joda.time.Partial
|
|
316 |
* @return String
|
|
317 | 317 |
*/ |
318 | 318 |
function partialToDay($partial){ |
319 | 319 |
if(is_string($partial)){ |
... | ... | |
326 | 326 |
} |
327 | 327 |
|
328 | 328 |
/** |
329 |
* |
|
329 |
*
|
|
330 | 330 |
* @param $uri_pattern |
331 | 331 |
* @param $pathParameters an array of path elements, or a single element |
332 | 332 |
* @param $query A query string to append to the URL. |
... | ... | |
337 | 337 |
$request_params = ''; |
338 | 338 |
$path_params = ''; |
339 | 339 |
|
340 |
/* (1) |
|
341 |
* substitute all place holders ($0, $1, ..) in the |
|
340 |
/* (1)
|
|
341 |
* substitute all place holders ($0, $1, ..) in the
|
|
342 | 342 |
* $uri_pattern by the according element of the $pathParameters array |
343 | 343 |
*/ |
344 | 344 |
static $helperArray = array(); |
... | ... | |
353 | 353 |
drupal_set_message('cdm_compose_url(): missing pathParameters', 'debug'); |
354 | 354 |
} |
355 | 355 |
$uri_pattern = str_replace("$".$i, rawurlencode($pathParameters[$i]), $uri_pattern); |
356 |
++$i; |
|
356 |
++$i;
|
|
357 | 357 |
} |
358 | 358 |
|
359 | 359 |
/* (2) |
... | ... | |
361 | 361 |
*/ |
362 | 362 |
if(count($pathParameters) > $i){ |
363 | 363 |
// strip trailing slashes |
364 |
if(strrchr($uri_pattern, '/') == strlen($uri_pattern)){ |
|
365 |
$uri_pattern = substr($uri_pattern, 0, strlen($uri_pattern) - 1); |
|
364 |
if(strrchr($uri_pattern, '/') == strlen($uri_pattern)){
|
|
365 |
$uri_pattern = substr($uri_pattern, 0, strlen($uri_pattern) - 1);
|
|
366 | 366 |
} |
367 | 367 |
while(count($pathParameters) > $i){ |
368 | 368 |
$uri_pattern .= '/' . $pathParameters[$i]; |
... | ... | |
521 | 521 |
return false; |
522 | 522 |
} |
523 | 523 |
|
524 |
$mergedTrees = array(); |
|
524 |
$mergedTrees = array();
|
|
525 | 525 |
|
526 | 526 |
if($isDescriptionsSeparated){ |
527 | 527 |
// merge any description into a sparate feature tree |
... | ... | |
548 | 548 |
|
549 | 549 |
foreach($featureNodes as &$node){ |
550 | 550 |
|
551 |
// append corresponding elements to an additional node field: $node->descriptionElements |
|
551 |
// append corresponding elements to an additional node field: $node->descriptionElements
|
|
552 | 552 |
foreach($descriptionElements as $element){ |
553 | 553 |
if($element->feature->uuid == $node->feature->uuid){ |
554 | 554 |
if(!isset($node->descriptionElements)){ |
... | ... | |
583 | 583 |
|
584 | 584 |
|
585 | 585 |
/** |
586 |
* Send a HTTP GET request to the RESTService and deserializes |
|
586 |
* Send a HTTP GET request to the RESTService and deserializes
|
|
587 | 587 |
* and returns the response as object |
588 |
* |
|
588 |
*
|
|
589 | 589 |
* @param $uri |
590 | 590 |
* @param $pathParameters |
591 | 591 |
* @param $query |
... | ... | |
622 | 622 |
|
623 | 623 |
$time_parse = microtime(true) - $time_parse_start; |
624 | 624 |
if(variable_get('cdm_webservice_debug', 1) && user_access('administer')){ |
625 |
$success_msg = $obj || $datastr == "[]" ? 'valid':'invalid'; |
|
625 |
$success_msg = $obj || $datastr == "[]" ? 'valid':'invalid';
|
|
626 | 626 |
_add_debugMessage($uri, $time_get, $time_parse, strlen($datastr), $success_msg); |
627 | 627 |
} |
628 | 628 |
if($obj && $do_cache) { |
... | ... | |
683 | 683 |
} |
684 | 684 |
|
685 | 685 |
/** |
686 |
* |
|
686 |
*
|
|
687 | 687 |
* @param $uri |
688 |
* @param $method the HTTP method to use, valuid values are "GET" or "POST"; efaults to "GET" even if null, |
|
688 |
* @param $method the HTTP method to use, valuid values are "GET" or "POST"; efaults to "GET" even if null,
|
|
689 | 689 |
* false or any invalid value is supplied. |
690 | 690 |
* @param $parameters |
691 | 691 |
* @param $header |
... | ... | |
832 | 832 |
$query .= (strlen($query) > 0 ? '&' : '').$key.'='.urlencode($v); |
833 | 833 |
} |
834 | 834 |
} else{ |
835 |
$query .= (strlen($query) > 0 ? '&' : '').$key.'='.urlencode($value); |
|
835 |
$query .= (strlen($query) > 0 ? '&' : '').$key.'='.urlencode($value);
|
|
836 | 836 |
} |
837 | 837 |
} |
838 | 838 |
return $query; |
... | ... | |
847 | 847 |
$this->$name= clone($this->$name); |
848 | 848 |
} |
849 | 849 |
} |
850 |
} |
|
850 |
}
|
|
851 | 851 |
|
852 | 852 |
/** |
853 | 853 |
* Make a complete deep copy of an array replacing |
... | ... | |
872 | 872 |
} |
873 | 873 |
|
874 | 874 |
/** |
875 |
* Implementation of theme_status_messages($display = NULL) |
|
875 |
* Implementation of theme_status_messages($display = NULL)
|
|
876 | 876 |
* @see includes/theme.inc |
877 |
* |
|
877 |
*
|
|
878 | 878 |
* @param $display |
879 | 879 |
* @return unknown_type |
880 | 880 |
*/ |
... | ... | |
893 | 893 |
|
894 | 894 |
});' |
895 | 895 |
, 'inline'); |
896 |
$isAdded = TRUE; |
|
896 |
$isAdded = TRUE;
|
|
897 | 897 |
} |
898 | 898 |
} |
899 | 899 |
|
900 |
define('CDM_WS_MEDIA', 'portal/media'); |
|
900 | 901 |
|
901 | 902 |
define('CDM_WS_NAME', 'name'); |
902 | 903 |
|
... | ... | |
910 | 911 |
|
911 | 912 |
define('CDM_WS_REFERENCE', 'reference'); |
912 | 913 |
|
913 |
|
|
914 | 914 |
define('CDM_WS_NOMENCLATURAL_REFERENCE_CITATION', 'reference/$0/nomenclaturalCitation/$1'); |
915 | 915 |
|
916 | 916 |
define('CDM_WS_FIND_TAXA', 'portal/taxon/find'); |
... | ... | |
919 | 919 |
|
920 | 920 |
/** |
921 | 921 |
* @parameters $0 : the taxon uuid |
922 |
* |
|
923 |
* @returns |
|
922 |
*
|
|
923 |
* @returns
|
|
924 | 924 |
*/ |
925 | 925 |
define('CDM_WS_TAXON_SYNONYMY', 'portal/taxon/$0/synonymy'); |
926 | 926 |
|
... | ... | |
931 | 931 |
|
932 | 932 |
/** |
933 | 933 |
* @parameters $0 : the taxon uuid |
934 |
* |
|
934 |
*
|
|
935 | 935 |
* @returns the taxon which is the accepted synonym for the taxon given as |
936 | 936 |
* parameter taxonUuid. If the taxon specified by taxonUuid is itself the |
937 | 937 |
* accepted taxon, this one will be returned. |
... | ... | |
947 | 947 |
* |
948 | 948 |
* stub: treenode_root |
949 | 949 |
*/ |
950 |
define('CDM_WS_TAXONOMY', 'taxontree'); |
|
950 |
define('CDM_WS_TAXONOMY', 'portal/taxontree');
|
|
951 | 951 |
|
952 | 952 |
define('CDM_WS_TERMVOCABULARY', 'term/$0'); |
953 | 953 |
|
modules/cdm_dataportal/cdm_dataportal.css | ||
---|---|---|
218 | 218 |
height: 200px; |
219 | 219 |
border: 1px solid; |
220 | 220 |
} |
221 |
.media .viewer{ |
|
222 |
margin-top: 20px; |
|
223 |
} |
|
221 | 224 |
|
222 | 225 |
.media_thumbnails{ |
223 | 226 |
margin-top: 0px; |
224 | 227 |
margin-left: 0.3em; |
225 | 228 |
} |
226 | 229 |
|
227 |
.media_gallerie tbody{
|
|
230 |
.media_gallery tbody {
|
|
228 | 231 |
border: 0px none; |
229 | 232 |
} |
230 | 233 |
|
234 |
.image-passe-partout, .image_viewer { |
|
235 |
border: 1px solid; |
|
236 |
background-color: #eeeeee; |
|
237 |
} |
|
238 |
|
|
231 | 239 |
.distribution_map{ |
232 | 240 |
border: 1px solid #ddd; |
233 | 241 |
background-color: #ffffff; |
modules/cdm_dataportal/cdm_dataportal.module | ||
---|---|---|
111 | 111 |
// expected callback arguments: name_uuid |
112 | 112 |
); |
113 | 113 |
|
114 |
$items[] = array( |
|
115 |
'path' => 'cdm_dataportal/media', |
|
116 |
'callback' => 'cdm_dataportal_view_media', |
|
117 |
'access' => true, |
|
118 |
'type' => MENU_CALLBACK, |
|
119 |
// expected callback arguments: media_uuid |
|
120 |
); |
|
121 |
|
|
114 | 122 |
$items[] = array( |
115 | 123 |
'path' => 'cdm_dataportal/search', |
116 | 124 |
'callback' => 'cdm_dataportal_view_search_advanced', |
... | ... | |
829 | 837 |
return theme('cdm_reference_pager', $referencePager, 'cdm_dataportal/reference/list/'); |
830 | 838 |
} |
831 | 839 |
|
840 |
function cdm_dataportal_view_media($mediaUuid){ |
|
841 |
$media = cdm_ws_get(CDM_WS_MEDIA, $mediaUuid); |
|
842 |
return theme('cdm_media_page', $media); |
|
843 |
} |
|
844 |
|
|
832 | 845 |
/** |
833 | 846 |
* The taxon page gives detailed information on a taxon, it shows: |
834 | 847 |
* - Taxon name |
... | ... | |
910 | 923 |
return 'cdm_dataportal/reference/'.$uuid; |
911 | 924 |
} |
912 | 925 |
|
926 |
function path_to_media($uuid){ |
|
927 |
if(!$uuid) return false; |
|
928 |
return 'cdm_dataportal/media/'.$uuid; |
|
929 |
} |
|
930 |
|
|
913 | 931 |
/** |
914 | 932 |
* Compares thisRank with thatRank. |
915 | 933 |
* Returns a negative integer, zero, or a positive integer |
modules/cdm_dataportal/cdm_dataportal.theme.php | ||
---|---|---|
15 | 15 |
* see INSTALL.txt |
16 | 16 |
* |
17 | 17 |
*/ |
18 |
drupal_add_js(drupal_get_path('module', 'cdm_dataportal').'/js/jquery.imagetool.min.js'); |
|
19 |
drupal_add_js(drupal_get_path('module', 'cdm_dataportal').'/js/thickbox.js'); |
|
20 |
drupal_add_css(drupal_get_path('module', 'cdm_dataportal').'/js/cdm_thickbox.css'); |
|
18 |
//drupal_add_js(drupal_get_path('module', 'cdm_dataportal').'/js/jquery.imagetool.min.js');
|
|
19 |
drupal_add_js(drupal_get_path('module', 'cdm_dataportal').'/js/thickbox/thickbox.js');
|
|
20 |
drupal_add_css(drupal_get_path('module', 'cdm_dataportal').'/js/thickbox/cdm_thickbox.css');
|
|
21 | 21 |
} |
22 | 22 |
|
23 |
function _add_js_lightbox($galleryID){ |
|
24 |
$lightBoxBasePath = drupal_get_path('module', 'cdm_dataportal') .'/js/jquery-lightbox-0.5'; |
|
25 |
drupal_add_js($lightBoxBasePath.'/js/jquery.lightbox-0.5.js'); |
|
26 |
drupal_add_css($lightBoxBasePath.'/css/jquery.lightbox-0.5.css'); |
|
27 |
drupal_add_js ('$(document).ready(function() { |
|
28 |
$(\'#'.$galleryID.' a.lightbox\').lightBox({ |
|
29 |
fixedNavigation: true, |
|
30 |
imageLoading: \''.$lightBoxBasePath.'/images/lightbox-ico-loading.gif\', |
|
31 |
imageBtnPrev: \''.$lightBoxBasePath.'/images/lightbox-btn-prev.gif\', |
|
32 |
imageBtnNext: \''.$lightBoxBasePath.'/images/lightbox-btn-next.gif\', |
|
33 |
imageBtnClose: \''.$lightBoxBasePath.'/images/lightbox-btn-close.gif\', |
|
34 |
imageBlank: \''.$lightBoxBasePath.'/images/lightbox-blank.gif\' |
|
35 |
}); |
|
36 |
});', 'inline'); |
|
37 |
} |
|
38 |
|
|
39 |
|
|
23 | 40 |
function _add_js_cluetip(){ |
24 | 41 |
|
25 | 42 |
//TODO replace by http://www.socialembedded.com/labs/jQuery-Tooltip-Plugin/jQuery-Tooltip-Plugin.html |
... | ... | |
257 | 274 |
return $out; |
258 | 275 |
} |
259 | 276 |
|
260 |
function theme_cdm_media_gallerie($mediaList, $maxExtend, $cols = 4, $maxRows = 1, $mediaLinks = null, $moreLink = null ){ |
|
277 |
|
|
278 |
function theme_cdm_media_caption($media, $elements = array('title', 'description', 'file', 'filename'), $fileUri = null){ |
|
279 |
$out = '<div class="media_caption">'; |
|
280 |
if(isset($elements['title']) && $media->title_L10n){ |
|
281 |
$out .= '<span class="title">'.$media->title_L10n.'</span>'; |
|
282 |
} |
|
283 |
if(isset($elements['description']) && $media->description_L10n){ |
|
284 |
$out .= '<span class="description">'.$media->description_L10n.'</span>'; |
|
285 |
} |
|
286 |
if(isset($elements['file'])){ |
|
287 |
$out .= '<span class="file">'.$media->title_L10n.'</span>'; |
|
288 |
} |
|
289 |
if(isset($elements['filename']) && $fileUri){ |
|
290 |
$filename = substr($fileUri, strrpos($fileUri, "/")+1); |
|
291 |
$out .= '<span class="filename">'.$filename.'</span>'; |
|
292 |
} |
|
293 |
$out .= '</div>'; |
|
294 |
return $out; |
|
295 |
} |
|
296 |
|
|
297 |
/** |
|
298 |
* @param $mediaList an array of Media entities |
|
299 |
* @param $maxExtend |
|
300 |
* @param $cols |
|
301 |
* @param $maxRows |
|
302 |
* @param $mediaLinkType valid values: |
|
303 |
* "NONE": do not link the images, |
|
304 |
* "LIGHTBOX": open the link in a light box, |
|
305 |
* "IMAGEPAGE": link to the image page |
|
306 |
* @param $alternativeMediaUri an array of alternative URIs to link the images wich will overwrite the URIs of the media parts. |
|
307 |
* The order of URI in this array must correspond with the order of images in $mediaList |
|
308 |
* @param $moreLink an URI to link the the hint on more images to; if null no link is created |
|
309 |
* @return unknown_type |
|
310 |
*/ |
|
311 |
function theme_cdm_media_gallerie($mediaList, $galleryName, $maxExtend = 150, $cols = 4, $maxRows = false, $captionElements = array('title'), |
|
312 |
$mediaLinkType = 'LIGHTBOX', $alternativeMediaUri = null, $moreLinkUri = null ){ |
|
313 |
|
|
314 |
//TODO correctly handle multiple media representation parts |
|
261 | 315 |
|
316 |
// prevent from errors |
|
262 | 317 |
if(!isset($mediaList[0])){ |
263 | 318 |
return; |
264 | 319 |
} |
265 |
$out = '<table class="media_gallerie">'; |
|
266 |
for($r = 0; $r < $maxRows && count($mediaList) > 0; $r++){ |
|
320 |
|
|
321 |
$galleryID = "media_gallery_".$galleryName; |
|
322 |
|
|
323 |
// prepare media links |
|
324 |
$doLink = false; |
|
325 |
$linkAttributes = null; |
|
326 |
if($mediaLinkType = 'LIGHTBOX'){ |
|
327 |
$doLink = true; |
|
328 |
//_add_js_thickbox(); |
|
329 |
//$linkAttributes = array("class"=>"thickbox", "rel"=>"media_gallerie".$galleryName); |
|
330 |
_add_js_lightbox($galleryID); |
|
331 |
$linkAttributes = array("class"=>"lightbox"); |
|
332 |
} |
|
333 |
|
|
334 |
// render the media gallery grid |
|
335 |
$out = '<table id="'.$galleryID.'" class="media_gallery">'; |
|
267 | 336 |
$out .= '<colgroup>'; |
268 |
for($r = 0; $r < $cols; $r++){
|
|
337 |
for($c = 0; $c < $cols; $c++){
|
|
269 | 338 |
$out .= '<col width="'.(100 / $cols).'%">'; |
270 | 339 |
} |
271 | 340 |
$out .= '</colgroup>'; |
272 |
} |
|
273 |
for($r = 0; $r < $maxRows && count($mediaList) > 0; $r++){ |
|
341 |
|
|
342 |
$mediaIndex = 0; |
|
343 |
for($r = 0; ($r < $maxRows || !$maxRows) && count($mediaList) > 0; $r++){ |
|
344 |
$captionParts = array(); |
|
274 | 345 |
$out .= '<tr>'; |
275 |
for($r = 0; $r < $cols; $r++){
|
|
346 |
for($c = 0; $c < $cols; $c++){
|
|
276 | 347 |
$media = array_shift($mediaList); |
277 | 348 |
if(isset($media->representations[0]->parts[0])){ |
278 | 349 |
$contentTypeDirectory = substr($media->representations[0]->mimeType, 0, stripos($media->representations[0]->mimeType, '/')); |
279 |
$mediaPartHtml = theme('cdm_media_gallerie_'.$contentTypeDirectory, $media->representations[0], $maxExtend); |
|
280 |
// if($mediaPartHtml){ |
|
281 |
// '<img src="" width="'.$maxExtend.'" height="'.$maxExtend.'" />'; |
|
282 |
// } |
|
350 |
$mediaIndex++; |
|
351 |
$mediaPartHtml = theme('cdm_media_gallerie_'.$contentTypeDirectory, $media->representations[0]->parts[0], $maxExtend, TRUE); |
|
352 |
|
|
353 |
// --- compose Media Link |
|
354 |
$mediaLinkUri = false; |
|
355 |
if($alternativeMediaUri){ |
|
356 |
if(isset($alternativeMediaUri[$mediaIndex])){ |
|
357 |
$mediaLinkUri = $alternativeMediaUri[$mediaIndex]; |
|
358 |
} |
|
359 |
if(is_string($alternativeMediaUri)){ |
|
360 |
$mediaLinkUri = $alternativeMediaUri; |
|
361 |
} |
|
362 |
} else { |
|
363 |
$mediaLinkUri = $media->representations[0]->parts[0]->uri; |
|
364 |
} |
|
365 |
$linkAttributes['title'] = ($media->title_L10n ? $media->title_L10n : '') |
|
366 |
.($media->title_L10n && $media->description_L10n ? ' - ' : '') |
|
367 |
.($media->description_L10n ? $media->description_L10n : ''); |
|
368 |
|
|
369 |
// --- assemble captions |
|
370 |
if(isset($media->representations[0]->parts[0]->uri)){ |
|
371 |
$fileUri = $media->representations[0]->parts[0]->uri; |
|
372 |
} |
|
373 |
$captionPartHtml = theme('cdm_media_caption', $media, $captionElements, $fileUri); |
|
374 |
if(isset($captionElements['#uri'])){ |
|
375 |
$captionPartHtml .= l($captionElements['#uri'], path_to_media($media->uuid), null, null, null, FALSE, TRUE); |
|
376 |
} |
|
377 |
$captionParts[] = $captionPartHtml; |
|
378 |
|
|
379 |
// --- surround imagePart with link |
|
380 |
if($doLink){ |
|
381 |
$mediaPartHtml = l($mediaPartHtml, $mediaLinkUri, $linkAttributes, null, null, FALSE, TRUE); |
|
382 |
} |
|
383 |
|
|
283 | 384 |
} else { |
284 | 385 |
$mediaPartHtml = ''; |
386 |
$captionParts[] = ''; |
|
285 | 387 |
} |
286 |
$out .= '<td>'.$mediaPartHtml.'</td>'; |
|
388 |
$out .= '<td>'.$mediaPartHtml.'</td>'; |
|
389 |
} |
|
390 |
$out .= '</tr>'; |
|
391 |
if(isset($captionElements[0])){ |
|
392 |
$out .= '<tr>'; |
|
393 |
// add caption row |
|
394 |
foreach($captionParts as $captionPartHtml){ |
|
395 |
$out .= '<td>'.$captionPartHtml.'</td>'; |
|
396 |
} |
|
397 |
$out .= '</tr>'; |
|
287 | 398 |
} |
288 |
$out .= '</tr>'; |
|
289 | 399 |
} |
290 | 400 |
if(count($mediaList) > 0){ |
291 |
$out .= '<tr><td colspan="'.$cols.'">'.count($mediaList).' '.t('more ...').'</td></tr>'; |
|
401 |
$moreHtml = count($mediaList).' '.t('more ...'); |
|
402 |
if($moreLinkUri){ |
|
403 |
$moreHtml = l($moreHtml, $moreLinkUri); |
|
404 |
} |
|
405 |
$out .= '<tr><td colspan="'.$cols.'">'.$moreHtml.'</td></tr>'; |
|
292 | 406 |
} |
293 | 407 |
$out .= '</table>'; |
294 | 408 |
return $out; |
295 | 409 |
} |
296 | 410 |
|
297 |
function theme_cdm_media_gallerie_image($mediaRepresentation, $maxExtend){ |
|
298 |
if(isset($mediaRepresentation->parts[0])){ |
|
299 |
return '<img src="'.$mediaRepresentation->parts[0]->uri.'" width="'.$maxExtend.'" height="'.$maxExtend.'" />'; |
|
411 |
function theme_cdm_media_gallerie_image($mediaRepresentationPart, $maxExtend, $addPassePartout = FALSE, $attributes = null){ |
|
412 |
//TODO merge with theme_cdm_media_mime_image? |
|
413 |
|
|
414 |
if(isset($mediaRepresentationPart)){ |
|
415 |
$h = $mediaRepresentationPart->height; |
|
416 |
$w = $mediaRepresentationPart->width; |
|
417 |
$margins = '0 0 0 0'; |
|
418 |
$ratio = $w / $h; |
|
419 |
if($ratio > 1){ |
|
420 |
$displayHeight = round($maxExtend / $ratio); |
|
421 |
$displayWidth = $maxExtend; |
|
422 |
$m = round(($maxExtend - $displayHeight) / 2); |
|
423 |
$margins = 'margin:'.$m.'px 0 '.$m.'px 0;'; |
|
424 |
} else { |
|
425 |
$displayHeight = $maxExtend; |
|
426 |
$displayWidth = round($maxExtend * $ratio); |
|
427 |
$m = round(($maxExtend - $displayWidth) / 2); |
|
428 |
$margins = 'margin:0 '.$m.'px 0 '.$m.'px;'; |
|
429 |
} |
|
430 |
|
|
431 |
// turn attributes array into string |
|
432 |
$attrStr = ' '; |
|
433 |
//$attributes['title'] = 'h:'.$h.', w:'.$w.',ratio:'.$ratio; |
|
434 |
if(is_array($attributes)){ |
|
435 |
foreach($attributes as $name=>$value){ |
|
436 |
$attrStr .= $name.'="'.$value.'" '; |
|
437 |
} |
|
438 |
} |
|
439 |
|
|
440 |
//return '<img src="'."http://wp5.e-taxonomy.eu/dataportal/cichorieae/media/photos/Lapsana_communis_A_01.jpg".'" width="'.$maxExtend.'" height="'.$maxExtend.'" />'; |
|
441 |
if($addPassePartout){ |
|
442 |
$out .= '<div class="image-passe-partout" style="width:'.$maxExtend.'px; height:'.$maxExtend.'px;">'; |
|
443 |
} else { |
|
444 |
// do not add margins if no pass partout is shown |
|
445 |
$margins = ''; |
|
446 |
} |
|
447 |
$out .= '<img src="'.$mediaRepresentationPart->uri.'" width="'.$displayWidth.'" height="'.$displayHeight.'" style="'.$margins.'"'.$attrStr.' /></div>'; |
|
448 |
return $out; |
|
300 | 449 |
} |
301 | 450 |
|
302 | 451 |
} |
303 | 452 |
|
453 |
function theme_cdm_openlayers_image($mediaRepresentationPart, $maxExtend){ |
|
454 |
|
|
455 |
// see http://trac.openlayers.org/wiki/UsingCustomTiles#UsingTilesWithoutaProjection |
|
456 |
// and http://trac.openlayers.org/wiki/SettingZoomLevels |
|
457 |
|
|
458 |
$w = $mediaRepresentationPart->width; |
|
459 |
$h = $mediaRepresentationPart->height; |
|
460 |
|
|
461 |
// calculate maxResolution (default is 360 deg / 256 px) and the bounds |
|
462 |
if($w > $h){ |
|
463 |
$lat = 90; |
|
464 |
$lon = 90 * ($h / $w); |
|
465 |
$maxRes = $w / $maxExtend; |
|
466 |
} else { |
|
467 |
$lat = 90 * ($w / $h); |
|
468 |
$lon = 90; |
|
469 |
$maxRes = $h / $maxExtend ; |
|
470 |
} |
|
471 |
|
|
472 |
$maxRes *= 1; |
|
473 |
drupal_add_js(' |
|
474 |
var map; |
|
475 |
|
|
476 |
var imageLayerOptions={ |
|
477 |
maxResolution: '.$maxRes.', |
|
478 |
maxExtent: new OpenLayers.Bounds(0, 0, '.$w.', '.$h.') |
|
479 |
}; |
|
480 |
var mapOptions={ |
|
481 |
restrictedExtent: new OpenLayers.Bounds(0, 0, '.$w.', '.$h.') |
|
482 |
}; |
|
483 |
|
|
484 |
var graphic = new OpenLayers.Layer.Image( |
|
485 |
\'Image Title\', |
|
486 |
\''.$mediaRepresentationPart->uri.'\', |
|
487 |
new OpenLayers.Bounds(0, 0, '.$w.', '.$h.'), |
|
488 |
new OpenLayers.Size('.$w.', '.$h.'), |
|
489 |
imageLayerOptions |
|
490 |
); |
|
491 |
|
|
492 |
function init() { |
|
493 |
map = new OpenLayers.Map(\'openlayers_image\', mapOptions); |
|
494 |
map.addLayers([graphic]); |
|
495 |
map.setCenter(new OpenLayers.LonLat(0, 0), 1); |
|
496 |
map.zoomToMaxExtent(); |
|
497 |
} |
|
498 |
|
|
499 |
$(document).ready(function(){ |
|
500 |
init(); |
|
501 |
|
|
502 |
});' |
|
503 |
, 'inline'); |
|
504 |
$out = '<div id="openlayers_image" class="image_viewer" style="width: '.$maxExtend.'px; height:'.($maxExtend).'px"></div>'; |
|
505 |
return $out; |
|
506 |
|
|
507 |
} |
|
508 |
|
|
509 |
function theme_cdm_media_page($media){ |
|
510 |
$out = ''; |
|
511 |
|
|
512 |
$title = $media->title_L10n; |
|
513 |
|
|
514 |
$imageMaxExtend = variable_get('image-page-maxextend', 400); |
|
515 |
|
|
516 |
if(!$title){ |
|
517 |
$title = 'Media '.$media->uuid.''; |
|
518 |
} |
|
519 |
|
|
520 |
//choose representation |
|
521 |
$representation = $media->representations[0]; |
|
522 |
|
|
523 |
drupal_set_title($title); |
|
524 |
//TODO show image in openlayers viewer |
|
525 |
|
|
526 |
$out .= '<div class="media">'; |
|
527 |
|
|
528 |
$out .= '<div class="viewer">'; |
|
529 |
//$out .= theme('cdm_media_gallerie_image', $representation->parts[0], $imageMaxExtend); |
|
530 |
$out .= theme('cdm_openlayers_image', $representation->parts[0], $imageMaxExtend); |
|
531 |
$out .= '</div>'; |
|
532 |
|
|
533 |
|
|
534 |
// general media metadata |
|
535 |
$out .= '<h4 class="title">'.$media->title_L10n.'</h4>'; |
|
536 |
$out .= '<div class="description">'.$media->description_L10n.'</div>'; |
|
537 |
$out .= '<div class="artist">'.$media->artist->titleCache.'</div>'; |
|
538 |
$out .= '<ul class="rights">'; |
|
539 |
foreach($media->rights as $right){ |
|
540 |
$out .= '<li>'.theme('cdm_right', $right).'</li>'; |
|
541 |
} |
|
542 |
$out .= '</div>'; |
|
543 |
|
|
544 |
// representation(-part) specific metadata |
|
545 |
$thumbnailMaxExtend = 100; |
|
546 |
$out .= '<table>'; |
|
547 |
$out .= '<tr><th colspan="3">'.t('MimeType').': '.$representation->mimeType.'</th></tr>'; |
|
548 |
$i = 1; |
|
549 |
foreach($representation->parts as $part){ |
|
550 |
$out .= '<tr><th>'.t('Part').' '.$i++.'</th><td>'; |
|
551 |
switch($part->class){ |
|
552 |
case 'ImageFile': $out .= $part->width.' x '.$part->height.' - '.$part->size.'k'; break; |
|
553 |
case 'AudioFile': |
|
554 |
case 'MovieFile': $out .= t('Duration').': '.$part->duration.'s - '.$part->size.'k'; break; |
|
555 |
default: $out .= $part->size.'k'; |
|
556 |
} |
|
557 |
$out .= '</td><td>'.theme('cdm_media_gallerie_image', $part, $thumbnailMaxExtend, true);'</td><tr>'; |
|
558 |
} |
|
559 |
$out .= '</table>'; |
|
560 |
$out .= '</div>'; |
|
561 |
|
|
562 |
return $out; |
|
563 |
} |
|
564 |
|
|
565 |
function theme_cdm_right($right){ |
|
566 |
$out = '<div class="right">'; |
|
567 |
$out .= '<span class="type">'.$right->type->representation_L10n.' </span>'; |
|
568 |
if($right->uri){ |
|
569 |
$out .= '<a href="'.$right->uri.'>'.$right->abbreviatedText.'</a>'; |
|
570 |
} else { |
|
571 |
$out .= $right->abbreviatedText; |
|
572 |
} |
|
573 |
$out .= '<span class="agent"> '.$right->abbreviatedText.'</span>'; |
|
574 |
$out .= '</div>'; |
|
575 |
return $out; |
|
576 |
//$right->type->representation_L10n |
|
577 |
} |
|
578 |
|
|
304 | 579 |
/** |
305 | 580 |
* TODO |
306 | 581 |
* Quick-and-dirty solution to show distribution service to exemplar groups |
... | ... | |
827 | 1102 |
$table_of_accepted[$synUuid] = cdm_ws_get(CDM_WS_TAXON_ACCEPTED, $synUuid); |
828 | 1103 |
} |
829 | 1104 |
// .. well, for sure not as performant as before, but better than nothing. |
830 |
|
|
1105 |
$captionElements = array('title', '#uri'=>t('open Image')); |
|
1106 |
$gallery_name = $taxon->uuid; |
|
831 | 1107 |
foreach($records as $taxon){ |
1108 |
// its a Taxon |
|
832 | 1109 |
if($taxon->class == "Taxon"){ |
833 | 1110 |
$taxonUri = url(path_to_taxon($taxon->uuid)); |
834 | 1111 |
if(isset($taxon->name->nomenclaturalReference)){ |
... | ... | |
836 | 1113 |
} |
837 | 1114 |
$out .= '<li class="Taxon">'.theme('cdm_taxonName', $taxon->name, $taxonUri, $referenceUri, $renderPath); |
838 | 1115 |
if($showMedia_taxa){ |
1116 |
$moreLinkUri = path_to_taxon($taxon->uuid).'/images'; |
|
839 | 1117 |
$mediaList = cdm_ws_get(CDM_WS_TAXON_MEDIA, array($taxon->uuid, $prefMimeTypeRegex, $prefMediaQuality)); |
840 |
$out .= theme('cdm_media_gallerie', $mediaList, $maxExtend, $cols, $maxRows); |
|
1118 |
$out .= theme('cdm_media_gallerie', $mediaList, $gallery_name ,$maxExtend, $cols, $maxRows, $captionElements |
|
1119 |
, 'LIGHTBOX', null, $moreLinkUri); |
|
841 | 1120 |
} |
842 | 1121 |
$out .= '</li>'; |
843 | 1122 |
} else { |
1123 |
// its a synonym |
|
844 | 1124 |
$uuid = $taxon->uuid; |
845 | 1125 |
$acceptedTaxa = $table_of_accepted[$uuid]; |
846 | 1126 |
if(count($acceptedTaxa) == 1){ |
... | ... | |
852 | 1132 |
$out .= '<li class="Synonym">'.theme('cdm_taxonName', $taxon->name, $taxonUri, $referenceUri, $renderPath); |
853 | 1133 |
if($showMedia_synonyms){ |
854 | 1134 |
$mediaList = cdm_ws_get(CDM_WS_TAXON_MEDIA, array($acceptedTaxon->uuid, $prefMimeTypeRegex, $prefMediaQuality)); |
855 |
$out .= theme('cdm_media_gallerie', $mediaList, $maxExtend,$cols, $maxRows);
|
|
1135 |
$out .= theme('cdm_media_gallerie', $mediaList, $gallery_name, $maxExtend,$cols, $maxRows, $gallery_captions);
|
|
856 | 1136 |
} |
857 | 1137 |
$out .= '</li>'; |
858 | 1138 |
} else { |
... | ... | |
1162 | 1442 |
* |
1163 | 1443 |
*/ |
1164 | 1444 |
function theme_cdm_taxon_page_images($taxon, $media){ |
1165 |
|
|
1166 |
$flashLink = isset($media[0]); |
|
1167 |
|
|
1168 |
if($flashLink){ |
|
1169 |
|
|
1170 |
$taggedName = $taxon->name->taggedName; |
|
1171 |
|
|
1172 |
$nameArray = array(); |
|
1173 |
foreach($taggedName as $taggedText){ |
|
1174 |
if($taggedText->type == 'name'){ |
|
1175 |
$nameArray[] = $taggedText->text; |
|
1176 |
} |
|
1177 |
} |
|
1178 |
|
|
1179 |
$query = join("%5F", $nameArray) . '%20AND%20jpg'; |
|
1180 |
|
|
1181 |
$out = ' |
|
1182 |
|
|
1183 |
<script type="text/javascript" src="http://media.bgbm.org/erez/js/fsiwriter.js"></script> |
|
1184 |
|
|
1185 |
<script type="text/javascript"> |
|
1186 |
<!-- |
|
1187 |
writeFlashCode( "http://media.bgbm.org/erez/fsi/fsi.swf?&cfg=showcase_presets/showcase_info.fsi&effects=%26quality%3D95&showcase_query='.$query.'&skin=silver&showcase_labeltextheight=50&textbox_textfrom=IPTC_WP6&textbox_height=50¶m_backgroundcolor=454343&publishwmode=opaque&showcase_hscroll=true&showcase_basecolor=454343&plugins=PrintSave,textbox", |
|
1188 |
"http://media.bgbm.org/erez/erez?src=erez-private/flashrequired.svg&tmp=Large&quality=97&width=470&height=400", |
|
1189 |
"width=470;height=400;bgcolor=454343;wmode=opaque"); |
|
1190 |
// --> |
|
1191 |
</script> |
|
1192 |
<noscript> |
|
1193 |
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,65,0" width="470" height="400"> |
|
1194 |
<param name="movie" value="http://media.bgbm.org/erez/fsi/fsi.swf?&cfg=showcase_presets/showcase_info.fsi&effects=%26quality%3D95&showcase_query='.$query.'&skin=silver&showcase_labeltextheight=50&textbox_textfrom=IPTC_WP6&textbox_height=50¶m_backgroundcolor=454343&publishwmode=opaque&showcase_hscroll=true&showcase_basecolor=454343plugins=PrintSave,textbox"/> |
|
1195 |
<param name="bgcolor" value="454343" /> |
|
1196 |
<param name="wmode" value="opaque" /> |
|
1197 |
<param name="allowscriptaccess" value="always" /> |
|
1198 |
<param name="allowfullscreen" value="true" /> |
|
1199 |
<param name="quality" value="high" /> |
|
1200 |
<embed src="http://media.bgbm.org/erez/fsi/fsi.swf?&cfg=showcase_presets/showcase_info.fsi&effects=%26quality%3D95&showcase_query='.$query.'&skin=silver&showcase_labeltextheight=50&textbox_textfrom=IPTC_WP6&textbox_height=50¶m_backgroundcolor=454343&publishwmode=opaque&showcase_hscroll=true&showcase_basecolor=454343plugins=PrintSave,textbox" |
|
1201 |
width="470" |
|
1202 |
height="400" |
|
1203 |
bgcolor="454343" |
|
1204 |
wmode="opaque" |
|
1205 |
allowscriptaccess="always" |
|
1206 |
allowfullscreen="true" |
|
1207 |
quality="high" |
|
1208 |
type="application/x-shockwave-flash" |
|
1209 |
pluginspage="http://www.adobe.com/go/getflashplayer"> |
|
1210 |
</embed> |
|
1211 |
</object> |
|
1212 |
|
|
1213 |
</noscript>'; |
|
1214 | 1445 |
|
1446 |
$hasImages = isset($media[0]); |
|
1447 |
|
|
1448 |
if($hasImages){ |
|
1449 |
// |
|
1450 |
$maxExtend = 150; |
|
1451 |
$cols = 3; |
|
1452 |
$maxRows = false; |
|
1453 |
$alternativeMediaUri = null; |
|
1454 |
$captionElements = array('title', '#uri'=>t('open Image')); |
|
1455 |
$gallery_name = $taxon->uuid; |
|
1456 |
$out = '<div class="image-gallerie">'; |
|
1457 |
$out .= theme('cdm_media_gallerie', $media, $gallery_name, $maxExtend, $cols, $maxRows, $captionElements, null, null); |
|
1458 |
$out .= '</div>'; |
|
1215 | 1459 |
}else{ |
1216 | 1460 |
$out = 'No images available.'; |
1217 | 1461 |
|
... | ... | |
1309 | 1553 |
|
1310 | 1554 |
} |
1311 | 1555 |
|
1312 |
function theme_cdm_preferredImage($media, $defaultImage, $imageWidth, $imageHeight, $parameters = ''){
|
|
1556 |
function theme_cdm_preferredImage($media, $defaultImage, $imageMaxExtend, $parameters = ''){
|
|
1313 | 1557 |
|
1314 | 1558 |
if(isset($media[0])){ |
1315 | 1559 |
$preferredMedia = $media[0]; |
... | ... | |
1318 | 1562 |
//$widthAndHeight = ($imageWidth ? ' width="'.$imageWidth : '').($imageHeight ? '" height="'.$imageHeight : ''); |
1319 | 1563 |
$imageUri = $preferredMedia ? $preferredMedia->representations[0]->parts[0]->uri . $parameters : $defaultImage; |
1320 | 1564 |
$altText = $preferredMedia ? $preferredMedia->representations[0]->parts[0]->uri : "no image available"; |
1321 |
$out = '<img class="left" '.$widthAndHeight.' " src="'.$imageUri.'" alt="'.$altText.'" />'; |
|
1565 |
$out = theme('cdm_media_gallerie_image', $preferredMedia->representations[0]->part[0], $imageMaxExtend, false); |
|
1566 |
// $out = '<img class="left" '.$widthAndHeight.' " src="'.$imageUri.'" alt="'.$altText.'" />'; |
|
1322 | 1567 |
return $out; |
1323 | 1568 |
} |
1324 | 1569 |
|
modules/cdm_dataportal/js/cdm_thickbox.css | ||
---|---|---|
1 |
/* ----------------------------------------------------------------------------------------------------------------*/ |
|
2 |
/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/ |
|
3 |
/* ----------------------------------------------------------------------------------------------------------------*/ |
|
4 |
*{padding: 0; margin: 0;} |
|
5 |
|
|
6 |
/* ----------------------------------------------------------------------------------------------------------------*/ |
|
7 |
/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/ |
|
8 |
/* ----------------------------------------------------------------------------------------------------------------*/ |
|
9 |
#TB_window { |
|
10 |
font: 12px Arial, Helvetica, sans-serif; |
|
11 |
color: #333333; |
|
12 |
} |
|
13 |
|
|
14 |
#TB_secondLine { |
|
15 |
font: 10px Arial, Helvetica, sans-serif; |
|
16 |
color:#666666; |
|
17 |
} |
|
18 |
|
|
19 |
#TB_window a:link {color: #666666;} |
|
20 |
#TB_window a:visited {color: #666666;} |
|
21 |
#TB_window a:hover {color: #000;} |
|
22 |
#TB_window a:active {color: #666666;} |
|
23 |
#TB_window a:focus{color: #666666;} |
|
24 |
|
|
25 |
/* ----------------------------------------------------------------------------------------------------------------*/ |
|
26 |
/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/ |
|
27 |
/* ----------------------------------------------------------------------------------------------------------------*/ |
|
28 |
#TB_overlay { |
|
29 |
position: fixed; |
|
30 |
z-index:100; |
|
31 |
top: 0px; |
|
32 |
left: 0px; |
|
33 |
height:100%; |
|
34 |
width:100%; |
|
35 |
} |
|
36 |
|
|
37 |
.TB_overlayMacFFBGHack {background: url('images/macFFBgHack.png') repeat;} |
|
38 |
.TB_overlayBG { |
|
39 |
background-color:#000; |
|
40 |
filter:alpha(opacity=40); |
|
41 |
-moz-opacity: 0.40; |
|
42 |
opacity: 0.40; |
|
43 |
} |
|
44 |
|
|
45 |
* html #TB_overlay { /* ie6 hack */ |
|
46 |
position: absolute; |
|
47 |
height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); |
|
48 |
} |
|
49 |
|
|
50 |
#TB_window { |
|
51 |
position: fixed; |
|
52 |
background: #ffffff; |
|
53 |
z-index: 102; |
|
54 |
color:#000000; |
|
55 |
display:none; |
|
56 |
border: 1px solid #525252; |
|
57 |
text-align:left; |
|
58 |
top:50%; |
|
59 |
left:50%; |
|
60 |
} |
|
61 |
|
|
62 |
* html #TB_window { /* ie6 hack */ |
|
63 |
position: absolute; |
|
64 |
margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); |
|
65 |
} |
|
66 |
|
|
67 |
#TB_window img#TB_Image { |
|
68 |
display:block; |
|
69 |
margin: 15px 0 0 15px; |
|
70 |
padding: 1px; |
|
71 |
border-right: 1px solid #ccc; |
|
72 |
border-bottom: 1px solid #ccc; |
|
73 |
border-top: 1px solid #666; |
|
74 |
border-left: 1px solid #666; |
|
75 |
} |
|
76 |
|
|
77 |
#TB_caption{ |
|
78 |
height:25px; |
|
79 |
padding:7px 30px 10px 25px; |
|
80 |
float:left; |
|
81 |
} |
|
82 |
|
|
83 |
#TB_zoom_instructions{ |
|
84 |
height:25px; |
|
85 |
padding:7px 0 10px 0; |
|
86 |
margin: 0 auto; |
|
87 |
float:left; |
|
88 |
} |
|
89 |
|
|
90 |
#TB_closeWindow{ |
|
91 |
height:25px; |
|
92 |
padding:11px 25px 10px 0; |
|
93 |
float:right; |
|
94 |
} |
|
95 |
|
|
96 |
#TB_closeAjaxWindow{ |
|
97 |
padding:7px 10px 5px 0; |
|
98 |
margin-bottom:1px; |
|
99 |
text-align:right; |
|
100 |
float:right; |
|
101 |
} |
|
102 |
|
|
103 |
#TB_ajaxWindowTitle{ |
|
104 |
float:left; |
|
105 |
padding:7px 0 5px 10px; |
|
106 |
margin-bottom:1px; |
|
107 |
} |
|
108 |
|
|
109 |
#TB_title{ |
|
110 |
background-color:#e8e8e8; |
|
111 |
height:27px; |
|
112 |
} |
|
113 |
|
|
114 |
#TB_ajaxContent{ |
|
115 |
clear:both; |
|
116 |
padding:2px 15px 15px 15px; |
|
117 |
overflow:auto; |
|
118 |
text-align:left; |
|
119 |
line-height:1.4em; |
|
120 |
} |
|
121 |
|
|
122 |
#TB_ajaxContent.TB_modal{ |
|
123 |
padding:15px; |
|
124 |
} |
|
125 |
|
|
126 |
#TB_ajaxContent p{ |
|
127 |
padding:5px 0px 5px 0px; |
|
128 |
} |
|
129 |
|
|
130 |
#TB_ajaxContent tbody { |
|
131 |
border-width: 0px; |
|
132 |
font-size: 90%; |
|
133 |
} |
|
134 |
|
|
135 |
#TB_load{ |
|
136 |
background-image: url('../images/loading.gif'); |
|
137 |
background-repeat: no-repeat; |
|
138 |
background-color: #ffffff; |
|
139 |
background-position: center center; |
|
140 |
border: 1px solid #525252; |
|
141 |
position: fixed; |
|
142 |
display:none; |
|
143 |
height:70px; |
|
144 |
width:210px; |
|
145 |
z-index:103; |
|
146 |
top: 50%; |
|
147 |
left: 50%; |
|
148 |
margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */ |
|
149 |
} |
|
150 |
|
|
151 |
* html #TB_load { /* ie6 hack */ |
|
152 |
position: absolute; |
|
153 |
margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px'); |
|
154 |
} |
|
155 |
|
|
156 |
#TB_HideSelect{ |
|
157 |
z-index:99; |
|
158 |
position:fixed; |
|
159 |
top: 0; |
|
160 |
left: 0; |
|
161 |
background-color:#fff; |
|
162 |
border:none; |
|
163 |
filter:alpha(opacity=0); |
|
164 |
-moz-opacity: 0; |
|
165 |
opacity: 0; |
|
166 |
height:100%; |
|
167 |
width:100%; |
|
168 |
} |
|
169 |
|
|
170 |
* html #TB_HideSelect { /* ie6 hack */ |
|
171 |
position: absolute; |
|
172 |
height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'); |
|
173 |
} |
|
174 |
|
|
175 |
#TB_iframeContent{ |
|
176 |
clear:both; |
|
177 |
border:none; |
|
178 |
margin-bottom:-1px; |
|
179 |
margin-top:1px; |
|
180 |
_margin-bottom:1px; |
|
181 |
} |
modules/cdm_dataportal/js/jquery-lightbox-0.5/css/jquery.lightbox-0.5.css | ||
---|---|---|
1 |
/** |
|
2 |
* jQuery lightBox plugin |
|
3 |
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) |
|
4 |
* and adapted to me for use like a plugin from jQuery. |
|
5 |
* @name jquery-lightbox-0.5.css |
|
6 |
* @author Leandro Vieira Pinho - http://leandrovieira.com |
|
7 |
* @version 0.5 |
|
8 |
* @date April 11, 2008 |
|
9 |
* @category jQuery plugin |
|
10 |
* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) |
|
11 |
* @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US |
|
12 |
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin |
|
13 |
*/ |
|
14 |
#jquery-overlay { |
|
15 |
position: absolute; |
|
16 |
top: 0; |
|
17 |
left: 0; |
|
18 |
z-index: 90; |
|
19 |
width: 100%; |
|
20 |
height: 500px; |
|
21 |
} |
|
22 |
#jquery-lightbox { |
|
23 |
position: absolute; |
|
24 |
top: 0; |
|
25 |
left: 0; |
|
26 |
width: 100%; |
|
27 |
z-index: 100; |
|
28 |
text-align: center; |
|
29 |
line-height: 0; |
|
30 |
} |
|
31 |
#jquery-lightbox a img { border: none; } |
|
32 |
#lightbox-container-image-box { |
|
33 |
position: relative; |
|
34 |
background-color: #fff; |
|
35 |
width: 250px; |
|
36 |
height: 250px; |
|
37 |
margin: 0 auto; |
|
38 |
} |
|
39 |
#lightbox-container-image { padding: 10px; } |
|
40 |
#lightbox-loading { |
|
41 |
position: absolute; |
|
42 |
top: 40%; |
|
43 |
left: 0%; |
|
44 |
height: 25%; |
|
45 |
width: 100%; |
|
46 |
text-align: center; |
|
47 |
line-height: 0; |
|
48 |
} |
|
49 |
#lightbox-nav { |
|
50 |
position: absolute; |
|
51 |
top: 0; |
|
52 |
left: 0; |
|
53 |
height: 100%; |
|
54 |
width: 100%; |
|
55 |
z-index: 10; |
|
56 |
} |
|
57 |
#lightbox-container-image-box > #lightbox-nav { left: 0; } |
|
58 |
#lightbox-nav a { outline: none;} |
|
59 |
#lightbox-nav-btnPrev, #lightbox-nav-btnNext { |
|
60 |
width: 49%; |
|
61 |
height: 100%; |
|
62 |
zoom: 1; |
|
63 |
display: block; |
|
64 |
} |
|
65 |
#lightbox-nav-btnPrev { |
|
66 |
left: 0; |
|
67 |
float: left; |
|
68 |
} |
|
69 |
#lightbox-nav-btnNext { |
|
70 |
right: 0; |
|
71 |
float: right; |
|
72 |
} |
|
73 |
#lightbox-container-image-data-box { |
|
74 |
font: 10px Verdana, Helvetica, sans-serif; |
|
75 |
background-color: #fff; |
|
76 |
margin: 0 auto; |
|
77 |
line-height: 1.4em; |
|
78 |
overflow: auto; |
|
79 |
width: 100%; |
|
80 |
padding: 0 10px 0; |
|
81 |
} |
|
82 |
#lightbox-container-image-data { |
|
83 |
padding: 0 10px; |
|
84 |
color: #666; |
|
85 |
} |
|
86 |
#lightbox-container-image-data #lightbox-image-details { |
|
87 |
width: 70%; |
|
88 |
float: left; |
|
89 |
text-align: left; |
|
90 |
} |
|
91 |
#lightbox-image-details-caption { font-weight: bold; } |
|
92 |
#lightbox-image-details-currentNumber { |
|
93 |
display: block; |
|
94 |
clear: left; |
|
95 |
padding-bottom: 1.0em; |
|
96 |
} |
|
97 |
#lightbox-secNav-btnClose { |
|
98 |
width: 66px; |
|
99 |
float: right; |
|
100 |
padding-bottom: 0.7em; |
|
101 |
} |
modules/cdm_dataportal/js/jquery-lightbox-0.5/index.htm | ||
---|---|---|
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
|
2 |
<html xmlns="http://www.w3.org/1999/xhtml"> |
|
3 |
<head> |
|
4 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
|
5 |
<title>jQuery lightBox plugin</title> |
|
6 |
|
|
7 |
<link rel="stylesheet" type="text/css" href="../style-projects-jquery.css" /> |
|
8 |
|
|
9 |
<!-- Arquivos utilizados pelo jQuery lightBox plugin --> |
|
10 |
<script type="text/javascript" src="js/jquery.js"></script> |
|
11 |
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script> |
|
12 |
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" /> |
|
13 |
<!-- / fim dos arquivos utilizados pelo jQuery lightBox plugin --> |
|
14 |
|
|
15 |
<!-- Ativando o jQuery lightBox plugin --> |
|
16 |
<script type="text/javascript"> |
|
17 |
$(function() { |
|
18 |
$('#gallery a').lightBox(); |
|
19 |
}); |
|
20 |
</script> |
|
21 |
<style type="text/css"> |
|
22 |
/* jQuery lightBox plugin - Gallery style */ |
|
23 |
#gallery { |
|
24 |
background-color: #444; |
|
25 |
padding: 10px; |
|
26 |
width: 520px; |
|
27 |
} |
|
28 |
#gallery ul { list-style: none; } |
|
29 |
#gallery ul li { display: inline; } |
|
30 |
#gallery ul img { |
|
31 |
border: 5px solid #3e3e3e; |
|
32 |
border-width: 5px 5px 20px; |
|
33 |
} |
|
34 |
#gallery ul a:hover img { |
|
35 |
border: 5px solid #fff; |
|
36 |
border-width: 5px 5px 20px; |
|
37 |
color: #fff; |
|
38 |
} |
|
39 |
#gallery ul a:hover { color: #fff; } |
|
40 |
</style> |
|
41 |
</head> |
|
42 |
|
|
43 |
<body> |
|
44 |
|
|
45 |
<h2 id="example">Example</h2> |
|
46 |
<p>Click in the image and see the <strong>jQuery lightBox plugin</strong> in action.</p> |
|
47 |
<div id="gallery"> |
|
48 |
<ul> |
|
49 |
<li> |
|
50 |
<a href="photos/image1.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery').lightBox();"> |
|
51 |
<img src="photos/thumb_image1.jpg" width="72" height="72" alt="" /> |
|
52 |
</a> |
|
53 |
</li> |
|
54 |
<li> |
|
55 |
<a href="photos/image2.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
|
56 |
<img src="photos/thumb_image2.jpg" width="72" height="72" alt="" /> |
|
57 |
</a> |
|
58 |
</li> |
|
59 |
<li> |
|
60 |
<a href="photos/image3.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
|
61 |
<img src="photos/thumb_image3.jpg" width="72" height="72" alt="" /> |
|
62 |
</a> |
|
63 |
</li> |
|
64 |
<li> |
|
65 |
<a href="photos/image4.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
|
66 |
<img src="photos/thumb_image4.jpg" width="72" height="72" alt="" /> |
|
67 |
</a> |
|
68 |
</li> |
|
69 |
<li> |
|
70 |
<a href="photos/image5.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery a').lightBox();"> |
|
71 |
<img src="photos/thumb_image5.jpg" width="72" height="72" alt="" /> |
|
72 |
</a> |
|
73 |
</li> |
|
74 |
</ul> |
|
75 |
</div> |
|
76 |
|
|
77 |
</body> |
|
78 |
</html> |
modules/cdm_dataportal/js/jquery-lightbox-0.5/js/jquery.js | ||
---|---|---|
1 |
/* |
|
2 |
* jQuery 1.2.3 - New Wave Javascript |
|
3 |
* |
|
4 |
* Copyright (c) 2008 John Resig (jquery.com) |
|
5 |
* Dual licensed under the MIT (MIT-LICENSE.txt) |
|
6 |
* and GPL (GPL-LICENSE.txt) licenses. |
|
7 |
* |
|
8 |
* $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $ |
|
9 |
* $Rev: 4663 $ |
|
10 |
*/ |
|
11 |
(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else |
|
12 |
selector=[];}}else |
|
13 |
return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else |
|
14 |
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else |
|
15 |
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else |
|
16 |
return(this[0].value||"").replace(/\r/g,"");}return undefined;}return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else |
|
17 |
this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else |
|
18 |
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else |
|
19 |
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){if(target===options[name])continue;if(deep&&options[name]&&typeof options[name]=="object"&&target[name]&&!options[name].nodeType)target[name]=jQuery.extend(target[name],options[name]);else if(options[name]!=undefined)target[name]=options[name];}return target;};var expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else |
|
20 |
script.appendChild(document.createTextNode(data));head.appendChild(script);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length==undefined){for(var name in object)if(callback.apply(object[name],args)===false)break;}else |
|
21 |
for(var i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefined){for(var name in object)if(callback.call(object[name],name,object[name])===false)break;}else |
|
22 |
for(var i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else |
|
23 |
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runtimeStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else |
|
24 |
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i<length;i++)ret.push(array[i]);else |
|
25 |
ret=array.slice(0);return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else |
|
26 |
for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else |
|
27 |
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else |
|
28 |
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.isFunction(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else |
|
29 |
jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else |
|
30 |
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else |
|
31 |
s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else |
|
32 |
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); |
modules/cdm_dataportal/js/jquery-lightbox-0.5/js/jquery.lightbox-0.5.js | ||
---|---|---|
1 |
/** |
|
2 |
* jQuery lightBox plugin |
|
3 |
* This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) |
|
4 |
* and adapted to me for use like a plugin from jQuery. |
|
5 |
* @name jquery-lightbox-0.5.js |
|
6 |
* @author Leandro Vieira Pinho - http://leandrovieira.com |
|
7 |
* @version 0.5 |
|
8 |
* @date April 11, 2008 |
|
9 |
* @category jQuery plugin |
|
10 |
* @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) |
|
11 |
* @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US |
|
12 |
* @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin |
|
13 |
*/ |
|
14 |
|
|
15 |
// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias |
|
16 |
(function($) { |
|
17 |
/** |
|
18 |
* $ is an alias to jQuery object |
|
19 |
* |
|
20 |
*/ |
|
21 |
$.fn.lightBox = function(settings) { |
|
22 |
// Settings to configure the jQuery lightBox plugin how you like |
|
23 |
settings = jQuery.extend({ |
|
24 |
// Configuration related to overlay |
|
25 |
overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. |
|
26 |
overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 |
|
27 |
// Configuration related to navigation |
|
28 |
fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. |
|
29 |
// Configuration related to images |
|
30 |
imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon |
|
31 |
imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image |
|
32 |
imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image |
|
33 |
imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn |
|
34 |
imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) |
|
35 |
// Configuration related to container image box |
|
36 |
containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value |
|
37 |
containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. |
|
38 |
// Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. |
|
39 |
txtImage: 'Image', // (string) Specify text "Image" |
|
40 |
txtOf: 'of', // (string) Specify text "of" |
|
41 |
// Configuration related to keyboard navigation |
|
42 |
keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. |
|
43 |
keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image |
|
44 |
keyToNext: 'n', // (string) (n = next) Letter to show the next image. |
|
45 |
// Don?t alter these variables in any way |
|
46 |
imageArray: [], |
|
47 |
activeImage: 0 |
|
48 |
},settings); |
|
49 |
// Caching the jQuery object with all elements matched |
|
50 |
var jQueryMatchedObj = this; // This, in this context, refer to jQuery object |
|
51 |
/** |
|
52 |
* Initializing the plugin calling the start function |
|
53 |
* |
|
54 |
* @return boolean false |
|
55 |
*/ |
|
56 |
function _initialize() { |
|
57 |
_start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked |
|
58 |
return false; // Avoid the browser following the link |
|
59 |
} |
|
60 |
/** |
|
61 |
* Start the jQuery lightBox plugin |
|
62 |
* |
|
63 |
* @param object objClicked The object (link) whick the user have clicked |
|
64 |
* @param object jQueryMatchedObj The jQuery object with all elements matched |
|
65 |
*/ |
|
66 |
function _start(objClicked,jQueryMatchedObj) { |
|
67 |
// Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. |
|
68 |
$('embed, object, select').css({ 'visibility' : 'hidden' }); |
|
69 |
// Call the function to create the markup structure; style some elements; assign events in some elements. |
|
70 |
_set_interface(); |
|
71 |
// Unset total images in imageArray |
|
72 |
settings.imageArray.length = 0; |
|
73 |
// Unset image active information |
|
74 |
settings.activeImage = 0; |
|
75 |
// We have an image set? Or just an image? Let?s see it. |
|
76 |
if ( jQueryMatchedObj.length == 1 ) { |
|
77 |
settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); |
|
78 |
} else { |
|
79 |
// Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references |
|
80 |
for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { |
|
81 |
settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); |
|
82 |
} |
|
83 |
} |
|
84 |
while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { |
|
85 |
settings.activeImage++; |
|
86 |
} |
|
87 |
// Call the function that prepares image exibition |
|
88 |
_set_image_to_view(); |
|
89 |
} |
|
90 |
/** |
|
91 |
* Create the jQuery lightBox plugin interface |
|
92 |
* |
|
93 |
* The HTML markup will be like that: |
|
94 |
<div id="jquery-overlay"></div> |
|
95 |
<div id="jquery-lightbox"> |
|
96 |
<div id="lightbox-container-image-box"> |
|
97 |
<div id="lightbox-container-image"> |
|
98 |
<img src="../fotos/XX.jpg" id="lightbox-image"> |
|
99 |
<div id="lightbox-nav"> |
|
100 |
<a href="#" id="lightbox-nav-btnPrev"></a> |
|
101 |
<a href="#" id="lightbox-nav-btnNext"></a> |
|
102 |
</div> |
|
103 |
<div id="lightbox-loading"> |
|
104 |
<a href="#" id="lightbox-loading-link"> |
|
105 |
<img src="../images/lightbox-ico-loading.gif"> |
|
106 |
</a> |
|
107 |
</div> |
|
108 |
</div> |
|
109 |
</div> |
|
110 |
<div id="lightbox-container-image-data-box"> |
|
111 |
<div id="lightbox-container-image-data"> |
|
112 |
<div id="lightbox-image-details"> |
|
113 |
<span id="lightbox-image-details-caption"></span> |
|
114 |
<span id="lightbox-image-details-currentNumber"></span> |
|
115 |
</div> |
|
116 |
<div id="lightbox-secNav"> |
|
117 |
<a href="#" id="lightbox-secNav-btnClose"> |
|
118 |
<img src="../images/lightbox-btn-close.gif"> |
|
119 |
</a> |
|
120 |
</div> |
|
121 |
</div> |
|
122 |
</div> |
|
123 |
</div> |
|
124 |
* |
|
125 |
*/ |
|
126 |
function _set_interface() { |
|
127 |
// Apply the HTML markup into body tag |
|
128 |
$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>'); |
|
129 |
// Get page sizes |
|
130 |
var arrPageSizes = ___getPageSize(); |
|
131 |
// Style overlay and show it |
|
132 |
$('#jquery-overlay').css({ |
|
133 |
backgroundColor: settings.overlayBgColor, |
|
134 |
opacity: settings.overlayOpacity, |
|
135 |
width: arrPageSizes[0], |
|
136 |
height: arrPageSizes[1] |
|
137 |
}).fadeIn(); |
|
138 |
// Get page scroll |
|
139 |
var arrPageScroll = ___getPageScroll(); |
|
140 |
// Calculate top and left offset for the jquery-lightbox div object and show it |
|
141 |
$('#jquery-lightbox').css({ |
|
142 |
top: arrPageScroll[1] + (arrPageSizes[3] / 10), |
|
143 |
left: arrPageScroll[0] |
|
144 |
}).show(); |
|
145 |
// Assigning click events in elements to close overlay |
|
146 |
$('#jquery-overlay,#jquery-lightbox').click(function() { |
|
147 |
_finish(); |
|
148 |
}); |
|
149 |
// Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects |
|
150 |
$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { |
|
151 |
_finish(); |
|
152 |
return false; |
|
153 |
}); |
|
154 |
// If window was resized, calculate the new overlay dimensions |
|
155 |
$(window).resize(function() { |
|
156 |
// Get page sizes |
|
157 |
var arrPageSizes = ___getPageSize(); |
|
158 |
// Style overlay and show it |
|
159 |
$('#jquery-overlay').css({ |
|
160 |
width: arrPageSizes[0], |
|
161 |
height: arrPageSizes[1] |
|
162 |
}); |
|
163 |
// Get page scroll |
|
164 |
var arrPageScroll = ___getPageScroll(); |
|
165 |
// Calculate top and left offset for the jquery-lightbox div object and show it |
|
166 |
$('#jquery-lightbox').css({ |
|
167 |
top: arrPageScroll[1] + (arrPageSizes[3] / 10), |
|
168 |
left: arrPageScroll[0] |
|
169 |
}); |
|
170 |
}); |
|
171 |
} |
|
172 |
/** |
|
173 |
* Prepares image exibition; doing a image?s preloader to calculate it?s size |
|
174 |
* |
|
175 |
*/ |
|
176 |
function _set_image_to_view() { // show the loading |
|
177 |
// Show the loading |
|
178 |
$('#lightbox-loading').show(); |
|
179 |
if ( settings.fixedNavigation ) { |
|
180 |
$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); |
|
181 |
} else { |
|
182 |
// Hide some elements |
|
183 |
$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); |
|
184 |
} |
|
185 |
// Image preload process |
|
186 |
var objImagePreloader = new Image(); |
|
187 |
objImagePreloader.onload = function() { |
|
188 |
$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); |
|
189 |
// Perfomance an effect in the image container resizing it |
|
190 |
_resize_container_image_box(objImagePreloader.width,objImagePreloader.height); |
|
191 |
// clear onLoad, IE behaves irratically with animated gifs otherwise |
|
192 |
objImagePreloader.onload=function(){}; |
|
193 |
}; |
|
194 |
objImagePreloader.src = settings.imageArray[settings.activeImage][0]; |
|
195 |
}; |
|
196 |
/** |
|
197 |
* Perfomance an effect in the image container resizing it |
|
198 |
* |
|
199 |
* @param integer intImageWidth The image?s width that will be showed |
|
200 |
* @param integer intImageHeight The image?s height that will be showed |
|
201 |
*/ |
|
202 |
function _resize_container_image_box(intImageWidth,intImageHeight) { |
|
203 |
// Get current width and height |
|
204 |
var intCurrentWidth = $('#lightbox-container-image-box').width(); |
|
205 |
var intCurrentHeight = $('#lightbox-container-image-box').height(); |
|
206 |
// Get the width and height of the selected image plus the padding |
Also available in: Unified diff
image gallery