function convertRGBToHex(col) {
	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");

	if (!col)
		return col;

	var rgb = col.replace(re, "$1,$2,$3").split(',');
	if (rgb.length == 3) {
		r = parseInt(rgb[0]).toString(16);
		g = parseInt(rgb[1]).toString(16);
		b = parseInt(rgb[2]).toString(16);

		r = r.length == 1 ? '0' + r : r;
		g = g.length == 1 ? '0' + g : g;
		b = b.length == 1 ? '0' + b : b;

		return "#" + r + g + b;
	}

	return col;
}

function preprocess(url)
{
	txtvalues='';
	finalstring ='';
	for (i = 1; i<txtantal+1; i++)
	{
		lid = document.getElementById('e'+i).cbe.databaseId;
		l = document.getElementById('e'+i).cbe.left();
		t = document.getElementById('e'+i).cbe.top();
		bg = document.getElementById('e'+i).cbe.background();
		z = document.getElementById('e'+i).cbe.zIndex();
		w = document.getElementById('e'+i).cbe.width();
		h = document.getElementById('e'+i).cbe.height();
		cl = document.getElementById('e'+i).cbe.clipLeft();
		cr = document.getElementById('e'+i).cbe.clipRight();
		ct = document.getElementById('e'+i).cbe.clipTop();
		cb = document.getElementById('e'+i).cbe.clipBottom();
		
		// Mozilla/Firefox/Gecko retunerar RGB-värden ist. för Hexa-decimaler:
		bg = convertRGBToHex(bg);
		
		txtvalues = txtvalues+lid+','+l+','+t+','+bg+','+z+','+w+','+h+','+cl+','+cr+','+ct+','+cb;
		if (i!==txtantal){
			txtvalues = txtvalues+';';
		}
	}
	finalstring = txtvalues+':';
	imgvalues='';
	ff = imgantal+txtantal+1;
	for (i = txtantal+1; i<imgantal+txtantal+1; i++){
		lid = document.getElementById('e'+i).cbe.databaseId;
		l = document.getElementById('e'+(i)).cbe.left();
		t = document.getElementById('e'+(i)).cbe.top();
		bg = document.getElementById('e'+(i)).cbe.background();
		z = document.getElementById('e'+(i)).cbe.zIndex();
		w = document.getElementById('e'+(i)).cbe.width();
		h = document.getElementById('e'+(i)).cbe.height();
		cl = document.getElementById('e'+(i)).cbe.clipLeft();
		cr = document.getElementById('e'+(i)).cbe.clipRight();
		ct = document.getElementById('e'+(i)).cbe.clipTop();
		cb = document.getElementById('e'+(i)).cbe.clipBottom();

		imgvalues = imgvalues+lid+','+l+','+t+','+bg+','+z+','+w+','+h+','+cl+','+cr+','+ct+','+cb;
		if (i!==imgantal+txtantal){
			imgvalues = imgvalues+';';
		}
	}
	finalstring = finalstring+imgvalues;

	document.valueform.layervalues.value=finalstring;
	document.valueform.myurl.value=url;

//	detta skall med
	document.valueform.grid.value=net;
//	till hit

	document.valueform.submit();

}


function savePage(){
	url = 'page_edit.php?pageid='+page;
	preprocess(url);
}


function deleteLayer()
{
	if (theActiveLayer !== 'none'){
				if(!confirm("Radera aktuellt block?"))return;
				lid = document.getElementById(theActiveLayer).cbe.databaseId;
		if (blockType() == 'TEXT'){
			url = 'tlayer_delete.php?pageid='+page+'&layerid='+lid+'&clayer=0';
		}else{
			url = 'image_delete.php?pageid='+page+'&layerid='+lid;
		}
		if(theActiveLayer == counterlayer)url = 'tlayer_delete.php?pageid='+page+'&layerid='+lid+'&clayer=1';
		preprocess(url);
	}else{
			alert("Inget block är markerat");
	}
}


function newTextLayer(){
	url = 'layer_new.php?pageid='+page+'&type=txt';
	preprocess(url);
}


function siteMap(){
	url = 'index.php';
	preprocess(url);
}


function min_max_zindex(return_min)
{
	var allElems = document.getElementsByTagName?document.getElementsByTagName("*"):document.all;
	var Zindex = 0;
	for(var i=0;i<allElems.length;i++)
	{
		var elem = allElems[i];
		var cStyle = null;
		var sNum;
		
		if (elem.currentStyle)
			cStyle = elem.currentStyle;
		else if ( document.defaultView && document.defaultView.getComputedStyle )
			cStyle = document.defaultView.getComputedStyle(elem,"");
		
		if (cStyle)
			sNum = Number(cStyle.zIndex);
		else
			sNum = Number(elem.style.zIndex);
		
		// The toolbar have z-index 2000, so exclude it:
		if ( sNum == 2000 )
			sNum = 0;
		
		if ( !isNaN(sNum) )
			if ( return_min )
				Zindex = Math.min(Zindex, sNum);
			else
				Zindex = Math.max(Zindex, sNum);
	}
	
	return Zindex;
}

