function hasClass(element, _className)
{
	if(!element)
		return;
	var upperClass = _className.toUpperCase();
	
	if(element.className)
	{
		var classes = element.className.split(' ');
		for(var i=0;i<classes.length;i++)
		{
			if(classes[i].toUpperCase() == upperClass)
				return true;
		}
	}
	return false;
}

function addClass(element, _class)
{
	try
	{
		if(!hasClass(element, _class))
			element.className += element.className ? (" "+_class) : _class;		
	}
	catch (ex){}
}

function getClassList(element)
{
	if(element.className)
		return element.className.split(' ');
	else
		return[];
}

function removeClass(element, _class)
{
	if(!hasClass(element, _class))
		return;

	var upperClass = _class.toUpperCase();
	var remainingClasses = [];
	if(element.className)
	{
		var classes=element.className.split(' ');
		for(var i=0;i<classes.length;i++)
		{
			if(classes[i].toUpperCase()!=upperClass)
				remainingClasses[remainingClasses.length]=classes[i];
		}
		element.className=remainingClasses.join(' ');
	}
}

function ref(el)
{
	return document.getElementById(el);
}

function hideByRef(divName)
{
	var tempDiv = ref(divName);
	if(!tempDiv)
		return;
	tempDiv.style.display = "none";
}

function showByRef(divName)
{
	var tempDiv = ref(divName);
	if(!tempDiv)
		return;
	tempDiv.style.display = "inline";
}

function showByRefB(divName)
{
	var tempDiv = ref(divName);
	if(!tempDiv)
		return;
	tempDiv.style.display = "block";
}

function HandlePublicMessage(msg, go)
{

	if (G2B.Common.EI('hidemsg')==null)
	{
		location.href = "/go.asp?url="+ go;
	}
	else
	{
		if (G2B.Common.EI('hidemsg').checked)
			location.href="/hidemessage.asp?msg="+ msg +"&url="+ go
		else
			location.href = "/go.asp?url="+ go;
	}

}



var addListener = function()
{
	if(window.addEventListener)
	{
		return function(el,type,fn){el.addEventListener(type,fn,false);};
	}
	else if(window.attachEvent)
	{
		return function(el,type,fn)
		{
			var f = function(){fn.call(el,window.event);};
			if(!el._listeners)el._listeners={};
			if(!el._listeners[type])el._listeners[type]={};
			el._listeners[type][fn]=f;
			el.attachEvent('on'+ type,f);
		};
	}
	else
	{
		return function(el,type,fn){el['on'+ type]=fn;}
	}
}();

var removeListener = function(obj, att, f)
{
	if(obj.removeEventListener)
	{
		obj.removeEventListener(att, f, false);
	}
	else if(obj.detachEvent && obj._listeners && obj._listeners[att] && obj._listeners[att][f])
	{
		obj.detachEvent('on'+ att, obj._listeners[att][f]);
	}
};



/******************* OLD **********************/

function doChangeMessageStyle(sender)
{
	if (el("lblMessage").style.display=="none")
	{
		el("lblMessage").style.display="";
		sender.value="Skjul det indlæg du besvarer";
	}
	else{
		el("lblMessage").style.display="none";
		sender.value="Vis det indlæg du besvarer";
	}
}

function doChangeForumTopList(x)
{
	try
	{
		if (x==1)
		{
			el("content0_36topanmelder").style.display="none";
			el("content1_36topanmelder").style.display="block";
		}
		else
		{
			el("content0_36topanmelder").style.display="block";
			el("content1_36topanmelder").style.display="none";
		}
	}
	catch (ex)
	{
		alert("Din browser har problemer med at vise GuideToBeers.dk\n\nPrøv at hente en nyere version af Internet Explorer.");
	}
}

var runcounter=0;
function secure_submit(sender, f)
{
	try
	{
		sender.disabled=true;
		if (runcounter==0){f.submit();}
		runcounter++;
	}
	catch(ex){f.submit();}
}



/*  do change to diff languages      */
var err_msg_01="Du skal angive en titel!";

