/**
 * app.js @ idw-global.com
 * 2009.11.27 (c) norewind(dot)net
 */

 
if (typeof($app) == 'undefined'){ var $app = {}; }

jQuery.extend($app, {
	initialized: 			false,
	topNavId: 				'top-nav',
	lightboxSelector: 		'a[rel*=lightbox]',
	lightboxScriptUrl: 		'js/jquery.lightbox-0.5.min.js',
	lightboxStylesheetUrl: 	'css/lightbox.css',
	
	initialize: function(){		
		var args = arguments;
		if (!this.base) return false;		
		if (!$app.initialized){
			jQuery(document).ready(function(){						
				$.each(args, function(i,v){					
					if ($.isFunction($app['_' + v + 'Setup'])){
						$app['_' + v + 'Setup']();
					}
				});				
			});
			jQuery.extend($app, {initialized: true});
		}
		return true;
	},
	_topNavSetup: function(){
		$('#' + $app.topNavId + ' a').each(function(){
			var el = this;			
			if($(el.parentNode).is('li') && $(el.parentNode.childNodes).is('ul')){				
				$(el.parentNode).hover(function(){					
					var hover = $(this.childNodes).filter('ul:not(ul[class*="hover"])').addClass('hover');
					hover.css({ // 
						left: (this.offsetLeft +this.offsetWidth - (hover.show().get(0).offsetWidth ) ) + 'px',
						top: 24 + 'px',
						'z-index': 100
					});
					
				}, function(){					
					setTimeout(function(){
						$(el.parentNode.childNodes).filter('ul').removeClass('hover').hide();
					}, 100);
				});
			}
		});
	},
	_lightboxSetup: function(){
		var elements = $($app.lightboxSelector);
		if (!elements.length) return false;
		
		function scriptOnloadCallback(){
			$(elements).lightBox({ 
				txtImage: '',
				txtOf: ' of ',
				overlayBgColor: '#000000',
				overlayOpacity: 0.85,
				imageLoading:	$app.base + 'img/lightbox/lightbox-ico-loading.gif',
				imageBtnClose:	$app.base + 'img/lightbox/lightbox-btn-close.gif',
				imageBtnPrev:	$app.base + 'img/lightbox/lightbox-btn-prev.gif',
				imageBtnNext:	$app.base + 'img/lightbox/lightbox-btn-next.gif',
				imageBlank:		$app.base + 'img/lightbox/lightbox-blank.gif'
			}).click(function(){
				$('#lightbox-nav-btnPrev').attr('title', 'Previous');
				$('#lightbox-nav-btnNext').attr('title', 'Next');
				$('#lightbox-secNav-btnClose').attr('title', 'Close');
			
			});
		}
		
		var documentHead = document.getElementsByTagName('head')[0];
		var stylesheet = document.createElement('link');
		stylesheet.rel = 'stylesheet';
		stylesheet.type = 'text/css';
		stylesheet.media = 'screen';
		
		stylesheet.href = this.base + this.lightboxStylesheetUrl;		
		documentHead.appendChild(stylesheet);	
		
		
		var script = document.createElement('script');
		script.type = 'text/javascript';
		script.src = this.base + this.lightboxScriptUrl;
				
		
		if (!$.browser.msie) {
			script.onload = function(){
				setTimeout(function(){ scriptOnloadCallback() }, 10);
			};
		}else{
			script.onreadystatechange = function() {
				if (script.readyState == 'loaded' || script.readyState == 'complete'){
					script.onreadystatechange = null;
					scriptOnloadCallback();
				}
			};
		}
		
		documentHead.appendChild(script);		
		return true;
	}
});

$app.initialize('topNav', 'lightbox');	

