function qttyval()
{
	var chk = (document.paypal.quantity.value).toString().split('.');
	if (document.paypal.quantity.value == "" || document.paypal.quantity.value == null)
		{
			alert("Please enter number of credits you require");
			return false;
		}
	else if (parseInt(document.paypal.quantity.value).toString() == "NaN" || parseInt(document.paypal.quantity.value).toString() == "0")
		{
			alert("Please enter the valid input");
			return false;
		}
	else if ( chk.length > 1)
		{
		alert("Please enter the valid input");
		return false;
		}
		//Opens a window to instruct the user what to do
		//window.open('http://www.healthvisitors.com/parents/creditspayment.php','name','scrollbars=yes');
		//return true;
}
function validate_form_qsub ()
{
	valid = true;
        
		if(document.qsub.cdob.value =="")
			{
				alert ( "Please provide the Date of Birth" );
                valid = false;
			  
			}
		else if(document.qsub.cdob.value !="")
			{
				var dt=document.qsub.cdob;
				if (isDate(dt.value)==false)
					{
					dt.focus()
					valid = false;
					}
				else if ( document.qsub.question.value == "" )
			        {
            	    alert ( "Please Ask a Question!" );
	               	valid = false;
    			    }
			else if ( !document.qsub.tc.checked)
			        {
            	    alert ( "You must agree to the terms and conditions" );
	                valid = false;
    			    }
			else if ( !document.qsub.urgent.checked)
        			{
		                alert ( "Please be aware that this service is for NON-URGENT questions only. We aim to respond to questions within 7 working days. If you have a question that requires a response sooner then please contact your GP" );
        		        valid = false;
			        }
			}
		

        return valid;
}

function validate_form_qsubbf( )
{
	valid = true;
	
	if(document.qsubbf.duedate.value =="")
			{
				alert ( "Please provide the Due Date/ Date of Birth" );
                valid = false;
			  
			}

       else if(document.qsubbf.duedate.value !="")
			{
				var dt=document.qsubbf.duedate;
				if (isDate(dt.value)==false)
					{
					dt.focus()
					valid = false;
					}
		
		else if ( document.qsubbf.pregnancy.value == "" )
        {
            	    alert ( "Please tell us if this is your first time breastfeeding" );
	               	valid = false;
 	    }
					
		else if ( document.qsubbf.question.value == "" )
        {
                alert ( "Please Ask a Question!" );
                valid = false;
        }
		else if ( !document.qsubbf.tc.checked)
        {
                alert ( "You must agree to the terms and conditions" );
                valid = false;
        }
		
		else if ( !document.qsubbf.urgent.checked)
        {
                alert ( "Please be aware that this service is for NON-URGENT questions only. We aim to respond to questions within 7 working days. If you have a question that requires a response sooner then please contact your GP" );
                valid = false;
        }
		
			}
		
        return valid;
}


function validate_form_userreg()
{
email = document.userreg.email.value;
email2 = document.userreg.email2.value;
p1 = document.userreg.passwd1.value;
p2 = document.userreg.passwd2.value;

valid = true;
 if ( document.userreg.name.value == "" )
        {
                alert ( "Please fill in the 'Name' box." );
                valid = false;
        }
		
		else if ( document.userreg.email.value == "" )
        {
                alert ( "Please fill in the 'Email' box." );
                valid = false;
        }
			
		else if ( document.userreg.email2.value == "" )
        {
                alert ( "Please confirm your email." );
                valid = false;
        }
		
		else if (email != email2) 
		{
				alert ("Email addresses are different.");
				valid = false;
		}
		
		else if ( document.userreg.addr.value == "" )
        {
                alert ( "Please fill in the 'Address' box." );
                valid = false;
        }
		
		else if ( document.userreg.city.value == "" )
        {
                alert ( "Please fill in the 'City' box." );
                valid = false;
        }
		else if ( document.userreg.county.value == "" )
        {
                alert ( "Please fill in the 'County' box." );
                valid = false;
        }
		else if ( document.userreg.postcode.value == "" )
        {
                alert ( "Please fill in the 'Post Code' box." );
                valid = false;
        }
		else if ( document.userreg.postcode.value != "" )
        {
               		
				valid = checkPostCode (document.userreg.postcode.value)
				if (!valid)
				alert ( "Please enter your correct post code!" );	
						
		//need post code validation code here.
		else if ( document.userreg.dob.value == "" )
        {
                alert ( "Please fill in the 'Date of Birth' box." );
                valid = false;
        }
		else if(document.userreg.dob.value !="")
		{
				var dt=document.userreg.dob;
				if (isDate(dt.value)==false)
					{
					dt.focus()
					valid = false;
					}
			    else if ( p1 == "" )
			        {
            		    alert ( "Please fill in the 'Password' box." );
		                valid = false;
			        }
				else if ( p2 == "" )
        			{
	                alert ( "Please fill in the 'Confirm Password' box." );
    	            valid = false;
        			}
				else if (p1 != p2) 
					{
						alert ("Passwords are different.");
						valid = false;
					}
		}
	}
	return valid;
}

