// Hide all errors for revalidation
function hideAllErrors()
{
	document.getElementById("mainError").style.display = "none"
	document.getElementById("linkNameError").style.display = "none"
	document.getElementById("linkUrlError").style.display = "none"
	document.getElementById("linkCatError").style.display = "none";
	document.getElementById("linkCatOtherError1").style.display = "none";
	document.getElementById("linkCatOtherError2").style.display = "none";
	document.getElementById("linkDescError").style.display = "none";
}

// Count the number of characters in the link desc textarea box
function DescriptionCharCount() {
	document.getElementById('countcharacters').value = document.getElementById('LinkDesc').value.length;	
}

// define whitespace characters
var whitespace = " \t\n\r";
function isEmpty(s)
{
   var i;
   if((s == null) || (s.length == 0))
     return true;
   // Search string looking for characters that are not whitespace
    for (i = 0; i < s.length; i++)
    {   
     var c = s.charAt(i);
     if (whitespace.indexOf(c) == -1) 
              return false;
    }

    // All characters are whitespace.
    return true;
}

//  validate link name, link URL, link category & other if selected, and link description
function validate()
{

  hideAllErrors();
  
  var flag1 = 0;
  var urlRegex = /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.|http:\/\/){1}([\w]+)(.[\w]+){1,2}$/;
  var urlObj = (document.getElementById('LinkURL').value);
  
  if (isEmpty(document.getElementById('LinkName').value))
    {
      flag1 = 1;
	  document.getElementById("linkNameError").style.display = "inline";
	}
  
    if (urlRegex.test(urlObj) != true)
    {
      flag1 = 1;
	  document.getElementById("linkUrlError").style.display = "inline";
	}
	
	if (document.getElementById('LinkCat').selectedIndex == 0)
    {
      flag1 = 1;
	  document.getElementById("linkCatError").style.display = "inline";
    }
	
	if (document.getElementById('LinkCat').value == "Other:" && isEmpty(document.getElementById('LinkCatOther').value))
    {
      flag1 = 1;
	  document.getElementById("linkCatOtherError1").style.display = "inline";
    }
	
	if (document.getElementById('LinkCat').value != "Other:" && document.getElementById('LinkCatOther').value != "")
    {
      flag1 = 1;
	  document.getElementById("linkCatOtherError2").style.display = "inline";
    }
	
	if (isEmpty(document.getElementById('LinkDesc').value))
    {
      flag1 = 1;
	  document.getElementById("linkDescError").style.display = "inline";
    }

	if (flag1 == 1)
	{
 	  document.getElementById("mainError").style.display = "inline";
	  return false;
	}
 
	else
	{
	  // alert("Page was submitted");
 	  return true;
	}

}

function AreYouSure()
	{
		var msg = 	"___________________________________________\n\n" +
					"You are about to delete a Links Entry.\n" +
					"If you are sure, Click OK.\n" +
					"___________________________________________\n";
		if (confirm(msg)) window.document.LinkForm.submit();
		else return false;
	}