
// some basic utility javascript for cookie handling and other basic js stuff

window.onError = null;

function setCookie (name, value, hours) {
	var expdate = new Date ();
	expdate.setTime (expdate.getTime() + (hours * 60 * 60 * 1000));
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	//var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : "/";
	var domain = (argc > 4) ? argv[4] : "tennispensacola.com";
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
		"; expires=" + expdate.toGMTString() +
		((path == null) ? "" : ("; path=" + path)) +
		((domain == null) ? "" : ("; domain=" + domain)) +
		((secure == true) ? "; secure" : "");
}

function deleteCookie (name) {
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);  // This cookie is history
	var cval = GetCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function GetCookie (name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}

function getCookieVal (offset) {
      var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}
       

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}       

function showNewVisitorPopup() {
	var mainPageDiv = document.getElementById('overallPageDiv');
	var grayOutObj = document.getElementById('grayNewVisDiv');
	var grayMsgObj = document.getElementById('newVisDiv');
	var grayPageWidth = '100%';
	var grayPageHeight = '100%';

	grayOutObj.style.width= grayPageWidth;
	grayOutObj.style.height= grayPageHeight ;
//	alert(" w: " + grayPageWidth + "   -- h: " + grayPageHeight);
	grayOutObj.style.display='block';                          
	grayMsgObj.style.display='block'; 
	return false;
}

function closeNewVisitorPopup() {
	var grayOutObj = document.getElementById('grayNewVisDiv');
	var grayMsgObj = document.getElementById('newVisDiv');
	grayMsgObj.style.display='none'; 
	grayOutObj.style.display='none';                          
	return false;
}

function setDivVis(theDiv, theState) {
	document.getElementById(theDiv).style.display = theState;
	return false;
}


function clearFrames(addr) {
     if (top.frames.length > 1) {
     	top.location = "http://www.tennispensacola.com" + addr;
     }
     return true;
}



/******************************************
* Find In Page Script -- Submitted/revised by Alan Koontz (alankoontz@REMOVETHISyahoo.com)
* Visit Dynamic Drive (http://www.dynamicdrive.com/) for full source code
* This notice must stay intact for use
******************************************/

//  revised by Alan Koontz -- May 2003

var TRange = null;
var dupeRange = null;
var TestRange = null;
var win = null;
var nscount = 0;

//  SELECTED BROWSER SNIFFER COMPONENTS DOCUMENTED AT
//  http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html

var nom = navigator.appName.toLowerCase();
var agt = navigator.userAgent.toLowerCase();
var is_major   = parseInt(navigator.appVersion);
var is_minor   = parseFloat(navigator.appVersion);
var is_ie      = (agt.indexOf("msie") != -1);
var is_ie4up   = (is_ie && (is_major >= 4));
var is_ie6up   = (is_ie && (is_major >= 6));
var is_not_moz = (agt.indexOf('netscape')!= -1)
var is_nav     = (nom.indexOf('netscape') != -1);
var is_nav4    = (is_nav && (is_major == 4));
var is_mac     = (agt.indexOf("mac") != -1);
var is_safari  = (agt.indexOf("safari") != -1);
var is_gecko   = (agt.indexOf('gecko') != -1);
var is_opera   = (agt.indexOf("opera") != -1);

//  GECKO REVISION

var is_rev=0
if (is_gecko) {
	temp = agt.split("rv:")
	is_rev = parseFloat(temp[1])
}


//  USE THE FOLLOWING VARIABLE TO CONFIGURE FRAMES TO SEARCH
//  (SELF OR CHILD FRAME)

//  If you want to search another frame, change from "self" to
//  the name of the target frame:
//  e.g., var frametosearch = 'main'

//var frametosearch = 'main';
var frametosearch = self;


