/* overImageDisplayImage */
function overImageDisplayImage(id, src)
{
	var obj = eval("document.all." + id);
	obj.src = src;
}

/* validateFormTipEnVen */
function validateFormTipEnVen(obj)
{ 
	var error = "";

	if(!validateEmail(obj.SendTo.value)) { error += "- Modtagers e-mail er ikke i korrekt format.<br>"; }
	if(!validateEmail(obj.From.value)) { error += "- Afsenders e-mail er ikke i korrekt format.<br>"; }

	if(error == "")
	{
		return true;
	}
	else
	{
		error = "<font class='errorTextBold'>Følgende fejl blev fundet:</font><br><font class='errorText'>" + error + "</font>";
		document.all.errorMessage.innerHTML = error;
		return false; 
	}
}

/* validateFormNewLink */
function validateFormNewLink(obj)
{ 
	var error = "";

	if(obj.linkText.value == "") { error += "- Der er ikke indtastet noget link.<br>"; }
	if(obj.linkText.value == "<indtast link>") { error += "- Der er ikke indtastet noget link.<br>"; }

	if(error == "")
	{
		return true;
	}
	else
	{
		error = "<font class='errorTextBold'>Følgende fejl blev fundet:</font><br><font class='errorText'>" + error + "</font>";
		document.all.errorMessageLink.innerHTML = error;
		return false; 
	}
}

/* changePictureType */
function changePictureType(type)
{
	/* if type 1 */
	if(type == 1)
	{
		document.all.errorMessageGallery.innerHTML = "";
		document.all.pictureType1Fields1.style.display = "inline";
		document.all.pictureType1Fields2.style.display = "inline";
		document.all.pictureType1Fields3.style.display = "inline";
		document.all.pictureType1Fields4.style.display = "none";
	}
	/* if type 2 */
	if(type == 2)
	{
		document.all.errorMessageGallery.innerHTML = "";
		document.all.pictureType1Fields1.style.display = "none";
		document.all.pictureType1Fields2.style.display = "none";
		document.all.pictureType1Fields3.style.display = "none";
		document.all.pictureType1Fields4.style.display = "inline";
	}
}

