function sniffer(){

	var msgstart = 'Unfortunately you need to be using Microsoft Internet Explorer Version 5.5 or above to fully utilize our services.\nHowever, it appears that you are using ';
	var msgend = '\n\nIf you want to subscribe to BetterSelling.com then you need to ugrade your browser.\n\n';
	msgend += 'Please note: We are aware of this issue and are currently working to provide support for Netscape and Opera users.\n';
	
	if (navigator.appName == "Netscape"){
		
		alert(msgstart + navigator.appName + msgend);
		return false;

	} else if (navigator.appName == "Microsoft Internet Explorer"){

		if (navigator.userAgent.indexOf("Opera") >= 0){

			alert(msgstart + 'Opera' + msgend);
			return false;

		} else if (navigator.userAgent.indexOf("AOL") >= 0){

			return true;

		} else {
	
			// Is actually IE
			//if ((navigator.userAgent.indexOf("5") >= 0)||(navigator.userAgent.indexOf("6") >= 0)){

				return true;

			/*
			} else {

				alert(msgstart + 'an older version of Internet Explorer' + msgend);
				return false;

			}// end if
			*/

		}// end if

	}// end if

}// end if


function popup(url, w, h) {
	var from_top = (screen.height - h) / 2;
	var from_left = (screen.width - w) / 2;
	var properties = 'height=' + h + ',width=' + w + ',top=' + from_top + ',left=' + from_left + ',scrollbars=no,status=no';
	
	win = window.open(url, '', properties);

	if (parseInt(navigator.appVersion) >= 4){
		win.window.focus();
	}// end if
}// end function


function fullPopup(url) {
	var properties = 'height=' + screen.height + ',width=' + screen.width + ',top=0,left=0,scrollbars=no,status=no';
	
	win = window.open(url, '', properties);

	if (parseInt(navigator.appVersion) >= 4){
		win.window.focus();
	}
}// end function


function clearField(fieldname){

	if (fieldname.defaultValue == fieldname.value){
		fieldname.value = "";
	}// end if

}// end function


function statMess(){
	window.status = 'Welcome to BetterSelling.com - The No.1 Sales Resource on the Internet';
}// end function


function showDiv(toChange){
	divs = document.getElementsByTagName("div");
	divs[toChange].style.display = "inline";
}// end function


function hideDiv(toChange){
	divs = document.getElementsByTagName("div");
	divs[toChange].style.display = "none";
}// end function


function validateForm(formname){
	
	var msg = '';
	
	if(formname.from.value == ''){
		msg += '- "From" is a required field\n';
	}// end if
	
	if(formname.subject.value == ''){
		msg += '- "Subject" is a required field\n';
	}// end if
	
	if(formname.message.value == ''){
		msg += '- "Message" is a required field\n';
	}// end if
	
	if(msg != ''){
		alert('Please complete this form correctly:\n' + msg);
		return false;
	}// end if
	
}// end of function


function validatePassChange(formname){
	
	var errmsg = '';
	
	// validate passwords
	if(formname.newpass.value == ''){
		errmsg += '   -   Please enter a new password\n\n';
	} else if(formname.newpass.value.length < 6){
		errmsg += '   -   Your new password needs to be a minimum of six characters in length\n\n';
	} else if(formname.newpass.value.length > 12){
		errmsg += '   -   Your new password needs to be a maximum of twelve characters in length\n\n';
	} else if(formname.confirmpass.value == ''){
		errmsg += '   -   Please confirm your new password\n\n';
	} else if(formname.confirmpass.value != formname.newpass.value){
		errmsg += '   -   Your new password and confirmation values don\'t match\n\n';
	}// end if

	if(errmsg != ''){
		alert('Please complete this form correctly:\n\n' + errmsg);
		return false;
	}// end if
	
}// end of function


function validateDetailChange(formname){
	
	var errmsg = '';
	var fieldname = '';
	
	for(cnt=0; cnt<formname.elements.length; ++cnt){
		
		// validate required fields
		if((formname.elements[cnt].name.lastIndexOf('_R', (formname.elements[cnt].name.length -2)) != -1)&&(formname.elements[cnt].value == '')){

			fieldname = formname.elements[cnt].name.substring(0, (formname.elements[cnt].name.length - 2));
			fieldname = fieldname.substring(0,1).toUpperCase() + fieldname.substring( 1 );
			errmsg += '   -   \'' + fieldname + '\' is a required field\n\n';

		}// end if

		// validate select fields
		if((formname.elements[cnt].name.lastIndexOf('_S', (formname.elements[cnt].name.length -2)) != -1)&&(formname.elements[cnt].value == 'none')){

			fieldname = formname.elements[cnt].name.substring(0, (formname.elements[cnt].name.length - 2));
			fieldname = fieldname.substring(0,1).toUpperCase() + fieldname.substring( 1 );
			errmsg += '   -   Please select an option from the drop-down menu \'' + fieldname + '\'\n\n';

		}// end if

		// clean vars
		fieldname = '';

	}// end for
	
	if(errmsg == ''){
		return true;
	} else {
		var errintro = 'There are the following problems with the information that you entered:\n\n';
		alert(errintro + errmsg);
		return false;
	}// end if
	
}// end of function


function validateEmailChange(formname){
	
	var errmsg = '';
	var email = formname.email.value;
	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	var check=/@[\w\-]+\./;
	var checkend=/\.[a-zA-Z]{2,3}$/;

	if(((email.search(exclude) != -1)||(email.search(check)) == -1)||(email.search(checkend) == -1)){
		errmsg += '   -   The email address that you supplied is not valid\n\n';
	}// end if

	if(errmsg != ''){
		alert('Please complete this form correctly:\n\n' + errmsg);
		return false;
	}// end if
	
}// end of function