function search(whichform, whichframe) {

//  TEST FOR IE5 FOR MAC (NO DOCUMENTATION)

	if (is_ie4up && is_mac) return;

//  TEST FOR NAV 6 (NO DOCUMENTATION)

	if (is_gecko && (is_rev <1)) return;

//  TEST FOR Opera (NO DOCUMENTATION)

	if (is_opera) return;

//  INITIALIZATIONS FOR FIND-IN-PAGE SEARCHES

	if(whichform.findthis.value!=null && whichform.findthis.value!='') {

		str = whichform.findthis.value;
		win = whichframe;
		var frameval=false;
		if(win!=self) {
			frameval=true;  // this will enable Nav7 to search child frame
			win = parent.frames[whichframe];
		}   
	} else 
		return;  //  i.e., no search string was entered

	var strFound;

//  NAVIGATOR 4 SPECIFIC CODE

	if(is_nav4 && (is_minor < 5)) {
		strFound=win.find(str); // case insensitive, forward search by default

//  There are 3 arguments available:
//  searchString: type string and it's the item to be searched
//  caseSensitive: boolean -- is search case sensitive?
//  backwards: boolean --should we also search backwards?
//  strFound=win.find(str, false, false) is the explicit
//  version of the above
//  The Mac version of Nav4 has wrapAround, but
//  cannot be specified in JS

	}

//  NAVIGATOR 7 and Mozilla rev 1+ SPECIFIC CODE (WILL NOT WORK WITH NAVIGATOR 6)

	if (is_gecko && (is_rev >= 1) && is_not_moz) {
		if(frameval!=false) win.focus(); // force search in specified child frame
		strFound=win.find(str, false, false, true, false, frameval, true);
		
		// search twice to skip the value in the search form
		nscount += 1;
		if (nscount == 1) strFound=win.find(str, false, false, true, false, frameval, false);

//  The following statement enables reversion of focus 
//  back to the search box after each search event 
//  allowing the user to press the ENTER key instead
//  of clicking the search button to continue search.
//  Note: tends to be buggy in Mozilla as of 1.3.1
//  (see www.mozilla.org) so is excluded from users 
//  of that browser.

		if (is_not_moz)  whichform.findthis.focus();

//  There are 7 arguments available:
//  searchString: type string and it's the item to be searched
//  caseSensitive: boolean -- is search case sensitive?
//  backwards: boolean --should we also search backwards?
//  wrapAround: boolean -- should we wrap the search?
//  wholeWord: boolean: should we search only for whole words
//  searchInFrames: boolean -- should we search in frames?
//  showDialog: boolean -- should we show the Find Dialog?

	}

	if (is_ie4up) {

  // EXPLORER-SPECIFIC CODE revised 5/21/03

		if (TRange!=null) {
	  
			TestRange=win.document.body.createTextRange();
 
			if (dupeRange.inRange(TestRange)) {

				TRange.collapse(false);
				strFound=TRange.findText(str);
				if (strFound) {
        //the following line added by Mike and Susan Keenan, 7 June 2003
					win.document.body.scrollTop = win.document.body.scrollTop + TRange.offsetTop;
					TRange.select();
				}
			} else {

				TRange=win.document.body.createTextRange();
				TRange.collapse(false);
				strFound=TRange.findText(str);
				if (strFound) {
        //the following line added by Mike and Susan Keenan, 7 June 2003
					win.document.body.scrollTop = TRange.offsetTop;
					TRange.select();
				}
			}
		}
  
		if (TRange==null || strFound==0) {
			TRange=win.document.body.createTextRange();
			dupeRange = TRange.duplicate();
			strFound=TRange.findText(str);
			if (strFound) {
	        //the following line added by Mike and Susan Keenan, 7 June 2003
				win.document.body.scrollTop = TRange.offsetTop;
				TRange.select();
			}
		}
	
	}
	
//	if (!strFound) alert ("String '"+str+"' not found!") // string not found

        
}


function openchatWin (window_file, winid, w, h) {
	win =  window.open(window_file , winid,  'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width='+w+'w,height='+h);
	if (win != null) win.creator = self; 
               
}

function getImgSize(imgSrc) {
	var newImg = new Image();
	newImg.src = imgSrc;
	var height = newImg.height;
	var width = newImg.width;
	//alert ('The image size is '+width+'*'+height);
	//<IMG id='demoImg' src="http://www.goldenstudy.com/bbs/uploadimg//20060228144500426.jpg">
	//<BUTTON onclick="getImgSize(document.getElementById('demoImg').src);">Get Image Size</BUTTON>
}