var isDOM=document.getElementById?1:0;

var isIE=document.all?1:0;

var isNS4=navigator.appName=='Netscape'&&!isDOM?1:0;



function getRef(i, p) {

	p = !p ? document : p.navigator ? p.document:p;

	return isIE ? p.all[i]:isDOM ? (p.getElementById ? p : p.ownerDocument ).getElementById(i) : isNS4 ? p.layers[i] : null;

}



function goBack() {

		window.history.back();

}



var passminlen = 6;

var datesep = '/';

var timesep = ':';



function validate(field, type, name) {

		switch (type) {

				case 'string':

					if (field.value == '') {

						alert(name);

						field.focus();

						return false;

					}

					break;

					

				case 'email':

					if (field.value.indexOf('@') == -1 

							|| field.value.indexOf('.') == -1 

							|| field.value.indexOf('.', field.value.indexOf('@')) <= field.value.indexOf('@')+1

							|| field.value.length < 6) {

						

						alert(name);

						field.focus();

						return false;

					}

					break;

				

				case 'password':

					if (field.value == ''

							|| field.value.length < passminlen) {

						alert(name);

						field.focus();

						return false;

					}

					break;

				

				case 'number':

					for (var x=0; x<field.value.length; x++) {

						var ch = field.value.charAt(x);

						

						if (( ch < '0' || ch > '9' ) && ch != '.' && ch != '-') {

							alert(name);

							field.focus();

							return false; 

						}

					}

					break;

					

				case 'non0number':

					if (field.value == '' || Number(field.value) == 0) {

						alert(name);

						field.focus();

						return false;

					}

					for (var x=0; x<field.value.length; x++) {

						var ch = field.value.charAt(x);

						

						if (( ch < '0' || ch > '9' ) && ch != '.') {

							alert(name);

							field.focus();

							return false; 

						}

					}

					break;

				

				case 'date_mdy':

					var d = new Date(field.value.substr(6, 4)

														, Number(field.value.substr(0, 2))-1

														, field.value.substr(3, 2));

					

					var d2 = ((d.getMonth() < 9)?'0':'')+Number(d.getMonth()+1).toString()+datesep

										+((d.getDate() < 10)?'0':'')+Number(d.getDate()).toString()+datesep

										+Number(d.getFullYear()).toString();

					

					if ((field.value != d2 

							|| field.value.charAt(2) != datesep

							|| field.value.charAt(5) != datesep

							|| field.value.length != 10) && field.value != '') {

						alert(name);

						field.focus();

						return false; 

					}

					break;

					

				case 'date_dmy':

					var d = new Date(field.value.substr(6, 4)

														, Number(field.value.substr(3, 2))-1

														, field.value.substr(0, 2));

					

					var d2 = ((d.getDate() < 10)?'0':'')+Number(d.getDate()).toString()+datesep

										+((d.getMonth() < 9)?'0':'')+Number(d.getMonth()+1).toString()+datesep

										+Number(d.getFullYear()).toString();

					

					if ((field.value != d2 

							|| field.value.charAt(2) != datesep

							|| field.value.charAt(5) != datesep

							|| field.value.length != 10) && field.value != '') {

						alert(name);

						field.focus();

						return false; 

					}

					break;

					

				case 'time24':

					if ((field.value.charAt(2) != timesep

							|| field.value.length != 5

							|| Number(field.value.substr(0, 2)) > 23

							|| Number(field.value.substr(3, 2)) > 59)

							&& field.value != '') {

						alert(name);

						field.focus();

						return false; 

					}

					break;

					

				case 'time12':

					if ((field.value.charAt(2) != timesep

							|| field.value.length != 7

							|| (field.value.substr(6, 2) != 'am' && field.value.substr(6, 2) != 'pm')

							|| Number(field.value.substr(0, 2)) > 12

							|| Number(field.value.substr(3, 2)) > 59)

							&& field.value != '') {

						alert(name);

						field.focus();

						return false; 

					}

					break;

					

				case 'radio':

					if (field.value == null) {

						alert(name);

						return false; 

					}

					break;

					

				case 'url':

					if (field.value.substr(0, 7) != 'http://' 

							|| field.value.indexOf('.') == -1 

							|| field.value.indexOf(' ') != -1 

							|| field.value.length < 11) {

						

						alert(name);

						field.focus();

						return false;

					}

					break;

		}

		

		return true;

}



function valPassword(pass, confirm_,alertmsg) {

		if (pass.value != confirm_.value) {

			alert(alertmsg);

			pass.focus();

			return false;

		}

			

		return true;

}



function ConfirmDel(url, name) {

		if (confirm(name))

			window.location.href = url;

}



function lxSelectMove(source, destine) {



	var src = getRef(source);

	var dst = getRef(destine);

	var temp = new Array();

	

	for (var x=0; x<src.length; x++)

		if (src.options[x].selected) {

			dst.options[dst.length] = new Option(src.options[x].text, src.options[x].value, false, false);

			temp.push(src.options[x].value);

		}

		

	for (x=0; x<temp.length; x++)

		for (y=0; y<src.length; y++)

			if (src.options[y].value == temp[x]) {

				src.remove(y);

				break;

			}

}



function lxSelectList(listname) {



	var lname = getRef(listname);

	

	for (var x=0; x<lname.length; x++)

		lname.options[x].selected = true;

}



function explode(separator, str) {

	var rest = str;

	var elements = Array();

	

	while (rest.indexOf(separator) != -1) {

		elements[elements.length] = rest.substring(0, rest.indexOf(separator));

		rest = rest.substring(rest.indexOf(separator)+1, rest.length);

	}

	

	if (rest != '')

		elements[elements.length] = rest;



	return elements;	

}



function implode(glue, pieces) {

	var str = "";

	

	for (var x=0; x<pieces.length; x++) {

		str = str+pieces[x];

		

		if (x < pieces.length-1)

			str = str+glue;

	}

	

	return str;

}



function limitchars(field, maxchars, txtalert) {

	if (field.value.length > maxchars) {

		field.value = field.value.substr(0, maxchars);

		alert(txtalert);

	}

}



function showDiv(id) {

	var divref = getRef(id);

	

	if (divref != null) {

		if (divref.style.display == 'none')

			divref.style.display = 'block';

		else

			divref.style.display = 'none';

	}

}

function addBook () {
	var version=0;	
	// for FF		
		if(navigator.userAgent.indexOf("Firefox")!=-1){
			var versionindex=navigator.userAgent.indexOf("Firefox")+8;
	
			if (parseInt(navigator.userAgent.charAt(versionindex))>=1){			
				window.sidebar.addPanel('BioMass Investors','http://www.biomassinvestors.com',"");
			} 
	// for IE	
		}  else if (navigator.appVersion.indexOf("MSIE")!=-1){
			temp=navigator.appVersion.split("MSIE")
			version=parseFloat(temp[1])
			if (version>=5){
				window.external.addFavorite('http://www.biomassinvestors.com','BioMass Investors');
			}
	// for others
		} else { 
				alert(  'To bookmark this site, click on Bookmarks > Add bookmark or press Ctrl+D.');
		}
}