function doSearch()
{
	alert(document.getElementById("dynForm").action);
}

function DoPrint()
{
    var oNewWin;
    oNewWin = window.open("print.htm","printWindow","",true);
}


//returns true or false depending on whether or not the value of the field object passed to it matches the pattern of the format passed to it.
function ValiDate(obj, format)
{
  dateBits = DateComponents(obj, format);
  if (dateBits == null) 
  {
    return false;
  }
  day = dateBits[0];
  month = dateBits[1];
  year = dateBits[2];
  if ((month < 1 || month > 12) || (day < 1 || day > 31)) 
  { // check month range 
    return false;
  } 
  if ((month==4 || month==6 || month==9 || month==11) && day==31) 
  {
    return false;
  }
  if (month == 2) 
  {
    // check for february 29th 
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
    if (day > 29 || (day==29 && !isleap)) 
    {
      return false;
    }
  } 
  return true;
}

//used to split the format string in to an array that lets the validation routine know the numeric value of day, month and year
function DateComponents(dateStr, format) 
{
  var results = new Array();
  var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
  var matchArray = dateStr.match(datePat);
  if (matchArray == null) 
  {
    return null; 
  }
  // parse date into variables
  if (format.charAt(0)=="d")
  { 
    //format=dd/mm
    results[0] = matchArray[1];
    results[1] = matchArray[3];
  } 
  else 
  { 
    results[1] = matchArray[1];
    results[0] = matchArray[3]; 
  }
  results[2] = matchArray[4];
  return results;
}

function testDate(dateStr, format)
{
  if (dateStr.length > 0)
  {
    var testDate = ValiDate(dateStr, format);
    if (testDate == false)
    {
      alert("Dato er ikke valid!");
      event.returnValue = false;
    }
  }
}

function OnLoad()
{
	document.body.onmouseleave = CheckHideLeftSubMenus;
}

function SubmitSubscriptions()
{
    if (!CheckEMailField("email"))
		return false;
    document.getElementById("actiontype").value = "checkuser";
    document.getElementById("subscriptionemail").value = document.getElementById("email").value;
 
    return true;
}

function CheckEMailField(strEMailFieldName) 
{
	var objEMailField = document.getElementById(strEMailFieldName);
    var blnEMailValid = CheckEMail(objEMailField.value);
    if (!blnEMailValid)
    {
        alert("Fejl i e-mailadressen");
        objEMailField.focus();        
        return false;
    }
    return true;
}

function CheckEMail(strEmail) 
{
  var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
  
  return regex.test(strEmail);
}

function Subscribe()
{
	SubmitSubscriptionsForm("checkuser");
}

function Unsubscribe()
{
	if (confirm("Vil du framelde dit abonnement ?"))
	{
		SubmitSubscriptionsForm("removeuser");
	}
}

function EditUser()
{
	SubmitSubscriptionsForm("showedituser");
}

function SubmitSubscriptionsForm(strActionType)
{
	if (SubmitSubscriptions())
	{
		document.getElementById("actiontype").value = strActionType;
		document.getElementById("SubcriptionForm").submit();	
	}
}

function SubmitAddEditUserForm()
{
	if (!CheckEMailField("EMail___True"))
		return false;
	document.getElementById("email").value = document.getElementById("EMail___True").value;
		
	return true;	
}

function SubmitForm(objForm)
{
	if (objForm && objForm.nodeName == "FORM")
	{
	    if (!CheckObligatoryInput(objForm))
			return false;
		
		EnableFormControls(objForm.firstChild);
		return true;
	}
	return false;
}

function CheckObligatoryInput(objForm)
{
	var inputArr = objForm.getElementsByTagName("INPUT");
	for (i = 0; i < inputArr.length; i++)
	{
		var objInput = inputArr[i];
		var objIdArr = objInput.id.split("___");
		if (objInput.type == "text")
		{
		    if (objIdArr[1] && objIdArr[1] == "True" && !ValidateField(objInput, objIdArr[0]))
			{
				return false;
			}
		}
	}
		
	return true;		
}

function ValidateField(cField, eText)
{
    var fieldText = cField.value;
	fieldText = fieldText.replace(/^\s+|\s+$/g, '');
	if (fieldText == "")
	{
		alert("'" + eText + "' felt ikke udfyldt");
		cField.focus();
		return false;
	}
	return true;
}

function EnableFormControls(objElem)
{
	while (objElem)
	{
		if (objElem.firstChild)
			EnableFormControls(objElem.firstChild);
		
		if (typeof(objElem.disabled) != 'undefined' && objElem.disabled)
		{
			objElem.disabled = false;
		}
		objElem = objElem.nextSibling;
	}
}