function changeZindex(type, key)
{
	// A layer is selected:
	if ( theActiveLayer !== 'none' )
	{
		// Max/Min z-index for the page:
		var zMax = min_max_zindex(), zMin = min_max_zindex(true);
		var newZ, oldZ = parseInt(document.getElementById(theActiveLayer).cbe.zIndex());
		var type = ( type >= 1 ? true : false );

		// Ctrl pressed: set the current element to the very bottom bottom/top:
		if ( key )
			newZ = ( type ? zMax+1 : zMin-1 );
		else
			newZ = ( type ? (oldZ+1) : (oldZ-1) );
		
		// Set the new z-index:
		document.getElementById(theActiveLayer).cbe.zIndex(newZ);
		
		// The layer is at very top:
		if ( newZ > zMax && type )
			alert("Lagret är placerat överst");
			
		// The layer is at very bottom:
		else if ( newZ < zMin && !type )
			alert("Lagret är placerat nederst");
			
		// Release the Ctrl key:
		ctrlKeyCheckUp();
		return true;
	}
	else {
		alert("Inget block är markerat");
		return false;
	}
}


/*
function backward(key)
{
	if ( key )
		placebackward();
	else
		if (theActiveLayer !== 'none')
		{
			swapper = 0;
			diff = 0;
			for (i = 1; i<txtantal+imgantal+1; i++)
			{
				z = document.getElementById('e'+i).cbe.zIndex();
				orgz = document.getElementById(theActiveLayer).cbe.zIndex();
				if (orgz>z)
				{
					if (diff==0){
						diff = orgz-z;
						swapper = 'e'+i;
						oldz = document.getElementById(theActiveLayer).cbe.zIndex();
						newz = document.getElementById('e'+i).cbe.zIndex();
					}else{
						tmpdiff = orgz-z;
						if (tmpdiff<diff){
							swapper = 'e'+i;
							oldz = document.getElementById(theActiveLayer).cbe.zIndex();
							newz = document.getElementById('e'+i).cbe.zIndex();
						}
					}
				}
			}
			if (swapper == 0){
				alert("Lagret är placerat nederst");
			}else{
				document.getElementById(swapper).cbe.zIndex(oldz);
				document.getElementById(theActiveLayer).cbe.zIndex(newz);
			}
		}
		else
			alert("Inget block är markerat");
}


function placebackward()
{
	if (theActiveLayer !== 'none')
	{
		swapper = 0;
		diff = 0;
		for (i = 1; i<txtantal+imgantal+1; i++)
		{
			z = document.getElementById('e'+i).cbe.zIndex();
			orgz = document.getElementById(theActiveLayer).cbe.zIndex();
			if (orgz>z){
				if (diff==0){
					diff = orgz-z;
					swapper = 'e'+i;
					oldz = document.getElementById(theActiveLayer).cbe.zIndex();
					newz = document.getElementById('e'+i).cbe.zIndex();
				}else{
					tmpdiff = orgz-z;
					if (tmpdiff<diff){
						swapper = 'e'+i;
						oldz = document.getElementById(theActiveLayer).cbe.zIndex();
						newz = document.getElementById('e'+i).cbe.zIndex();
					}
				}
			}
		}
		if (swapper == 0){
			alert("Lagret är placerat nederst");
			ctrlKeyCheckUp();
		}else{
			document.getElementById(swapper).cbe.zIndex(oldz);
			document.getElementById(theActiveLayer).cbe.zIndex(newz);
			placebackward();
		}
	} else
		alert("Inget block är markerat");
}


function forward(key)
{
	if ( key )
		placeforward();
	else
	{
		if (theActiveLayer !== 'none')
		{
			swapper = 0;
			diff = 0;
			for (i = 1; i<txtantal+imgantal+1; i++){
				z = document.getElementById('e'+i).cbe.zIndex();
				orgz = document.getElementById(theActiveLayer).cbe.zIndex();
				if (orgz<z){
					if (diff==0){
						diff = z-orgz;
						swapper = 'e'+i;
						oldz = document.getElementById(theActiveLayer).cbe.zIndex();
						newz = document.getElementById('e'+i).cbe.zIndex();
					}else{
						tmpdiff = z-orgz;
						if (tmpdiff<diff){
							swapper = 'e'+i;
							oldz = document.getElementById(theActiveLayer).cbe.zIndex();
							newz = document.getElementById('e'+i).cbe.zIndex();
						}
					}
				}
			}
			if (swapper == 0){
				alert("Lagret är placerat överst");
			} else {
				document.getElementById(swapper).cbe.zIndex(oldz);
				document.getElementById(theActiveLayer).cbe.zIndex(newz);
			}
		} else
			alert("Inget block är markerat");
	}
}


function placeforward()
{
	if (theActiveLayer !== 'none')
	{
		swapper = 0;
		diff = 0;
		for (i = 1; i<txtantal+imgantal+1; i++){
			z = document.getElementById('e'+i).cbe.zIndex();
			orgz = document.getElementById(theActiveLayer).cbe.zIndex();
			if (orgz<z){
				if (diff==0){
					diff = z-orgz;
					swapper = 'e'+i;
					oldz = document.getElementById(theActiveLayer).cbe.zIndex();
					newz = document.getElementById('e'+i).cbe.zIndex();
				}else{
					tmpdiff = z-orgz;
					if (tmpdiff<diff){
						swapper = 'e'+i;
						oldz = document.getElementById(theActiveLayer).cbe.zIndex();
						newz = document.getElementById('e'+i).cbe.zIndex();
					}
				}
			}
		}
		if (swapper == 0){
			alert("Lagret är placerat överst");
			ctrlKeyCheckUp();
		}else{
			document.getElementById(swapper).cbe.zIndex(oldz);
			document.getElementById(theActiveLayer).cbe.zIndex(newz);
			placeforward();
		}
		
	}else
		alert("Inget block är markerat");
}
*/

