function updateVideo(video, image, so){
	so.addParam('allowscriptaccess','always');
	so.addParam('allowfullscreen','true');
	so.addParam('autostart','false');
	so.addParam('flashvars','&file='+video+
	'&image='+image);
	so.write('player');
}


// Create the marker and corresponding information window
function createInfoMarker(point, address) {
   var marker = new GMarker(point);
   GEvent.addListener(marker, "click",
      function() {
         marker.openInfoWindowHtml(address);
      }
   );
  return marker;
}

//<![CDATA[
function load() {
  if (GBrowserIsCompatible()) {
	document.getElementById("map").style.display='block';
    var map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(38.228430, -104.266460), 3);
	map.addControl(new GSmallMapControl());
	//start adding in locations
	//San Diego
	var point = new GPoint(-117.240223, 32.949643);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/sandiego.asp">San Diego<br />12707 High Bluff Drive St 150<br />San Diego 92117<br />800-995-8434</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Phoenix Arizona
	var point = new GPoint(-112.047499, 33.554784);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/phoenix.asp">Phoenix<br />1625 E Northern Ave <br />Phoenix AZ 85020<br />602-443-6818</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	
	//Orange County
	var point = new GPoint(-117.698188, 33.660116);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/irvine.asp">Orange County<br />2 South Pointe Drive Suite 200<br />Lake Forest, CA 92630<br />949-716-7817</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//sacramento
	var point = new GPoint(-121.407713, 38.574221);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/sacramento.asp">Sacramento<br />2398 Fair Oaks Blvd, Ste. 6<br />Sacramento, CA 95825<br />916-531-6548</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Downtown San Diego
	var point = new GPoint(-117.163938, 32.718829);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/downtown_sd.asp">Downtown San Diego<br />110 West "A" Street St 610<br />San Diego, CA 92101<br />866-395-8738</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//San Francisco
	var point = new GPoint(-122.401803, 37.788907);
address = '<a href="http://www.egoscue.com/htdocs/painfree/sanfrancisco.asp">San Francisco<br />625 Market St, Ste 200<br />San Francisco, CA 94105<br />415-391-3336</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//San Jose
	var point = new GPoint(-121.947948, 37.317134);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/sanjose.asp">San Jose<br />3031 Tisch Way<br />10th Floor, Ste 1007<br />San Jose, CA 95128<br />408-612-1222</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//West Los Angeles
	var point = new GPoint(-118.438512, 34.039810);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/wla.asp">West Los Angeles<br />11150 Olympic Blvd.<br />Suite 780<br />Los Angeles, CA 90064<br />310-478-0457</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	
	//Fort Collins
	var point = new GPoint(-105.042971, 40.56803);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/ftcollins.asp">Fort Collins, CO<br />1501 Academy Court, Ste 200<br />Fort Collins, CO 80524-8953<br />970-484-0497</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Fort Lauderdale
	var point = new GPoint(-80.070829, 26.844597);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/wpalmbeach.asp">Palm Beach Gardens<br />2401 PGA Blvd. #134<br />Palm Beach Gardens, FL 33410<br />561-202-6741</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Atlanta
	var point = new GPoint(-84.362186, 33.912360);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/atlanta.asp">Atlanta<br />Lakeside, Building B<br />5775 Glenridge Drive, Ste 260<br />Atlanta, GA 30328<br />888-394-2833</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Chicago
	var point = new GPoint(-87.673118, 41.910532);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/chicago.asp">Chicago, IL<br />1811 W. North Ave., Ste 302<br />Chicago, IL 60622<br />888-663-7029</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	
	//Manhattan
	var point = new GPoint(-73.980618, 40.751486);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/manhattan.asp">Manhattan, NY<br />274 Madison Ave., Ste 801<br />New York, NY 10016<br />212-213-3220</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Westchester
	var point = new GPoint(-73.697247, 41.008876);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/westchester.asp">Westchester, NY<br />Harrison Corporate Park<br />3000 Westchester Ave, Ste 205<br />Purchase, NY 10577<br />914-509-5972</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Portland
	var point = new GPoint(-122.784809, 45.507639);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/portland.asp">Portland<br />North Pacific Plaza<br />1675 SW Marlow Ave, Ste 309<br />Portland, OR 97225<br />503-350-0888</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Austin
	var point = new GPoint(-97.769604, 30.383609);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/austin.asp">Austin<br />8310 Capital of Texas Hwy<br />Suite 288<br />Austin, TX 78731<br />512-527-0030</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Nashville
	var point = new GPoint(-86.83128, 35.946148);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/nashville.asp">Nashville<br />3326 Aspen Grove Drive<br />Suite 600<br />Franklin, TN 37067<br />615-771-8556</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Utah
	var point = new GPoint(-111.863819, 40.662899);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/saltlake.asp">Salt Lake City, UT<br />4885 S. 900 E., Ste. 103<br />Salt Lake City, UT 84117<br />801-269-1100</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Arlington VA
	var point = new GPoint(-77.096796, 38.836370);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/arlington.asp">Arlington, VA<br />4820 31st St S<br />First Floor<br />Arlington VA 22206<br />888-676-0416</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Seattle
	var point = new GPoint(-122.344736, 47.611351);
	address = '<a href="http://www.egoscue.com/htdocs/painfree/seattle.asp">Seattle, WA<br />2107 Elliott Ave<br />Suite 303<br />Seattle, WA 98121<br />206-859-5507</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
	//Mexico
	var point = new GPoint(-103.359375, 24.44714958973082);
	address = '<a href="http://www.egoscue.com.mx/index.asp">Mexico City, Mexico<br />5280 33 39</a>';
	var marker = createInfoMarker(point, address);
	map.addOverlay(marker);
  }
}

