function isleapyr(nyr)
{
	var ret = false;
	var yr = parseInt(nyr);
	if(yr%4 == 0) {
		if(yr%100 != 0) ret = true;
	        else if(yr%400 == 0) ret = true;
	}
	return ret;
}

function validDate(dt)
{
	var rv = false;
	var dt_re = /^([0-1]?[0-9])\/([0-3]?[0-9])\/([12][90][0-9][0-9])$/;
	if(dt && dt.length > 0) {
		var regs = dt_re.exec(dt);
		if(regs) {
			var mo = regs[1];
			var day = regs[2];
			var yr = regs[3];
			if(mo >= 1 && mo <= 12) {
				var maxd = 31;
				if(mo == 2) {
					if(isleapyr(yr)) maxd = 29;
					else maxd = 28;
				} else {
					if(mo == 4 || mo == 6 || mo == 9 || mo == 11) maxd = 30;
				}
				if(day >= 1 && day <= maxd) {
					if(yr > 1900 && yr < 2030) rv = true;
				}
			}
		}
	}
	return rv;
}

function popup(mylink, windowname) {
	if (! window.focus) return true;
	var href;
	if (typeof(mylink) == 'string') href=mylink;
	else href=mylink.href;
	windowatt = 'width=500,height=720,scrollbars=yes,resizable=yes,menubar=yes,toolbar=0,location=0,directories=0,status=0';
	if(windowname == "_mbrpopup_") windowatt = 'width=720,height=800,scrollbars=yes,resizable=yes,menubar=yes,toolbar=0,location=0,directories=0,status=0';
	if(windowname == "_infopopup_") windowatt = 'width=840,height=800,scrollbars=yes,resizable=yes,menubar=yes,toolbar=0,location=0,directories=0,status=0';
	if(windowname == "_recpopup_") windowatt = 'width=1200,height=860,scrollbars=yes,resizable=yes,menubar=yes,toolbar=yes,location=0,directories=yes,status=0';
	popwindow = window.open(href, windowname, windowatt);
	popwindow.focus();
	return false;
}
function removeCustomTooltip() {
	var title = $(this).parent().find('.poptext').html();
	$(this).attr('title',title.replace('<br />',';'));
	$(this).parent().find('.poptext').fadeOut('fast');
	$(this).parent().find('.poptext').remove();
}

function addCustomTooltip() {
	var text = $(this).attr('title');
	if(text.length > 0) {
		var posi = $(this).position();
		var top  = posi.top;
		var left = posi.left+5;
		var wid	 = $(this).width();
		$(this).attr('title','');
		$(this).parent().append('<div class="poptext">'+text.replace(/;/g,'<br />')+'</div>');
		//$(this).parent().append('<div class="poptext">'+text.replace(/ /g,'&nbsp;')+'</div>');
		$('.poptext').css({'left':(left+wid)+'px',
		//	'top':(top-$('.poptext').height())+'px',
			'top':(top-15)+'px',
			'background':'#fffeee',
			'border':'1px solid #f7a229', 'border-radius': '5px',
			'display':'none',
			'position':'absolute',
			'z-index':'1000',
			'padding':'5px',
			'font-size':'0.93em'
		});
		$('.poptext').fadeIn('fast');
	}
}

function setfocus_to_first_text() {
	var bFound = false;
	for (f=0; f < document.forms.length; f++) {

		for(i=0; i < document.forms[f].length; i++)	{

			if (document.forms[f].elements[i].type == "text") {
				if (document.forms[f][i].disabled != true) {
					// set the focus to it
					document.forms[f][i].focus();
					bFound = true;
				}
			}

			if (bFound == true)	break;
		}

		if (bFound == true)	break;
	}
}

function incouncil() {
	var ret = false;
	var c = $("input#council").val().toLowerCase();
	if(c == "mcc" || c.indexOf("meck",0) > -1) ret = true;
	return ret;
}