function dVali(entered,min,max,alertbox,datatype){with(entered){strValue=value;checkvalue=parseFloat(strValue);if(datatype){smalldatatype=datatype.toLowerCase();if(smalldatatype.charAt(0)=="i"){checkvalue=parseInt(strValue);}};if((parseFloat(min)==min&&strValue.length<min)||(parseFloat(max)==max&&strValue.length>max)||strValue!=checkvalue){if(alertbox!=""){alert(alertbox);}return false;}else{return true;}}}
function eVali(entered,alertbox){with(entered){if(value==null||value==""){if(alertbox!=""){alert(alertbox);}return false;}else{return true;}}}



function g2bAutoform_validator(s)
{
	var err=0;
/*
validNumbersOptional_#
validNumbers_#
validText_#
*/
	for(i=0; i<s.length; i++)
	{
		var e=s.elements[i], t=e.id.toLowerCase();

		if (t.indexOf("validnumbersoptional_")>-1)
		{
			if (e.value.length>0)
			{
				if (dVali(e, -1, 9, "Dette felt er valgfrit.\n\nMen der må kun indtastes hele tal værdier.", "I")==false)
				{
					e.focus();	
					return false;
				}
			}
		}
		else if (t.indexOf("validnumbers_")>-1)
		{
			if (dVali(e, -1, 9, "Der skal indtastes en værdi i dette felt.\n\nVærdien skal været et helt tal.", "I")==false)
			{
				e.focus();	
				return false;
			}
		}
		else if (t.indexOf("validtext_")>-1)
		{
			if (eVali(e, "Der skal indtastes i dette felt.")==false)
			{
				e.focus();
				return false;
			}
		}
		
		
	}
	//alert("form disabled");
	return true;
}

function ismaxlength(obj)
{
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
	if (obj.getAttribute && obj.value.length>mlength)
	{
		obj.value=obj.value.substring(0,mlength);
	}
}

function dochangebeerlogo(bid, bcode)
{
	document.getElementById("beerlogo").src = "/image.aspx?pid="+ bid +"&dir=1&thumb=false&sc="+ bcode;
}

function el(e){try{return document.getElementById(e);}catch(ex){return null;}}

var img_url = "http://res.g2b.dk/all/library/maps/"
function set_img(id) {el("map_img").src = img_url+"map_"+id+".jpg";}
function clear_img() {el("map_img").src = img_url+"map.jpg";}
function go_img(id)
{
	switch(id)
	{
		case 0:
			location.href="/?id=8&gid=23";
			break;
		case 1:
			location.href="/?id=8&gid=1";
			break;
		case 2:
			location.href="/?id=8&gid=30";
			break;
		case 3:
			location.href="/?id=8&gid=27";
			break;
		case 4:
			location.href="/?id=8&gid=40";
			break;
	}
}


/******************** NEW ***********************/
	var current = "a0";
	function f(sender, content)
	{
		removeClass(sender, "menu-item");
		addClass(sender, "menu-item-selected");

		addClass(ref(current), "hide")
		current = content;
		removeClass(ref(content), "hide");
	}

	function g(sender, content)
	{
		addClass(sender, "menu-item");
		removeClass(sender, "menu-item-selected");
	}

	function togglelogin()
	{
		showByRef("chLogin");
		addClass(ref("chLoginLinks"), "hide");
		ref("loginusername").focus();
		return false;
	}

	function toggleautologin()
	{
		if (confirm('Vil du aktivere autologin for denne computer?'))
		{
			location.href = '/handlesget.asp?set-autologin'
		}
	}

	function lbleffect()
	{
		if (arguments[0].value.length == 0 && arguments[1] == 0)
		{
			if (arguments.length == 3)
				arguments[0].value = arguments[2];
			else
				arguments[0].value = arguments[0].defaultValue;
		}
		else if (arguments[0].value == arguments[2] && arguments[1] == 1)
			arguments[0].value = "";
	}