function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

jQuery.Clinics = {
	options : {
		robot : 'no',
		wwwroot : ''
	},
	
	init : function(options)
	{
		if (options)
			jQuery.extend(jQuery.Clinics.options, options);

		if (jQuery.browser.msie) {

		}
	},
	
	checkZip : function(zip){
		if(zip.length == 5 && IsNumeric(zip))return zip;
	},
	
	//get the list of clinics from the server based on the zip that was entered
	getClinics : function(input){
		var zip = jQuery(input).val();
		if(jQuery.Clinics.checkZip(zip)){
			jQuery('#findClinicError').html('');
			var request = {'clinics':'byZip','zip':zip};
			jQuery.Clinics.sendSubmit(jQuery.Clinics.options.wwwroot+'lib/getGeoIP.php',request,jQuery.Clinics.loadClinics);
		}else{
			var request = {'clinics':'alpha'};
			jQuery.Clinics.sendSubmit(jQuery.Clinics.options.wwwroot+'lib/getGeoIP.php',request,jQuery.Clinics.loadClinics);
			jQuery('#findClinicError').html('Please enter a valid zipcode to calculate distance.');
		}
	},
	
	//load the returned list of clinics
	loadClinics : function(getBack){
		//write the list of clinics
		jQuery('#clinicList').empty();
		var UL = document.createElement('ul');
		jQuery(UL).attr('id','clinicsByDistance');
		for(var i=0;i<getBack.clinicArray.length;i++){
			var clinic = getBack.clinicArray[i];
			jQuery(UL).append(jQuery.Clinics.createClinicLI(clinic));
		}
		jQuery('#clinicList').append(UL);
		jQuery(UL)
		.css('height','0px')
		.animate({
				'height':'130px'
				},1500);
	},
	
	createClinicLI : function(clinic){
		//<li><a href=\"$CFG->wwwroot/painfree/$url\"><span class=\"clinicName\">$name</span> - <span class=\"clinicDistance\">$distance Miles</span></li></a>
		var clinicLI = document.createElement('li');
		var a = document.createElement('a');
		jQuery(a).attr('href',jQuery.Clinics.options.wwwroot+'painfree/'+clinic.url);
		var clinicName = document.createElement('span');
		jQuery(clinicName).attr('class','clinicName').append(document.createTextNode(clinic.clinic + ' - '));
		var clinicDistance = document.createElement('span');
		jQuery(clinicDistance).attr('class','clinicDistance').append(document.createTextNode(clinic.distance + ' Miles'));
		jQuery(a).append([clinicName,clinicDistance]);
		jQuery(clinicLI).append(a);
		return clinicLI;
	},
	
	sendSubmit : function(url,request,callback){
		var ul_vars = {
		  interval : 1000, //The time in milleseconds between each status request.
		  speeds : []      //Keeps track of the speeds of each upload.
		};
		setTimeout(function(){
			submitter = new RepeatGetAction(url, request, ul_vars.interval);
			submitter.go();
			submitter.successFunc = function (getBack) {
				setTimeout(function (){callback(getBack);},100);
			}
			submitter.failFunc = function (getBack) {
		    	jQuery('#findClinicError').html('Please enter a valid zipcode');
		  	}
			//this is what we do at the end
		;},100)
	}
};

//run this script when the document is ready
$(document).ready(function(){
	//so = new SWFObject('lib/mediaplayer/player.swf','mpl','320','240','9');
	//updateVideo("/videos/CatsDogs.flv", "/videos/CatsDogsMackie.jpg", so);
	//load the google map
	//load();
	$.Clinics.init(
		{
			robot: 'test',
			wwwroot : $('#www0').text()
		}
	);
	//attach the find clinic action to the button and maybe some color changes.
	$('#findClinicButton').bind('click',function(e){
		$.Clinics.getClinics($('#findClinicInput'));
	});
	$('#findClinicInput').keypress(function(e){
		if(e.which == 13 || e.which == 3)$.Clinics.getClinics($('#findClinicInput'));
	});
	$('#findClinicInput').bind('click',function(e){
		if($('#findClinicInput').val() == 'zip')$('#findClinicInput').val('');
	});
});