
//*****************************************************
// Show window status message
//*****************************************************
function showStatus(text)
	{
	window.setTimeout("window.status='" + text + "'", 0);
	}


//*****************************************************
// Popup window function
//*****************************************************

function popup(url, name, width, height, scrl) {
	
	settings=
	"toolbar=no,location=no,directories=no,"+
	"status=no,menubar=no,scrollbars="+scrl+","+
	"resizable=yes,left=50,top=50,width="+width+",height="+height;
	
	NewWindow=window.open(url,name,settings);
}

//*****************************************************
// Popup a maximised browser window
//*****************************************************

function popupMax(url, name) {
	
	settings=
	"toolbar=yes,location=yes,directories=yes,status=yes," +
	"menubar=yes,scrollbars=yes,resizable=yes,left=0,top"  +
	"=0,width="+screen.width+",height="+screen.height;

	NewWindow=window.open(url,name,settings);
}


//*****************************************************
// Show a picture in a popup
//*****************************************************

function showPic(picId,picDesc,picCopyright,width,height) {
	pageName = "/showpic.jsp?picId=" + picId + "&picDesc=" + picDesc + "&picCopyright=" + picCopyright;
	page="photo";
	popup(pageName, page, width, height, "yes");
}

//*****************************************************
// Show a video in a popup
//*****************************************************

function showVid(vidId,vidCopyright,vidWidth, vidHeight) {
	pageName = "/showvid.jsp?vidId=" + vidId + "&vidCopyright=" + vidCopyright + "&vidWidth=" + vidWidth + "&vidHeight=" + vidHeight;
	page="video";
	popup(pageName, page, vidWidth + 75, vidHeight + 125, "yes");
}

//*****************************************************
// Validate add/update problem form
//*****************************************************
function validateReplyForm() {
	if (document.form1.topicText.value.length == 0) {
		alert('Please enter a reply.');
		return false;
	} else {
		return true;
	}
}

//*****************************************************
// Validate add/update problem form
//*****************************************************
function validateProblemForm() {
	message = '';
	name = document.form1.newName.value;
	desc = document.form1.newDescription.value;
	ccyy = document.form1.ccyy.value;
	mm = document.form1.mm.value;
	dd = document.form1.dd.value;


	if (name == '') {
		message += "Please enter a name \n";
	}

	if (desc == '') {
		message += "Please enter a description \n";
	}

	if (ccyy != '' || mm !='' || dd !='') {
		if (isNaN(ccyy) || isNaN(mm) || isNaN(dd) ) {
			message += "Dates must be numeric \n";
		}

		if (ccyy>2003 || ccyy<1998) {
			message += "Year is out of range \n ";
		}

		if (mm>12 || mm<01) {
			message += "Month is out of range \n ";
		}

		if (dd>31 || dd<01) {
			message += "Day is out of range \n";
		}
	}

	if (message=='') {
		return true;
	} else {
		alert(message);
		return false;
	}

}

