<!-- //

	function thisIsPop(link, pWidth, pHeight) {

		var popWindow = null;
		var popPage = link;		

		if (!pWidth) {
			var pWidth = 550;
		}	
		
		if (!pHeight) {
			var pHeight = 450;
		}	

			var displayString = "width=" + pWidth + ",height=" + pHeight + ",scrollbars=1,resizable";   
			
    		popWindow = window.open(popPage,'PopWindow',displayString);

				if (popWindow != null) {
					if (popWindow.opener == null) { popWindow.opener = self; }
					popWindow.opener.name = "popDaddy";
				} 

	}


/* hack IE to emulate block element hovers */
sfHover = function() {
	var sfEls = document.getElementById("navLevel1L").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className += " sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
	
	var sfsubEls = document.getElementById("navLevel1R").getElementsByTagName("LI");
	for (var i=0; i < sfsubEls.length; i++) {
		sfsubEls[i].onmouseover=function() {
			this.className += " sfhover";
		}
		sfsubEls[i].onmouseout=function() {
			this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}	
	
}

if (window.attachEvent) window.attachEvent("onload", sfHover);








var deleteForm = false;

function Is() {
    var agent   = navigator.userAgent.toLowerCase();
    this.major  = parseInt(navigator.appVersion);
    this.minor  = parseFloat(navigator.appVersion);
    this.ns     = ((agent.indexOf('mozilla')   != -1) &&
                  (agent.indexOf('spoofer')    == -1) &&
                  (agent.indexOf('compatible') == -1) &&
                  (agent.indexOf('opera')      == -1) &&
                  (agent.indexOf('webtv')      == -1));
    this.ns2    = (this.ns && (this.major      ==  2));
    this.ns3    = (this.ns && (this.major      ==  3));
    this.ns4    = (this.ns && (this.major      ==  4));
    this.ns6    = (this.ns && (this.major      >=  5));
    this.ie     = (agent.indexOf("msie")       != -1);
    this.ie3    = (this.ie && (this.major      <   4));
    this.ie4    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 5.0")   == -1));
    this.ie5    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 5.0")   != -1));
    this.ieX    = (this.ie && !this.ie3 && !this.ie4);
}

var is = new Is();

function launch(newURL, newName, newFeatures, orgName) {
	var PopWin = open(newURL, newName, newFeatures);
	if (PopWin.opener == null) // if something went wrong
		PopWin.opener = window;
		PopWin.opener.name = orgName;
	return PopWin;
}

var ah = 480;
var aw = 640;

function launchPop(url,toolbar,resize,scroll,size) {
	if(is.ns4||is.ns6) {
		available_width=innerWidth;
		available_height=innerHeight;
	} else if(is.ie4||is.ie5) {
		available_width=document.body.clientWidth;
		available_height=document.body.clientHeight;
	}

	if(size=='login') {
		ah = 320;
		aw = 320;
	}else if(size=='calendar') {
		ah = 180;
		aw = 160;
	} else if(size=='landscape') {
		ah = 530;
		aw = 658;
	} else if(size=='portrait') {
		ah = 658;
		aw = 530;
	} else if(size=='printer') {
		ah = available_height;
		aw = 660;
	} else if(size=='full') {
		ah = available_height;
		aw = available_width;
	}

	var popLeft = (available_width/2)-(aw/2);
	var popTop = (available_height/2)-(ah/2);
	var str = "left="+popLeft+",screenX="+popLeft+",top="+popTop+",screenY="+popTop;

	if (!window.myPop || window.myPop.closed) {
		str += ",height=" + ah;
		str += ",innerHeight=" + ah;
		str += ",width=" + aw;
		str += ",innerWidth=" + aw;
		if(scroll){
			str += ",scrollbars=yes";
		}
		if(toolbar){
			str += ",toolbar=yes";
		}
		if(resize){
			str += ",resizable";
		}
		str += ",status=no";
		myPop = open(url, "myPop", str);
		myPop.focus();
	} else {
		myPop.location.href = url;
		myPop.focus();
	}
}

function Is() {
    var agent   = navigator.userAgent.toLowerCase();
    this.major  = parseInt(navigator.appVersion);
    this.minor  = parseFloat(navigator.appVersion);
    this.ns     = ((agent.indexOf('mozilla')   != -1) &&
                  (agent.indexOf('spoofer')    == -1) &&
                  (agent.indexOf('compatible') == -1) &&
                  (agent.indexOf('opera')      == -1) &&
                  (agent.indexOf('webtv')      == -1));
    this.ns2    = (this.ns && (this.major      ==  2));
    this.ns3    = (this.ns && (this.major      ==  3));
    this.ns4    = (this.ns && (this.major      ==  4));
    this.ns6    = (this.ns && (this.major      >=  5));
    this.ie     = (agent.indexOf("msie")       != -1);
    this.ie3    = (this.ie && (this.major      <   4));
    this.ie4    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 5.0")   == -1));
    this.ie5    = (this.ie && (this.major      ==  4) &&
                  (agent.indexOf("msie 5.0")   != -1));
    this.ieX    = (this.ie && !this.ie3 && !this.ie4);
}

var is = new Is();



function trapint() {
	if (event.keyCode>46 && event.keyCode<58) {
		return true;
	} else {
		event.returnValue = false;
		return false;
	}
}

function trapfloat() {
	if (event.keyCode==13 || event.keyCode==8 || (event.keyCode>45 && event.keyCode<58)) {
		return true;
	} else {
		event.returnValue = false;
		return false;
	}
}

function trapTime() {
	if (event.keyCode==58 || event.keyCode==32 || event.keyCode==97 || event.keyCode==112 || event.keyCode==109 || (event.keyCode>45 && event.keyCode<58)) {
		return true;
	} else {
		event.returnValue = false;
		alert('Time must be in the 12:00 PM format')
		return false;
	}
}

function isValidTime(formField) {
	var errors = "";
    var jumpto = "";
	var hasMeridian = false;
	form_el = "document.getElementById('"+formField+"')";
	jumpto = eval(form_el);
	var value = jumpto.value;
	var re = /^\d{1,2}[:]\d{2}([:]\d{2})?( [aApP][mM]?)?$/;
	if (!re.test(value)) {errors = true;}
	if (value.toLowerCase().indexOf("p") != -1) { hasMeridian = true; }
	if (value.toLowerCase().indexOf("a") != -1) { hasMeridian = true; }
	var values = value.split(":");
	if ( (parseFloat(values[0]) < 0) || (parseFloat(values[0]) > 23) ) {errors = true;}
	if (hasMeridian) {
		if ( (parseFloat(values[0]) < 1) || (parseFloat(values[0]) > 12) ) {errors = true;}
	}
	if ( (parseFloat(values[1]) < 0) || (parseFloat(values[1]) > 59) ) {errors = true;}
	if (values.length > 2) {
		if ( (parseFloat(values[2]) < 0) || (parseFloat(values[2]) > 59) ) {errors = true;}
	}
	if(errors){
		alert('Time must be in the 12:00 PM format');
		jumpto.focus();
		return false;
	}
	return true;
}

function limitTextarea(form_name,formField,maxlimit) {
	frm = document.forms[form_name];
	var field = frm.elements[formField];
	if (field.value.length > maxlimit) {
		field.value = field.value.substring(0, maxlimit);
		alert("This textarea has a limit of "+maxlimit+" characters. It has been truncated, please review.");
	}
}

function trapdate(form_name,formField) {
	frm = document.forms[form_name];
	var field = frm.elements[formField];
	msg = '';
	jumpto = '';
	if(field.value != ''){
		var regex = /^(20)([0-9]{2}-((0[13-9]|1[0-2])-(0[1-9]|[12][0-9]|30)| (0[13578]|1[02])-31|02-(0[1-9]|1[0-9]|2[0-8]))|([2468]0| [02468][48]|[13579][26])-02-29)$/;
		if (!regex.test(field.value)) {
			msg = msg + '\n - Dates must be in the ****-**-** (year-month-day) format';
			alert(msg);
		}
	}
}


function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') {
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}




