function Loader(){
	var ua = navigator.userAgent;
	
	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
	this.isMSIE5 = this.isMSIE && (ua.indexOf("MSIE 5") != -1);
	this.isMSIE5_0 = this.isMSIE && (ua.indexOf("MSIE 5.0") != -1);
	this.isGecko = ua.indexOf("Gecko") != -1;
	this.isSafari = ua.indexOf("Safari") != -1;
	this.isOpera = ua.indexOf("Opera") != -1;
	this.isMac = ua.indexOf("Mac") != -1;
	this.isNS7 = ua.indexOf("Netscape/7") != -1;
	this.isNS71 = ua.indexOf("Netscape/7.1") != -1;

	if (this.isOpera) {
		this.isMSIE = false;
		this.isGecko = false;
		this.isSafari =  false;
	}
	
	this.closableLayer = true;
	
	this.closeAction = "ondblclick";
	this.closeTitle = "Yükleme bildirimini kapatmak için lütfen çift tıklayınız.";
	
	this.loadingImageSrc = "http://hadis.islamiyet.gen.tr/images/yukleniyor.gif";
	this.loadingTextContent = document.createTextNode(" Sayfa yükleniyor, lütfen bekleyiniz ...")
};//

Loader.prototype.transparentLayer = function(){
	var element = document.getElementById(loader.transparentLayer.arguments[0]);
	
	if(!element) return;
	
	if(loader.isGecko)
		element.style.setProperty("-moz-opacity", .8, ""); //moz opacity.
	else if(loader.isMSIE)
		element.style.filter = "alpha(opacity=50)"; //ie opacity.
};//

Loader.prototype.showLoading = function(){
	var mainContainer = document.createElement("DIV");
		mainContainer.id = "mainContainer";
		mainContainer.style.height = document.documentElement.scrollHeight+"px";
		mainContainer.style.width = document.documentElement.scrollWidth+"px";
	
	var loadingTextAndImageContainer = document.createElement("DIV");
		loadingTextAndImageContainer.id = "loaderContainer";
	
	var loadingText = document.createElement("P");

	var loadingImage = new Image();
		loadingImage.src = loader.loadingImageSrc;
	
	loadingText.appendChild(loadingImage);
	loadingText.appendChild(loader.loadingTextContent);
	
	loadingTextAndImageContainer.appendChild(loadingText);
	
	document.body.appendChild(mainContainer);
	document.body.appendChild(loadingTextAndImageContainer);

	if(loader.closableLayer){
		eval("document.getElementById(\"mainContainer\")."+loader.closeAction+" = function(){loader.hideLoading();};");
		eval("document.getElementById(\"loaderContainer\")."+loader.closeAction+" = function(){loader.hideLoading();};");
	}
	
	loader.transparentLayer("mainContainer");
};//

Loader.prototype.hideLoading = function(){
	if(!document.getElementById("mainContainer")) return;
	
	var mainContainer = document.getElementById("mainContainer");
		mainContainer.parentNode.removeChild(mainContainer);
	
	if(!document.getElementById("loaderContainer")) return;
	
	var loaderContainer = document.getElementById("loaderContainer");
		loaderContainer.parentNode.removeChild(loaderContainer);
};//

var loader = new Loader();