function checkUploadFile() { 
	var ext = document.frm.uploadfile.value;
	if(ext == '') { 
		alert('No file has been selected for upload!');
		return false;
	} else return true;
}

function setGroup(gnum, set) {
	var x=document.getElementById("rfrm");
	for(var i=0; i<x.length; i++) {
		if(x.elements[i].type == "checkbox") {
			var str=x.elements[i].name;
			var pos=str.indexOf("_");
			if(pos != -1) str = str.substr(pos+1);
			if(str == gnum) x.elements[i].checked = set;
		} else if(x.elements[i].type == "text") {
			var str=x.elements[i].name;
			var pos=str.indexOf("_");
			if(pos != -1) str = str.substr(pos+1);
			if(str == gnum) {
				if(set) {
					if(gnum >= 0 && gnum < 5) x.elements[i].value = 'Y';
					else if(gnum == 5) x.elements[i].value = 'C';
					else x.elements[i].value = "x";
				} else x.elements[i].value = "";
			}
		}
	}
	return false;
}

function setGroupNa(gnum, set) {
	var x=document.getElementById("rfrm");
	for(var i=0; i<x.length; i++) {
		if(x.elements[i].type == "text") {
			var str=x.elements[i].name;
			var pos=str.indexOf("_");
			if(pos != -1) str = str.substr(pos+1);
			if(str == gnum) {
				if(set) x.elements[i].value = "na";
				else x.elements[i].value = "";
			}
		}
	}
	return false;
}

function setHGroup(gnum, set) {
	var x=document.getElementById("rfrm");
	for(var i=0; i<x.length; i++) {
		if(x.elements[i].type == "checkbox") {
			var str=x.elements[i].name;
			var pos=str.indexOf("_");
			if(pos != -1) {
				str = str.substr(0,pos);
				str = str.substr(1);
			}
			if(str == gnum) x.elements[i].checked = set;
		} else if(x.elements[i].type == "text") {
			var str=x.elements[i].name;
			var pos=str.indexOf("_");
			var idx = -1;
			if(pos != -1) {
				idx = str.substr(pos+1);
				str = str.substr(0,pos);
				str = str.substr(1);
			}
			if(str == gnum && x.elements[i].value != "na") {
				if(idx >=0 && idx < 5) {
					if(set) x.elements[i].value = "Y";
					else x.elements[i].value = "";
				} else if(idx == 5) {
					if(set) x.elements[i].value = "C";
					else x.elements[i].value = "";
				} else {
					if(set) x.elements[i].value = "x";
					else x.elements[i].value = "";
				}
			}
		}
	}
	return false;
}

function copyreserv(res) {
	var r = res.split("_");
	for(var i=0; i<r.length; i++) {
		var nm = "Ev_"+r[i];
		var x=document.getElementById(nm);
		if(x != null) {
			if(x.type == "checkbox") {
				x.checked = true;
			}
		}
	}
	return false ;
}

