myAjax = function(strUrl)
{
	var me = this;
	this.objHTTP = null;
	this.url = strUrl;

	//Return functions
	this.beforeOpen = null;
	this.whileOpen = null;
	this.afterOpen = null;
	
	this.method = "GET";
	this.params = null;
	this.openHTTP = function()
	{
		me._setSeed();
		me.objHTTP.onreadystatechange = function()
		{
			if(me.objHTTP.readyState == 4 || me.objHTTP.readyState == "complete")
			{
				if(me.afterOpen) me.afterOpen(me.objHTTP.responseText);
			}
			else
			{
				if(me.whileOpen) me.whileOpen();
			}
		};		
		
		//Call beforOpen function
		if(me.beforeOpen) me.beforeOpen();
		
		me.objHTTP.open(me.method, me.url, true);
		
		if(me.method == "POST")
		{
			me.objHTTP.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		}
		
		me.objHTTP.send(me.params);	
	}
	
	this._setSeed = function()
	{
		if(me.url.indexOf("?") != -1)
		{
			var arrURL = me.url.split("?");
			var arrQuery = arrURL[1].split("&");
			var newQuery = "";
			for(var i = 0; i < arrQuery.length; i++)
			{
				if(arrQuery[i])
				{
					if(arrQuery[i].substr(0, 3) != "sid")
					{
						(newQuery == "")? newQuery = arrQuery[i]:newQuery = newQuery+"&"+arrQuery[i];
					}
				}
			}
			me.url = arrURL[0] + "?" + newQuery + "&sid="+Math.random();
		}
		else
		{
			me.url = me.url + "?sid="+Math.random();
		}
	}
	
	this._getHTTP = function()
	{
		me.objHTTP = null;
		if (typeof XMLHttpRequest != 'undefined')
		{  // if ECMA version of object is available
			me.objHTTP = new XMLHttpRequest();          // instantiate it
		}
		else
		{ // else assume this is IE and
			var msobj = new Array(	"Msxml2.XMLHTTP.6.0",
									"Msxml2.XMLHTTP.4.0",
									"Msxml2.XMLHTTP.3.0",
									"Msxml2.XMLHTTP",
									"Microsoft.XMLHTTP");
			var x, len = msobj.length;
			for(x=0; x<len; ++x)
			{                     // try each MS ActiveX object in turn
				try
				{
					me.objHTTP = new ActiveXObject(msobj[x]);
					break;
				}
				catch (err) {};
			}
		}
	}
	this._getHTTP();
}

function toggleMenu(obj)
{
	obj = document.getElementById(obj);
	if(obj.style.display != "block")
	{
		obj.style.display = "block";
	}
	else
	{
		obj.style.display = "none";
	}
}

function updateColor()
{
	var obj = document.getElementById('imgResult');
	var code = document.getElementById('code');
	var color1 = document.getElementById('color1');
	var color2 = document.getElementById('color2');
	
	
	if(!obj) return false;
	if(!code) return false;
	if(!color1) return false;
	if(!color2) return false;
	
	obj.src = "../drawers/color.php?code="+code.value+"&color1="+color1.value+"&color2="+color2.value;
}

function setProductGroup(field, val)
{
	var obj = document.getElementById(field);
	var label = document.getElementById('label_'+val);
	if(!obj) return false;
	if(label)
	{
		var oldLabel = document.getElementById('label_'+obj.value);
		if(oldLabel) oldLabel.style.background = "#FFFFFF";
		label.style.background = "#E2EEDC";
	}
	
	obj.value = val;
}

function checkSize(obj)
{
	var newSize = document.getElementById('new_size');
	if(!newSize) return false;
	if(obj.value == "NEW")
	{
		newSize.style.display = "block";
	}
	else
	{
		newSize.style.display = "none";
		newSize.value = "";
	}
}

function deleteColor(id)
{
	var a = new myAjax("delete_colorrelation.php?id="+id);
	a.afterOpen = function(returnVal)
	{
		if(returnVal == "OK")
		{
			obj = document.getElementById("colorrelation_"+id);
			if(!obj) return false;
			
			obj.style.display = "none"
		}
		else
		{
			alert(returnVal);
		}
	}
	a.openHTTP();
}

