
function getElem ( id ) {
	return ( document.getElementById( id ) );
}

String.prototype.toNumber=function(){
	return Number(this.replace(/[^\d\.]/g,''));
}

PageClass={};
/**/
//PageClass.cSize = {};
//PageClass.minContentSpaceHeight = 20;
PageClass.sSize = {};
PageClass.minWindowSize = {};
PageClass.title = '';
PageClass.defContentHeight = 684;
PageClass.LOADED_PAGES = {};
PageClass.ANIMATION = false;
PageClass.clickedLink = null;
PageClass.PENDING_ID = '';
PageClass.currPageId = '';
PageClass.mainPageId = '';
PageClass.sitePageLink = '';
PageClass.menuTheme = {};

PageClass.init = function() {		
	//fix png in ie5 && ie6
	$(document).pngFix(); 	
	
	//set first page loaded page
	PageClass.LOADED_PAGES[ String(PageClass.currPageId) ] = true;		
		
	//by default init full height			
	PageClass.initMenuLinks();		
		
	//show page data		
	PageClass.setCurrPageId( PageClass.currPageId );	
	var defHeight = PageClass.getPageContentHeight( PageClass.currPageId ); 		
	$('#blc-content').css('height', defHeight+'px' );
	
	//set swf address Change event
	SWFAddress.addEventListener(SWFAddressEvent.CHANGE, PageClass.onPageChanged );
	
	//resized window
	PageClass.onResize();				
}