//*****************************************************
// Validate new problem form
//*****************************************************
function validateNewProblemForm() {
	message = '';

	name = document.form1.probname.value;
	desc = document.form1.probdesc.value;
	ccyy = document.form1.ccyy.value;
	mm = document.form1.mm.value;
	dd = document.form1.dd.value;
	yname = document.form1.yourname.value;
	yemail = document.form1.youremail.value;


	if (document.form1.countries.value == '-1' && document.form1.countryname.value == '') {
		message += "Please select a country, or enter a new country name\n";
	}

	// set text from select box	
	if (document.form1.countries.value != '-1' && document.form1.countryname.value == '') {
		document.form1.hcountryname.value = document.form1.countries[document.form1.countries.selectedIndex].text;
	}


	if (document.form1.areas.value == '-1' && document.form1.areaname.value == '') {
		message += "Please select an area, or enter a new area name\n";
	}

	// set text from select box	
	if (document.form1.areas.value != '-1' && document.form1.areaname.value == '') {
		document.form1.hareaname.value = document.form1.areas[document.form1.areas.selectedIndex].text;
	}


	if (document.form1.crags.value == '-2' && document.form1.cragname.value == '') {
		message += "Please select a crag, or enter a new crag name\n";
	}

	// set text from select box	
	if (document.form1.crags.value != '-1' && document.form1.crags.value != '-2' && document.form1.cragname.value == '') {
		document.form1.hcragname.value = document.form1.crags[document.form1.crags.selectedIndex].text;
	}

	if (name == '') {
		message += "Please enter a name, 'Unknown' if you don't know it \n";
	}

	if (desc == '') {
		message += "Please enter a description \n";
	}

	if (yname == '') {
		message += "Please enter your name \n";
	}

	if (yemail == '') {
		message += "Please enter your contact email \n";
	}

	if (ccyy != '' || mm !='' || dd !='') {
		if (isNaN(ccyy) || isNaN(mm) || isNaN(dd) ) {
			message += "Dates must be numeric \n";
		}

		if (ccyy>2003 || ccyy<1998) {
			message += "Year is out of range \n ";
		}

		if (mm>12 || mm<00) {
			message += "Month is out of range \n ";
		}

		if (dd>31 || dd<00) {
			message += "Day is out of range \n";
		}
	}

	if (message=='') {
		return true;
	} else {
		alert(message);
		return false;
	}

}


function subProbForm(selType) {

	setFormField('process','problems');

	switch (selType) {
		case 'countries':
			setFormField('sub','redisplay');
			setFormField('act','updateAreas');
			setFormField('countryId',document.form1.countries.value);
			setFormField('areaId',document.form1.areas.value);
			setFormField('cragId',document.form1.crags.value);
			break;
		case 'areas':
			setFormField('sub','redisplay');
			setFormField('act','updateCrags');
			setFormField('countryId',document.form1.countries.value);
			setFormField('areaId',document.form1.areas.value);
			setFormField('cragId',document.form1.crags.value);
			break;
		case 'crags':
			if (document.form1.areas.value == '-1') {
				alert ('please select an area first');
				return false;
				break;
			} else {
				setFormField('sub','search');
				setFormField('countryId',document.form1.countries.value);
				setFormField('areaId',document.form1.areas.value);
				setFormField('cragId',document.form1.crags.value);
				break;
			}

		case 'probname':
			setFormField('sub','searchName');
			setFormField('countryId',document.form1.countries.value);
			setFormField('areaId',document.form1.areas.value);
			setFormField('cragId',document.form1.crags.value);
			setFormField('probName',document.form1.problemName.value);
			break;

		case 'newprob':
			setFormField('sub','newprob');
			break;
			
		default: 
			return false; 
			break;
	}

	document.form1.action = '/servlet/ProblemsServlet';
	document.form1.submit();

}

function checkNameField() {

	if (document.form1.problemName.value == '') {
		alert("Please fill in a name or part-name to search for, then click go.");
		return false;
	} else {
		subProbForm('probname');
		return true;
	}

}

function checkNameFieldPhotos() {

	if (document.form1.problemName.value == '') {
		alert("Please fill in a name or part-name to search for, then click go.");
		return false;
	} else {
		subPhotoForm('probname');
		return true;
	}

}

function setFormField(fieldName, value) {
	command = "document.form1." + fieldName + ".value='" + value +"'";
	eval(command);
}

function subNewProbForm(selType) {

	setFormField('process','newproblems');

	switch (selType) {
		case 'countries':
			setFormField('sub','redisplay');
			setFormField('act','updateAreas');
			setFormField('countryId',document.form1.countries.value);
			setFormField('areaId',document.form1.areas.value);
			setFormField('cragId',document.form1.crags.value);
			break;
		case 'areas':
			setFormField('sub','redisplay');
			setFormField('act','updateCrags');
			setFormField('countryId',document.form1.countries.value);
			setFormField('areaId',document.form1.areas.value);
			setFormField('cragId',document.form1.crags.value);
			break;
		case 'crags':
			if (document.form1.areas.value == '-1') {
				alert ('please select an area first');
				return false;
				break;
			} else {
				setFormField('sub','search');
				setFormField('countryId',document.form1.countries.value);
				setFormField('areaId',document.form1.areas.value);
				setFormField('cragId',document.form1.crags.value);
				break;
			}

		
		default: 
			return false; 
			break;
	}

	document.form1.action = '/servlet/ProblemsServlet';
	document.form1.submit();

}