function confirmDelete(deltype, delname){
	if(confirm('Are you sure that you want to permanently delete the '+deltype+' "'+delname+'"?')){
		return true;
	} else {
		return false;
	}// end if
}// end function


function validateSignup(formname){

	var errmsg = '';
	var fieldname = '';
	
	for(cnt=0; cnt < formname.elements.length; ++cnt){
		
		// validate required fields
		if((formname.elements[cnt].name.lastIndexOf('_R', (formname.elements[cnt].name.length -2)) != -1)&&(formname.elements[cnt].value == '')){

			fieldname = formname.elements[cnt].name.substring(0, (formname.elements[cnt].name.length - 2));
			fieldname = fieldname.substring(0,1).toUpperCase() + fieldname.substring( 1 );
			errmsg += '   -   \'' + fieldname + '\' is a required field\n\n';

		}// end if

		// validate select fields
		if((formname.elements[cnt].name.lastIndexOf('_S', (formname.elements[cnt].name.length -2)) != -1)&&(formname.elements[cnt].value == 'none')){

			fieldname = formname.elements[cnt].name.substring(0, (formname.elements[cnt].name.length - 2));
			fieldname = fieldname.substring(0,1).toUpperCase() + fieldname.substring( 1 );
			errmsg += '   -   Please select a ' + fieldname + ' from the drop-down menu\n\n';

		}// end if
		
		// validate email fields
		if(formname.elements[cnt].name.lastIndexOf('_E', (formname.elements[cnt].name.length -2)) != -1){

			fieldname = formname.elements[cnt].name.substring(0, (formname.elements[cnt].name.length - 2));
			fieldname = fieldname.substring(0,1).toUpperCase() + fieldname.substring( 1 );
			
			var email = formname.elements[cnt].value;
			var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
			var check=/@[\w\-]+\./;
			var checkend=/\.[a-zA-Z]{2,3}$/;
		
			if(((email.search(exclude) != -1)||(email.search(check)) == -1)||(email.search(checkend) == -1)){
				errmsg += '   -   The email address that you supplied is not valid\n\n';
			}// end if

		}// end if


		// clean vars
		fieldname = '';

	}// end for
	
	// validate passwords
	if(formname.trainer.value == 'none'){
		errmsg += '   -   Please indicate whether you are responsible for the training of others\n\n';
	}// end if
	
	// validate passwords
	if(formname.newpass.value == ''){
		errmsg += '   -   Please enter a password\n\n';
	} else if(formname.newpass.value.length < 6){
		errmsg += '   -   Your password needs to be a minimum of six characters in length\n\n';
	} else if(formname.newpass.value.length > 12){
		errmsg += '   -   Your password needs to be a maximum of twelve characters in length\n\n';
	} else if(formname.confirmpass.value == ''){
		errmsg += '   -   Please confirm your password\n\n';
	} else if(formname.confirmpass.value != formname.newpass.value){
		errmsg += '   -   Your password and confirmation values don\'t match\n\n';
	}// end if
	

	if((errmsg == '')&&(sniffer() == true)){
		return true;
	} else {
		var errintro = 'There are the following problems with the information that you entered:\n\n';
		alert(errintro + errmsg);
		return false;
	}// end if

}// end function


function toggleTaskList(totoggle){

	links = document.getElementsByTagName("a");

	if(links[totoggle].className == 'ctask'){
		links[totoggle].className = 'atask';
	} else {
		links[totoggle].className = 'ctask';
	}// end if	

}// end function


function popupDialog(url, w, h){
	var properties = 'dialogHeight:' + h + 'px, dialogWidth:' + w + 'px, center:yes, status:no, resizable:no, help:no0, scroll:no';	
	win = window.showModalDialog(url,window,'dialogHeight:' + h + 'px; dialogWidth:' + w + 'px; edge:raised; center:yes; help:no; resizable:no; status:no; scroll:no;');	
}// end function


function checkAll(formName, changeTo){
	for(i = 0, n = document.forms[formName].elements.length; i < n; i++){
		if (document.forms[formName].elements[i].name.indexOf('task_') != -1){
			document.forms[formName].elements[i].checked = changeTo;
		}// end if
	}// end for
}// end function


function checkForAnswer(formname){
	var stat = false;
	for (i = 0; i < formname.elements.length; i++){
		var currelem = formname.elements[i];
		if (currelem.type == "radio" && currelem.checked) {
			stat = true;
			break;
		}// end if
	}// end for
	if (!stat){
		alert('Please select an answer...');
	}// end if
	return stat;
}// end function


function validateLogin(formname){
	
	var msg = '';
	var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	
	if(formname.username.value == ''){
		msg += 'Please supply your username.\n\n';
		msg += 'N.B. Your username is the email address\nthat you supplied when you first subscribed.';
		formname.username.focus();
	} else if (re.test(formname.username.value) != true){
		msg += 'The username you supplied is not a valid email address.\n\n';
		msg += 'N.B. Your username is the email address\nthat you supplied when you first subscribed.';
		formname.username.focus();
		formname.username.select();
	} else if(formname.password.value == ''){
		msg += 'Please supply your password.';
		formname.password.focus();
	}// end if
		
	if (msg == ''){
		return true;
	} else {
		alert(msg);
		return false;
	}// end if
	
}// end function


function validateTask(formname){
	if(formname.label.value == ''){
		alert('Please enter a \'Subject\' for this task.');
		formname.label.focus();
		return false;
	}// end if
}// end function


function validateProfileName(formname){
	if(formname.label.value == ''){
		alert('Please enter a name for this sales opportunity.');
		formname.label.focus();
		return false;
	}// end if
}// end function
