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");
		$(sender).toggleClass("n");
		$(sender).toggleClass("menu-item-selected");

		addClass(ref(current), "hide")
		current = content;
		removeClass(ref(content), "hide");
	}

	function g(sender)
	{
//		addClass(sender, "menu-item");
//		removeClass(sender, "menu-item-selected");
		$(sender).toggleClass("menu-item-selected");
		$(sender).toggleClass("n");
	}

	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); 
	return unescape(page.getValue(key)); 
}

function sri(r, c)
{
}

function doPostReviewImage(r, c, b)
{
	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 +']">';
					ref('bri-container'+ r).innerHTML = '<img src="/temp/reviewimages/'+ d[2] +'/thumb/'+ d[1] +'.jpg" class="beerreviewimage" /></a>'+ tmp;

					YAHOO.util.Dom.setStyle('bri-container'+ r, 'display', 'inline-block');
					location.href = '/?id=7&bid='+ b +'&cache-control='+ new Date().getTime() +'&h='+ d[3] +'#r'+ r;
					//ref('abr-wrapper'+ r).innerHTML = tmp +''+ ref('abr-wrapper'+ r).innerHTML;
					//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\n\nFejl: "+ o.responseText)
				}
			},
			failure: function(o) {alert('Fejl: '+ o.responseText);},
			argument: [r, c, b],
			cache:false
		};
		YAHOO.util.Dom.setStyle('uplSentimentText'+ r, 'display', 'none');
		YAHOO.util.Dom.setStyle('uplSentimentIndicator'+ r, 'display', 'inline');
		YAHOO.util.Connect.setForm(ref('uplSentimentForm'+ r), true);
		try{
		YAHOO.util.Connect.asyncRequest('POST', 'http://'+ document.domain +'/ajax/ff01a6bc.asp', uploadHandler);
		}catch(ex){alert(ex)}
	}
	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');
}

function load_mc()
{
	$('ul.dw').each(function() {
		$(this).mouseover(function() {
			$(this).contents().each(function() {
				if (!$(this).hasClass("dw-item-marked"))
					$(this).addClass("dw-item-hover");
			});
		});
		$(this).mouseout(function() {
			$(this).contents().each(function() {
				//if (!$(this).hasClass("cb"))
					$(this).removeClass("dw-item-hover");
			});
		});
	});

	$('input[name*="msgid"]').each(function() {
		$(this).click(function() {

			$(this).parent().parent().contents().each(function() {
				$(this).removeClass("dw-item-hover");
				$(this).toggleClass("dw-item-marked");
				if (!$(this).hasClass("dw-item-marked"))
					$(this).addClass("dw-item-hover");
			});

		});
	});
}

function toArray (array)
{
	if (typeof (array) == "undefined") return new Array;
	else if (typeof(array.length) == "undefined") return new Array (array);
	else return array;
}

function check_all(field, value)
{
	var checkboxes = toArray(field);
	for (var i = 0; i < checkboxes.length; i++)
	{
		checkboxes[i].checked = value;
	}
}

function doDelete(send)
{
	var cboxes = send.msgid; 
	var n = 0;
	if (typeof(cboxes.length) == "undefined")
	{
		if (cboxes.checked)
		{
			n = 1;
		}
		else
		{
			alert("Du har ikke markeret nogle beskeder");
			return;
		}
	}
	else
	{
		for (var i = cboxes.length; --i >= 0; cboxes[i].checked && ++n);    
		if (n == 0) { alert("Du har ikke markeret nogle beskeder!"); return; }
	}
	if (n == 1)
	{
		if (confirm("Ønsker du at slette den markerede besked"))
		{
			send.stuff.value="delete";      
			send.actionText.value = "Beskeden blev flyttet til papirkurven.";
			send.submit();
		}
	}
	else
	{
		if (confirm("Ønsker du at slette de " + n + " markerede beskeder"))
		{
			send.stuff.value="delete";      
			send.actionText.value = n + " beskeder blev flyttet til papirkurven.";
			send.submit();
		}
	}
}

function doMarkAsRead(send)
{
	var cboxes = send.msgid;
	var n = 0;
	
	if (typeof(cboxes.length) == "undefined")
	{
		if (cboxes.checked)
		{
			n = 1;
		}
		else
		{
			alert("Du har ikke markeret nogle beskeder");
			return;
		}  
	}
	else
	{
		for (var i = cboxes.length; --i >= 0;
		cboxes[i].checked && ++n);
		
		if (n == 0)
		{
			alert("Du har ikke markeret nogle beskeder!");
			return; 
		}
	}
	send.stuff.value="markasread";
	send.submit();
}
function doMoveMail()
{
	var cboxes = document.mails.msgid;
	var send = document.mails;
	var fbox = document.mails.folderbox;
	var n = 0;
	if (typeof(cboxes.length) == "undefined")
	{
		if (cboxes.checked)
		{
			n = 1;    
		}
		else
		{
			alert("Du har ikke markeret nogle beskeder!"); 
			fbox.selectedIndex = 0;
			return; 
		}
	}
	else
	{
		for (var i = cboxes.length; --i >= 0; cboxes[i].checked && ++n);
		if (n == 0)
		{
			alert("Du har ikke markeret nogle beskeder!");
			fbox.selectedIndex = 0;
			return;
		}
	}  
	send.stuff.value="move";
	send.folderid.value=fbox.options[fbox.selectedIndex].value;
	if (n == 1)
	{  
		send.actionText.value = "Beskeden blev flyttet!";
	}
	else 
	{
		send.actionText.value = "Beskederne blev flyttet!";
	}
	send.submit();
}
