var General = {
	movieElm : "movie",
	movieHeader : "movie-header",
	movieText : "movie-maintext",
	movieFacts : "movie-facts",
	movieOpen : false,
	movieBlank : "http://www.ericssonhistory.com/CfN/flash/Film.swf",
	movieSkin : "http://www.ericssonhistory.com/CfN/flash/Skin_Movie.swf",
	
	imageElm : "image",
	imageOpen : false,
	
	archiveSmall : "archiveSmall",
	archiveLarge : "archiveLarge",
	archiveOpen : false,
	
	externalLink : "external",
	
	Init : function (){
		if(document.getElementById){
			var oLinks = document.body.getElementsByTagName("a");
			var links = oLinks.length;	
			var i = links - 1;
			do
			{
				if(oLinks){
					if(/external/i.test(oLinks[i].className)){
						oLinks[i].onclick = General.OpenNewWindow;
					}
					if(/view-image/i.test(oLinks[i].className)){
						oLinks[i].onclick = this.ViewImages;
					}
					if(/movie-close/i.test(oLinks[i].className)){
						oLinks[i].onclick = this.CloseMovie;
					}
				}
			}
			while (i--);	
		}
	},
	
	FromArchive : function (){
		if($(General.archiveSmall)&&$(General.archiveLarge)){
			var small = $(General.archiveSmall);
			var large = $(General.archiveLarge);
			
			if(General.archiveOpen){
				General.removeClassName(large,"display-block");
				General.removeClassName(small,"display-none");
				General.archiveOpen = false;
			}else{
				General.addClassName(large,"display-block");
				General.addClassName(small,"display-none");
				General.archiveOpen = true;
			}
		}
		return false;
	},
	
	ViewMovie : function (oElm,strMovieID,strMovieHeader,strMovieText,strMovieFacts,timeLine){
		var movieElm = $(General.movieElm);
		var movieHeader = $(General.movieHeader);
		var movieText = $(General.movieText);
		var movieFacts = $(General.movieFacts);
		
		if(movieHeader&&strMovieHeader){
			movieHeader.childNodes[0].innerHTML = strMovieHeader;
		}
		if(movieText&&strMovieText){
			movieText.innerHTML = strMovieText;
		}
		if(movieFacts&&strMovieFacts){
			movieFacts.innerHTML = strMovieFacts;
		}
		if(strMovieID){
			var so = new SWFObject(General.movieBlank, "film", "382", "328", "8", "#ffffff");
	        so.addVariable("filmUrl", strMovieID);
	        so.addVariable("filmSkin", General.movieSkin);
	        so.addParam("wmode", "opaque");
	        so.write("movie-player");
		}
		if(General.imageOpen){
			General.removeClassName($(General.imageElm), "display-block");
		}
		General.addClassName(movieElm, "display-block");
		General.movieOpen = true;
	},
	
	CloseMovie : function (){
		var movieElm = $(General.movieElm);
		var movieHeader = $(General.movieHeader);
		var movieText = $(General.movieText);
		var movieFacts = $(General.movieFacts);
		movieHeader.childNodes[0].innerHTML = "";
		movieText.innerHTML = "";
		movieFacts.innerHTML = "";
		var so = new SWFObject(General.movieBlank, "film", "382", "328", "8", "#ffffff");
        so.addVariable("filmUrl", "");
		so.write("movie-player");
		General.removeClassName(movieElm, "display-block");
		General.movieOpen = false;
		return false
	},
	
	ViewImages : function (){
		var imageElm = $(General.imageElm);
		var arrayItem = this.className.replace(/.*array-(\d+).*/,"$1");
		Images.currentImage = arrayItem;
		if(General.movieOpen){
			General.removeClassName($(General.movieElm), "display-block");
		}
		General.PositionImage(this,"image");
		General.addClassName(imageElm, "display-block");
		Ajax.GetImages("/gui/html/image.html");	
		return false;
	},
	
	OpenThumbnails : function () {
		var imageElm = $(General.imageElm);
		General.PositionImage(this,"image");
		if(General.movieOpen){
			General.removeClassName($(General.movieElm), "display-block");
		}
		General.addClassName(imageElm, "display-block");
		Ajax.GetThumbNails("/gui/html/thumbnails.html");
		return false;
	},
	
	Thumbnails : function (fromImage) {
		var imageElm = $(General.imageElm);
		if(General.movieOpen){
			General.removeClassName($(General.movieElm), "display-block");
		}
		General.addClassName(imageElm, "display-block");
		Ajax.GetThumbNails("/gui/html/thumbnails.html");
		return false;
	},
	
	ShowImageFromThumbNail : function (arrItem){
		Images.currentImage = arrItem;
		var imgContainer = $(General.imageElm);
		if(!/display-block/i.test(imgContainer.className)){
			General.addClassName(imgContainer, "display-block");
		}	
		Ajax.GetImages("/gui/html/image.html");	
		return false;
	},
	
	CloseImage : function (){
		General.removeClassName($(General.imageElm), "display-block");
		General.imageOpen = false;
		return false;
	},
	
	PositionImage : function (obj,lyr){
		var coors = General.FindPosition(obj);
		var elm = $(lyr);
		if(General.clientBrowser != "Microsoft Internet Explorer"){
			elm.style.top = parseInt(coors[1] - 300) + 'px';
		}else{
			alert("apa");
			elm.style.top = parseInt(coors[1] - 300) + 'px';
		}
	},

	PositionMovie : function (obj,lyr){
		var coors = General.FindPosition(obj);
		var elm = document.getElementById(lyr);
		elm.style.top = parseInt(coors[1] - 400) + "px";
	},
	
	FindPosition : function (obj){
		var curleft = curtop = 0;
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	},
	
	OpenNewWindow : function (){
		this.target="_blank";
	},
	
	addClassName : function (oElm, strClassName){
		var strCurrentClass = oElm.className;
		if(!new RegExp(strClassName, "i").test(strCurrentClass)){
			oElm.className = strCurrentClass + ((strCurrentClass.length > 0)? " " : "") + strClassName;
		}
	},
	
	removeClassName : function (oElm, strClassName){
		var oClassToRemove = new RegExp((strClassName + "\s?"), "i");
		oElm.className = oElm.className.replace(oClassToRemove, "").replace(/^\s?|\s?$/g, "");
	},
	
	End : function (oEvent){
		General = null;
		delete General;
	}		
}

function addEvent(oObj, evType, fn, useCapture){
	if (oObj.addEventListener){
		oObj.addEventListener(evType, fn, useCapture);
		return true;
	} else if (oObj.attachEvent){
		var r = oObj.attachEvent("on"+evType, fn);
		return r;
	} else {
		alert("Handler could not be attached");
	}
}

addEvent(window, "load",function(){General.Init();})

addEvent(window, "unload", function(){General.End();}, false);

function $(strId){
	return document.getElementById(strId);
}
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();