function deleteImage(id)
{
	var a = new myAjax("delete_imagerelation.php?id="+id);
	a.afterOpen = function(returnVal)
	{
		if(returnVal == "OK")
		{
			obj = document.getElementById("imagerelation_"+id);
			if(!obj) return false;
			
			obj.style.display = "none"
		}
		else
		{
			alert(returnVal);
		}
	}
	a.openHTTP();
}

function setDefault(id, imageid)
{
	var a = new myAjax("set_default.php?id="+id+"&imageid="+imageid);
	a.afterOpen = function(returnVal)
	{
		if(returnVal == "OK")
		{
			changeImage(imageid, "../", null);
		}
		else
		{
			alert(returnVal);
		}
	}
	a.openHTTP();
}

function reloadColors(id)
{
	if(!id || id == 0) return false;
	var obj = document.getElementById('colorRelationsCell');
	if(!obj)
	{
		if(window.opener && !window.opener.closed)
		{
			obj = window.opener.document.getElementById('colorRelationsCell');
			if(!obj) return false;
		}
		else return false;
	}
	var a = new myAjax("reload_colorrelation.php?id="+id);
	a.afterOpen = function(returnVal)
	{
		obj.innerHTML = returnVal;
	}
	a.openHTTP();
}

function reloadImages(id)
{
	if(!id || id == 0) return false;
	var obj = document.getElementById('imageRelationsCell');
	if(!obj)
	{
		if(window.opener && !window.opener.closed)
		{
			obj = window.opener.document.getElementById('imageRelationsCell');
			if(!obj) return false;
		}
		else return false;
	}
	var b = new myAjax("reload_imagerelation.php?id="+id);
	b.afterOpen = function(returnVal)
	{
		obj.innerHTML = returnVal;
	}
	b.openHTTP();
}

function getHeight()
{
	return window.innerHeight ? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight;
}


function getWidth()
{
	return window.innerWidth ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth;
}

function addColor(id, code, color1, color2, image)
{
	var obj = document.getElementById("colorRelationsCell");
	if(!obj) return false;
	
	var table = document.createElement("table");
	var tbody = document.createElement("tbody");
	var row1 = document.createElement("tr");
	var cell1 = document.createElement("td");
	var row2 = document.createElement("tr");
	var cell2 = document.createElement("td");
	var colorImg = document.createElement("img");
	
	table.style.cssText = "float: left;";
	table.cellPadding = "0";
	table.cellSpacing = "0";
	table.id = "colorrelation_"+id;
	
	colorImg.src = "../drawers/color.php?code="+code+"&color1="+color1+"&color2="+color2+"&size=50";

	cell2.align = "right";
	
	cell1.appendChild(colorImg);
	row1.appendChild(cell1);
	row2.appendChild(cell2);
	tbody.appendChild(row1);
	tbody.appendChild(row2);
	table.appendChild(tbody);
	obj.appendChild(table);
}

function manageColors(id)
{
	if(!id || id == 0) return false;
	var height = 700;
	var width = 1000;
	var top = (getHeight() / 2) - (height / 2);
	var left = (getWidth() / 2) - (width / 2);
	window.open("add_productcolors.php?id="+id, "manageColors", "directories=0, height="+height+", width="+width+", top="+top+", left="+left+", location=0, menubar=0, status=0, resizable=1, scrollbars=1");
}

function manageImages(id)
{
	if(!id || id == 0) return false;
	var height = 600;
	var width = 800;
	var top = (getHeight() / 2) - (height / 2);
	var left = (getWidth() / 2) - (width / 2);
	window.open("add_productimages.php?id="+id, "manageColors", "directories=0, height="+height+", width="+width+", top="+top+", left="+left+", location=0, menubar=0, status=0, resizable=1, scrollbars=1");
}

function changeImage(id, pre, params)
{
	var obj = document.getElementById("productImage");
	if(!obj) return true;
	if(!pre) pre = "";
	
	//Start preloading
	obj.src = pre+"images/loader.gif";
	
	var url = pre+"drawers/product.php?id="+id;
	
	if(params) url = url + "&"+params;

	var preload = new Image();
	preload.onload = function(){obj.src = url;};
	preload.src = url;
	
	return false;
}

/*function updateColorLink(id, cc)
{
	
	var colorLink = document.getElementById("colorLink");
	if(colorLink)
	{
		colorLink.href = "products.php?p="+id+"&color="+cc;
	}
	
}*/

