var BeforeImageLoad=window.onload;

function ImageLoad() {
	if ( typeof(BeforeImageLoad)=="function" ) BeforeImageLoad();
	
	if ( typeof(ContentElements)!='object' ) {
		alert("ContentElements not found!");
	} else {
		if ( ContentElements.length>1 ) {
			var rnd = Math.floor(Math.random() * ContentElements.length); 
			var ImageContainer = document.getElementById('ImageContainer');
			if ( ImageContainer ) {
				ImageContainer.innerHTML=ImageContentReplace(ImageContainer.innerHTML, ContentElements[rnd]);
				ImageContainer.style.display="";
			}
			SetDefaultText(rnd);

			var ThumbContainer = document.getElementById('ThumbContainer');
			var ThumbItem = document.getElementById('ThumbItem');
			if ( ThumbContainer && ThumbItem ) {
				ThumbItem.style.display="";
				ThumbItem.id="";
				ThumbContainerContent="";
				var count=0;
				var number=rnd;
				while ( count<10 && count<ContentElements.length ) {
					number+=1;
					count+=1;
					if ( !(number<ContentElements.length) ) number=0;
					if ( number!=rnd ) {
						var TmpContent=ImageContentReplace(ThumbContainer.innerHTML, ContentElements[number]);
						//if ( ++count%3==0 ) TmpContent=TmpContent.replace("Margin01", "Margin02");
						ThumbContainerContent+=TmpContent;
					}
				}
				ThumbContainer.innerHTML=ThumbContainerContent;
			}
			
			// Run news slide (News-item-width , Number-of-cols)
            runNewsSlider('217','3');
		}
	}
} // ImageLoad
window.onload=ImageLoad;

function SetText(number) {
	if ( document.getElementById ) {
		var Element=document.getElementById('fronttext');
		if ( Element ) Element.innerHTML='<img src="'+ContentElements[number].TextImageUrl+'" alt="" />'; 
	}
} // SetText

var DefaultTextNumber=undefined;
function SetDefaultText(number) {
	if ( typeof(DefaultTextNumber)!='undefined' ) SetText(DefaultTextNumber);
	if ( typeof(number)!='undefined' ) DefaultTextNumber=number;
} // SetDefaultText

function ImageContentReplace(html, ContentElement) {
	for ( var key in ContentElement ) html=html.replace(new RegExp("#"+key+"#", "g"), ContentElement[key]);
	html=html.replace(new RegExp("alt= ", "g"), ""); // IE bug fix
	return html;
} // ImageContentReplace

function encode_html(text, ReplaceNlToBr) {
	if ( text ) {
		text = text.replace(/&/g, "&amp;");
		text = text.replace(/"/g, "&quot;");
		text = text.replace(/</g, "&lt;");
		text = text.replace(/>/g, "&gt;");
		text = text.replace(/'/g, "'");
		if ( ReplaceNlToBr==true ) text = text.replace(/\\n/g, "\\n<br />");
	}
	return text;
} // encode_html

var pixels;					// Width of the news items (MUST BE A WHOLE NUMBER)
var loops;					// Times to repeat the loop
var cols;					// The number of news cols shown in the news slide box
var timer;					// Timer variable
var smotimer;				// Miliseconds timer
var numnewsItems = 0; 		// Returns all P items with 'news_item' as class
var newsItemsEnd = 0; 		// Add number of news item with 185
var currentCount = 0;		// Declare counter variable
var running;				// Currently running

var NewsItemClassName="news_item";
var NewsSliderId="ThumbContainer";

function runNewsSlider(parPixels, parCols){
	if(parPixels!='' && parCols!=''){
		// Tricker switch news
		setTimeout("switchNews()", 5000)
		
		// Define variables
		pixels = parseInt(parPixels);
		cols = parseInt(parCols);
		
		// Calculate number of repeats
		//loops = ((pixels-5)/5);
		loops = parseInt((pixels-5)/5);
	
		// Count the number of news items
		countNews();
	} else {
		// Error
		alert('Error. Either number of pixels or cols have not been defined!');
	}
} // runNewsSlider

function countNews(){
	if(!document.getElementsByTagName){
		alert("Browser is not compatible!");
	}else{
		// Define variables
		var newsItems = document.getElementsByTagName('P'); 	// Find all P element 
		var newsItemsCount = newsItems.length; 					// Count all P element
		
		for(var i=0;i<newsItemsCount;i+=1){
			if(newsItems[i].className==NewsItemClassName){
				numnewsItems += 1;
			}
		}
	}
	
	newsItemsEnd = ((-numnewsItems*pixels)+(cols*pixels))+'px';
	
	// Define new news container width
	var NewContainerWidth = parseInt(numnewsItems)*pixels;
	NewContainerWidth+=15;

	// Set news container width
	document.getElementById(NewsSliderId).style.width = NewContainerWidth+'px';
} // countNews

function switchNews(){
	// View next news
	nextNews();
} // switchNews

function nextNews(){
	// Set variable
	running = true;

	// Items container
	var NewsSlider = document.getElementById(NewsSliderId);

	if( NewsSlider ){
		if( parseInt(NewsSlider.style.left)>parseInt(newsItemsEnd) ) {
			// Count our repeats
			currentCount+=1;
			// Start slider
			if (currentCount<=loops){
				// Repeat rutine
				smotimer = setTimeout("nextNews()",20);
			}else{
				// Reset counter
				currentCount = 0;
				timer = setTimeout("nextNews()", 5000);
				running = false;
			}
			
			// Find current left
			var itemsLeft = parseInt(NewsSlider.style.left);
			
			// Move current left
			NewsSlider.style.left = (itemsLeft-5)+'px';
		}else{
			// Reset counter
			currentCount = 0;
			// Reset
			NewsSlider.style.left = '0px';
			// Run rutine again
			timer = setTimeout("nextNews()",5000);
		}
	}
} // nextNews

function backNews(){
/*	// Items container
	var items = document.getElementById(NewsSliderId);
	var itemsLeft = parseInt(items.style.left);

	if (items){
		if (parseInt(items.style.left)<0) items.style.left = itemsLeft+pixels+'px';
	}*/
	// Set variable
	running = true;

	// Items container
	var NewsSlider = document.getElementById(NewsSliderId);

	if( NewsSlider ){
		if( parseInt(NewsSlider.style.left)<0 ){
			// Count our repeats
			currentCount+=1;
			// Start slider
			if(currentCount<=loops){
				// Repeat rutine
				smotimer = setTimeout("backNews()", 20);
			}else{
				// Reset counter
				currentCount = 0;
				timer = setTimeout("nextNews()", 5000);
				running = false;
			}

			// Find current left
			var itemsLeft = parseInt(NewsSlider.style.left);
			
			// Move current left
			NewsSlider.style.left = (itemsLeft+5)+'px';
		} else {
			// Reset counter
			currentCount = 0;
			// Reset
			NewsSlider.style.left = '0px';
			// Run rutine again
			timer = setTimeout("nextNews()", 5000);
		}
	}
} // backNews

function goForward(){
	// Clear the timers
	clearTimeout(timer);
	clearTimeout(smotimer);

	// Go to next
	nextNews();
} // goForward


function goBack(){
	// Clear the timers
	clearTimeout(timer);
	clearTimeout(smotimer);

	// Go to next
	backNews();
} // goBack

/*
function goBack(){
	// Go to next
	if(running==false){
		// Go back
		backNews();
		
		// Clear the timers
		clearTimeout(timer);
		clearTimeout(smotimer);
	}
} // goBack
*/
function newsOver(){
	// Clear the timer
	clearTimeout(timer);
} // newsOver
