var isDynamicPageLoaderEnabled=true;
var savedWebsites=[];

function changeActivePage(viewAddress,disableFade,keepInMemory) {
	if(isDynamicPageLoaderEnabled){
		$('#pageLoadErrorMessage').remove();
		$(document).trigger('dynamicPageLoaderNewContentRequest');
		
		//check if website already loaded
    	var preloadedWebsiteIndex=0;
    	while(preloadedWebsiteIndex<savedWebsites.length){
    		if(savedWebsites[preloadedWebsiteIndex].url==viewAddress){
    			break;
    		}
    		preloadedWebsiteIndex++;
    	}
    	//if website not preloaded yet, load it and add to list,else return data from memory
    	if(preloadedWebsiteIndex!=savedWebsites.length){
    		$(document).trigger('dynamicPageLoaderContentBeforeChanged');
	        $("#content").html(savedWebsites[preloadedWebsiteIndex].content);
	        if(!disableFade)
	        	$("#content").hide().fadeIn();
	        
	        $(document).trigger('dynamicPageLoaderContentChanged');
    	}else{
			$.ajax({ url: viewAddress,// + "?pr=" + Math.random(), //hange back when deploying
			    success: function (data) {
			    	if(keepInMemory)
			    		savedWebsites.push({url:viewAddress,content:data});
			    	
			        $(document).trigger('dynamicPageLoaderContentBeforeChanged');
			        $("#content").html(data);
			        if(!disableFade)
			        	$("#content").hide().fadeIn();
			        
			        $(document).trigger('dynamicPageLoaderContentChanged');
			    },
			    error: function (jqXHR, textStatus, errorThrown) {
			    	var errorMessage=$('<div id="pageLoadErrorMessage" style="position:absolute; padding:10px; background:#000;color:#eee; font-family:Arial; top:0px; right:0px">Nie można załadować strony. Spróbuj ponownie później.</div>');
			    	$(document.body).append(pageLoadErrorMessage);
			    },
			    dataType: 'html'
			    //ONE MORE OPTIONAL ARGUMENT FOR PARAMETERS SENT TO WEBSITE
			    //data:{name: this.filmBodyCreate.find('#filmCreateName').val()}
			});
    	}
	}else{
		$(document).trigger('dynamicPageLoaderDisabled');
    }
}

function disableDynamicPageLoader(){
	isDynamicPageLoaderEnabled=false;
}

function enableDynamicPageLoader(){
	isDynamicPageLoaderEnabled=true;
}
