/* Javascript file for REPoD */

/* Author: Geoff Vines - 1ontheweb */
/* Date created / last modified: 08-Mar-2009 01:35 PM */

	function breakOutOfFrames()
	{
		if (self.parent.frames.length != 0)
			window.top.location.replace(self.location.href);
	}
	
	function greyLinks()
	{
   	// First get the pagename.
      var pageName = '';
      var metatags = document.getElementsByTagName('meta');
      for (var i = 0; i < metatags.length; i++) {
      	if (metatags[i].getAttribute('name') == 'pagename') {
         	pageName = metatags[i].getAttribute('content');
         } 
      }
   	// Then get the link candidates.
      var navdiv = document.getElementById('navigation');
      var links = navdiv.getElementsByTagName('a');
      for (var i = 0; i < links.length; i++) {
      	// Check for link matching page name.
         if (links[i].getAttribute('id') == ('tm' + pageName)) {
      		// Change this item from an active <a> link to a <span> element with its
      		// text greyed under control of the css.
      		var parentItem = links[i].parentNode;
      		var node = links[i].firstChild;
            var text = '';
            do {
            	if (node.nodeType == 3){
               	text = text + node.nodeValue;
               }
               else {
               	text = text + (node.firstChild).nodeValue;
               }
               node = node.nextSibling;
            }
            while (node != null)
      		var newNode = document.createElement('span');
            var textNode = document.createTextNode(text);
      		newNode.appendChild(textNode);
      		parentItem.replaceChild(newNode, links[i]);
			}
		}       
	}

   function underlineAccesskey() 
   {
   	// Courtesy of Richard Rutter's underline function with mods by Gavin Montague.
   	var nav = document.getElementById('navigation');
   	var navlinks = nav.getElementsByTagName('a');
   	for (var i = 0; i < navlinks.length; i++) {
   		var accesskey = navlinks[i].getAttribute('accesskey');
         if (accesskey) {
   			var link = navlinks[i];
   			var linktext = link.childNodes[0].nodeValue;            
            var lowertext = linktext.toLowerCase();  // GM mod.
   			var keypos = lowertext.indexOf(accesskey); // GM mod.
   			var firstportion = linktext.substring(0,keypos);
   			var keyportion = linktext.substring(keypos,keypos+1);
   			var lastportion = linktext.substring(keypos+1,linktext.length);   			
   			link.childNodes[0].nodeValue = firstportion;
   			var s = document.createElement("span");
   			var span = link.appendChild(s);
   			var keyt = document.createTextNode(keyportion);
   			span.appendChild(keyt);
   			var lastt = document.createTextNode(lastportion);
   			link.appendChild(lastt);
   		}
   	}
   }

   function fieldFocus(thisField)
   {
   	thisField.select();
   }
   
   function fieldBlur(thisField, str)
   {
   	if (thisField.value == '')
      	thisField.value = str;
   }
   
	function validate()
	{
		if ((document.getElementById('name').value == "") || 
      		(document.getElementById('name').value == "name")) {
			alert("Please complete the field; name:");
			document.getElementById('name').focus();
         return false;
		}
		if ((document.getElementById('tel').value == "") ||
      		(document.getElementById('tel').value == "telephone")) {
			alert("Please complete the field; telephone:");
			document.getElementById('tel').focus();
         return false;
		}
		if (!(document.getElementById('email').value == "email address")) {
         var email_pattern = /^((".+")|(\w+([\.-]?\w+)*))@\w+([\.-]?\w+)*(\.\w{2,6})+$/;
         var emailaddr = document.getElementById('email').value;
         if (!(email_pattern.test(emailaddr))) {
         	alert('Email address is not a valid format. Please correct.');
            document.getElementById('email').focus();
            return false;
         }
      }
      
      // If we've got here, all the validation has passed.
		document.getElementById('namevalue').value = document.getElementById('name').value;
		return true;
	}

   function validateMail()
   {
      var email_pattern = /^((".+")|(\w+([\.-]?\w+)*))@\w+([\.-]?\w+)*(\.\w{2,6})+$/;
      var emailaddr = document.getElementById('sender').value;
      if (!(email_pattern.test(emailaddr))) {
      	alert('Email address is not a valid format. Please correct.');
         document.getElementById('sender').focus();
         return false;
      }
		if (document.getElementById('subject').value == "") {
			alert("Please complete the field; subject:");
			document.getElementById('subject').focus();
         return false;
		}
		if ((document.getElementById('mailmsg').value == "") || 
      		(document.getElementById('mailmsg').value == "enter your message here")) {
			alert("Please enter a message.");
			document.getElementById('mailmsg').focus();
         return false;
		}            
   }
   
   function validateMailshot()
   {
   	var checked = document.getElementById('exec').checked || document.getElementById('chair').checked || document.getElementById('specialist').checked || document.getElementById('clubContact').checked;
		if (!checked) {
      	alert('Please select at least one group of recipients.');
         document.getElementById('exec').focus();
         return false;
      }
      var email_pattern = /^((".+")|(\w+([\.-]?\w+)*))@\w+([\.-]?\w+)*(\.\w{2,6})+$/;
      var emailaddr = document.getElementById('sender').value;
      if (!(email_pattern.test(emailaddr))) {
      	alert('Email address is not a valid format. Please correct.');
         document.getElementById('sender').focus();
         return false;
      }
		if ((document.getElementById('mailmsg').value == "") || 
      		(document.getElementById('mailmsg').value == "enter your message here")) {
			alert("Please enter a message.");
			document.getElementById('mailmsg').focus();
         return false;
		}            
   }
   
	function setFocus()
	{
		document.getElementById('name').focus();
	}
		
	function setFocusEmail()
	{
		document.getElementById('sender').focus();
	}
   
   function setRegional()
   {
   	var element = document.getElementById('council');
      var i = element.selectedIndex;
      if (element.options[i].title == 'zero'){
      	document.getElementById('regional').disabled = false;
         document.getElementById('regional').selectedIndex = 0;
      	document.getElementById('regHidden').value = document.getElementById('regional').value; 
      }
      else
      {
      	document.getElementById('regional').value = 3; 
      	document.getElementById('regHidden').value = 3; 
      	document.getElementById('regional').disabled = true;
      }
   }

	function disableFields()
	{
   	var element = document.getElementById('council');
      var i = element.selectedIndex;
      if (element.options[i].label == 'one'){
      	document.getElementById('regional').disabled = true;
      }   	
   }
   
   function setRegHidden()
   {
	   document.getElementById('regHidden').value = document.getElementById('regional').value;
   }
      		
	window.onLoad = breakOutOfFrames();