function calcAge() {
	var bdfield = document.forms["frm"].elements["birthdate"];
	if(bdfield != null) {
	var birthdate = document.forms["frm"].elements["birthdate"].value;
	var bdmsg = document.getElementById("bdmsg");
	if(validDate(birthdate)) {
		var ba = birthdate.split('/');
		if(ba.length>=3) {
		//var y = document.forms["frm"].elements["year"].value;
		y = ba[2];
		//var m = document.forms["frm"].elements["month"].value;
		m = ba[0];
		//var d = document.forms["frm"].elements["day"].value;
		d = ba[1];
		}
		if(y.length>0 && m>0 && d>0) {
			y = y*1;
			if(y < 100) {
				if(y < 20) y += 2000;
				else y += 1900;
				document.forms["frm"].elements["year"].value = y;
			}
			var thd = new Date();
			var thyr = thd.getFullYear();
			if(y < 1975 || y > thyr) {
				//alert("Year is out of range");
				document.forms["frm"].elements["age"].readOnly = false;
				document.forms["frm"].elements["age"].style.backgroundColor = "#ffffff";
				if(bdmsg) bdmsg.innerHTML = "Year is out of range";
			} else {
				var bd = new Date(y,m-1,d);
				var refdate = new Date(thyr, 6, 10);
				if(_bd_ref_) refdate = new Date(_bd_ref_);
				var a = 0;
				if(refdate > bd) {
					var i = 0;
					for(i=0;i<100;i++) {
						y++;
						var td = new Date(y,m-1,d);
						if(td <= refdate) a++;
						else break;
					}
				}
				document.forms["frm"].elements["age"].readOnly = false;
				document.forms["frm"].elements["age"].value = a;
				document.forms["frm"].elements["age"].readOnly = true;
				document.forms["frm"].elements["age"].style.backgroundColor = "#e8e8e8";
				if(bdmsg) bdmsg.innerHTML = "";
			}
		} else {
			document.forms["frm"].elements["age"].readOnly = false;
			document.forms["frm"].elements["age"].style.backgroundColor = "#ffffff";
			if(bdmsg && birthdate.length > 0) bdmsg.innerHTML = "Birth date is invalid";
		}
	} else {
		if(bdmsg) {
		       if(birthdate.length > 0) bdmsg.innerHTML = "Birth date is invalid";
		       else bdmsg.innerHTML = "";
		}
		document.forms["frm"].elements["age"].readOnly = false;
		document.forms["frm"].elements["age"].style.backgroundColor = "#ffffff";
	}
	}
	return;
}

function clkscroll(obj,opt)
{
	if(obj) {
		if(obj.type == "text") {
			if(opt == 1) {
				if(obj.value == "x") obj.value = "na";
				else if(obj.value == "na") obj.value = "";
				else if(obj.value.length == 0) obj.value = "x";
				else obj.value = "";
			} else if(opt == 2) {
				if(obj.value == "Y") obj.value = "N";
				else if(obj.value == "N") obj.value = "";
				else if(obj.value.length == 0) obj.value = "Y";
				else obj.value = "";
			} else if(opt == 3) {
				if(obj.value == "C") obj.value = "P";
				else if(obj.value == "P") obj.value = "";
				else if(obj.value.length == 0) obj.value = "C";
				else obj.value = "";
			}

			obj.readOnly = true;
		}
	}
	return;
}

function dblclkscroll(obj,opt)
{
	var br = navigator.appName;
	var pos = br.indexOf("Explorer");
	if(pos != -1) clkscroll(obj,opt)
	return true;
}

function bklighton(obj)
{
	if(obj) obj.style.backgroundColor = "#ccff22";
}

function bklightoff(obj)
{
	if(obj) obj.style.backgroundColor = "";
}


function loadXmlDoc(url, callback)
{
	var xmlhttp = null;
	var cb_func = null;
	cb_func = callback;
	if (window.XMLHttpRequest) {  // code for all new browsers
		xmlhttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {  // code for IE5 and IE6
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (xmlhttp!=null) {
		xmlhttp.onreadystatechange = function() {

			if (xmlhttp.readyState==4) { // 4 = "loaded"
				if (xmlhttp.status==200) {// 200 = OK
					cb_func(xmlhttp);
				} else {
					alert("Problem retrieving XML data");
				}
			}
		}
	  xmlhttp.open("GET",url,true);
	  xmlhttp.send(null);
	} else  {
	  alert("Your browser does not support XMLHTTP.");
	}
}

function makeXmlDoc(xmlhttp)
{
	var xmlDoc = null;
	try {
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.loadXML(xmlhttp.responseText);
	} catch (e) {
		try {
			parser = new DOMParser();
			xmlDoc = parser.parseFromString(xmlhttp.responseText, "text/xml");
		} catch (e) {
			alert(e.message);
		}
	}
	return xmlDoc;
}


