function gEId(id) { return document.getElementById(id); }
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' )
  {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  }
  else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
  {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  }
  else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
  {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

function closeSite()
{
	gEId('pop_up').style.display = "block";
}

function openSite()
{
	gEId('pop_up').style.display = 'none';
}

function closeSiteC()
{
	gEId('pop_up').style.display = "block";
	gEId('pop_up_content').style.display = "block";
	gEId('pop_up').onclick = function(){openSiteC();};
}

function openSiteC()
{
	gEId('pop_up').style.display = 'none';
	gEId('pop_up_content').style.display = 'none';
	gEId('pop_up').onclick = function(){};
	gEId('pop_up_content').innerHTML = "";
}

function closeEW()
{
	gEId('pop_up_error').style.display = 'none';
	openSite();
}

function closeMW()
{
	gEId('pop_up_msg').style.display = 'none';
	openSite();
}


var xHImageShow;
var imageInfo;
var viewImage = 0;
var viewImageTitle = "";
var i;

/* Läser in bildinformationen för texten*/
function startImageShow(b, text_id)
{
	imageInfo = new Array();
	i = 0;
	xHImageShow= createXMLHttpRequest();
	viewImage = b;
	var url=SITE_URL+"user/ajax/image/"+text_id+".html";
	if(xHImageShow!=null)
	{
		closeSiteC();
		initImageView();
		xHImageShow.onreadystatechange = processImageShow;
		xHImageShow.open("GET", url, true);
		xHImageShow.send(null);
	}
}

/* Process läs textkommentar */
function processImageShow()
{
	if (xHImageShow.readyState == 4)
	{
		if (xHImageShow.status == 200)
		{
			var xmlResponseText = xHImageShow.responseText;
			var arr = xmlResponseText.split('<|||||>');
			for(var i=0; i<arr.length; i++)
				createSmallImage(arr[i]);
			createLargeImage(viewImage);
			setViewHeight();
		}
	}
}

function createSmallImage(image)
{
	var arr = image.split('<%%%%%>');
	if(arr.length == 1)
		return;
		
	imageInfo.push(arr);
	var iN = i++;
	
	var newwidth = 140;
	var newheight = Math.round(arr[3] * newwidth / arr[2]);
										
	var img = document.createElement("img");
	img.setAttribute("src", SITE_URL+arr[1]+"-"+newwidth+"-"+newheight+"-"+arr[0]);
	img.setAttribute("border", "1");
	img.setAttribute("width", newwidth);
	img.setAttribute("height", newheight);
	img.setAttribute("id", "simg_"+iN);
	img.onclick = function(){createLargeImage(iN);};
	
	gEId('smallimages').appendChild(img);
}

function createLargeImage(image)
{
	var arr = imageInfo[image];
	if(arr.length == 1)
		return;
	
	var nextImage = updateImageNavigation(image);
	
	gEId('pop_up_content').style.width = "";
	gEId('pop_up_content').style.margin = "0px 0px 0px 0px";
	gEId('largeimage').innerHTML = "";
	
	clientWidth = document.body.clientWidth-30;
	clientWidth = (clientWidth < 900)?clientWidth:900;
	
	var newwidth = (arr[2] < clientWidth)?arr[2]:clientWidth;
	var newheight = Math.round(arr[3] * newwidth / arr[2]);
										
	var img = document.createElement("img");
	img.setAttribute("src", SITE_URL+arr[1]+"-"+newwidth+"-"+newheight+"-"+arr[0]);
	img.setAttribute("width", newwidth);
	img.setAttribute("height", newheight);
	img.onclick = function(){createLargeImage(nextImage);};
	
	gEId('largeimage').appendChild(img);
	setViewWidth();
}

function updateImageNavigation(i)
{
	var maxImage = imageInfo.length-1;
	var nextImage = (i<maxImage)?(i+1):0;
	var prevImage = (i>0)?(i-1):maxImage;
		
	gEId('simg_'+i).style.borderColor = "#1A7F06";
	gEId('simg_'+nextImage).style.borderColor = "#FFF";
	gEId('simg_'+prevImage).style.borderColor = "#FFF";
	
	gEId('imgnavleft').onclick = function(){createLargeImage(prevImage);};
	gEId('imgnavright').onclick = function(){createLargeImage(nextImage);};
	return nextImage;
}

function initImageView()
{	
	var framework = document.createElement("div");
	framework.setAttribute("id", "imageview");
	
	var n = document.createElement("div");
	n.setAttribute("id", "imagenavigation");
	
	var t = document.createElement("div");
	t.setAttribute((cN?"className":"class"), "title");
	t.innerHTML = viewImageTitle;
	n.appendChild(t);
	
	var t = document.createElement("div");
	t.setAttribute((cN?"className":"class"), "close");
	t.setAttribute("title", "Stäng visningen");
	t.onclick = function(){openSiteC();};
	n.appendChild(t);
	
	var l = document.createElement("div");
	l.setAttribute((cN?"className":"class"), "left");
	l.setAttribute("id", "imgnavleft");
	l.onclick = function(){openSiteC();};
	n.appendChild(l);
	
	var r = document.createElement("div");
	r.setAttribute((cN?"className":"class"), "right");
	r.setAttribute("id", "imgnavright");
	r.onclick = function(){openSiteC();};
	n.appendChild(r);
	
	framework.appendChild(n);
	
	var b = document.createElement("div");
	b.setAttribute("id", "largeimage");
	framework.appendChild(b);
	
	var s = document.createElement("div");
	s.setAttribute("id", "smallimages");
	framework.appendChild(s);
	
	gEId('pop_up_content').appendChild(framework);
}

function setViewWidth()
{
	imageViewWidth = gEId('imageview').offsetWidth;
	imageViewWidth = (imageViewWidth>635)?imageViewWidth:635;
	
	gEId('pop_up_content').style.width = imageViewWidth+"px";
	gEId('pop_up_content').style.margin = "0px 0px 0px -"+Math.round(imageViewWidth/2)+"px";
}

function setViewHeight()
{
	imageViewHeight = gEId('imageview').offsetHeight;
	
	clientCenterHeight=getScrollXY()[1] + Math.round(document.body.clientHeight/2 - imageViewHeight/2);
	clientCenterHeight = (clientCenterHeight < getScrollXY()[1])?(getScrollXY()[1]+20):clientCenterHeight;
	gEId('pop_up_content').style.top = clientCenterHeight+"px";
}


/* Glömt lösenord? */
function forgottenPassword()
{
	closeSiteC();
	
	var framework = document.createElement("div");
	framework.setAttribute("id", "pop_up_msg");

	var m = document.createElement("span");
	m.appendChild(document.createTextNode("Glömt lösenord?"));
	framework.appendChild(m);
	
	framework.innerHTML += "GAMEcore.se&reg; sparar inte några lösenord i klartext därför kommer du att få nytt lösenord när du använder denna funktion.";
	framework.innerHTML += "<br /><br />Användarnamn<br /><input type=\"text\" id=\"user\" name=\"user\" />";
	framework.innerHTML += "<br />E-post<br /><input type=\"text\" id=\"mail\" name=\"mail\" />";
	framework.innerHTML += "<br /><p class=\"buttonR\"><a href=\"#\" onclick=\"javascript:openSiteC();\">Avbryt</a></p>";
	framework.innerHTML += "<p class=\"buttonR\"><a href=\"#\" onclick=\"javascript:sendPassword();\">Skicka</a></p>";
	
	gEId('pop_up_content').appendChild(framework);
	setMSGSize();
}

/* Läser in bildinformationen för texten*/
var xHPassword;
function sendPassword()
{
	xHPassword = createXMLHttpRequest();
	var url=SITE_URL+"user/ajax/password";
	if(xHPassword!=null)
	{
		if((document.getElementById('user').value != '') && (document.getElementById('mail').value != ''))
		{
			showLayer('sendfallloader');
			sendingFall = true;
			var params = "user="+escapeMy(document.getElementById('user').value)+"&mail="+escapeMy(document.getElementById('mail').value);
			document.getElementById('user').value = "";
			document.getElementById('mail').value = "";
			xHPassword.open("POST", url, true);
			xHPassword.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"); 
			xHPassword.setRequestHeader("Content-length", params.length);
			xHPassword.setRequestHeader("Connection", "close");
			xHPassword.onreadystatechange = processSendPassword;
			xHPassword.send(params);
		}
	}
}

/* Process läs textkommentar */
function processSendPassword()
{
	if (xHPassword.readyState == 4)
	{
		if (xHPassword.status == 200)
		{
			var xmlResponseText = xHPassword.responseText;
			var arr = xmlResponseText.split('<|||||>');
			if(arr[0] == 0)
				alert(arr[1]);
			else
			{
				openSiteC();
				showMSG("Nytt lösenord", arr[1]+"<p class=\"buttonR\"><a href=\"#\" onclick=\"javascript:openSiteC();\">Ok</a></p>")
			}
		}
	}
}

function showMSG(t, msg)
{
	closeSiteC();
	
	var framework = document.createElement("div");
	framework.setAttribute("id", "pop_up_msg");

	var m = document.createElement("span");
	m.appendChild(document.createTextNode(t));
	framework.appendChild(m);
	
	framework.innerHTML += msg;
	
	gEId('pop_up_content').appendChild(framework);
	setMSGSize();
}

function setMSGSize()
{
	msgWidth = gEId('pop_up_msg').offsetWidth;
	
	gEId('pop_up_content').style.width = msgWidth+"px";
	gEId('pop_up_content').style.margin = "0px 0px 0px -"+Math.round(msgWidth/2)+"px";

	msgHeight = gEId('pop_up_msg').offsetHeight;
	
	clientCenterHeight=getScrollXY()[1] + Math.round(document.body.clientHeight/2 - msgHeight/2);
	clientCenterHeight = (clientCenterHeight < getScrollXY()[1])?(getScrollXY()[1]+20):clientCenterHeight;
	gEId('pop_up_content').style.top = clientCenterHeight+"px";
}