// START OF MESSAGE SCRIPT //

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;


function validateR1(form1) {
	
		var typeR1 = form1.typeR1.value;
		var titleR1 = form1.titleR1.value;
		var firstnameR1 = form1.firstnameR1.value;
		var surnameR1 = form1.surnameR1.value;
		var email1R1 = form1.email1R1.value.toLowerCase();
  		var email2R1 = form1.email2R1.value.toLowerCase();
		var searchLK = form1.searchLK.value;
 		var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  		var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
		//var pcRegEx = /^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$/;
		var myHide = 3;
		
		if(typeR1 == "") {
    		inlineMsgLeft('typeR1','Please select an organization',myHide);
    	return false;
  		}
		
		 if(titleR1 == "") {
    		inlineMsgLeft('titleR1','Please select a title',myHide);
    	return false;
  		}
		
		 if(firstnameR1 == "") {
			inlineMsgLeft('firstnameR1','Please enter your firstname.',myHide);
			return false;
		  }
		  if(!firstnameR1.match(nameRegex)) {
			inlineMsgLeft('firstnameR1','You have entered an invalid name.',myHide);
			return false;
		  }
		  if(surnameR1 == "") {
			inlineMsgLeft('surnameR1','Please enter your lastname.',myHide);
			return false;
		  }
		  if(!surnameR1.match(nameRegex)) {
			inlineMsgLeft('surnameR1','You have entered an invalid lastname.',myHide);
			return false;
		  }
		  
		  if(email1R1 == "") {
    		inlineMsgLeft('email1R1','<strong>Error</strong><br />Please enter your email.',myHide);
    		return false;
  		  }
		  if(!email1R1.match(emailRegex)) {
			inlineMsgLeft('email1R1','<strong>Error</strong><br />You have entered an invalid email.',myHide);
			return false;
		  }
		  if(email2R1 == "") {
			inlineMsgLeft('email2R1','<strong>Error</strong><br />Please enter your email.',myHide);
			return false;
		  }
		  if(!email2R1.match(emailRegex)) {
			inlineMsgLeft('email2R1','<strong>Error</strong><br />You have entered an invalid email.',myHide);
			return false;
		  }
		  if(email2R1 != email1R1) {
			inlineMsgLeft('email2R1','<strong>Error</strong><br />You have entered different emails.',myHide);
			return false;
		  }
	
		  if(searchLK == "") {
				inlineMsgLeft('searchLK','Please enter a postcode.',myHide);
				return false;
		  }

  return true;
}

