// Hackney Schools Mentoring Programme (HSMP) JavaScript Document
// created by East London Business Alliance - ELBA (www.elba-1.org.uk) in partnership with HSMP

root = "http://www.hsmp.org.uk"

<!-- JavaScript to compile picture galleries
function startGallery()
{
    var dummyChange, dummyChange1;

    for (var i = 0; i < numberOfPicts; i++)
    {
            if (i == 0)
			{
                    dummyChange = picGalleryBackString;
                    dummyChange = dummyChange.replace(name1,i);
                    dummyChange = dummyChange.replace(name2,(numberOfPicts - 1));

                    dummyChange1 = picGalleryNextString;
                    dummyChange1 = dummyChange1.replace(name1,i);
                    dummyChange1 = dummyChange1.replace(name2,(i+1));

                    document.getElementById("nowPrevious_" + i).innerHTML = (dummyChange);
                    document.getElementById("nowNext_" + i).innerHTML = (dummyChange1);					
			}
            else if (i > 0 && i < (numberOfPicts -1))
            {
                    dummyChange = picGalleryBackString;
                    dummyChange = dummyChange.replace(name1,i);
                    dummyChange = dummyChange.replace(name2,(i-1));

                    dummyChange1 = picGalleryNextString;
                    dummyChange1 = dummyChange1.replace(name1,i);
                    dummyChange1 = dummyChange1.replace(name2,(i+1));

                    document.getElementById("nowPrevious_" + i).innerHTML = (dummyChange);
                    document.getElementById("nowNext_" + i).innerHTML = (dummyChange1);				
            }
            else
            {
                    dummyChange = picGalleryBackString;
                    dummyChange = dummyChange.replace(name1,i);
                    dummyChange = dummyChange.replace(name2,(i-1));

                    dummyChange1 = picGalleryNextString;
                    dummyChange1 = dummyChange1.replace(name1,i);
                    dummyChange1 = dummyChange1.replace(name2,((numberOfPicts - i) - 1));

                    document.getElementById("nowPrevious_" + i).innerHTML = (dummyChange);									
                    document.getElementById("nowNext_" + i).innerHTML = (dummyChange1);	
             }
	}
}

function ChangePicture(show)
{	document.getElementById("picGallery_" + picNumOnDisplay).style.display = "none";
	document.getElementById("picGallery_" + show).style.display = "";
	picNumOnDisplay = show; }

var picNumOnDisplay = 0;
var name1 = new RegExp("string1");
var name2 = new RegExp("string2");
var picGalleryBackString = "<a href=\"javascript: ChangePicture(string2)\">&laquo; PREVIOUS&nbsp;</a>";
var picGalleryNextString = "<a href=\"javascript: ChangePicture(string2)\">NEXT &raquo;</a>";
//-->


<!-- JavaScript to compile thumbnail galleries
function startTbnails(num)
{
	for (var i=1; i<num; i++)
	{ document.getElementById("tbnail_" + i).style.display = "none"; }
}

function change(tbnail)
{	document.getElementById("tbnail_" + current).style.display = "none";
	document.getElementById("tbnail_" + tbnail).style.display = "";
	current = tbnail; }

var current = 0;
//-->



<!-- JavaScript to create print-version -->
function PrintThisPage() 
{ 
   var sOption="toolbar=no,location=no,directories=no,menubar=yes,"; 
       sOption+="scrollbars=yes,width=670,height=400,left=10,top=10"; 
	
	var url = window.document.location.href

	var winprint=window.open(root + "/print.asp?url=" + url,"Print",sOption); 
 
    winprint.focus(); 
}


<!-- JavaScript to email current page -->
function EmailThisPage() 
{ 
   	var sOption="toolbar=no,location=no,directories=no,menubar=no,"; 
        sOption+="scrollbars=no,width=400,height=440,left=10,top=10"; 
		
	var url = window.document.location.href

	var winprint=window.open(root + "/includes/email.asp?url=" + url,"",sOption); 
}



<!-- JavaScript Form checking -->
function validText(text)
{   //var invalidChars = '0123456789!£$%^&*()_+=`¬{}[]:@~;#<>?,./\|""¦'
	var invalidChars = '0123456789<>`¬¦|{}[]#~+="'
	for (i=0; i<invalidChars.length; i++)
		{	var badChar = invalidChars.charAt(i)
			if (text.indexOf(badChar,0) > -1)
			{ return false	}
		}
	return true
}

function validNum(num)
{   var invalidChars = 'abcdefghijklmnopqrstuvwxyz!£$%^&*_+=`¬{}[]:@~;#<>?,./\'|¦'
	for (i=0; i<invalidChars.length; i++)
		{	var badChar = invalidChars.charAt(i)
			if (num.indexOf(badChar,0) > -1)
			{ return false	}
		}
	return true
}


function validEmail(addr) {
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|<>';

	for (i=0; i<invalidChars.length; i++) {
   		if (addr.indexOf(invalidChars.charAt(i),0) > -1) { return false; }
	}

	for (i=0; i<addr.length; i++) {
   		if (addr.charCodeAt(i)>127) { return false; }
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) { return false; }

	if (atPos == 0) { return false; }

	if (addr.indexOf('@', atPos + 1) > - 1) { return false; }

	if (addr.indexOf('.', atPos) == -1) { return false; }

	if (addr.indexOf('@.',0) != -1) { return false; }

	if (addr.indexOf('.@',0) != -1){ return false; }

	if (addr.indexOf('..',0) != -1) { return false; }

	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	
	var domains = new Array('com','net','org','edu','gov','uk','info');
	
	if ((suffix.length < 2) || (suffix.length > 4))
	{ return false; }
	else 
	{	for(i=0; i<domains.length; i++)
		{	if ( suffix == domains[i] )
			{ return true; }
		}
		return false;
	}

	return true;
}



var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var monthName = new Array('January','February','March','April','May','June','July','August','September','October','November','December');

function checkDate(d,m,y,date)
{
	var day = d;
	var month = m;
	var year = y;

	if (year/4 == parseInt(year/4))
		monthLength[1] = 29;

	if (day > monthLength[month-1])
		return "The date " + d + "/" + m + "/" + y + "/" + " does not exist. \nThere are only " + monthLength[month-1] + " days in " + monthName[month-1] + " " + y + ".\n\nPlease correct the entry for: " + date;

	monthLength[1] = 28;

	var now = new Date();
	now = now.getTime(); //NN3

	var dateToCheck = new Date();
	dateToCheck.setYear(year);
	dateToCheck.setMonth(month-1);
	dateToCheck.setDate(day);
	var checkDate = dateToCheck.getTime();

	var futureDate = (now < checkDate);
	var pastDate = (now > checkDate);

	if (futureDate == true)
	 { return "The date " + d + "/" + m + "/" + y + "/" + " occurs in the future.\n\nPlease correct the entry for: " + date; }
	 
	return ""
}