function validate_midfields()
{
	valid = true;
	if ( document.infoscr.prefix.value == "" )
        {
                alert ( "Please fill in the 'Prefix' box." );
                valid = false;
        }
	else if ( document.infoscr.fname.value == "" )
        {
                alert ( "Please fill in the 'First Name' box." );
                valid = false;
        }
	else if ( document.infoscr.lname.value == "" )
        {
                alert ( "Please fill in the 'Last Name' box." );
                valid = false;
        }
	else if ( document.infoscr.addr.value == "" )
        {
                alert ( "Please fill in the 'First Line of Address' box." );
                valid = false;
        }
	else if ( document.infoscr.city.value == "" )
        {
                alert ( "Please fill in the 'City' box." );
                valid = false;
        }
	else if ( document.infoscr.country.value == "" )
        {
                alert ( "Please fill in the 'Country' box." );
                valid = false;
        }
	else if ( document.infoscr.postcode.value == "" )
        {
                alert ( "Please fill in the 'Post Code' box." );
                valid = false;
        }
	else if ( document.infoscr.contactno.value == "" )
        {
                alert ( "Please fill in the 'Contact Number' box." );
                valid = false;
        }
	else if ( document.infoscr.email.value == "" )
        {
                alert ( "Please fill in the 'Email Address' box." );
                valid = false;
        }
	else if ( document.infoscr.payrate.value == "" )
        {
                alert ( "Please fill in the 'Pay Rate' box." );
                valid = false;
        }
	else if ( document.infoscr.maxquestion.value == "" )
        {
                alert ( "Please fill in the 'No. of Maximum Questions' box." );
                valid = false;
        }
	else if ( document.infoscr.dob.value == "" )
        {
                alert ( "Please fill in the 'Date of Birth' box." );
                valid = false;
        }
	return valid;
	
}
function compareit(m, i)
{
	
	if ( i == '1')
	{
	if (document.qassign.m1q1.value == document.qassign.m2q1.value )
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else if ( i == '2')
	{
	if ( document.qassign.m1q2.value == document.qassign.m2q2.value ) 
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	  return;
	}
else if (i == '3')
	{
	if ( document.qassign.m1q3.value == document.qassign.m2q3.value )  
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	 }
else	if ( i == '4')
	{
	if ( document.qassign.m1q4.value == document.qassign.m2q4.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
	 else	if ( i == '5')
	{
	if ( document.qassign.m1q5.value == document.qassign.m2q5.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
	else	if ( i == '6')
	{
	if ( document.qassign.m1q6.value == document.qassign.m2q6.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '7')
	{
	if ( document.qassign.m1q7.value == document.qassign.m2q7.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '8')
	{
	if ( document.qassign.m1q8.value == document.qassign.m2q8.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '9')
	{
	if ( document.qassign.m1q9.value == document.qassign.m2q9.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '10')
	{
	if ( document.qassign.m1q10.value == document.qassign.m2q10.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '11')
	{
	if ( document.qassign.m1q11.value == document.qassign.m2q11.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '12')
	{
	if ( document.qassign.m1q12.value == document.qassign.m2q12.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '13')
	{
	if ( document.qassign.m1q13.value == document.qassign.m2q13.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '14')
	{
	if ( document.qassign.m1q14.value == document.qassign.m2q14.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '15')
	{
	if ( document.qassign.m1q15.value == document.qassign.m2q15.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '16')
	{
	if ( document.qassign.m1q16.value == document.qassign.m2q16.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '17')
	{
	if ( document.qassign.m1q17.value == document.qassign.m2q17.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '18')
	{
	if ( document.qassign.m1q18.value == document.qassign.m2q18.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '19')
	{
	if ( document.qassign.m1q19.value == document.qassign.m2q19.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
else	if ( i == '20')
	{
	if ( document.qassign.m1q20.value == document.qassign.m2q20.value )
	
	   {
	    alert ( "You have selected same midwife for one question, Please make correction" );
	   // valid = false;
   	   }
	 return;
	}
}
function validatepasswd ( )
{
	valid = true;

        if ( document.passwdform.passwd.value != document.passwdform.passwd2.value )
        {
                alert ( "Passwords Mismatch" );
                valid = false;
        }
		
        return valid;
}

function chk_feedbk(id1)
{
	if(document.feedbk.txtfeedbk.value == "" ||	document.feedbk.txtfeedbk.value == " ")
		{
			alert("Feedback can not be blank");
			return false;
		}
	replacewithbr(id1);	
	return true;
}

function replacewithbr(targetId)
{
	target = document.getElementById( targetId );
	mesg = target.value;
	//if (window.event.keyCode == 13)
		//target.value = mesg + '<br>';
	len = mesg.length;
	newmsg = '';
	for(i=0; i<len; i++)
		if (mesg.charAt(i) == '\n')
			{
				//target.value = mesg + '<br>';
				newmsg = newmsg + '<br>';
			}
		else if (mesg.charAt(i) == "'")
			{
				//target.value = mesg + '<br>';
				newmsg = newmsg + "\\";
				newmsg = newmsg +"'";
			}
		else if (mesg.charAt(i) == 'h')
			{
				chk = mesg.substring(i, i+4);
				
				if (chk == 'http')
					{
					
					smesg = mesg.substring(i);
					
					links = smesg.split(" ");
					links2 = smesg.split("\n");
					mylink = links[0];
					mylink2 = links2[0];
					newi = mylink.length;
					newi2 = mylink2.length;
					if (newi < newi2)
						{
						i += newi;
						newmsg = newmsg + "<a href=" + mylink + ">" + mylink + "</a>";
						}
					else
						{
						i += newi2;
						newmsg = newmsg + "<a href=" + mylink2 + ">" + mylink2 + "</a>";
						}
					
					}
				else
					newmsg = newmsg + mesg.charAt(i);
			}
		else if (mesg.charAt(i) != '\r')
			newmsg = newmsg + mesg.charAt(i);
	target.value = newmsg;
	
	
}

function validate_form_userupdt()
{
email = document.userreg.email.value;

p1 = document.userreg.passwd1.value;
p2 = document.userreg.passwd2.value;

valid = true;
 		if ( document.userreg.name.value == "" )
        {
                alert ( "Please fill in the 'Name' box." );
                valid = false;
        }
		
		else if ( document.userreg.email.value == "" )
        {
                alert ( "Please fill in the 'Email' box." );
                valid = false;
        }
		
		else if ( document.userreg.postcode.value == "" )
        {
                alert ( "Please fill in the 'Post Code' box." );
                valid = false;
        }
		else if ( document.userreg.postcode.value != "" )
        {
               		
				valid = checkPostCode (document.userreg.postcode.value)
				if (!valid)
				alert ( "Please enter your correct post code!" );	
				
		//needs post code validation code here.
				else if ( document.userreg.dob.value == "" )
	    	    {
    	            alert ( "Please fill in the 'Date of Birth' box." );
        	        valid = false;
					
       			 }
				 else if(document.userreg.dob.value !="")
				{
					var dt=document.userreg.dob;
					if (isDate(dt.value)==false)
						{
						dt.focus()
						valid = false;
						}
			    	else if ( document.userreg.oldpasswd.value == "" )
        				{
		               	alert ( "Please fill in the ' Old Password' box." );
        		        valid = false;
        				}
					else if ( document.userreg.passwd1.value == "" )
		        		{
        		        alert ( "Please fill in the 'New Password' box." );
		                valid = false;
        				}
					else if ( document.userreg.passwd2.value == "" )
		        		{
        		        alert ( "Please fill in the 'Confirm New Password' box." );
                		valid = false;
		        		}
					else if (p1 != p2) 
						{
						alert ("Passwords are different.");
						valid = false;
						}
				}
				
		}
        return valid;
		
}

function validate_form_memupdt()
{
email = document.memedit.email.value;

p1 = document.memedit.passwd1.value;
p2 = document.memedit.passwd2.value;

valid = true;
 		if ( document.memedit.name.value == "" )
        {
                alert ( "Please fill in the 'Name' box." );
                valid = false;
        }
		
		else if ( document.memedit.email.value == "" )
        {
                alert ( "Please fill in the 'Email' box." );
                valid = false;
        }
		
		else if ( document.memedit.addr.value == "" )
        {
                alert ( "Please fill in the 'Address' box." );
                valid = false;
        }
		
		else if ( document.memedit.city.value == "" )
        {
                alert ( "Please fill in the 'Town/City' box." );
                valid = false;
        }
		
		else if ( document.memedit.county.value == "" )
        {
                alert ( "Please fill in the 'County' box." );
                valid = false;
        }
		
		else if ( document.memedit.postcode.value == "" )
        {
                alert ( "Please fill in the 'Post Code' box." );
                valid = false;
        }
		else if ( document.memedit.postcode.value != "" )
        {
               		
				valid = checkPostCode (document.memedit.postcode.value)
				if (!valid)
				alert ( "Please enter your correct post code!" );	
				
				//needs post code validation code here.
				
				else if ( document.memedit.work.value == "" )
       					{
                		alert ( "Please fill in the 'Place of Work' box." );
                		valid = false;
        				}
				
				else if ( document.memedit.jobtitle.value == "" )
       					{
                		alert ( "Please fill in the 'Job Title' box." );
                		valid = false;
        				}
		
				else if ( document.memedit.oldpasswd.value == "" )
        				{
		               	alert ( "Please fill in the ' Old Password' box." );
        		        valid = false;
        				}
					else if ( document.memedit.passwd1.value == "" )
		        		{
        		        alert ( "Please fill in the 'New Password' box." );
		                valid = false;
        				}
					else if ( document.memedit.passwd2.value == "" )
		        		{
        		        alert ( "Please fill in the 'Confirm New Password' box." );
                		valid = false;
		        		}
					else if (p1 != p2) 
						{
						alert ("Passwords are different.");
						valid = false;
						}
				
		}
        return valid;
		
}

var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	if (dtStr.length != 10)
		{
			alert("The date format should be : dd/mm/yyyy")
			return false
		}
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : dd/mm/yyyy")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true
}

function ValidateForm(targetID){
	var dt=document.getElementByID(targetID);
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }
function checkPostCode (toCheck) {

  // Permitted letters depend upon their position in the postcode.
  var alpha1 = "[abcdefghijklmnoprstuwyz]";                       // Character 1
  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                       // Character 2
  var alpha3 = "[abcdefghjkstuw]";                                // Character 3
  var alpha4 = "[abehmnprvwxy]";                                  // Character 4
  var alpha5 = "[abdefghjlnpqrstuwxyz]";                          // Character 5
  

  // Array holds the regular expressions for the valid postcodes
  var pcexp = new Array ();

  // Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Expression for postcodes: ANA NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));

  // Expression for postcodes: AANA  NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Exception for the special postcode GIR 0AA
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);
  
  // Standard BFPO numbers
  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
  
  // c/o BFPO numbers
  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);

  // Load up the string to check
  var postCode = toCheck;

  // Assume we're not going to find a valid postcode
  var valid = false;
  
  // Check the string against the types of post codes
  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
    
      // The post code is valid - split the post code into component parts
      pcexp[i].exec(postCode);
      
      // Copy it back into the original string, converting it to uppercase and
      // inserting a space between the inward and outward codes
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      
      // If it is a BFPO c/o type postcode, tidy up the "c/o" part
      postCode = postCode.replace (/C\/O\s*/,"c/o ");
      
      // Load new postcode back into the form element
      valid = true;
      
      // Remember that we have found that the code is valid and break from loop
      break;
    }
  }
  
  // Return with either the reformatted valid postcode or the original invalid 
  // postcode
  if (valid) {return postCode;} else return false;
}

function validate_form_subnl()
{
	valid = true;
        
	if(document.parentssub.FullName.value == "")
	{
		alert ( "Please Enter Full Name" );
        valid = false;
			  
	}
	else if(document.parentssub.EmailAddress.value == "")
	{
		alert ( "Please Enter Email Address" );
        valid = false;
			  
	}
	else if(document.parentssub.EmailAddress2.value == "")
	{
		
		alert ( "Please Enter Confirm Email Address" );
        valid = false;
			  
	}
	else if(document.parentssub.EmailAddress.value != "")
	{
		if(document.parentssub.EmailAddress2.value != document.parentssub.EmailAddress.value)
			{
				alert ("Email Addresses are different");
				valid = false;
			}
			  
	}
        return valid;
}