function ucw(str){
	str = str.replace('_',' ');
	strArray = str.split(' ');
	for(j=0; j<strArray.length; j++){
		strArray[j] = strArray[j].charAt(0).toUpperCase() + strArray[j].substring(1);
	}
	return strArray.join(' ');
}

function validate(form){
		if(deleteForm){
			deleteForm = false;
			return true;
		}
        var jumpto = "";
        var errors = "";
        var requiredField = "";
        var display = "";
        var form_el = "";
        var form_el_val = "";

		if(typeof(form.required) != 'undefined' && form.required.value != ""){

			requiredArray = form.required.value.split(",");

			for(i=0; i<requiredArray.length; i++){
				requiredField = requiredArray[i];
				display = ucw(requiredField);

				form_el = "document.getElementById('"+form.name+"["+requiredField+"]')";

				form_el_val = "document.getElementById('"+form.name+"["+requiredField+"]').value";

				if (eval(form_el_val) == "") {
					errors = 'Please fill in all required fields:\n';
					if (!jumpto) {
						jumpto = eval(form_el);
					}
				}
				else if(requiredField == 'email_address' || requiredField == 'email'){

					var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
					var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
					var reg1 = new RegExp(reg1str);
					var reg2 = new RegExp(reg2str);
					if (reg1.test(eval(form_el_val)) || !reg2.test(eval(form_el_val))) {
						errors += 'Please use a valid Email Address:\n';
						if (!jumpto) {
							jumpto = eval(form_el);
						}
					}
				}
			}
		}

		if (errors) {
			string = errors;
			alert(string);
			jumpto.focus();
			return false;
		}
		else {
			return true;
		}
}

