/*
		Ny javascript som förhoppnignsvis blir lite bättre än den gamla
		
		Författare:		
		Daniel Malmquist <daniel@malmqui.st> 2008
		
		Copyright till författare
*/


//variabler
var currentPopUpLevel = 100;	//bestämmer vilken z nivå nästa popup ska ligga på
var moveObject = 0;
var offsetX, offsetY;
var currX, currY;
var Positions = [];

var popUpHTML = "<div id=\"overlaypopUpNumber\" class=\"overlayDynamicPopup\" style=\"z-index: popUpNumber; left: %leftpos%\">\
				<div id=\"popupDynamicPopuppopUpNumber\" class=\"popupDynamicPopup\" style=\"width:%width%\">\
					<div class=\"popuptopDynamicPopup\"  onMouseDown=\"PopUpMoveStart(popUpNumber)\" onMouseUp=\"PopUpMoveStop()\">\
						<div class=\"popupheaderrelDynamicPopup\"><div class=\"popupheaderDynamicPopup\"><span id=\"popupheaderpopUpNumber\">%header%</span></div></div>\
						<div class=\"popuptopleftDynamicPopup\"></div>\
						<div class=\"popuptoprightDynamicPopup\"><div class=\"popupclose\"><a href=\"javascript:ClosePopUp(popUpNumber)\" style=\"color:#fff;text-decoration:none;\">X</a></div></div>\
						<div class=\"popuptopmiddleDynamicPopup\"></div>\
					</div>\
					<div id=\"popupcontentpopUpNumber\" class=\"popupcontentDynamicPopup\">\
						\
					</div>\
				</div>\
			</div>";




function PopUpWindow(adress, header, width, postvar, wysiwygelements, funcpoint) {
	
	if(width == null){
		width = 500;
	}
	else if(width < 150){
		width = 150;
	}
	else if(width > 1024){
		width = 1024;	
	}

	//hitta var den ska läggas
	 var popUpArea = document.getElementById('PopUpArea');
	 //skapa nya pouppen
	 var newPopUp = document.createElement('div');
	 popUpArea.appendChild(newPopUp);
	 newPopUp.id = 'popUp'+currentPopUpLevel;
	 //generera html skal för ny popup
	 var newhtml = popUpHTML;
	 
	 newhtml = newhtml.replace("%header%", header);
	 
	 //fixa me nummer
	 var oldHTML = null;
	 while (newhtml != oldHTML) {
		 oldHTML = newhtml;
		 
		 newhtml = newhtml.replace("popUpNumber", currentPopUpLevel);
	 }

	 newhtml = newhtml.replace("%width%", width+'px');
	 newhtml = newhtml.replace("%leftpos%", ((window.innerWidth-width)/2)+'px');
	
	 newPopUp.style.display="block";
	
	  newPopUp.innerHTML = newhtml;
	newPopUp.style.left
	
	document.onmousemove = MouseMove;
	
//	AjaxLoadPage(adress, 'popupcontent' + currentPopUpLevel, postvar, wysiwygelements, funcpoint)
	
	PopUpChangeContent(adress, currentPopUpLevel, header, width, postvar, wysiwygelements, funcpoint);
	currentPopUpLevel++;
	
}

function PopUpChangeContent(url, popupnum, header, width, postvar, wysiwygelements, funcpoint) {
	  
	function funken ()
		{ 
			 var popUpTemp = document.getElementById('popUp'+popupnum);
			 var newhtml = popUpTemp.innerHTML;
			 var oldHTML = null;
			 while (newhtml != oldHTML) {
				 oldHTML = newhtml;
				 
				 newhtml = newhtml.replace("popUpNumber", popupnum);
			 }
			 popUpTemp.innerHTML = newhtml;
			 
			 if (funcpoint != null) {
				 funcpoint();
			 }
	   }
	if(width != null){
		var temp = document.getElementById('popupDynamicPopup'+popupnum);
		temp.style.width = width+'px';
	}
	if(header != null){
		var temp2 = document.getElementById('popupheader'+popupnum);
		temp2.innerHTML = header;
	}
	AjaxLoadPage(url, 'popupcontent' + popupnum, postvar, wysiwygelements, funken );
	

	
}


//Ta bort en popup
function ClosePopUp(id) {
	
	var popUpArea = document.getElementById('PopUpArea');

	var popUpTemp = document.getElementById('popUp'+id);
	popUpArea.removeChild(popUpTemp);
}


//för att kunna flytta popuppen
function PopUpMoveStart (id )  {
	moveObject = id;

	var popUpTemp = document.getElementById('overlay'+moveObject);

	if ((parseInt(popUpTemp.style.zIndex)+1) < currentPopUpLevel) {
		popUpTemp.style.zIndex=currentPopUpLevel;
		currentPopUpLevel++;

	}

	if (Positions[id-100] == null) {
	
		var lefttemp = parseInt(popUpTemp.style.left);

		offsetX = (currX - lefttemp);
		offsetY = (currY);
		
	
	
		Positions[moveObject-100] = 1;
	}
	else {
		
		var toptemp = parseInt(popUpTemp.style.top);
		var lefttemp = parseInt(popUpTemp.style.left);

		offsetX = (currX - lefttemp);
		offsetY = (currY - toptemp);
	}
}
function PopUpMoveStop ()  {
	moveObject = 0;
}





function mouseX(evt) {
	if (!evt) 
		evt = window.event; 
	
	if (evt.pageX) 
		return evt.pageX; 
	else if (evt.clientX)
		return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
	else
		return 0;
}

function mouseY(evt) {
	if (!evt)
		evt = window.event;
	
	if (evt.pageY) 
		return evt.pageY; 
	else if (evt.clientY)
		return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
	else 
		return 0;
}


function MouseMove(evt) {
	currX =  (parseInt(mouseX(evt)));
	currY = (parseInt(mouseY(evt)));
	
	
	if (document.getElementById) {
				
		if (moveObject != 0) {
			
			var popUpTemp = document.getElementById('overlay'+moveObject);
			popUpTemp.style.left = (currX-offsetX) + 'px';
			popUpTemp.style.top = (currY-offsetY) + 'px';
			
			/*if (parseInt(popUpTemp.style.top) < -10) {
				popUpTemp.style.top = '-10px';
			}*/
			
		

			
		}
	}
	
}



