
// JavaScript Document for Clugston Property pages


function preparePropRefs()
	{
		
	// Unobtrusive function to setup checkboxes 
		if (!document.getElementById) return false; 
		if (!document.getElementsByTagName) return false; 
		
		var $checkedvals=false;
		// loop through the forms in the page
			var nForms= document.getElementsByTagName("form"); 
			// get the elements looking for checkboxes in particular
			
				for (var noForms=0;noForms<nForms.length;noForms++)
					{
						var currentForm=nForms[noForms];
						
						currentForm.onsubmit=function()
						{
							
							
							elementsInputs = currentForm.getElementsByTagName("input");
 
							for (var intCounter = 0; intCounter < elementsInputs.length; intCounter++)
								{
									if (elementsInputs[intCounter].type=="checkbox")
										{
											// got a checkbox so apply a behaviour
											if(elementsInputs[intCounter].checked==true)
											
												{
														$checkedvals=true;
												}
										}
								}// end of inner for
							
							if (!$checkedvals)
								{
									alert (' Please select a property ' ); 
									return false; 
								}
							else
								{	
									
									if(!validateForm(this))
											return false;
								}
							
					 	}// end of nested function 
						
						
					}//end of outer for 
			}
	
function validateForm(whichform) {
	var fieldval=true;
  for (var i=0; i<whichform.elements.length; i++) {
    var element = whichform.elements[i];
    if (element.className.indexOf("required") != -1) {
      if (!isFilled(element)) {
		 var nparent=element.parentNode;
		 nparent.className='ferror';
		 var warning=document.createElement("span");
		 if (nparent.hasChildNodes() && nparent.getElementsByTagName('span').length>0)
				{
					//alert(nparent.hasChildNodes());
					//nparent.removeChild(document.getElementById('Reqerror'));

					for(var $childrenthingy=0;nparent.childNodes.length>0;$childrenthingy++)
					{
						//alert(nparent.childNodes[$childrenthingy].nodeName);
						//alert(nparent.childNodes.getAttribute('id'));
					}
				}
		 warning.setAttribute('id','Reqerror');
		 warning.appendChild(document.createTextNode(element.name +" required"));
		 nparent.appendChild(warning);
		var strClassName=element.className
		 element.className=strClassName.replace(/required-empty/,'')+' required-empty';
		element.focus();
		element.select();
        fieldval= false;
		
      }
    }
    if (element.className.indexOf("email") != -1) {
      if (!isEmail(element)) {
        var nparent=element.parentNode;
		 nparent.className='ferror';
		 var warning=document.createElement("span");
		if (nparent.hasChildNodes() && nparent.getElementsByTagName('span').length>0)
				{
					nparent.removeChild(document.getElementById('Emailerror'));
				}
		 warning.setAttribute('id','Emailerror');
		
		 warning.appendChild(document.createTextNode(element.name +" required and must be a valid email address"));
		 nparent.appendChild(warning);
		var strClassName=element.className
		 element.className=strClassName.replace(/required-empty/,'')+' required-empty';
		element.focus(); 
        fieldval=false;
      }
	}
	 if (element.className.indexOf("tel") != -1) {
      if (!istelno(element)) {
        var nparent=element.parentNode;
		 nparent.className='ferror';
		 var warning=document.createElement("span");
if (nparent.hasChildNodes() && nparent.getElementsByTagName('span').length>0)
						{
					nparent.removeChild(document.getElementById('Telerror'));
				}
		 warning.setAttribute('id','Telerror');
		 warning.appendChild(document.createTextNode(element.name +" required and must be a 10-11 digit number spaces allowed"));
		 nparent.appendChild(warning);
		 var strClassName=element.className
		 element.className=strClassName.replace(/required-empty/,'')+' required-empty';
		 element.focus(); 
         fieldval=false;
    	  }
    	}
  }
   
  return fieldval;
}

function isFilled(field) {
  if (field.value.length < 1 || field.value == field.defaultValue) {
    return false;
  } else {
    return true;
  }
}

function isEmail(field) {
  if (field.value.indexOf("@") == -1 || field.value.indexOf(".") == -1) {
    return false;
  } else {
    return true;
  }
}
function istelno(field)
	{
	exp = /^[0-9 \w]{11,12}$/
  if (exp.test(field.value) != true) 
		{return false;}
	else
		{return true;}
	}
			



function propertyEnquiry()
{
	if(!document.getElementById) return false; 
	if(!document.getElementsByTagName) return false; 
	
	var links=document.getElementsByTagName('a'); 
	
	for ($x=0;$x<links.length;$x++)
		{
			if(links[$x].className.indexOf("propertyenquiry") != -1) 
				{
					
					links[$x].onclick=function()
						{
								
								var location=links[x].getAttribute('href');
								newenquiry('property',location);
						}
				}
		}
}
function newenquiry(name,location)
{
		var enquiry=window.open(location,name);
	
		
}
function prepareForms() {
  for (var i=0; i<document.forms.length; i++) {
    var thisform = document.forms[i];
    
    thisform.onsubmit = function() {
      return validateForm(this);
    }
  }
}
function loadRef()
	{
  	var URL = window.location.href;
	
    var propref=URL.split("#")[1];
  	if(document.getElementById('ref'))
		document.getElementById('ref').setAttribute('value',propref);
	else
		return false;
	}
//addLoadEvent(propertyEnquiry);
//addLoadEvent(loadRef);
//addLoadEvent(prepareForms);	
addLoadEvent(preparePropRefs);		
	