function confirmDelete(message){
	var agree=confirm('Are You Sure ' + message);
	deleteForm = true;
	if (agree)
		return true ;
	else
		return false ;
}


function showContent(){
	var Content_el = document.getElementById('divContent');
	Content_el.style.width='100%';
	Content_el.style.height='100%';
	return true ;
}

function updateIMG(align,img,id){
	var imgid = 'img_'+id;
	im = document.getElementById(imgid);
	im.src = img;
	frm = document.getElementById(id);
	img = img.replace('upload/','');
	frm.value=img;
}

var lastHiliteState;
function hiliteClubState(id) {
	if (lastHiliteState) {
		document.getElementById(lastHiliteState).className = 'club-st';
	}
	lastHiliteState = id;
	document.getElementById(id).className = 'club-st-selected';
}
function show_calendar(id){
	url = "/cal.html?id="+id;
	launchPop(url,false,false,false,"calendar");
}

function erase(p_item){
	frm = document.getElementById(p_item);
	frm.value='';
}
var loadedStates = new Array();
var stateObj;
var updateStateRunning = false;
function updateStates(stateId, countryId) {
	if (true == updateStateRunning) {
		setTimeout('updateStates("'+stateId+'","'+countryId+'")',100);
		return;
	}
	updateStateRunning = true;
	countryObj = document.getElementById(countryId);
	var selectedCountry = countryObj.options[countryObj.selectedIndex].value;
	stateObj = countryObj.form[stateId];
	var numOpts = stateObj.options.length;
	if (numOpts) {
		stateObj.options[0].selected = true;
		stateObj.options[0].innerHTML = 'Loading...';
		for (var i = numOpts; i > 0; i--) {
			stateObj.options[i] = null;
		}
	}
	if (loadedStates[selectedCountry]) {
		setStateOptions(selectedCountry);
	} else {
		var stateScript = document.body.appendChild(document.createElement('iframe'));
		stateScript.setAttribute('height', 0);
		stateScript.setAttribute('width', 0);
		stateScript.setAttribute('src', '/jsrpc.html?action=loadStates&countryCode='+selectedCountry+'&stateId='+stateId);
		stateScript.setAttribute('id', 'loadStates'+selectedCountry);
	}
}
function setStateOptions(selectedCountry) {
	var opt;
	var selected;
	if (loadedStates[selectedCountry]) {
		eval('selected = '+stateObj.id+';');
		for (var key in loadedStates[selectedCountry]) {
			opt = document.createElement('option');
			opt.setAttribute('value', key);
			if (key == selected) {
				opt.setAttribute('selected', true);
			}
			opt.innerHTML = loadedStates[selectedCountry][key];
			stateObj.appendChild(opt);
		}
		stateObj.options[0].innerHTML = 'Select State';
	} else {
		stateObj.options[0].innerHTML = 'No Known States for '+selectedCountry;
	}
	updateStateRunning = false;
	return false;
}
// -->
