• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src/router/lighttpd-1.4.39/external_file/js_src/
1/*=============================
2jquery.barousel.js
3v.0.1
4Julien Decaudin - 03/2010
5www.juliendecaudin.com
6=============================*/
7
8(function ($) {
9
10	$.fn.next = function(settings){
11		if (settings && settings.navFreeze == 0)
12			next(settings);
13	};
14
15	$.fn.prev = function(settings){
16		if (settings && settings.navFreeze == 0)
17			prev(settings);
18	};
19
20	$.fn.adjustLayout = function(settings){
21		if(settings){
22			var currentImage = settings.imageList[settings.currentIndex];
23			fitImage(settings, currentImage, settings.currentIndex);
24		}
25	};
26
27	$.fn.close = function(settings){
28		if(settings){
29			close(settings);
30		}
31	};
32
33    $.fn.barousel = function (callerSettings) {
34
35        var settings = $.extend({
36        	name: '',
37            imageWrapper: '.barousel_image',
38            contentWrapper: '.barousel_content',
39            contentLinksWrapper: null,
40            navWrapper: '.barousel_nav',
41            slideDuration: 3000, //duration of each slide in milliseconds
42            fadeIn: 1, //fade between slides; activated by default
43            fadeInSpeed: 500, //fade duration in milliseconds
44            manualCarousel: 0, //manual carousel if set to 1
45            contentResize: 1, //resize content container
46            contentResizeSpeed: 300, //content resize speed in milliseconds
47            debug: 0,
48            startIndex: 0,
49            hideNavBarDuration: 3000,
50            onLoading: 0,
51            showExifMode: 0,
52            storage: null,
53            stringTable: null,
54            exifData: null,
55            contextMenu: null,
56            closeHandler: null,
57            initCompleteHandler: null,
58            enableExifFunc: 0,
59            enableShareFunc: 0
60        }, callerSettings || {});
61
62        settings.imageWrapper = $(this).find(settings.imageWrapper);
63        settings.contentWrapper = $(this).find(settings.contentWrapper);
64        settings.contentLinksWrapper = $(settings.contentLinksWrapper);
65        settings.navWrapper = $(this).find(settings.navWrapper);
66        settings.imageList = settings.imageWrapper.find('img').not('[class*=intro]'); //list of the items' background image (intro image is ignored)
67        settings.contentList = settings.contentWrapper.find('div').not('[class*=intro]'); //list of the items' content (intro content is ignored)
68        settings.contentLinksList = settings.contentLinksWrapper.find('a'); //list of the items' content links (optional)
69        settings.imageIntro = settings.imageWrapper.find('img[class*=intro]');
70        settings.contentIntro = settings.contentWrapper.find('div[class*=intro]');
71        settings.currentIndex = 0; //index of the current displayed item
72        settings.totalItem = settings.imageList.length; //total number of items
73        settings.stopCarousel = 0; //flag to stop the carousel
74        settings.timerCarousel = 0; //timer for the carousel
75        settings.navFreeze = 0; //flag to avoid clicking too fast on the nav
76        settings.introActive = 0; //flag to know if there is an intro state and if it's active
77		settings.timerHideNavBar = 0;
78		settings.imageSize = new Array(settings.totalItem);
79		settings.prevImage = null;
80
81        if (settings.imageWrapper.find('img[class*=intro]').length > 0) {
82            settings.introActive = 1;
83        }
84
85		//set the index of each image
86        settings.imageList.each(function (n) {
87
88        	var end_load = function(settings, n){
89        		currentImage = $(settings.imageList[n]);
90        		var src = currentImage.attr("src");
91        		var class_name = currentImage.attr('class');
92
93        		if(class_name=="current"){
94
95        			settings.currentIndex = n;
96
97        			$(settings.contentList).hide();
98
99        			loadModuleContent(settings);
100
101	        		if(settings.manualCarousel==0){
102	        			if (settings.stopCarousel == 0) {
103							var nextIndex;
104							if (settings.currentIndex == settings.totalItem - 1) {
105								nextIndex = 0;
106							} else {
107								nextIndex = parseInt(settings.currentIndex) + 1;
108							}
109
110							if (settings.manualCarousel == 0){
111								settings.timerCarousel = window.setTimeout(function(){
112									loadItem(settings, nextIndex);
113								}, settings.slideDuration);
114							}
115						}
116	        		}
117
118					settings.onLoading = 0;
119					settings.navFreeze = 0;
120					showLoading(false);
121				}
122        	};
123
124        	this.onload = function(e){
125
126        		settings.currentIndex = n;
127
128				settings.imageSize[settings.currentIndex] = { width:$(this).width(),
129															  height:$(this).height() };
130
131        		currentImage = $(settings.imageList[settings.currentIndex]);
132
133				if(settings.enableExifFunc==1){
134					currentImage.exifLoad(function(exif_data){
135
136						settings.exifData = (!exif_data) ? null : exif_data;
137
138		        		fitImage(settings, currentImage.get(0), settings.currentIndex);
139
140		        		currentImage.fadeIn(settings.fadeInSpeed, function () {
141
142							if(settings.prevImage){
143								settings.prevImage.hide();
144								settings.prevImage.removeClass('previous');
145							}
146
147					       	end_load(settings, n);
148
149					       	if(settings.showExifMode==1)
150					       		showExifInfo(settings, currentImage, true);
151				       	});
152			       	});
153		    	}
154		    	else{
155		    		settings.exifData = null;
156
157		    		fitImage(settings, currentImage.get(0), settings.currentIndex);
158
159		    		currentImage.fadeIn(settings.fadeInSpeed, function () {
160
161						if(settings.prevImage){
162							settings.prevImage.hide();
163							settings.prevImage.removeClass('previous');
164						}
165
166						end_load(settings, n);
167					});
168		    	}
169        	};
170
171        	this.onerror = function(e){
172        		end_load(settings, n);
173        	};
174
175         	this.index = n;
176        });
177
178        //set the index of each content
179        settings.contentList.each(function (n) { this.index = n; });
180
181        //set the index of each content link (optional)
182        settings.contentLinksList.each(function (n) { this.index = n; });
183
184        //return error if different number of images and contents
185        if (settings.imageList.length != settings.contentList.length) {
186        	/* DEBUG */
187            if (settings.debug == 1) trace('[Barousel error] images and contents must be the same number');
188            return this;
189        }
190
191        //init the default content height
192        if (settings.contentResize == 1 && settings.introActive == 0) {
193        	$(settings.contentWrapper).height($(settings.contentList[settings.currentIndex]).height() + 10);
194        }
195
196        //init the content link default state (optional)
197        if (settings.contentLinksWrapper != null) {
198        	$(settings.contentLinksList[settings.currentIndex]).addClass('current');
199        }
200
201        //build the navigation
202		var strNavList = "";
203        strNavList += "<div class='counter'><span class='counter_current'>1</span>/<span class='counter_total'>" + settings.totalItem + "</span></div>";
204
205        if (settings.totalItem > 1){
206        	strNavList += "<div class='nav_btn nav_btn_icon prev transparent'><a href='#' title='prev'>&nbsp;</a></div>";
207            strNavList += "<div class='nav_btn nav_btn_icon next transparent'><a href='#' title='next'>&nbsp;</a></div>";
208            strNavList += "<div class='nav_btn_icon play transparent'><a href='#' title='play'>&nbsp;</a></div>";
209            strNavList += "<div class='nav_btn_icon pause transparent'><a href='#' title='pause'>&nbsp;</a></div>";
210		}
211
212        strNavList += "<div class='nav_btn nav_btn_icon close transparent'><a href='#' title='close'>&nbsp;</a></div>";
213
214        if(settings.enableExifFunc==1 && !(isIE()&&getInternetExplorerVersion()<=10)){
215	        strNavList += '<div class="image_exif_wrapper turn_c">';
216	        strNavList += '<table><tr>';
217	        strNavList += '<td><span>' + settings.stringTable.getString("title_exif_info") + ':</span></td>';
218	        strNavList += '<td></td>';
219	        strNavList += '<td><span>' + settings.stringTable.getString("title_exif_off") + '</span></td>';
220			strNavList += '<td><div class="image_exif turn_m">';
221
222			if(settings.storage){
223				settings.showExifMode = settings.storage.getl("showExifMode") == undefined ? 0 : settings.storage.getl("showExifMode");
224				strNavList += '<a href="#"><span class="icon" style="left: ' + ((settings.showExifMode==1) ? '25px;' : '0px') + '"></span></a>';
225			}
226
227			strNavList += '</div></td>';
228			strNavList += '<td><span>' + settings.stringTable.getString("title_exif_on") + '</span></td>';
229			strNavList += '</tr></table>';
230			strNavList += '</div>';
231		}
232
233		if(settings.enableShareFunc==1)
234			strNavList += '<div class="albutton toolbar-button-right" id="btnShareImage" style="display:block"><div class="ticon"></div></div>';
235
236        settings.navWrapper.append(strNavList);
237        settings.navList = settings.navWrapper.find('a'); //list of the items' nav link
238
239        $(".play").css("display", "block");
240        $(".pause").css("display", "none");
241
242        if(settings.enableShareFunc==1){
243
244        	$("#btnShareImage").attr("title", m.getString('btn_sharelink'));
245
246	        settings.contextMenu = $.contextMenu({
247	        	selector: 'div#btnShareImage',
248				trigger: 'left',
249				callback: function(key, options) {
250					if(key=="upload2facebook"){
251						var currentImage = $(settings.imageList[settings.currentIndex]);
252						var upload_files = new Array(0);
253						upload_files.push(currentImage.attr("uhref"));
254						open_upload2service_window("facebook", upload_files);
255						upload_files = null;
256					}
257					else if(key=="upload2flickr"){
258						var currentImage = $(settings.imageList[settings.currentIndex]);
259						var upload_files = new Array(0);
260						upload_files.push(currentImage.attr("uhref"));
261						open_upload2service_window("flickr", upload_files);
262						upload_files = null;
263					}
264					else if(key=="upload2picasa"){
265						var currentImage = $(settings.imageList[settings.currentIndex]);
266						var upload_files = new Array(0);
267						upload_files.push(currentImage.attr("uhref"));
268						open_upload2service_window("picasa", upload_files);
269						upload_files = null;
270					}
271					else if(key=="upload2twitter"){
272						var currentImage = $(settings.imageList[settings.currentIndex]);
273						var upload_files = new Array(0);
274						upload_files.push(currentImage.attr("uhref"));
275						open_upload2service_window("twitter", upload_files);
276						upload_files = null;
277					}
278					else if(key=="share2facebook"){
279						var currentImage = $(settings.imageList[settings.currentIndex]);
280						var selectFileArray = new Array(0);
281						selectFileArray.push(settings.storage.get('openurl') + "/" + currentImage.attr("file"));
282						open_sharelink_window("facebook", selectFileArray);
283						selectFileArray = null;
284					}
285					else if(key=="share2googleplus"){
286						var currentImage = $(settings.imageList[settings.currentIndex]);
287						var selectFileArray = new Array(0);
288						selectFileArray.push(settings.storage.get('openurl') + "/" + currentImage.attr("file"));
289						open_sharelink_window("googleplus", selectFileArray);
290						selectFileArray = null;
291					}
292					else if(key=="share2twitter"){
293						var currentImage = $(settings.imageList[settings.currentIndex]);
294						var selectFileArray = new Array(0);
295						selectFileArray.push(settings.storage.get('openurl') + "/" + currentImage.attr("file"));
296						open_sharelink_window("twitter", selectFileArray);
297						selectFileArray = null;
298					}
299					else if(key=="share2plurk"){
300						var currentImage = $(settings.imageList[settings.currentIndex]);
301						var selectFileArray = new Array(0);
302						selectFileArray.push(settings.storage.get('openurl') + "/" + currentImage.attr("file"));
303						open_sharelink_window("plurk", selectFileArray);
304						selectFileArray = null;
305					}
306					else if(key=="share2weibo"){
307						var currentImage = $(settings.imageList[settings.currentIndex]);
308						var selectFileArray = new Array(0);
309						selectFileArray.push(settings.storage.get('openurl') + "/" + currentImage.attr("file"));
310						open_sharelink_window("weibo", selectFileArray);
311						selectFileArray = null;
312					}
313					else if(key=="share2qq"){
314						var currentImage = $(settings.imageList[settings.currentIndex]);
315						var selectFileArray = new Array(0);
316						selectFileArray.push(settings.storage.get('openurl') + "/" + currentImage.attr("file"));
317						open_sharelink_window("qq", selectFileArray);
318						selectFileArray = null;
319					}
320		        },
321		        items: {
322					"submenu_upload": {
323						name : settings.stringTable.getString("title_upload2"),
324		                items : {
325		                	"upload2facebook": {
326								name: settings.stringTable.getString("title_facebook")
327							},
328							"upload2flickr": {
329								name: settings.stringTable.getString("title_flickr")
330							},
331							"upload2picasa": {
332								name: settings.stringTable.getString("title_picasa")
333							},
334							"upload2twitter": {
335								name: settings.stringTable.getString("title_twitter")
336							}
337		                }
338		            },
339					"submenu_share": {
340						name : settings.stringTable.getString("title_share2"),
341		                items : {
342		                	"share2facebook": {
343								name: settings.stringTable.getString("title_facebook")
344							},
345							"share2googleplus": {
346								name: settings.stringTable.getString("title_googleplus")
347							},
348							"share2twitter": {
349								name: settings.stringTable.getString("title_twitter")
350							},
351							"share2plurk": {
352								name: settings.stringTable.getString("title_plurk")
353							},
354							"share2weibo": {
355								name: settings.stringTable.getString("title_weibo")
356							},
357							"share2qq": {
358								name: settings.stringTable.getString("title_qq")
359							}
360		                }
361		            }
362		        }
363	    	});
364    	}
365
366		//prev/next navigation type
367        settings.navList.each(function () {
368        	$(this).click(function () {
369            	if (settings.navFreeze == 0) {
370                	window.clearTimeout(settings.timerCarousel);
371                    settings.stopCarousel = 1;
372
373                    if ($(this).parent().hasClass('prev')) {
374                    	prev(settings);
375                    }
376                    else if ($(this).parent().hasClass('next')) {
377                    	next(settings);
378                    }
379                    else if ($(this).parent().hasClass('close')) {
380                    	close(settings);
381                    }
382                    else if ($(this).parent().hasClass('play')) {
383                    	settings.manualCarousel = 0;
384                        settings.stopCarousel = 0;
385
386                        $(".play").css("display", "none");
387                		$(".pause").css("display", "block");
388
389                        var nextIndex;
390
391						if (settings.currentIndex == settings.totalItem - 1) {
392							nextIndex = 0;
393						} else {
394						   	nextIndex = parseInt(settings.currentIndex) + 1;
395						}
396
397						if (settings.manualCarousel == 0){
398							var loadItemCall = function () { loadItem(settings, nextIndex); };
399							settings.timerCarousel = window.setTimeout(loadItemCall, settings.slideDuration);
400						}
401                    }
402                    else if ($(this).parent().hasClass('pause')) {
403                    	settings.manualCarousel = 1;
404                        settings.stopCarousel = 1;
405
406                        $(".play").css("display", "block");
407                		$(".pause").css("display", "none");
408                    }
409                    else if ($(this).parent().hasClass('image_exif')) {
410                    	if(settings.showExifMode==0){
411                    		$(this).parent().find('a span.icon').css('left', '25px');
412							settings.showExifMode = 1;
413
414							var currentImage = $(settings.imageList[settings.currentIndex]);
415							showExifInfo(settings, currentImage, true);
416
417							if(settings.storage)
418								settings.storage.setl("showExifMode", 1);
419						}
420						else{
421							$(this).parent().find('a span.icon').css('left', '0px');
422							settings.showExifMode = 0;
423
424							var currentImage = $(settings.imageList[settings.currentIndex]);
425							showExifInfo(settings, currentImage, false);
426
427							if(settings.storage)
428								settings.storage.setl("showExifMode", 0);
429						}
430                  	}
431				}
432
433                settings.introActive = 0;
434                return false;
435			});
436		});
437
438		settings.navWrapper.mousedown(function () {
439        	showHideNavBar(settings, true);
440        });
441
442        settings.navWrapper.mousemove(function () {
443        	showHideNavBar(settings, true);
444        });
445
446        settings.imageWrapper.mousemove(function () {
447        	showHideNavBar(settings, true);
448        });
449
450        var showHideNavBarCall = function(){ showHideNavBar(settings, false); };
451        settings.timerHideNavBar = window.setInterval(showHideNavBarCall, settings.hideNavBarDuration);
452
453        //start the carousel
454        if (settings.manualCarousel == 0) {
455           	var loadItemCall = function () { loadItem(settings, 1); };
456           	settings.timerCarousel = window.setTimeout(loadItemCall, settings.slideDuration);
457        }
458        else{
459           	loadItem(settings, settings.startIndex, 1);
460        }
461
462       	if(settings.initCompleteHandler)
463       		settings.initCompleteHandler(settings);
464
465        return this;
466    };
467
468	var prev = function(settings){
469		settings.manualCarousel = 1;
470        settings.stopCarousel = 1;
471
472        $(".play").css("display", "block");
473        $(".pause").css("display", "none");
474
475		var previousIndex;
476
477        if (parseInt(settings.currentIndex) == 0) {
478         	previousIndex = parseInt(settings.totalItem) - 1;
479        } else {
480          	previousIndex = parseInt(settings.currentIndex) - 1;
481        }
482        loadItem(settings, previousIndex);
483        settings.currentIndex = previousIndex;
484	};
485
486	var next = function(settings){
487		settings.manualCarousel = 1;
488        settings.stopCarousel = 1;
489
490        $(".play").css("display", "block");
491        $(".pause").css("display", "none");
492
493		var nextIndex;
494
495        if (parseInt(settings.currentIndex) == (parseInt(settings.totalItem) - 1)) {
496        	nextIndex = 0;
497        } else {
498          	nextIndex = parseInt(settings.currentIndex) + 1;
499        }
500
501        loadItem(settings, nextIndex);
502        settings.currentIndex = nextIndex;
503	};
504
505	var close = function(settings){
506		if(settings){
507			settings.manualCarousel = 1;
508            settings.stopCarousel = 1;
509
510			window.clearTimeout(settings.timerCarousel);
511
512            if(settings.enableShareFunc==1)
513            	$.contextMenu( 'destroy', 'div#btnShareImage' );
514
515			$("#"+settings.name).remove();
516
517            if(settings.closeHandler){
518            	settings.closeHandler();
519            }
520    	}
521	};
522
523	var showHideNavBar = function(settings, bshow){
524		if(bshow){
525			$(settings.navWrapper).show();
526
527			window.clearInterval(settings.timerHideNavBar);
528			var showHideNavBarCall = function(){ showHideNavBar(settings, false); };
529        	settings.timerHideNavBar = window.setInterval(showHideNavBarCall, settings.hideNavBarDuration);
530		}
531		else{
532			$(settings.navWrapper).hide();
533		}
534	};
535
536	var radians = function(angle) {
537		if (typeof angle == 'number') return angle;
538		return {
539			rad: function(z) {
540				return z;
541			},
542			deg: function(z) {
543				return Math.PI / 180 * z;
544			}
545		}[String(angle).match(/[a-z]+$/)[0] || 'rad'](parseFloat(angle));
546	};
547
548	var fitImage = function(settings, ImgD, index) {
549		var exif_data = settings.exifData;
550		var window_width = $(window).width();
551		var window_height = $(window).height();
552		var orientation = "0";
553		var imgWidth = settings.imageSize[index].width;
554		var imgHeight = settings.imageSize[index].height;
555		var currentImage = $(settings.imageList[index]);
556
557		if(imgWidth<=0 || imgHeight<=0)
558			return;
559
560		if(isIE()&&getInternetExplorerVersion()<=8){
561			var newImgWidth = imgWidth;
562			var newImgHeight = imgHeight;
563			if( newImgWidth > window_width ){
564				newImgWidth = window_width;
565				newImgHeight = (imgHeight*newImgWidth)/imgWidth;
566			}
567
568			if( newImgHeight > window_height ){
569				newImgHeight = window_height;
570				newImgWidth = (imgWidth*newImgHeight)/imgHeight;
571			}
572
573			ImgD.width = newImgWidth;
574			ImgD.height = newImgHeight;
575			ImgD.style.left = (window_width-newImgWidth)/2 +"px";
576			ImgD.style.top = (window_height-newImgHeight)/2 +"px";
577
578			return;
579		}
580
581		ImgD.width = imgWidth;
582		ImgD.height = imgHeight;
583		ImgD.style.left = (window_width-imgWidth)/2 +"px";
584		ImgD.style.top = (window_height-imgHeight)/2 +"px";
585
586		if(exif_data){
587			var ori = exif_data["Orientation"];
588
589			if(ori==8) orientation = "270deg";
590			else if(ori==3) orientation = "180deg";
591			else if(ori==6) orientation = "90deg";
592
593			if(orientation!="0"){
594				var angle = radians(orientation);
595				var sin = Math.sin(angle);
596				var cos = Math.cos(angle);
597				var rotateWidth = Math.floor(Math.abs(sin) * imgHeight + Math.abs(cos) * imgWidth);
598				var rotateHeight = Math.floor(Math.abs(cos) * imgHeight + Math.abs(sin) * imgWidth);
599
600				imgWidth = rotateWidth;
601				imgHeight = rotateHeight;
602			}
603		}
604
605		var newImgWidth = imgWidth;
606		var newImgHeight = imgHeight;
607		if( newImgWidth > window_width ){
608			newImgWidth = window_width;
609			newImgHeight = (imgHeight*newImgWidth)/imgWidth;
610		}
611
612		if( newImgHeight > window_height ){
613			newImgHeight = window_height;
614			newImgWidth = (imgWidth*newImgHeight)/imgHeight;
615		}
616
617		var transform = "scale("+(newImgWidth/imgWidth) +", "+(newImgHeight/imgHeight)+")";
618
619		if(orientation!="0"){
620			transform += " rotate("+orientation+")";
621		}
622		/*
623		if(isIE()&&getInternetExplorerVersion()<=8){
624			var filter = "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',M11="+(newImgWidth/imgWidth)+",M12=0,M21=0,M22="+(newImgWidth/imgWidth)+")";
625			ImgD.style.filter = filter;
626
627			currentImage.css("-ms-filter", filter);
628			currentImage.css("margin-left", "-500px");
629	   		currentImage.css("margin-top", "-500px");
630   		}
631   		else*/{
632			currentImage.css("-ms-transform", transform);  //- FF3.5/3.6
633			currentImage.css("-moz-transform", transform);  //- FF3.5/3.6
634			currentImage.css("-o-transform", transform);  //- Opera 10.5
635			currentImage.css("-webkit-transform", transform); //- Saf3.1+
636			currentImage.css("transform", transform); //- Newer browsers (incl IE9)
637		}
638	};
639
640    var loadItem = function (settings, index, bStartImage) {
641
642		showLoading(true);
643
644		settings.onLoading = 1;
645    	settings.navFreeze = 1;
646
647        //reset the nav link current state
648        settings.navList.each(function (n) { $(this).removeClass('current'); });
649        $(settings.navList[index]).addClass('current');
650
651		//Change the background image then display the new content
652        var currentImage;
653        if (settings.introActive == 1) {
654            currentImage = $(settings.imageIntro);
655        } else {
656            currentImage = $(settings.imageList[settings.currentIndex]);
657        }
658
659        currentImage.fadeOut( "fast", function() {
660
661    		if(bStartImage!=1){
662			    //- for clear memory
663    			currentImage.attr('src', '');
664			}
665
666	        if (!currentImage.hasClass('default')) { currentImage.attr('class', 'previous'); }
667
668			if(bStartImage!=1)
669			    settings.prevImage = currentImage;
670			else
671				settings.prevImage = null;
672
673			var nextImage = $(settings.imageList[index]);
674			nextImage.attr('class', 'current');
675			nextImage.attr('src', nextImage.attr('path'));
676  		});
677    };
678
679    var loadModuleContent = function (settings) {
680
681    	var index = settings.currentIndex;
682
683        if (settings.introActive == 1) {
684            $(settings.contentIntro).hide();
685            $(settings.contentWrapper).attr('class', '');
686        }
687
688        //Resize content
689        if (settings.contentResize == 1 && parseInt($(settings.contentWrapper).height()) != parseInt($(settings.contentList[index]).height() + 10)) {
690            $(settings.contentWrapper).animate({
691                height: $(settings.contentList[index]).height() + 10
692            }, settings.contentResizeSpeed, function () {
693               loadModuleContentAction(settings, index);
694            });
695        } else {
696            loadModuleContentAction(settings, index);
697        }
698
699        //update counter for previous/next nav
700        $(settings.navWrapper).find('.counter_current').text(index + 1);
701    };
702
703    var loadModuleContentAction = function (settings, index) {
704        //display the loaded content
705        $(settings.contentList).hide();
706        $(settings.contentList[index]).show();
707
708        if (settings.contentLinksWrapper != null) {
709            $(settings.contentLinksList).removeClass('current');
710            $(settings.contentLinksList[index]).addClass('current');
711        }
712    };
713
714	var showLoading = function(bShow){
715    	if(bShow){
716    		var window_width = $(window).width();
717			var window_height = $(window).height();
718    		$(".barousel_loading").css("left", ( window_width - $(".barousel_loading").width() )/2);
719    		$(".barousel_loading").css("top", ( window_height - $(".barousel_loading").height() )/2);
720    		$(".barousel_loading").show();
721    		$(".barousel_exif_data").hide();
722    	}
723    	else
724    		$(".barousel_loading").hide();
725    };
726
727	var showExifInfo = function(settings, oImage, bshow){
728		var exif_data = settings.exifData;
729		var stble = settings.stringTable;
730		var showData = function(data){
731			if(data==undefined) return "";
732			return data;
733		};
734
735		if(!exif_data||!bshow){
736			$(".barousel_exif_data").hide();
737			return;
738		}
739
740		var make = showData(exif_data["Make"]);
741	    var model = showData(exif_data["Model"]);
742	    var t = showData(exif_data["ExposureTime"]);
743	    var f = showData(exif_data["FNumber"]);
744	    var length = showData(exif_data["FocalLength"]);
745	    var iso = showData(exif_data["ISOSpeedRatings"]);
746	    var ev = showData(exif_data["ExposureBias"]);
747	    var soft = showData(exif_data["Software"]);
748	    var date = showData(exif_data["DateTime"]);
749	    var dpi = showData(exif_data["XResolution"]);
750	    var sa = showData(exif_data["Saturation"]);
751	    var sha = showData(exif_data["Sharpness"]);
752	    var wb = showData(exif_data["WhiteBalance"]);
753
754	   	if(t!=""){
755			if ( t < 1 ) {
756				t = "1/" + Math.round( 1 / t ) + "sec";
757			} else {
758				t = t + "sec";
759			}
760		}
761
762	    var evnum = new Number( ev ) ;
763	    ev = evnum.toFixed( 1 ) ;
764
765	    var showExit =  stble.getString("title_exif_make") + ": " + make + "<br>" +
766	    				stble.getString("title_exif_model") + ": " + model + "<br>" +
767	    				stble.getString("title_exif_shutter") + ": " + t + "<br>" +
768	    				stble.getString("title_exif_aperture") + ": " + f + "<br>" +
769	    				"ISO: " + iso + "<br>" +
770	    				stble.getString("title_exif_focal_length") + ": " + length + "mm<br>" +
771	    				stble.getString("title_exif_exposure") + ": " + ev + "<br>" +
772	    				stble.getString("title_exif_wb") + ": " + wb + "<br>" +
773	    				stble.getString("title_exif_saturation") + ": " + sa + "<br>" +
774	    				stble.getString("title_exif_sharpness") + ": " + sha + " <br>" +
775	    				stble.getString("title_exif_software") + ": " + soft + "<br>" +
776	    				stble.getString("title_exif_resolution") + ": " + dpi + "DPI<br>" +
777	    				stble.getString("title_exif_date") + ": " + date;
778
779	   	$(".barousel_exif_data").html( showExit.replace( new RegExp( String.fromCharCode(0), "g" ), '' ));
780	   	$(".barousel_exif_data").show();
781	};
782
783	var trace = function(msg){
784		if(console.log)
785			console.log(msg);
786	};
787})(jQuery);