function PageQuery(q)
{
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q)
	{
		for(var i=0; i < this.q.split("&").length; i++)
		{
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s)
	{
		for(var j=0; j < this.keyValuePairs.length; j++)
		{
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}
	this.getParameters = function()
	{
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++)
		{
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; } 
}
function queryString(key)
{
	var page = new PageQuery(window.location.search); 
	return unescape(page.getValue(key)); 
}

function sri(r, c)
{
}

function doPostReviewImage(r, c)
{
	var val = ref('uplSentiment'+ r).value;

	if (val.toLowerCase().indexOf('.jpeg', val.length-5) > -1 || val.toLowerCase().indexOf('.jpg', val.length-4) > -1)
	{
		var uploadHandler =
		{
			upload: function(o)
			{
				YAHOO.util.Dom.setStyle('uplSentimentIndicator'+ r, 'display', 'none');
				YAHOO.util.Dom.setStyle('uplSentimentText'+ r, 'display', 'inline');

				if (o.responseText.indexOf("done") == 0)
				{
					var d = o.responseText.split(':');

					var tmp = '<a href="/temp/reviewimages/'+ d[2] +'/'+ d[1] +'.jpg" rel="lightbox[ri'+ r +']">';
					tmp += '<img src="/temp/reviewimages/'+ d[2] +'/thumb/'+ d[1] +'.jpg" class="beerreviewimage" /></a>';
					ref('bri-container'+ r).innerHTML = tmp;

					YAHOO.util.Dom.setStyle('bri-container'+ r, 'display', 'inline-block');
					eval('tabs'+ c).Reload(2);
				}
				else
				{
					alert("Der opstod en fejl ved upload. Forsøg venligst igen, ellers kontakt Guide To Beers på kontakt@g2b.dk")
				}
			},
			argument: [r, c]
		};
		YAHOO.util.Dom.setStyle('uplSentimentText'+ r, 'display', 'none');
		YAHOO.util.Dom.setStyle('uplSentimentIndicator'+ r, 'display', 'inline');
		YAHOO.util.Connect.setForm(ref('upllSentimentForm'+ r), true);
		YAHOO.util.Connect.asyncRequest('POST', '/ajax/ff01a6bc.asp', uploadHandler);
	}
	else
	{
		if (0 + val.length > 0)
			alert("Du kan kun uploade billeder af filtyperne jpg eller jpeg.\n\nFor eksempel:\nmitbillede.jpg\nmitbillede.jpeg");
	}
}

function doDeleteReviewImage(q, i, c, r)
{
	if (!confirm("Ønsker du at slette stemningbilledet?"))
		return;

	var deleteHandler = {
		success: function(o)
		{
			if (o.responseText.indexOf("done") == 0)
			{
				var d = o.responseText.split(':');
				if (d.length == 3)
				{
					if (parseInt(d[1]) > 0)
					{
						var tmp = '<a href="/temp/reviewimages/'+ d[2] +'/'+ d[1] +'.jpg" rel="lightbox[ri'+ r +']">';
						tmp += '<img src="/temp/reviewimages/'+ d[2] +'/thumb/'+ d[1] +'.jpg" class="beerreviewimage" /></a>';
						ref('bri-container'+ r).innerHTML = tmp;
					}
					else
					{
						YAHOO.util.Dom.setStyle('bri-container'+ r, 'display', 'none');
					}
				}
				YAHOO.util.Dom.setStyle('abr-item'+ i, 'display', 'none');
				eval('tabs'+ c).Reload(2);
			}
			else
			{
				alert("Det valgte stemningsbillede findes ikke mere, og kan derfor ikke slettes.")
			}
		},
		failure: function(o) {alert("Der opstod en fejl under sletningen af stemningsbilledet.\n\nOpdater venligst siden og prøv igen; ellers kontakt Guide To Beers på kontakt@g2b.dk");alert(o.responseText);},
		argument: [r, c, i]
	};
	YAHOO.util.Connect.asyncRequest('GET', q, deleteHandler);
}

function lbleff(sender)
{
	if (hasClass(sender, 'lbleff'))
	{
		removeClass(sender, 'lbleff');
		//addClass(sender, 'lbleff-clear');
	}
	else
		addClass(sender, 'lbleff');
}