var ifHashReload = false;
var nowWindowWidth = 0;
var nowWindowHeight = 0;
var mainBgAlready = false;
var mainBodyAlready = false;

$(document).ready(function(){
	nowWindowWidth = $(window).width();
	nowWindowHeight = $(window).height();
	
	var delay = (function(){
		  var timer = 0;
		  return function(callback, ms){
		    clearTimeout (timer);
		    timer = setTimeout(callback, ms);
		  };
		})();
	
	if ( window.location.hash )
	{
		var hash_array = window.location.hash.split('#');
		
		if(hash_array[1])
		{
			var parameter_array = hash_array[1].split('?');
			
			switch (parameter_array[0])
			{
				case 'collection':
					loadCollection();
					break;
				case 'collectionSeries':
					loadCollectionSeries(parameter_array[1]);
					break;
				case 'collectionList':
					loadCollectionList(parameter_array[1]);
					break;
				case 'collectionStory':
					loadCollectionStory(parameter_array[1]);
					break;
				case 'whereBuy':
					loadWhereBuy(parameter_array[1]);
					break;
				case 'collectionBrand':
					loadCollectionBrand(parameter_array[1]);
					break;
				case 'collectionType':
					loadCollectionType(parameter_array[1]);
					break;
				case 'collectionMore':
					loadCollectionMore(parameter_array[1]);
					break;
				default:
					break;
			}
		}
	}
	
	$(window).bind('hashchange', function() {
    	if (ifHashReload){
    		location.reload(true);
    	}
    });
	
	$(window).resize(function() {
		delay(function(){
			var windowWidth = $(window).width();
			var windowHeight = $(window).height();
			
			if ((windowWidth != nowWindowWidth) || (windowHeight != nowWindowHeight))
			{
				nowWindowWidth = windowWidth;
				nowWindowHeight = windowHeight;
				
				var topInt = (windowHeight-75)/2-($('#mainBody').height()/2);
				
				if (topInt < 0)
				{
					topInt = 0;
				}
				
				$('#mainBody').animate({
				    top: topInt,
				    left: windowWidth/2-($('#mainBody').width()/2)
				  }, 1000, function() {
					  
				  });
			}
	    }, 300);
	});
}); 

function setMainBodyPosition()
{
	var windowWidth = $(window).width();
	var windowHeight = $(window).height();
		
	var topInt = (windowHeight-75)/2-($('#mainBody').height()/2);
	
	if (topInt < 0)
	{
		topInt = 0;
	}
	
	$('#mainBody').css('left',windowWidth/2-($('#mainBody').width()/2));
	$('#mainBody').animate({
	    top: topInt
	  }, 1000, function() {
		  
	  });
}

function setMainBgContent(ContentStr)
{
	$('#mainBgPhotoDiv').fadeOut(500,function(){
		  document.getElementById('mainBgPhotoDiv').innerHTML = ContentStr;
		  
		  $(this).fadeIn(500,function(){
			  mainBgAlready = true;
			  if (mainBodyAlready && mainBgAlready)
				{
					mainBgAlready = false;
					mainBodyAlready = false;
					setMainBodyPosition();
				}
		  });
		});
}

function loadMainBody(loadStr, ContentStr)
{
	mainBgAlready = false;
	mainBodyAlready = false;
	
	$('#mainBody').animate({
	    top: 0-$(window).height()
	  }, 500, function() {
		  $(this).load(loadStr,
				{},function(){
					mainBodyAlready = true;
					if (mainBodyAlready && mainBgAlready)
					{
						mainBgAlready = false;
						mainBodyAlready = false;
						setMainBodyPosition();
					}
				}
			);
		  
		  setMainBgContent(ContentStr);
	  });
}

function setPageHash(hastStr)
{
	//設定hash
	ifHashReload = false;
	window.location.hash = hastStr;
	setTimeout(function(){ifHashReload = true;}, 1000);
}

function loadCollection()
{
	setPageHash('collection');
	loadMainBody('collection.php', '');
}

function loadCollectionSeries(CateID)
{
	setPageHash('collectionSeries?'+CateID);
	loadMainBody('collection_series.php?CateID='+CateID, '');
}

function loadCollectionList(SeriesID)
{
	setPageHash('collectionList?'+SeriesID);
	loadMainBody('collection_list.php?SeriesID='+SeriesID, '');
}

function loadCollectionStory(BrandID)
{
	setPageHash('collectionStory?'+BrandID);
	loadMainBody('collection_story.php?BrandID='+BrandID, '<div class="main_bg_photo_content_div" style="background-color:#000 "><img src="images/brand_story_bg_photo.jpg" width="100%" /></div>');
}

function loadWhereBuy(BrandID)
{
	setPageHash('whereBuy?'+BrandID);
	loadMainBody('where_buy.php?BrandID='+BrandID, '');
}

function loadCollectionBrand(ID)
{
	setPageHash('collectionBrand?'+ID);
	loadMainBody('collection_brand.php?ID='+ID, '<div class="main_bg_photo_content_div"><img src="images/brand_photos.jpg" width="100%" /></div>');
}

function loadCollectionType(BrandID)
{
	setPageHash('collectionType?'+BrandID);
	loadMainBody('collection_type.php?BrandID='+BrandID, '');
}

function loadCollectionMore(ID)
{
	ifHashReload = false;
	window.location.hash = 'collectionMore?'+ID;
	setTimeout(function(){ifHashReload = true;}, 1000);
	
	$('#mainBgPhotoDiv').fadeOut(1000);
	$('#apDiv1').animate({'bottom':-75},500);
	
	$('#mainBody').animate({
	    top: 0-$(window).height()
	  }, 500, function() {
		  $(this).load('collection_more.php?ID='+ID,
				{},function(){
					
				}
			);
	  });
}
