var myTools = {
	
	timer: 0,
	contOff: 5, //100
	cont2Off: 5, //205
	
	start: function(){
	
		// Vi har inte skapat några divar till lightboxar ännu (det görs först när det behövs)
		myTools.haveCreatedLightboxDivs = false;
	},
	
	/**
	 *							
	 *  Skapa de divar som behövs till lightbox-effekten	
	 *							
	 **/
	createLightboxDivs: function(){
		if(!myTools.haveCreatedLightboxDivs){
			// Skapa den svarta bakgrunden ("overlay")
		//	myTools.box = new Element('div').addClassName('overlay').injectInside(document.body);
			myTools.box = new Element('div').setProperty('class', 'overlay').injectInside(document.body);
			
			// Skapa faden för overlay
			myTools.boxEffect = myTools.box.effect('opacity', {duration: 200, transition: Fx.Transitions.quadOut, wait: false}).set(0);
		
			// Gör så att allt döljs när man klickat på bakgrunden
			myTools.box.onclick = function(){
				myTools.hideBox();
			};
				
			// Skapa mittdiven
		//	myTools.cont = new Element('div').addClassName('lightCont light1').injectInside(document.body);
			myTools.cont = new Element('div').setProperty('class', 'lightCont light1').injectInside(document.body);
			myTools.repoEffect = myTools.cont.effect('opacity', {duration: 300, transition: Fx.Transitions.quadIn, wait: false}).set(0);
			
			// Skapa en till mittdiv
		//	myTools.cont2 = new Element('div').addClassName('lightCont light2').injectInside(document.body);
			myTools.cont2 = new Element('div').setProperty('class', 'lightCont light2').injectInside(document.body);
			myTools.repoEffect2 = myTools.cont2.effect('opacity', {duration: 300, transition: Fx.Transitions.quadIn, wait: false}).set(0);		
			
			// Lägg till en stängnings-knapp
		//	myTools.closeButton = new Element('div').addClassName('repoclose').injectInside(myTools.cont);
			myTools.closeButton = new Element('div').setProperty('class', 'repoclose').injectInside(myTools.cont);
			
		//	myTools.content = new Element('div').addClassName('content').addClassName('center').injectInside(myTools.cont).setHTML('peekaboo');
			myTools.content = new Element('div').setProperty('class', 'content center').injectInside(myTools.cont).setHTML('peekaboo');
		//	myTools.content2 = new Element('div').addClassName('content').injectInside(myTools.cont2);//.setHTML(nyttStyckeText);
			myTools.content2 = new Element('div').setProperty('class', 'content').injectInside(myTools.cont2);//.setHTML(nyttStyckeText);
		}
		myTools.haveCreatedLightboxDivs = true;
	},
	
	/**
	 *							  
	 *  Utför standardprocedurer för att att skapa en lightbox
	 *							  
	 **/
	standardLightbox: function(color, follow){
		// Se till att divar till lightboxen är skapade
		myTools.createLightboxDivs();
		
		// Ser till att scrollen försvinner och det svarta täcker hela skärmen
		if(typeof(follow) == 'undefined' || follow == true){
			myTools.followBox();
			window.addEvent('scroll', myTools.followBox);
		}
		
		// Om ingen färg är satt så sätt ljusgrå som standard
		if(typeof(color) == 'undefined')
			color = '#EDEDED';
		
		// Visa den vita bakgrunden
		myTools.box.setStyles({
			'background-color': color,
			'top': '0px',
		//	'height': Window.getHeight()+'px',
			'height': Window.getScrollHeight()+'px',
			'width': '100%',
			'visibility': 'visible'
		});

		// Gör så att allt försvinner när man klickar på den vita bakgrunden
		myTools.box.onclick = function(){
			myTools.hideBox2();
		};
	
		// Placera ut boxarna
		myTools.box.setStyle('top', Window.getScrollTop()+'px');
		myTools.cont.setStyle('top', Window.getScrollTop()+myTools.contOff+'px');
		myTools.cont2.setStyle('top', Window.getScrollTop()+myTools.cont2Off+'px');
	
	},

	showBox: function(status){
		myTools.createLightboxDivs();
		myTools.followBox();
		window.addEvent('scroll', myTools.followBox);
		
		myTools.box.onclick = function(){
			myTools.hideBox();
		};
		
		switch(status){
			case 'up':
				myTools.content.setHTML('<img src="tU.gif" />' + myTools.content.innerHTML);
				break;
				
			case 'down':
				myTools.content.setHTML('<img src="tD.gif" />' + myTools.content.innerHTML);
				break;
				
			case 'warning':
				myTools.content.setHTML("Warning " + myTools.content.innerHTML);
				break;
		}
		
		myTools.cont.setStyle('top', Window.getScrollTop()+myTools.contOff+'px');
		
		myTools.box.setStyles({
			'height': Window.getHeight()+'px',
			'width': '100%',
			'visibility': 'visible'
		});
		//					     OPACITY
		
		myTools.boxEffect.custom(myTools.boxEffect.now,0.65).chain(function(){
			myTools.repoEffect.custom(myTools.repoEffect.now, 1);
		});
		
		myTools.closeButton.onclick = function(){
			myTools.hideBox();
		};
		
		/*
		myTools.boxEffect.custom(myTools.boxEffect.now,0.65).chain(function(){
			myTools.repoEffect.custom(myTools.repoEffect.now, 1).chain(function(){
				myTools.boxEffect.custom(myTools.boxEffect.now,0);
			});
		});
		*/
	},
	
	showBox2: function(){
		myTools.createLightboxDivs();
		myTools.followBox();
		window.addEvent('scroll', myTools.followBox);
		
		myTools.box.onclick = function(){
			myTools.hideBox2();
		};
		
		myTools.content.setHTML('Warning! Ni har inte sparat sidan, eventuella ändringar kommer att försvinna. Vill ni spara sidan?<br /><input type="radio" name="spara" value="1">Ja <input type="radio" name="spara" value="0">Nej ');
		myTools.content2.setHTML('<b>Infoga nytt stycke</b><br /><br /><input type="radio" name="stycke" value="1">Vanligt<br /><input type="radio" name="stycke" value="1">Externt/löst<br /><input type="radio" name="stycke" value="1">Modul');
		
		myTools.cont.setStyle('top', Window.getScrollTop()+myTools.contOff+'px');
		myTools.cont2.setStyle('top', Window.getScrollTop()+myTools.cont2Off+'px');
		
		myTools.box.setStyles({
			'height': Window.getHeight()+'px',
			'width': '100%',
			'visibility': 'visible'
		});
		
		myTools.closeButton.onclick = function(){
			myTools.hideBox2();
		};
		
		//					     OPACITY
		myTools.boxEffect.custom(myTools.boxEffect.now,0.65).chain(function(){
			myTools.repoEffect.custom(myTools.repoEffect.now, 1).chain(function(){
				myTools.repoEffect2.custom(myTools.boxEffect.now,1);
			});
		});
	
	},
	
	hideBox: function(){
		window.removeEvent('scroll', myTools.followBox);
		
		myTools.repoEffect.custom(myTools.repoEffect.now, 0).chain(function(){
			myTools.boxEffect.custom(myTools.boxEffect.now,0).chain(function(){
				myTools.box.setStyles({
					'height': '0',
					'width': '0',
					'visibility': 'hidden'
				});
				
				myTools.content.setHTML('');
			});
		});
	},
	
	hideBox2: function(){
		window.removeEvent('scroll', myTools.followBox2);
		
		myTools.repoEffect.custom(myTools.repoEffect.now, 0).chain(function(){
			myTools.repoEffect2.custom(myTools.repoEffect.now, 0).chain(function(){
				myTools.boxEffect.custom(myTools.boxEffect.now,0).chain(function(){
					myTools.box.setStyles({
						'height': '0',
						'width': '0',
						'visibility': 'hidden'
					});
					
					myTools.content.setHTML('');
					myTools.content2.setHTML('');
				});
			});
		});
	},
	
	/**
	 *							
	 *  Gör så att boxarna flyttar på sig när man scrollar	
	 *							
	 **/
	followBox: function(){
		myTools.cont.setStyle('top', Window.getScrollTop()+myTools.contOff+'px');
		myTools.cont2.setStyle('top', Window.getScrollTop()+myTools.cont2Off+'px');
		myTools.box.setStyle('top', Window.getScrollTop()+'px');
	},
	
	/**
	 *							
	 *  Likadan som followBox men bakgrunden flyttas inte	
	 *							
	 **/
	followBox2: function(){
		myTools.cont.setStyle('top', Window.getScrollTop()+myTools.contOff+'px');
		myTools.cont2.setStyle('top', Window.getScrollTop()+myTools.cont2Off+'px');
	},
	
	/**
	 *							
	 *  Ny login-ruta (med lightbox såklart)		
	 *							
	 **/
	logIn: function(challenge){
		
		myTools.standardLightbox('#2B2B2B', true);
		
		myTools.content2.setHTML('<form name="loginPopup" action="" method="post" onsubmit="return myTools.doLogIn();">' + 
			'<div style="background-color: #FFF6BF; border: 3px solid #FFD324; width: 250px; margin: 0 auto; padding: 5px; text-align: left;">' + 

				'<div style="float: right;"><img src="/common/c/graphics/iconpacks/tango_new/16x16/close.png" onclick="myTools.hideBox2();" onmouseover="this.style.cursor = \'pointer\';" /></div>' + 

				'<div style="text-align: center; margin: 0px 20px;">' +
					'<img src="/common/c/graphics/iconpacks/unabashed_tango_theme/48x48/emblems/emblem-lock-closed.png" /><br />' +
					'<b>Logga in</b>' +
				'</div>' +
				'<br />' +

				'<b>Användarnamn</b><br />' +
				'<input type="text" name="username" value="' + (getCookie("remember") == 'Y' ? getCookie("user") : '') + '" style="width: 100%;" /><br />' +
				'<br />' +

				'<b>Lösenord</b><br />' +
				'<input type="password" name="password" value="' + (getCookie("remember") == 'Y' ? "sparat" : '') + '" style="width: 100%;" /><br />' +
				'<br />' +

				'<input type="checkbox" name="red" value="ja"' + (getCookie("remember") == 'Y' ? (getCookie("redigeringslage") ? ' checked="checked"' : '') : '') + '" /> ' +
				'<span onclick="var cb = document.loginPopup.red; cb.checked = !cb.checked;" onmouseover="this.style.cursor=\'pointer\';"><b>Redigeringsläge</b></span> Loggar in i redigeringsläge för att ändra text och bild</span><br /><br />' +

				'<input type="checkbox" name="remember" value="ja"' + (getCookie("remember") == 'Y' ? ' checked="checked"' : '') + '" /> ' +
				'<span onclick="var cb = document.loginPopup.remember; cb.checked = !cb.checked;" onmouseover="this.style.cursor=\'pointer\';"><b>Kom ihåg mig</b></span> Gör att ni inte behöver skriva in användarnamn och lösenord nästa gång<br /><br />' +

				'<input type="submit" name="submit" value="Logga in" style="width: 100%; padding: 3px;" />' +
				'<input type="hidden" name="challenge" value="' + challenge + '" />' +
				'<input type="hidden" name="response"  value="" />' +
			'</div>' + 
		'</form>');
		
		// Visa allt i en fin snygg kedjereaktion :)
		// Visa bakgrunden
		myTools.boxEffect.custom(myTools.boxEffect.now, 0.95).chain(function(){
			// Visa understa boxen
			myTools.repoEffect2.custom(myTools.repoEffect.now, 1);
			
		/*	// Sätt fokus
			if(getCookie("remember") == 'Y')
				document.loginPopup.submit.focus();
			else
				document.loginPopup.username.focus(); */
		});
	
	},
	
	/**
	 *							
	 *  Hashar lösenord m.m.				
	 *							
	 **/
	doLogIn: function(){
		
		if(document.loginPopup.username.value == document.loginPopup.password.value){
			document.loginPopup.password.value = document.loginPopup.username.value;
			document.loginPopup.username.value = 'block_me';
			document.loginPopup.submit();
			return false;
		}

		str = document.loginPopup.username.value + ":" +
			MD5(MD5(document.loginPopup.password.value) + ":" + document.loginPopup.username.value) + ":" +
			document.loginPopup.challenge.value;
		document.loginPopup.response.value = MD5(str);
		document.loginPopup.password.value = "";
		return true;
		
		document.loginPopuptrue.username.value = document.loginPopup.username.value;
		document.loginPopuptrue.response.value = MD5(str);
		document.loginPopuptrue.red.value = (document.loginPopup.red.checked ? 'ja' : 'nej');
		document.loginPopuptrue.remember.value = (document.loginPopup.remember.checked ? 'ja' : 'nej');
		document.loginPopuptrue.submit();
		return false;
	
	},
	
	/**
	 *							
	 *  Logga ut-ruta					
	 *							
	 **/
	logOut: function(){
		
		myTools.standardLightbox('#2B2B2B', true);
		
		myTools.content2.setHTML('<form name="loginPopup" action="" method="post" onsubmit="return myTools.doLogIn();">' + 
			'<div style="background-color: #FFF6BF; border: 3px solid #FFD324; width: 250px; margin: 0 auto; padding: 5px; text-align: left;">' + 

				'<div style="float: right;"><img src="/common/c/graphics/iconpacks/tango_new/16x16/close.png" onclick="myTools.hideBox2();" onmouseover="this.style.cursor = \'pointer\';"/></div>' + 

				'<div style="text-align: center; margin: 0px 20px;">' +
					'<img src="/common/c/graphics/iconpacks/unabashed_tango_theme/48x48/emblems/emblem-lock-closed.png" /><br />' +
					'<b>Logga ut</b>' +
				'</div>' +
				'<br />' +

				'Klicka på knappen för att bekräfta utloggningen, tack för besöket!' +
				'<input type="button" value="Logga ut" style="width: 100%; padding: 3px; margin-top: 5px;" ' +
				'onclick="' +
					"var adress = top.location + ''; " +
					"if(adress.indexOf('#') != -1) " +
						"adress = adress.substring(0, adress.indexOf('#')); " +
					"if(adress.indexOf('?') != -1) " +
						"top.location = adress + '&loggaut';" +
					"else " +
						"top.location = adress + '?loggaut';" +
				'" />' +
			
			'</div>' + 
		'</form>');
		
		// Visa allt i en fin snygg kedjereaktion :)
		// Visa bakgrunden
		myTools.boxEffect.custom(myTools.boxEffect.now, 0.95).chain(function(){
			// Visa understa boxen
			myTools.repoEffect2.custom(myTools.repoEffect.now, 1);
		});
	}
};

window.onload = function(){
	myTools.start();
};