function validateR2(formR2) {

  var titleR2 = formR2.titleR2.value;
  var firstnameR2 = trim(formR2.firstnameR2.value);
  var surnameR2 = trim(formR2.surnameR2.value);
  var positionR2 = trim(formR2.positionR2.value);
  var schoolNameR2 = trim(formR2.schoolNameR2.value);
  var addr1R2 = trim(formR2.addr1R2.value);
  var townR2 = trim(formR2.townR2.value);
  var telephoneR2 = trim(formR2.telephoneR2.value);
  var countyR2 = trim(formR2.countyR2.value);
  var emailR2 = formR2.emailR2.value.toLowerCase();
  var postcodeR2 = trim(formR2.postcodeR2.value);
  var pupilsR2 = trim(formR2.pupilsR2.value);
  var NFriendRefR2 = trim(formR2.NFriendRefR2.value);
  var EFriendRefR2 = trim(formR2.EFriendRefR2.value);
  var informR2 = formR2.informR2.checked;
  
  var Hsurname_R2 = document.getElementById("Hsurname_R2").value;
  
  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var numericExpression = /^[0-9]+$/;
  var phExpression = /^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$/;
  
  var Hinst_id_R2 = document.getElementById("Hinst_id_R2").value;

  var myHide = 3;
  
  if(titleR2 == "") {
    inlineMsgLeft('titleR2','Please enter your title.',myHide);
    return false;
  }
  if(!titleR2.match(nameRegex)) {
    inlineMsgLeft('tileR2','You have entered an invalid title.',myHide);
    return false;
  }
  
  if(firstnameR2 == "") {
    inlineMsgLeft('firstnameR2','Please enter your firstname.',myHide);
    return false;
  }

  
  if(surnameR2 == "") {
    inlineMsgLeft('surnameR2','Please enter your lastname.',myHide);
    return false;
  }

  
  if(positionR2 == "") {
    inlineMsgLeft('positionR2','Please enter your position.',myHide);
    return false;
  }
 
  if((schoolNameR2 == "Please insert a new school name") || (schoolNameR2 == "")) {
    inlineMsgLeft('schoolNameR2','Field cannot be empty.',myHide);
    return false;
  }
  
  if(addr1R2 == "") {
    inlineMsgLeft('addr1R2','Please enter the address.',myHide);
    return false;
  }
  
  if(townR2 == "") {
    inlineMsgLeft('townR2','Please enter the town.',myHide);
    return false;
  }
  if(!townR2.match(nameRegex)) {
    inlineMsgLeft('townR2','You have entered an invalid town.',myHide);
    return false;
  }
  
    //Matches	+447222555555 | +44 7222 555 555 | (0722) 5555555 #2222
  //Non-Matches	(+447222)555555 | +44(7222)555555 | (0722) 5555555 #22
  if(telephoneR2 != "") {
   if(!telephoneR2.match(phExpression)) {
    inlineMsgLeft('telephoneR2','Format:<br />+447222555555<br />+44 7222 555 555<br />(0722) 5555555 #2222',myHide);
    return false;
   }
  }
 
  
  if(emailR2 == "") {
    inlineMsgLeft('emailR2','<strong>Error</strong><br />Please enter your email.',myHide);
    return false;
  }
  if(!emailR2.match(emailRegex)) {
    inlineMsgLeft('emailR2','<strong>Error</strong><br />You have entered an invalid email.',myHide);
    return false;
  }
  
  if(postcodeR2 == "") {
    inlineMsgLeft('postcodeR2','Please enter the postcode.',myHide);
    return false;
  }

  if(pupilsR2 == "") {
    inlineMsgLeft('pupilsR2','Please enter the number of pupils.',myHide);
    return false;
  }
  
    if(!pupilsR2.match(numericExpression)){
	inlineMsgLeft('pupilsR2','Please check the number.',myHide);
    return false;
  }
  
  if(EFriendRefR2 != "Email address of friend") {
	  if(NFriendRefR2 == "Name of friend who referred") {
		  inlineMsgLeft('NFriendRefR2','Please enter a real name.',myHide);
		  return false;
	  }else {
	  	if(!EFriendRefR2.match(emailRegex)) {
      		inlineMsgLeft('EFriendRefR2','<strong>Error</strong><br />You have entered an invalid email.',myHide);
    		return false;
      	}
	  }
  }
  
  if(informR2 != true) {
    inlineMsgLeft('informR2','Please select the checkbox.',myHide);
    return false;
  }
  
  if(Hsurname_R2.length == 0) {
    inlineMsgLeft('planResources_R2','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
  if(Hinst_id_R2.length == 0) {
    inlineMsgLeft('pupilsRKS2_R2','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
  return true;
}


//campaign with pupils2 and resources select
function validate_s(formR2) {

  var position_R2 = (formR2.position_R2.value);	
  var pupilsRKS = trim(formR2.pupilsRKS.value);
  var informMe_R2 = formR2.informMe_R2.checked;
  

  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var numericExpression = /[0-9]/;
  var phExpression = /^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$/;
  
  var Hinst_id_R2 = document.getElementById("Hinst_id_R2").value;
  var Hsurname_R2 = document.getElementById("Hsurname_R2").value;

  var myHide = 3;
 
  if(position_R2 == "") {
    inlineMsgLeft('position_R2','Please enter a position.',myHide);
    return false;
  }
  
  if(pupilsRKS == "") {
    inlineMsgLeft('pupilsRKS','Please enter the number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  
  if(pupilsRKS == "") {
    inlineMsgLeft('pupilsRKS','Please enter the number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  
  if(!pupilsRKS.match(numericExpression)) {
    inlineMsgLeft('pupilsRKS','Please enter a valid number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  
  if(Hsurname_R2.length == 0) {
    inlineMsgLeft('pupilsRKS','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
  if(Hinst_id_R2.length == 0) {
    inlineMsgLeft('pupilsRKS','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
  if(informMe_R2 == false) {
    inlineMsgLeft('informMe_R2','Please check.',myHide);
    return false;
  }
 
  return true;
}

//campaign with pupils2 and resources edit
function validate_o(formR2) {

  var position_R2 = (formR2.position_R2.value);
  var addr1_R2 = (formR2.addr1_R2.value);
  var town_R2 = (formR2.town_R2.value);
  var pupilsRKS = trim(formR2.pupilsRKS.value);
  var postcode_R2 = ((formR2.postcode_R2.value).toUpperCase());
    var informMe_R2 = formR2.informMe_R2.checked;

  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var numericExpression = /[0-9]/;
  var pcRegEx = /^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$/;
  var phExpression = /^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$/;
  
  var Hsurname_R2 = document.getElementById("Hsurname_R2").value;
  var Hinst_id_R2 = document.getElementById("Hinst_id_R2").value;

  var myHide = 3;
  
 
  if(position_R2 == "") {
    inlineMsgLeft('position_R2','Please enter a position.',myHide);
    return false;
  }
  
   if(addr1_R2 == "") {
    inlineMsgLeft('addr1_R2','Please enter an address.',myHide);
    return false;
  }
  
  if(town_R2 == "") {
    inlineMsgLeft('town_R2','Please enter a town.',myHide);
    return false;
  }
  
  if(postcode_R2 == "") {
    inlineMsgLeft('postcode_R2','Please enter a valid postcode.',myHide);
    return false;
  }
  
  if(!postcode_R2.match(pcRegEx)) {
    inlineMsgLeft('postcode_R2','Please enter a valid postcode, check space.',myHide);
    return false;
  }


  if(pupilsRKS == "") {
    inlineMsgLeft('pupilsRKS','Please enter the number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  
    if(pupilsRKS == "0") {
    inlineMsgLeft('pupilsRKS','Please enter the number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  

  if(!pupilsRKS.match(numericExpression)) {
    inlineMsgLeft('pupilsRKS','Please enter a valid number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  

  
  if(Hsurname_R2.length == 0) {
    inlineMsgLeft('pupilsRKS','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
  if(Hinst_id_R2.length == 0) {
    inlineMsgLeft('pupilsRKS','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
    if(informMe_R2 == false) {
    inlineMsgLeft('informMe_R2','Please check.',myHide);
    return false;
  }
  

 
  return true;
}

function validate_e(formR2) {

  var position_R2 = (formR2.position_R2.value); 
  var schoolName_R2 = trim(formR2.schoolName_R2.value);
  var addr1_R2 = (formR2.addr1_R2.value);
  var town_R2 = (formR2.town_R2.value);
  var pupilsRKS = trim(formR2.pupilsRKS.value);
  var postcode_R2 = ((formR2.postcode_R2.value).toUpperCase());
    var informMe_R2 = formR2.informMe_R2.checked;

  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
  var numericExpression = /[0-9]/;
  var pcRegEx = /^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$/;
  var phExpression = /^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$/;
  
  var Hsurname_R2 = document.getElementById("Hsurname_R2").value;
  var Hinst_id_R2 = document.getElementById("Hinst_id_R2").value;

  var myHide = 3;

 
  if(position_R2 == "") {
    inlineMsgLeft('position_R2','Please enter a position.',myHide);
    return false;
  }
  
  if((schoolName_R2 == "")) {
    inlineMsgLeft('schoolName_R2','Field cannot be empty.',myHide);
    return false;
  }
  
   if(addr1_R2 == "") {
    inlineMsgLeft('addr1_R2','Please enter an address.',myHide);
    return false;
  }
  
  if(town_R2 == "") {
    inlineMsgLeft('town_R2','Please enter a town.',myHide);
    return false;
  }
  
  if(postcode_R2 == "") {
    inlineMsgLeft('postcode_R2','Please enter a valid postcode.',myHide);
    return false;
  }
  
  if(!postcode_R2.match(pcRegEx)) {
    inlineMsgLeft('postcode_R2','Please enter a valid postcode, check space.',myHide);
    return false;
  }


  if(pupilsRKS == "") {
    inlineMsgLeft('pupilsRKS','Please enter the number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  

  if(!pupilsRKS.match(numericExpression)) {
    inlineMsgLeft('pupilsRKS','Please enter a valid number for pupils in R, KS1 & KS2.',myHide);
    return false;
  }
  
  
  if(Hsurname_R2.length == 0) {
    inlineMsgLeft('pupilsRKS','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
  if(Hinst_id_R2.length == 0) {
    inlineMsgLeft('pupilsRKS','Error, undefined data.<br>Please go back<br>Refresh your page and try again.',6);
    return false;
  }
  
  if(informMe_R2 == false) {
    inlineMsgLeft('informMe_R2','Please check.',myHide);
    return false;
  }
  

 
  return true;
}

// build out the divs, set attributes and call the fade function //
function inlineMsgLeft(target,string,autohide) {
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);
  //var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  var myTargetPos = leftPosition(targetdiv)-190;
  //var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;
  var leftposition = leftPosition(targetdiv) - 180 + MSGOFFSET;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}


// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}

// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  arrow = new Image(7,80);
   arrow.src = "images/arrow/msg_arrowL.gif";
}

// form validation function //
//Left Trim
function ltrim ( s )
{
	return s.replace( /^\s*/, "" );
}
//Right Trim
function rtrim ( s )
{
	return s.replace( /\s*$/, "" );
}
//Trim
function trim ( s )
{
	return rtrim(ltrim(s));
}

function emActSubmit(){
	var myActive1 = document.getElementById("selControl1").value;		
	
	if(myActive1 == 2){
		document.getElementById("selControl2").value = "active";
	}
	activeSubmit();
}

function activeSubmit(){

	var myActive1 = document.getElementById("selControl1").value;	
	var myActive2 = document.getElementById("selControl2").value;	
	
	if((myActive1 == 1) && (myActive2 == "active")){
		document.getElementById("submit").disabled = false;
	}
	if((myActive1 == 2) && (myActive2 == "active")){
		document.getElementById("submit").disabled = false;
	}
	
	if((myActive1 == 1) && (myActive2 == "inactive")){
		document.getElementById("submit").disabled = true;
	}
	
	if((myActive1 == 2) && (myActive2 == "inactive")){
		document.getElementById("submit").disabled = true;
	}
}	

function getValueSelected(){
	var form1 = document.getElementById("form1");
	var selTypeVal =  form1.typeR1.value;
	form1.hiddenTypeValidatedR1.value = selTypeVal;
	var myType = document.getElementById("hiddenTypeValidatedR1").value;
	togglePC();
	if ((myType == 9) || (myType == 10)){
		document.getElementById("selControl1").value = 2;	
	}else{
		//alert("disabled");
		document.getElementById("selControl1").value = 1;		
	}
}

function togglePC() {
	var form1 = document.getElementById("form1");
	var ele = document.getElementById("toggleText");
	var text = document.getElementById("displayText");
	var selectedType =  form1.hiddenTypeValidatedR1.value
	if(ele.style.display == "none") {
		if((selectedType != "")){
			if((selectedType != 9) && (selectedType != 10)){
    			ele.style.display = "block";
				text.innerHTML = "Postcode: (enter the first part of your postcode, e.g. PL1,* for a list.)";
				form1.searchLK.value = "";
			}
		}
  	}
	if((selectedType != "")){
		if((selectedType == 9)){
					ele.style.display = "none";
					text.innerHTML = "";
					form1.hiddenIDCode.value = "None";
					form1.hiddenSName.value = "New Institution";
					form1.hiddenTypeValidatedR1.value = selectedType;
					form1.searchLK.value = selectedType;
					document.getElementById("schoolName").innerHTML = "";
					document.getElementById("selControl2").value = "inactive";
				}
		if((selectedType == 10)){
					ele.style.display = "none";
					text.innerHTML = "";
					form1.hiddenIDCode.value = "None";
					form1.hiddenSName.value = "New Institution";
					form1.hiddenTypeValidatedR1.value = selectedType;
					form1.searchLK.value = selectedType;
					document.getElementById("schoolName").innerHTML = "";
					document.getElementById("selControl2").value = "inactive";
		}
	}
	
} 