function toggleClass(searchClass,display,tag) {
	node = document;
	if ( display != 'block' )
		display = 'none';
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			els[i].style.display = display;
			j++;
		}
	}
	return true;
}


function preview()
{
	if (editstatus == 0){
		editstatus = 1;
		for (i = 1; i<txtantal+imgantal+1; i++){
			document.getElementById('e'+i).style.border = 'none';//'0px solid #ff9900';
		}
		toggleClass('grip', 'none', 'div');
	}else{
		editstatus = 0;
		for (i = 1; i<txtantal+imgantal+1; i++){
			document.getElementById('e'+i).style.border = '1px solid #666666';
		}
		toggleClass('grip', 'block', 'div');
	}
}


function newPopupImage(projectid, pageid)
{
	var h=355; var w=290;
	var leftpos = (screen.width - w) / 2;
	var toppos = (screen.height - h) / 2;
	url = 'page_edit.php?pageid='+page;
	preprocess(url);
	window.name = "nypop_up";
	PWin = window.open("popup_new.php?projectid="+projectid+"&pageid="+pageid,'SAVEPOPUP','resizable=no,width='+w+',height='+h+',left='+leftpos+',top='+toppos+',scrollbars=no,status=no,location=no,toolbar=no');
	if(window.focus){
		PWin.focus();
	}
}


function newFormLayer(projectid, pageid)
{
	var h=520; var w=400;
	var leftpos = (screen.width - w) / 2;
	var toppos = (screen.height - h) / 2;
	window.name = "nyform_up";
	PWin = window.open("form_pop.php?projectid="+projectid+"&pageid="+pageid,'FORMPOPUP','resizable=no,width='+w+',height='+h+',left='+leftpos+',top='+toppos+',scrollbars=no,status=no,location=no,toolbar=no');
	if(window.focus){
		PWin.focus();
	}
}


function editPopupImage(projectid, pageid)
{
	var h=355; var w=290;
	var leftpos = (screen.width - w) / 2;
	var toppos = (screen.height - h) / 2;

	var layerid = document.getElementById(theActiveLayer).cbe.databaseId;
	window.name = "editerapopup";
	PWin = window.open("popup_edit.php?pageid="+pageid+"&layerid="+layerid,'EDITPOPUP','resizable=no,width='+w+',height='+h+',left='+leftpos+',top='+toppos+',scrollbars=no,status=no,location=no,toolbar=no');
	if(window.focus)
	PWin.focus();
}


function newImagePopup(projectid, pageid)
{
	var h=420; var w=400;
	var leftpos = (screen.width - w) / 2;
	var toppos = (screen.height - h) / 2;
	url = 'page_edit.php?pageid='+page;
	preprocess(url);
	window.name = "sparabild";
	PWin = window.open("image_new.php?projectid="+projectid+"&pageid="+pageid,'SAVEIMAGE','resizable=no,width='+w+',height='+h+',left='+leftpos+',top='+toppos+',scrollbars=yes,status=no,location=no,toolbar=no');
	if(window.focus){
		PWin.focus();
	}
}


function editImagePopup(projectid, pageid)
{
	var h=420; var w=400;
	var leftpos = (screen.width - w) / 2;
	var toppos = (screen.height - h) / 2;

	var layerid = document.getElementById(theActiveLayer).cbe.databaseId;
	window.name = "editera bild";
	PWin = window.open("image_edit.php?pageid="+pageid+"&layerid="+layerid,'SAVEIMAGE','resizable=no,width='+w+',height='+h+',left='+leftpos+',top='+toppos+',scrollbars=yes,status=no,location=no,toolbar=no');
	if(window.focus)
	PWin.focus();
}


