//DO NOT MOVE ANY OF THESE FUNCTIONS INTO "commonFunctions.js". Because then they will stop working in Internet Explorer 6.
//Start - General JavaScript validation functions. 'secureCheck' is used to prevent spam bots from creating their own forms. 
function check_form(checkForm, fieldIds, fieldNames, radioCollections, radioNames)
{
	checkForm.secureCheck.value = "true";

	for (var i = 0; i < fieldIds.length; i++)
	{
		var inputValue = new String(trim(document.getElementById(""+fieldIds[i]).value));
		var strFieldId = new String(""+fieldIds[i]); 

		if (inputValue == "" || inputValue == "-1")
		{	
			alert("\"" + fieldNames[i] + "\" \344r obligatorisk");
			return false;
		}
		else if (strFieldId.indexOf('email') != -1)
		{	
			if (!is_valid_email(inputValue))
			{
				alert("\"" + fieldNames[i] + "\" inneh\345ller felaktigt format");
				return false;
			}
		}
	}

	if (radioCollections != null)
	{
		for (var i = 0; i < radioCollections.length; i++)
		{
			var isRadioSelected = false;
			var radioCollection = radioCollections[i];
			
			for (var c = 0; c < radioCollection.length; c++)
			{
				if (radioCollection[c].checked)
				{
					isRadioSelected = true;
					break;
				}
			}
	
			if (!isRadioSelected)
			{
				alert("\"" + radioNames[i] + "\" \344r obligatorisk");
				return false;
			}
		}
	}
	
	return true;
}

function is_valid_email(str) 
{
	var regex=new RegExp("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
	return regex.test(str);
}

function trim(sString) 
{
	while (sString.substring(0,1) == ' ')
		sString = sString.substring(1, sString.length);
	
	while (sString.substring(sString.length-1, sString.length) == ' ')
		sString = sString.substring(0,sString.length-1);

	return sString;
}

function check_generated_form(checkForm, secureCheckId, fields)
{
	document.getElementById(secureCheckId).value = "true";
	
	for (var i = 0; i < fields.length; i++)
	{
		var fieldHeader = fields[i][0];
		var fieldName = fields[i][1];
		var fieldIsRequired = fields[i][2];
		var fieldType = fields[i][3];
		
		if (fieldType != "radiobutton" && fieldType != "checkbox")
		{
			if (fieldIsRequired)
			{
				if (fieldType == "text" || fieldType == "textarea" || fieldType == "image" || fieldType == "email" || fieldType == "coordinate")
				{	
					var inputValue = new String(trim(document.getElementById(""+fieldName).value));
					if (inputValue == "")
					{	
						alert("\"" + fieldHeader + "\" \344r obligatorisk");
						return false;
					}
				}
			}
	
			if (fieldType == "email")
			{
				var emailValue = new String(trim(document.getElementById(""+fieldName).value));
				if (emailValue != "")
				{	
					if (!is_valid_email(emailValue))
					{
						alert("\"" + fieldHeader + "\" inneh\345ller felaktigt format");
						return false;
					}
				}
			}
		}	
	}
	
	return true;
}

function focus_on_enter(element, event)
{
	if(event.keyCode == 13)
		element.focus();
}
//End - General JavaScript validation functions

/* Start - poll functions */
function poll_vote(formPoll)
{
	poll_open_window(formPoll.action);
 	formPoll.target='popupWindow';
 	formPoll.submit();
}

function poll_result(url)
{
	poll_open_window(url);
}

function poll_open_window(url)
{
  var width = 488;
  var height = 500;
  var win = window.open(url,"popupWindow","screenX="+width+",screenY="+height+",scrollbars=0,resizable=1,width="+width+",height="+height+",status=0,toolbar=1,menubar=1");
  win.focus();
}
/* Start - end functions */

/* Start - Find coordinate form functions */

function find_coordinate_open_window(url)
{
  var width = 488;
  var height = 900;
  var win = window.open(url,"popupWindow","screenX="+width+",screenY="+height+",scrollbars=0,resizable=1,width="+width+",height="+height+",status=0,toolbar=0,menubar=0");
  win.focus();
}

function return_coordinate_from_popup(mapForm, targetField)
{
	window.opener.document.getElementById(targetField).value = mapForm.centerLongitude.value + ', ' + mapForm.centerLatitude.value + ', ' + mapForm.zoom.value;
	self.close();
}

/* End - Find coordinate form functions */

//Print article
var gobjPrintWin;
function openPrintWindow(sUrl,w,h){
	w=600; h=500;
	gobjPrintWin=window.open(sUrl,'Print','width='+w+',height='+h+',top=20,left=20,toolbar=0,location=0,status=0,menubar=1,scrollbars=1,resizable=1');
	gobjPrintWin.focus();
}