/* validateFormUploadImage */
function validateFormUploadImage(obj)
{ 
	var error = "";

	/* validate */
	if(obj.name.value == "") { error += "- Navn er ikke angivet.<br>"; }
	if(!validateEmail(obj.email.value)) { error += "- E-mail er ikke i korrekt format.<br>"; }
	if(obj.picturetype[0].checked) { if(obj.date.value == "") { error += "- Dato er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if(obj.place1.selectedIndex == "0") { error += "- Sted/sø er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if((obj.place1.options[obj.place1.selectedIndex].value == "4") && (obj.place2.value == "")) { error += "- Sted/sø er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if(obj.type.options[obj.type.selectedIndex].value == "") { error += "- Art er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if((obj.type.options[obj.type.selectedIndex].value == "-1") && (obj.typefreetext.value == "")) { error += "- Art er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if(obj.weight.value == "") { error += "- Vægt er ikke angivet.<br>"; } }
	if(obj.picture.value == "") { error += "- Du har ikke valgt noget billed.<br>"; }
	else
	{
		var indexOfExtJpg = obj.picture.value.toLowerCase().indexOf('jpg');
		var indexOfExtJpeg = obj.picture.value.toLowerCase().indexOf('jpeg');
		if(indexOfExtJpg < 0 && indexOfExtJpeg < 0)
		{
			error += "- Du kan kun uploade JPG/JPEG billeder.<br>";
		}
	}
	if(obj.picturetype[1].checked) { if(obj.details.value == "") { error += "- Du har ikke angivet beskrivelse.<br>"; } }
	if(obj.picturetype[0].checked && ((obj.pokalkonkurrence.checked) || (obj.klubmesterskab.checked)))
	{ 
		if(obj.weighttype.value == "") { error += "- Vægt og skala er ikke angivet.<br>"; }
		if(obj.membertype.options[obj.membertype.selectedIndex].value == "") { error += "- Medlemstype er ikke angivet.<br>"; }
		if(obj.membernr.value == "") { error += "- Medlemsnr er ikke angivet.<br>"; }
		if(obj.telefon.value == "") { error += "- Telefon er ikke angivet.<br>"; }
		if(obj.vidne_name.value == "") { error += "- Vidne navn er ikke angivet.<br>"; }
		if(obj.vidne_address.value == "") { error += "- Vidne adresse er ikke angivet.<br>"; }
		if(obj.vidne_postcode.value == "") { error += "- Vidne postnr er ikke angivet.<br>"; }
		if(obj.vidne_town.value == "") { error += "- Vidne by er ikke angivet.<br>"; }
		if(obj.vidne_telephone.value == "") { error += "- Vidne telefon er ikke angivet.<br>"; }
	}

	/* if no error upload picture */
	if(error == "")
	{
		document.all.loadingMessage.style.display = "block";
		error = "<br>Dit billed er ved at blive tilføjet til vores galleri. Afhængig af din internetforbindelse, kan det tage op til 5 minutter at tilføje billedet.";
		document.all.errorMessageGallery.innerHTML = error;
		return true;
	}
	else
	{
		error = "<font class='errorTextBold'>Følgende fejl blev fundet:</font><br><font class='errorText'>" + error + "</font>";
		document.all.errorMessageGallery.innerHTML = error;
		return false;
	}
}

/* validateFormEditImage */
function validateFormEditImage(obj)
{ 
	var error = "";

	if(obj.name.value == "") { error += "- Navn er ikke angivet.<br>"; }
	if(!validateEmail(obj.email.value)) { error += "- E-mail er ikke i korrekt format.<br>"; }
	if(obj.picturetype[0].checked) { if(obj.date.value == "") { error += "- Dato er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if(obj.place1.selectedIndex == "0") { error += "- Sted/sø er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if((obj.place1.options[obj.place1.selectedIndex].value == "4") && (obj.place2.value == "")) { error += "- Sted/sø er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if((obj.type.selectedIndex == "0") || (obj.type.value == "")) { error += "- Art er ikke angivet.<br>"; } }
	if(obj.picturetype[0].checked) { if(obj.weight.value == "") { error += "- Vægt er ikke angivet.<br>"; } }
	if(obj.picture.value != "")
	{
		var indexOfExtJpg = obj.picture.value.toLowerCase().indexOf('jpg');
		var indexOfExtJpeg = obj.picture.value.toLowerCase().indexOf('jpeg');
		if(indexOfExtJpg < 0 && indexOfExtJpeg < 0)
		{
			error += "- Du kan kun uploade JPG/JPEG billeder.<br>";
		}
	}
	if(obj.picturetype[1].checked) { if(obj.details.value == "") { error += "- Du har ikke angivet beskrivelse.<br>"; } }
	if(obj.picture_group.selectedIndex == "-1") { error += "- Galleri gruppe(r) ikke angivet.<br>"; }
	else                                        { for(i = 0; i < obj.picture_group.length; i++) { if(obj.picture_group.options[i].selected == true) { obj.picture_group_ids.value += obj.picture_group.options[i].value + ","; } } }
	
	/* if no error upload picture */
	if(error == "")
	{
		document.all.loadingMessage.style.display = "block";
		error = "<br>Dine ændringer er ved at blive gemt. Afhængig af din internetforbindelse, kan det tage op til 5 minutter.";
		document.all.errorMessageGallery.innerHTML = error;
		return true;
	}
	else
	{
		error = "<font class='errorTextBold'>Følgende fejl blev fundet:</font><br><font class='errorText'>" + error + "</font>";
		document.all.errorMessageGallery.innerHTML = error;
		return false;
	}
}

/* validateFormNewMember */
function validateFormNewMember(obj)
{
	var error = "";

	if(obj.name.value == "") { error += "- Navn er ikke angivet.<br>"; }
	if(obj.address.value == "") { error += "- Adresse er ikke angivet.<br>"; }
	if(obj.postcode.value == "") { error += "- Postnr. er ikke angivet.<br>"; }
	if(obj.town.value == "") { error += "- By er ikke angivet.<br>"; }
	if(obj.dob.value == "") { error += "- Fødselsdato er ikke angivet.<br>"; }
	if(obj.telephone.value == "") { error += "- Telefon er ikke angivet.<br>"; }
	if(obj.email.value != "") { if(!validateEmail(obj.email.value)) { error += "- E-mail er ikke i korrekt format.<br>"; } }
	
	/* if no error upload picture */
	if(error == "") { return true; }
	else            
	{ 
		error = "<font class='errorTextBold'>Følgende fejl blev fundet:</font><br><font class='errorText'>" + error + "</font>";
		document.all.errorMessageGallery.innerHTML = error;
		return false;
	}
}

/* validateFormCatchReport */
function validateFormCatchReport(obj)
{
	var error = "";

	if(obj.name.value == "") { error += "- Navn er ikke angivet.<br>"; }
	if(obj.membernr.value == "") { error += "- Medlemsnummer er ikke angivet.<br>"; }
	if(obj.year.value == "") { error += "- År er ikke angivet.<br>"; }
	if(obj.catches.value == "") { error += "- Ingen fangster er angivet.<br>"; }

	/* if no error upload picture */
	if(error == "") { return true; }
	else
	{
		error = "<font class='errorTextBold'>Følgende fejl blev fundet:</font><br><font class='errorText'>" + error + "</font>";
		document.all.errorMessageCatchReport.innerHTML = error;
		return false;
	}
}

/* validateEmail */
function validateEmail(email)
{
	if(email.indexOf('@') == -1) { return false; }
	var splitemail = email.split('@');
	if(splitemail[0].length == 0 || splitemail[0].length > 63) { return false; }
	if(splitemail[1].indexOf('.') == -1) { return false; }
	var validdomain=splitemail[1].split('.');
	if(validdomain[0].length == 0 || validdomain[0].length > 63) { return false; }
	return true; 
}

/* unCryptMailTo */
function unCryptMailTo(s)
{
	var n=0;
	var r="";

	for(var i=0;i<s.length;i++)
	{
		n=s.charCodeAt(i); 
		if(n>=8364) { n = 128; }
		r += String.fromCharCode(n-(3));
	}
	
	return(r);
}
 
/* linkToUnCryptMailTo */
function linkToUnCryptMailTo(s)
{
	location.href = unCryptMailTo(s);
}

/* checkBrowserName */
function checkBrowserName(browserName)
{
	var detect = navigator.userAgent.toLowerCase();
	return detect.indexOf(browserName) + 1;
}

/* showImagePopup */
function showImagePopup(imageURL, caption)
{
  	// Define vars
 	var windowTop = 0;
	var windowLeft = 0;
	var defaultWidth = 1100;
	var defaultHeight = 850;

  	// Set up the window open options
  	var options = "width=" + defaultWidth + ",height=" + defaultHeight + ",top=" + windowTop + ",left=" + windowLeft + ",toolbar=1,location=1,directories=1,status=1,menuBar=1,scrollBars=1,resizable=1"
  
	// Build html
  	var html = 	"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n" +
    			"<html>\n" + 
			    "<head>\n" + 
			    "<title>" + caption + "\</title>\n" +
			    "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\n" +
			    "<meta http-equiv=\"Content-Language\" content=\"en-gb\">\n" +
				"<body leftmargin=\"10\" topmargin=\"10\">\n" +
			    "<img src=\"" + imageURL + "\" alt=\"" + caption + "\" title=\"" + caption + "\">\n" + 
			    "</body>\n" +  
				"</html>\n";
  
  // Create the popup window
  var imageWindow = window.open ("","imageWin",options);
  imageWindow.document.write (html);
  imageWindow.document.close ();
  if(window.focus) { imageWindow.focus(); }
  return false;
}

/* getEpoch */
function getEpoch(month,day,year,hour,minute,second)
{
	var date = new Date()
	date.setMonth(month,day)
	date.setFullYear(year)
	date.setHours(hour,minute,second)
	return ((date.getTime()-date.getMilliseconds())/1000)
}

/* expandLinkCategory */
function expandLinkCategory(linkCategoryId)
{
	/* close all linkCategories */
	for(i = 0; i < 50; i++)
	{
		var obj = eval("document.all.linkCategory"+i);
		if((typeof obj != "undefined") && (obj.style.display == "block") && (i != linkCategoryId)) { obj.style.display = "none"; }
	}

	/* expand the linkCategory clicked */
	var obj = eval("document.all.linkCategory"+linkCategoryId);
	if(typeof obj != "undefined")
	{
		if(obj.style.display == "block") { obj.style.display = "none"; }
		else							 { obj.style.display = "block"; }
	}
}

var previewTimeout;
/* resizePreviewIframe */
function resizePreviewIframe(id)
{
	/* if browser is msie*/
	if(checkBrowserName('msie') || checkBrowserName('opera'))
	{
		if(eval(id + ".document.body.scrollHeight") == 0)
		{
			previewTimeout = setTimeout("resizePreviewIframe('" + id + "')",500);
		}
		else
		{
			clearInterval(previewTimeout);
			document.getElementById(id).style.height = eval(id + ".document.body.scrollHeight");
			if(	(id.indexOf("galleryGroupId") > -1) || 
				(id.indexOf("SportDresCup") > -1) || 
				(id.indexOf("galleryRandomPicture") > -1) || 
				(id.indexOf("galleryUploadPage") > -1) || 
				(id.indexOf("galleryNewestPictures") > -1) ||
				(id.indexOf("bookingCalender") > -1) )
			{
				eval("document.getElementById('" + id + "Loading')").style.display = "none";
			}
		}
	}
	else
	{
		if(eval(id + ".contentDocument.body.offsetHeight") == 0)
		{
			previewTimeout = setTimeout("resizePreviewIframe('" + id + "')",500);
		}
		else
		{
			clearInterval(previewTimeout);
			document.getElementById(id).style.height = eval(id + ".contentDocument.body.offsetHeight") + 5;
			if( (id.indexOf("galleryGroupId") > -1) || 
				(id.indexOf("SportDresCup") > -1) || 
				(id.indexOf("galleryRandomPicture") > -1) || 
				(id.indexOf("galleryUploadPage") > -1) || 
				(id.indexOf("galleryNewestPictures") > -1) ||
				(id.indexOf("bookingCalender") > -1) )
			{
				eval("document.getElementById('" + id + "Loading')").style.display = "none";
			}
		}
	}
}

/* moneyWriter */
function moneyWriter(event, inputFieldObj, size)
{
	var charCode = event.keyCode;

	/* If ENTER is pressed */
	if(charCode == 13)
	{
		focusField(getNextFocusField(inputFieldObj));
		return false;
	}

	/* If text is selected */
	if(document.selection.createRange().text.length > 0)
	{
		/* Replace text */
		document.selection.createRange().text = '';
	}

	/* If size is blank or not a number set length to 10 (default) */
    if((size == "") || (isNaN(size) == true))
	{
		/* Limit to 10 characters */
		if(inputFieldObj.value.length >= 10) { return false; }
	}
    /* Else use the length specified */
	else
	{
		/* Limit to "size" characters */
		if(inputFieldObj.value.length >= size) { return false; }
	}

	/* Accept comma or period as decimal point [,.] */
	if((charCode == 44) || (charCode == 46))
	{
		/* Make sure that it's only used once */
		for(var i = 0; i < inputFieldObj.value.length; i++)
		{
			/* If we find another comma or period */
			if((inputFieldObj.value.charCodeAt(i) == 44) || (inputFieldObj.value.charCodeAt(i) == 46))
			{
				return false;
			}
		}
		return true;
	}

	/* Accept numbers [0-9] */
	return ((charCode >= 48) && (charCode <= 57));
}

/* moneyWriterPasteCheck */
function moneyWriterPasteCheck(inputFieldObj, useZeroDefault)
{
	/* Strip spaces */
	inputFieldObj.value = inputFieldObj.value.replace(/\\s*/g, "");

	/* Limit to 10 characters */
	inputFieldObj.value = inputFieldObj.value.substr(0, 10);

	/* Loop text */
	for(var i = 0; i < inputFieldObj.value.length; i++)
	{
		/* Accept comma or period as decimal point [,.] */
		if((inputFieldObj.value.charCodeAt(i) == 44) || (inputFieldObj.value.charCodeAt(i) == 46))
		{
			/* Make sure that it's only used once */
			for(var j = i + 1; j < inputFieldObj.value.length; j++)
			{
				/* If we find another comma or period */
				if((inputFieldObj.value.charCodeAt(j) == 44) || (inputFieldObj.value.charCodeAt(j) == 46))
				{
					/* Accept value from start to preceding character only */
					inputFieldObj.value = inputFieldObj.value.substr(0, j);

					/* If the last character is a period */
					if((inputFieldObj.value.length > 0) && (inputFieldObj.value.charCodeAt(inputFieldObj.value.length - 1) == 46))
					{
						/* Delete it */
						inputFieldObj.value = inputFieldObj.value.substr(0, inputFieldObj.value.length - 1);
					}

					/* If field is blank */
					if((inputFieldObj.value.length == 0) && (useZeroDefault == 1))
					{
						/* Set to zero */
						inputFieldObj.value = "0";
					}
					return false;
				}
			}

			/* Make sure comma is converted to period */
			inputFieldObj.value = inputFieldObj.value.substr(0, i) + "," + inputFieldObj.value.substr(i + 1);
		}

		/* Accept numbers [0-9] */
		else if((inputFieldObj.value.charCodeAt(i) < 48) || (inputFieldObj.value.charCodeAt(i) > 57))
		{
			/* Accept value from start to preceding character only */
			inputFieldObj.value = inputFieldObj.value.substr(0, i);

			/* If the last character is a period */
			if((inputFieldObj.value.length > 0) && (inputFieldObj.value.charCodeAt(inputFieldObj.value.length - 1) == 46))
			{
				/* Delete it */
				inputFieldObj.value = inputFieldObj.value.substr(0, inputFieldObj.value.length - 1);
			}

			/* If field is blank */
			if((inputFieldObj.value.length == 0) && (useZeroDefault == 1))
			{
				/* Set to zero */
				inputFieldObj.value = "0";
			}
			return false;
		}
	}

	/* If the last character is a period */
	if((inputFieldObj.value.length > 0) && (inputFieldObj.value.charCodeAt(inputFieldObj.value.length - 1) == 46))
	{
		/* Delete it */
		inputFieldObj.value = inputFieldObj.value.substr(0, inputFieldObj.value.length - 1);
	}

	/* If field is blank */
	if((inputFieldObj.value.length == 0) && (useZeroDefault == 1))
	{
		/* Set to zero */
		inputFieldObj.value = "0";
	}
	return true;
}
