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=='landscape') {
		ah = 530;
		aw = 658;
	} else if(size=='portrait') {
		ah = 658;
		aw = 530;
	} else if(size=='printer') {
		ah = available_height;
		aw = 600;
	} 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_swapImgRestore() { //v2.0
  if (document.MM_swapImgData != null)
    for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
      document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}
function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles = MM_preloadImages.arguments;
    if (document.preloadArray==null) document.preloadArray = new Array();
    var i = document.preloadArray.length;
    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
      preloadArray[i] = new Image;
      preloadArray[i++].src = imgFiles[j];
  } }
}
function MM_swapImage() { //v2.0
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
  for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
    objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = MM_swapImage.arguments[i+2];
  } }
  document.MM_swapImgData = swapArray; //used for restore
}


var leader = "left=" + ((screen.width - 500) / 2) + ",top=" + ((screen.height - 390) / 2) + ",screenx=" + ((screen.width - 500) / 2) + ",screeny=" + ((screen.height - 390) / 2);

function restore() {
  location.reload()
}

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) {

        jumpto = "";
        errors = "";
	requiredField = "";
	display = "";

		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);

				if(requiredField == 'email_address' || requiredField == 'email' || requiredField == 'username' || requiredField == 'Owner_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.'+requiredField+'.value')) || !reg2.test(eval('form.'+requiredField+'.value'))) {
						errors += 'Please use a valid '+display+':\n';
						if (!jumpto) {
							jumpto = eval('form.'+requiredField);
						}
					}
				}
				else{
					if (eval('form.'+requiredField+'.value') == "") {
						errors += 'Please complete '+ display + ':\n';
						if (!jumpto) {
							jumpto = eval('form.'+requiredField);
						}
					}
				}
			}
		}

		if (errors) {
			string = "The following fields were incomplete or invalid. Please complete them to continue.\n\n"+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 menuHover(id,bgcolor,color){
	var menu_el = "document.getElementById('menuBlock"+id+"')";
	var menu_el = eval(menu_el);
	menu_el.style.background = bgcolor;
	var menu_el = "document.getElementById('menuItem"+id+"')";
	var menu_el = eval(menu_el);
	menu_el.style.color=color;
}

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;
function updateStates(stateId, countryObj) {
	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.createElement('SCRIPT');
		stateScript.setAttribute('src', '/jsrpc.html?action=loadStates&countryCode='+selectedCountry+'&stateId='+stateId);
		stateScript.setAttribute('id', 'loadStates'+selectedCountry);
		var head = document.getElementsByTagName('head');
		head[0].appendChild(stateScript);
	}
}
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';
	}
	return false;
}