function editTextPopup(projectid, pageid, edit_mode)
{
	var h=510; var w=760;
	var leftpos = (screen.width - w) / 2;
	var toppos = (screen.height - h) / 2;
	var layerid = document.getElementById(theActiveLayer).cbe.databaseId;

	// Client uses IE?
	if ( !edit_mode ) {
		var d = document, na = navigator, ua = na.userAgent;
		this.isIE = !this.isWebKit && !this.isOpera && (/MSIE/gi).test(ua) && (/Explorer/gi).test(na.appName);
		this.isIE6 = this.isIE && /MSIE [56]/.test(ua);
	}
	
	window.name = "editera text";
	PWin = window.open("../secure/tlayer_edit.php?" + ( this.isIE || this.isIE6 || edit_mode == 'simple' ? 'simple&' : '' ) +"pageid="+pageid+"&layerid="+layerid,'EDITTEXT','resizable=no,width='+w+',height='+h+',left='+leftpos+',top='+toppos+',scrollbars=no,status=no,location=no,toolbar=no');
	if(window.focus)
	PWin.focus();
}


function blockType()
{
	var pattern = /e/ig;
	var newString = theActiveLayer.replace(pattern,"");

	if ( newString > txtantal ) {
		return "IMAGE";
	} else {
		return "TEXT";
	}
}


function edit(projectId,pageId,edit_mode)
{
	if (theActiveLayer !== 'none')
	{
		url = 'page_edit.php?pageid='+page;
		
		// Image layer:
		if (document.getElementById(theActiveLayer).cbe.layType == 'img'){
			editImagePopup(projectId,pageId);
		}
		
		// Popup image:
		else if(document.getElementById(theActiveLayer).cbe.layType == 'popup'){
			editPopupImage(projectId,pageId);
		}
		
		// Text layer:
		else if(document.getElementById(theActiveLayer).cbe.layType == 'txt'){
			editTextPopup(projectId,pageId,edit_mode);
		}
		
		// Form or counter layer:
		else if (document.getElementById(theActiveLayer).cbe.layType == 'form' || theActiveLayer == counterlayer ){
			alert("Detta block kan inte redigeras");
			return false;
		}

		preprocess(url);
	}
	
	else
		if ( theActiveLayer == 'none' )
			alert("Du måste markera ett block innan du kan redigera det.");
}


function editPage(projectId,pageId,index_page)
{
	var h=500; var w=505;
	var leftpos = (screen.width - w) / 2;
	var toppos = (screen.height - h) / 2;

	if ( index_page != 'true' ) {
		url = 'page_edit.php?pageid='+page;
		preprocess(url);
		window.name = "editera sida";
	}
	
	PWin = window.open("../secure/page_editprop.php?pageid="+pageId,'EDITPAGE','resizable=no,width='+w+',height='+h+',left='+leftpos+',top='+toppos+',scrollbars=yes,status=no,location=no,toolbar=no');
	if(window.focus)
	PWin.focus();
}


function textListener(e)
{
	if (e.offsetX > (e.cbeCurrentTarget.width() - 30) && e.offsetY > (e.cbeCurrentTarget.height() - 30)) {
		document.getElementById(e.cbeCurrentTarget.id).style.cursor = 'se-resize';
		window.status= "Klicka och dra för att ändra storlek på blocket";
	}else{
		document.getElementById(e.cbeCurrentTarget.id).style.cursor = 'move';
		window.status= "Klicka och dra för att flytta blocket";
	}
}


function imageListener(e) 
{
	document.getElementById(e.cbeCurrentTarget.id).style.cursor = 'move';
	window.status= "Klicka och dra för att flytta blocket";
}


// Kontroll ifall det är formulärlager
function formlayer(content)
{
	content = content.substr(0,5).toLowerCase();
	if ( content == "<form" ) {
		return true;
	} else {
		return false;
	}
}


// dummyfunktion  för popuplänkar
function popup(u,w,h){
	return;
}


//dummyfunktion  för formulär
function popupform(fm, wn){
	return;
}


var windowShadeMode = false;

function windowShadeMenu()
{
	if(windowShadeMode){
		document.getElementById('row1').className = 'regular';
		document.getElementById('row2').className = 'regular';
		document.getElementById('row3').className = 'regular';		
		document.getElementById('row4').className = 'regular';					
	}else{
		document.getElementById('row1').className = 'hidden';
		document.getElementById('row2').className = 'hidden';
		document.getElementById('row3').className = 'hidden';		
		document.getElementById('row4').className = 'hidden';		
	}
	windowShadeMode = !windowShadeMode;
}