function updateColorLink(url)
{
	
	var colorLink = document.getElementById("colorLink");
	if(colorLink)
	{
		colorLink.href = url;
	}
	
}

function invertCheckbox(obj)
{
	if(!obj) return false;
	if(!obj.form) return false;
	
	var form = obj.form;
	for(var i = 0;i < form.elements.length;i++)
	{
		e = form.elements[i];
		if(e.tagName == "INPUT")
		{
			if(e.type == "checkbox")
			{
				if(e.checked) e.checked = false;
				else e.checked = true;
			}
		}
	}
}

function switchCheckbox(obj)
{
	if(!obj) return false;
	if(!obj.form) return false;
	
	var form = obj.form;
	for(var i = 0;i < form.elements.length;i++)
	{
		e = form.elements[i];
		if(e.tagName == "INPUT")
		{
			if(e.type == "checkbox" && e.name != "")
			{
				e.checked = obj.checked;
			}
		}
	}
}

function clickIE4()
{
	if (event.button==2)
	{
		return false;
	}
}

function clickNS4(e)
{
	if (document.layers||document.getElementById&&!document.all)
	{
		if (e.which==2||e.which==3)
		{
			return false;
		}
	}
}

if (document.layers)
{
	document.captureEvents(Event.MOUSEDOWN);
	document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById)
{
	document.onmousedown=clickIE4;
}

//document.oncontextmenu=new Function("return false")


var changes = false;
function checkForChanges(obj, func)
{
	if(changes)
	{
		if(confirm("Der er lavet ændringer, skal disse gemmes nu?"))
		{
			obj.form.submit();
			return false;
		}
		else
		{
			func();
			return true;
		}
	}
	else
	{
		func();
		return true;
	}
}

function makeChange()
{
	changes = true;
}

function generatePasswords()
{
	var a = new myAjax("generatePasswords.php");
	a.afterOpen = function(returnVal)
	{
		var obj = document.getElementById("password1");
		if(obj) obj.value = returnVal;
		
		var obj = document.getElementById("password2");
		if(obj) obj.value = returnVal;
		
	}
	a.openHTTP();
}

function openFiles()
{
	window.open("files.php", "hiddenFiles", "menubar=no, toolbar=no");
}

function insertFile(url,title)
{
		var oEdit=window.opener.oUtil.obj;
		oEdit.insertLink(url,title);
}

function showBasket(id)
{
	var a = new myAjax("showBasket.php?id="+id);
	a.afterOpen = function(returnVal)
	{
		var basket = document.getElementById('basket');
		if(!basket) return false;
		
		basket.innerHTML = returnVal;
		basket.style.left = (getWidth()/2)-(250);
		basket.style.top = (getHeight()/2)-(150);
		basket.style.display = "block";
		
		return false;
	}
	a.openHTTP();
	
	return false;
}

function addBasket(form)
{
	if(!form) return false;
	if(!form.form) return false;
	form = form.form;
	
	var params = "";
	for(var i = 0; i < form.elements.length; i++)
	{
		if(form.elements[i].name)
			params += form.elements[i].name+"="+form.elements[i].value+"&";
	}
	var a = new myAjax("addBasket.php");
	a.method = "POST";
	a.params = params;
	a.afterOpen = function(returnVal)
	{
		alert("Produkterne er blevet tilføjet til indkøbskurven.");
		closeBasket();
		
		return false;
	}
	a.openHTTP();
	
	return false;
}

function closeBasket()
{
	var basket = document.getElementById('basket');
	if(!basket) return false;
	
	basket.style.display = "none";
}

function editProductcolor(code, show)
{
	document.getElementById('code').value = code;
	if(show == 1)
		document.getElementById('show').checked = true;
	else
		document.getElementById('show').checked = false;
}

function Synchronize(obj, table)
{
	obj.disabled = true;
		
	result = document.getElementById('sync_'+table);
	if(!result) return false;
	
	result.innerHTML = "Synchronizing...";
	
	var a = new myAjax("sync_table.php?table="+table);
	a.afterOpen = function(returnVal)
	{
		result = document.getElementById('sync_'+table);
		if(!result) return false;
		
		obj.disabled = false;
		result.innerHTML = returnVal;
		alert(returnVal);
	}
	a.openHTTP();
}