function subPhotoForm(selType) {

	setFormField('process','photos');

	switch (selType) {
		case 'countries':
			setFormField('sub','redisplay');
			setFormField('act','updateAreas');
			setFormField('countryName',document.form1.countries.value);
			break;
		case 'areas':
			setFormField('sub','redisplay');
			setFormField('act','updateCrags');
			setFormField('countryName',document.form1.countries.value);
			setFormField('areaName',document.form1.areas.value);
			break;
		case 'photographers':
			setFormField('sub','searchPhotographer');
			setFormField('act','');
			setFormField('photographerName',document.form1.photographers.value);
			break;
		case 'crags':
			if (document.form1.areas.value == '-2') {
				alert ('please select an area first');
				return false;
				break;
			} else {
				setFormField('sub','search');
				setFormField('countryName',document.form1.countries.value);
				setFormField('areaName',document.form1.areas.value);
				setFormField('cragName',document.form1.crags.value);
				break;
			}
		case 'probname':
			setFormField('sub','searchName');
			setFormField('countryName',document.form1.countries.value);
			setFormField('areaName',document.form1.areas.value);
			setFormField('cragName',document.form1.crags.value);
			setFormField('probName',document.form1.problemName.value);
			break;


		
		default: 
			return false; 
			break;
	}

	document.form1.action = '/servlet/Photos';
	document.form1.submit();

}

function subThanksForm(selType) {

	switch (selType) {
		case 'database':
			setFormField('process','problems');
			break;
		case 'form':
			setFormField('process','newproblems');
			break;
		default: 
			return false; 
			break;
	}

	document.form1.action = '/servlet/ProblemsServlet';
	document.form1.submit();

}


function maxlength(max){
   if (document.form1.probdesc.value.length >= max) {
      document.form1.probdesc.value = document.form1.probdesc.value.substring(0,max);
      alert   ("text limit reached.");
      return false;
   }
}

function resetForm(){
   document.form1.countries.selectedIndex = document.form1.countries.selectedIndex[1];
   document.form1.areas.selectedIndex = document.form1.areas.selectedIndex[1];
   document.form1.crags.selectedIndex = document.form1.crags.selectedIndex[1];
  }
  
function resetPhotoForm(){
   document.form1.countries.selectedIndex = document.form1.countries.selectedIndex[1];
   document.form1.areas.selectedIndex = document.form1.areas.selectedIndex[1];
   document.form1.crags.selectedIndex = document.form1.crags.selectedIndex[1];
  }
  
  
//*****************************************************
// Validate photo upload form
//*****************************************************
function validateUploadForm(form) {
	message = '';
	fileName = 		form.file1.value;
	problemName = 	form.problemName.value;
	cragName = 		form.cragName.value;
	boulderer = 	form.boulderer.value;
	copyrightName = form.copyrightName.value;
	yourName = 		form.yourName.value;
	yourEmail = 	form.yourEmail.value;

	if (fileName == '') {
		message += "Please use the browse button to select a file \n";
	}

	if (problemName == '') {
		message += "Please enter a problem name \n";
	}

	if (boulderer == '') {
		message += "Please enter a boulderer name \n";
	}

	if (copyrightName == '') {
		message += "Please enter the copyright or photographer details \n";
	}

	if (yourName == '') {
		message += "Please enter your name\n";
	}

	if (yourEmail == '') {
		message += "Please enter your email address\n";
	}

	if (message=='') {
		return true;
	} else {
		alert(message);
		return false;
	}

}