PageClass.onPageChanged = function (event) {		
	var pageId = PageClass.parseIdFromPath( SWFAddress.getValue() );	
	var checkURL = window.location.href.replace( PageClass.sitePageLink, '' );		
	if( pageId.length > 0 ) {
		PageClass.showPage( pageId );
	} else {
		PageClass.showPage( PageClass.mainPageId );
	}
	
}
PageClass.initMenuLinks = function() {
	$(".main-page-link").click( PageClass.onLinkPressed );	
}
PageClass.onLinkPressed = function() {
	PageClass.clickedLink = this;
	var pagePath = this.href.replace( PageClass.sitePageLink, '' );
	pagePath = pagePath.substring( pagePath.indexOf("/") - 2, pagePath.length );
	SWFAddress.setValue( pagePath );							
	return false;
}
PageClass.getPageIdFromPath = function(pagePath) {
	var pageId = pagePath.substring( (pagePath.lastIndexOf("/")+1), (pagePath.lastIndexOf(".html") ) );	
	return( pageId.length > 0 ? pageId : ''  );
}
PageClass.getItemIdFromPath = function(pagePath) {	
	var itemId = pagePath.substring( (pagePath.lastIndexOf("itemId.")+7), (pagePath.length ) );		
	itemId = itemId.substring( 0, itemId.indexOf(';') );		
	return( itemId.length > 0 ? itemId : '' );
} 
PageClass.parseIdFromPath = function(pagePath) {	
	if( pagePath.lastIndexOf("/") > 0 ) {				
		var linkId = PageClass.getPageIdFromPath(pagePath);
		var itemId = PageClass.getItemIdFromPath(pagePath);
		if(itemId.length > 0 ) {
			linkId = linkId+'-'+itemId;
		}			
		return( linkId );		
	} else {
		return( '' );
	}
}
PageClass.showPage = function( pageId ) {
	
	//set menu theme
	PageClass.setMenuTheme(pageId);
				
	if( !PageClass.ANIMATION ) {		
		if( PageClass.currPageId != pageId ) {				
			//animation is showing		
			PageClass.ANIMATION = true;
			//check existing content height
			var contentHeight = $('#blc-content').height();
			if( contentHeight > PageClass.defContentHeight ) {
				heightTween = new Tween( getElem('blc-content').style,'height',Tween.regularEaseOut,contentHeight, PageClass.defContentHeight,0.5,'px');						
				heightTween.onMotionFinished = function(){
					PageClass.showCurrPage(pageId);
				}
				heightTween.start();
			} else {				
				PageClass.showCurrPage(pageId);
			}
		}		
	} else {			
		//if( PageClass.currPageId != pageId ) {	
			PageClass.PENDING_ID = pageId;
		//}
	}
}
PageClass.setMenuTheme = function (pageId) {	
	$(".header-menu-link").removeClass('selected');	
	$('#header-menu-'+pageId.split('-')[0]).addClass('selected');		
	$('#header-menu').removeClass();
	$('#header-menu').addClass( PageClass.menuTheme[String(pageId.split('-')[0])] );	
		
	if( PageClass.clickedLink != null && $( PageClass.clickedLink ).attr('title') != undefined ) {
		document.title = PageClass.title+' - '+$( PageClass.clickedLink ).attr('title');			
	} else {
		var parentId = pageId.split('-')[0];		
		if ( $('#header-menu-'+parentId ).attr('title') != undefined ) {
			document.title = PageClass.title+' - '+$('#header-menu-'+parentId ).attr('title');
		}
	}
}
PageClass.setCurrPageId = function(pageId){	
	
	PageClass.currPageId = pageId;	
				
}
PageClass.showCurrPage = function(pageId){
	
	if( PageClass.isPageLoaded( pageId ) ) {
		PageClass.viewPage( pageId );
	} else {
		PageClass.loadPage( pageId );
	}
		
}
PageClass.loadPage = function( pageId ) {		
		
	//show preloader
	$('#blc-loader').css('display','block');
	//loader info		
	//$('#blc-loader-info').html(  $('#page-'+pageId).attr('title') );
	//alert( pageId );
	//create page
	var pageHtml = '<div id="page-content-'+pageId+'" class="content-item" style="background:#FFFFFF;"  ><div id="page-content-'+pageId+'-inner" class="content-item-inner"></div></div>';
	$('#blc-content-box').html( $('#blc-content-box').html() + pageHtml );
	//disabel new element
	$('#page-content-'+pageId).css('display','none');			
	$('#page-content-'+pageId+'-inner').load( PageClass.sitePageLink+"getContent.php?q="+SWFAddress.getValue(), function(){					
		PageClass.initMenuLinks();		
		//alert( $('#blc-content-box').width()+'---'+$('#page-content-'+pageId+'-inner').width() );				
		//set loaded page		
		var id = this.id.substring( 13, this.id.length - 6 );				
		PageClass.LOADED_PAGES[ String( id ) ] = true;		
		//view page
		PageClass.preloadViewImages( id );		
	});
}
//preloads content images
PageClass.preloadViewImages = function ( viewId ) {			
	$.preloadImages.onPreloadFinished = function() {
		//switch off preloader
		$('#blc-loader').css('display','none');
		//clear preloaded images
		$.preloadImages.clear();
		PageClass.viewPage( viewId );
	}		
	var loadImages = [];
	var images = $('#page-content-'+viewId+'-inner').find("img");
	for( var i=0; i<images.length; i++ ) {				
		if( jQuery.inArray( $(images[i]).attr('src') , loadImages) == -1 &&  $(images[i]).attr('src').indexOf("s.gif") == -1 ) {
			loadImages.push( $(images[i]).attr('src') );	 	
		}
	}		
	var bg = $('#page-content-'+viewId+'-inner').find('.preload_image');
	var bgIMG = '';	
	for( var i=0; i<bg.length; i++ ) {
		bgIMG = $(bg[i]).css('background-image');	
		if( bgIMG.indexOf(".png")!=-1 || bgIMG.indexOf(".jpg")!=-1 || bgIMG.indexOf(".gif")!=-1 ){
			var end = -1;
			var start = bgIMG.indexOf("http://");
			if(  bgIMG.lastIndexOf(".png") != -1 ) {
				end = bgIMG.lastIndexOf(".png") + 4;
			}			
			if( bgIMG.lastIndexOf(".jpg") != -1 ) {				
				end = bgIMG.lastIndexOf(".jpg") + 4;				
			}
			if( bgIMG.lastIndexOf(".gif") != -1 ) {
				end = bgIMG.lastIndexOf(".gif") + 4;
			}			
			if( jQuery.inArray( bgIMG.substring( start, end ) , loadImages) == -1 ) {
				loadImages.push( bgIMG.substring( start, end ) );			
			}
		}
	}
	//alert(loadImages.length);
	//alert( loadImages.toString() );
	$.preloadImages.add( loadImages );	
	$.preloadImages.start();		
}
PageClass.getPageContentHeight = function( pageId ) {
	var contentHeight = PageClass.defContentHeight;
	if(  $('#page-content-'+pageId+'-inner').height() > contentHeight ) {
		contentHeight = $('#page-content-'+pageId+'-inner').height();
	}		
	if(  $('#page-height-'+pageId+'-detector').height() > contentHeight ) {
		contentHeight = $('#page-height-'+pageId+'-detector').height();
	}	 		
	return( contentHeight );
}
PageClass.viewPage = function( newPageId ) {
	
	//mozilla after print version bug
	PageClass.onResize();
	
	$('#page-content-'+newPageId).css('left', PageClass.sSize.width+'px' );
	$('#page-content-'+newPageId).css('display', 'block');
	$('#page-content-'+newPageId).css('z-index', '2' );
	//fix png in ie5 && ie6	
	$('#page-content-'+newPageId+'-inner').pngFix();
	$('#page-content-'+PageClass.currPageId).css('z-index', '1' );
				
	var fromX = 0;
	var toX = (PageClass.sSize.width*-1);		
				
	showPageTween = new Tween(document.getElementById('blc-content-box').style,'left',Tween.strongEaseInOut,fromX, toX,1,'px');
	//showPageTween = new Tween(document.getElementById('blc-content-box').style,'left',Tween.elasticEaseOut,fromX, toX,1,'px');
	showPageTween.start();	
	showPageTween.onMotionFinished = function(){
		
		PageClass.hidePageData( PageClass.currPageId );
		PageClass.setCurrPageId(newPageId);		
		PageClass.showPageData( PageClass.currPageId );	
			
		if ( PageClass.PENDING_ID.length == 0 ) {				
			//height animation		
			var fromHeight = $('#blc-content').height();								
			var toHeight = PageClass.getPageContentHeight( PageClass.currPageId );					
			if( Math.abs(fromHeight - toHeight) > 0 ) {					
				heightTween = new Tween( getElem('blc-content').style,'height',Tween.regularEaseOut,fromHeight, toHeight,1,'px');
				heightTween.onMotionFinished = function(){					
					PageClass.animationFinished();			
				}
				heightTween.start();
			} else {
				PageClass.animationFinished();
			}			
		} else {
			PageClass.animationFinished();
		}
		
		//alert( $('#blc-content-box').width()+'---'+$('#page-content-'+PageClass.currPageId+'').width()+'----'+$('#page-content-'+PageClass.currPageId+'-inner').width() );	
	}	
}
PageClass.animationFinished = function() {
	PageClass.ANIMATION = false;	
	if( PageClass.PENDING_ID.length > 0 ) {	
		var id = PageClass.PENDING_ID;
		PageClass.PENDING_ID = '';				
		PageClass.showPage(id);		
	}	
}
PageClass.hidePageData = function(pageId) {
	$('#page-content-'+pageId).css('z-index', '1' );
	$('#page-content-'+pageId).css('display', 'none' );
}
PageClass.showPageData = function(pageId) {
	$('#page-content-'+pageId).css('z-index', '2' );
	$('#page-content-'+pageId).css('width', '50%');
	$('#page-content-'+pageId).css('left','0px');
	$('#blc-content-box').css('left','0px');	
}
PageClass.isPageLoaded = function (pageId) {	
	return( PageClass.LOADED_PAGES[ String(pageId) ]==true?true:false );
}
PageClass.onResize = function() {
	PageClass.minWindowSize.width = 990;
	PageClass.sSize.width = $('#main').width();
	PageClass.sSize.height = $('#main').height();
	
	//set minimum width	
	if ( PageClass.minWindowSize.width > PageClass.sSize.width ) {		
		$('#main').css("width", PageClass.minWindowSize.width+'px');		 
	} else {				
		$('#main').css("width", '100%');
	}				
}
/*
PageClass.wScroll = function( x, y ) {	
	var middleX = ($('#blc-loader').width()/2*-1)+x;
	var middleY = ($('#blc-loader').height()/2*-1)+y;	
	$('#blc-loader').css('margin-top',  middleY+'px');
	$('#blc-loader').css('margin-left', middleX+'px');
}
*/
/*
$(window).scroll(function () {
 	var scrolly = typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement.scrollTop;
 	var scrollx = typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement.scrollLeft;
 	PageClass.wScroll( scrollx, scrolly );
});
*/
$(document).ready(function(){
	var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
	if( !ie55 ) {
		PageClass.init();
	} else {
		//fix png in ie5 && ie6	
		$('#main').pngFix();		
		var defHeight = PageClass.getPageContentHeight( PageClass.currPageId ); 		
		$('#blc-content').css('height', defHeight+'px' );
	}		
});
$(window).wresize( function(){  	        
	PageClass.onResize();
}); 