left_over = new Image();
left_over.src="/images/header/left_over.gif";
middle_over = new Image();
middle_over.src="/images/header/middle_over.gif";
right_over = new Image();
right_over.src="/images/header/right_over.gif";

var close_modal = '<div id="close_modal"><a href="javascript:clear_modal()">Close</a></div>';
var renderings = new Array();
renderings[1] = new Array();
renderings[1]['url'] = '/images/residences/interRend_01_bg.jpg';
renderings[1]['caption'] = 'Living Room';
renderings[3] = new Array();
renderings[3]['url'] = '/images/residences/interRend_03_bg.jpg';
renderings[3]['caption'] = 'Kitchen';
renderings[4] = new Array();
renderings[4]['url'] = '/images/residences/interRend_04_bg.jpg';
renderings[4]['caption'] = 'Bed Room';
renderings[2] = new Array();
renderings[2]['url'] = '/images/residences/interRend_02_bg.jpg';
renderings[2]['caption'] = 'Bath Room';
num_renderings = 4;

var slideshow = 'scenic_vista_nav';
var selectedSlide = 1;
var numSlides = new Array();
numSlides['scenic_vista_nav'] = 5;
var slideshowArr = new Array();
slideshowArr['scenic_vista_nav'] = new Array();
slideshowArr['snow_king_nav'] = new Array();
slideshowArr['life_outdoors_nav'] = new Array();
slideshowArr['town_square_nav'] = new Array();
slideshowArr['scenic_vista_nav'][1] = new Array();
slideshowArr['scenic_vista_nav'][1]['url'] = '/images/slideshow/scenic/1.jpg';
slideshowArr['scenic_vista_nav'][1]['title'] = 'Stunning Views of Grand Teton National Park';
slideshowArr['scenic_vista_nav'][1]['copy'] = 'Pine Glades embodies the finest qualities of Jackson Hole, Wyoming: a hillside heavily forested with pine and aspen; abundant wildlife; and the most stunning view of the Grand Teton.';
slideshowArr['scenic_vista_nav'][2] = new Array();
slideshowArr['scenic_vista_nav'][2]['url'] = '/images/slideshow/scenic/2.jpg';
slideshowArr['scenic_vista_nav'][2]['title'] = '';
slideshowArr['scenic_vista_nav'][2]['copy'] = 'Snow King Mountain offers the most breathtaking views of the Town of Jackson and entire Valley.';
slideshowArr['scenic_vista_nav'][3] = new Array();
slideshowArr['scenic_vista_nav'][3]['url'] = '/images/slideshow/scenic/3.jpg';
slideshowArr['scenic_vista_nav'][3]['title'] = '';
slideshowArr['scenic_vista_nav'][3]['copy'] = '';
slideshowArr['scenic_vista_nav'][4] = new Array();
slideshowArr['scenic_vista_nav'][4]['url'] = '/images/slideshow/scenic/4.jpg';
slideshowArr['scenic_vista_nav'][4]['title'] = '';
slideshowArr['scenic_vista_nav'][4]['copy'] = 'The National Elk Refuge, seen from Snow King Mountain, is the largest established elk preserve in North America with up to 9,000 elk wintering on the refuge.';
slideshowArr['scenic_vista_nav'][5] = new Array();
slideshowArr['scenic_vista_nav'][5]['url'] = '/images/slideshow/scenic/5.jpg';
slideshowArr['scenic_vista_nav'][5]['title'] = '';
slideshowArr['scenic_vista_nav'][5]['copy'] = 'View of the Town of Jackson at dusk from Snow King Mountain with the Teton Range in the distance.';

slideshowArr['snow_king_nav'][1] = new Array();
slideshowArr['snow_king_nav'][1]['url'] = '/images/slideshow/Snow_King/1.jpg';
slideshowArr['snow_king_nav'][1]['title'] = '';
slideshowArr['snow_king_nav'][1]['copy'] = 'Snow King Mountain, rising dramatically from the Valley Floor, just six blocks from the famous Jackson Town Square, is the backdrop for the Town of Jackson.';
slideshowArr['snow_king_nav'][2] = new Array();
slideshowArr['snow_king_nav'][2]['url'] = '/images/slideshow/Snow_King/2.jpg';
slideshowArr['snow_king_nav'][2]['title'] = '';
slideshowArr['snow_king_nav'][2]['copy'] = 'In the summer, Snow King Mountain provides limitless hiking, biking and trail running opportunities for locals.';
slideshowArr['snow_king_nav'][3] = new Array();
slideshowArr['snow_king_nav'][3]['url'] = '/images/slideshow/Snow_King/3.jpg';
slideshowArr['snow_king_nav'][3]['title'] = '';
slideshowArr['snow_king_nav'][3]['copy'] = '';
slideshowArr['snow_king_nav'][4] = new Array();
slideshowArr['snow_king_nav'][4]['url'] = '/images/slideshow/Snow_King/4.jpg';
slideshowArr['snow_king_nav'][4]['title'] = '';
slideshowArr['snow_king_nav'][4]['copy'] = '';
slideshowArr['snow_king_nav'][5] = new Array();
slideshowArr['snow_king_nav'][5]['url'] = '/images/slideshow/Snow_King/5.jpg';
slideshowArr['snow_king_nav'][5]['title'] = '';
slideshowArr['snow_king_nav'][5]['copy'] = 'Snow King Mountain, Wyoming\'s first ski area, is known as the "town hill" by locals and offers the only night skiing in the valley.';

slideshowArr['life_outdoors_nav'][1] = new Array();
slideshowArr['life_outdoors_nav'][1]['url'] = '/images/slideshow/Life_Outdoors/1.jpg';
slideshowArr['life_outdoors_nav'][1]['title'] = '';
slideshowArr['life_outdoors_nav'][1]['copy'] = 'Located immediately adjacent to Snow King Ski Mountain, each of the 27 homes at Pine Glades offers ski-in/ski-out access.  All you have to do is step out your door and into your bindings.';
slideshowArr['life_outdoors_nav'][2] = new Array();
slideshowArr['life_outdoors_nav'][2]['url'] = '/images/slideshow/Life_Outdoors/2.jpg';
slideshowArr['life_outdoors_nav'][2]['title'] = '';
slideshowArr['life_outdoors_nav'][2]['copy'] = 'Just minutes from Pine Glades, the Teton Pines Country Club is one of the finest mountain golf facilities in the world and features a spectacular, yet challenging, 18-hole course designed by Arnold Palmer and Ed Seay.  Beautiful scenery, abundant wildlife, impeccable service, and a relatively flat course will help the golfer enjoy a unique experience at Teton Pines.';
slideshowArr['life_outdoors_nav'][3] = new Array();
slideshowArr['life_outdoors_nav'][3]['url'] = '/images/slideshow/Life_Outdoors/3.jpg';
slideshowArr['life_outdoors_nav'][3]['title'] = '';
slideshowArr['life_outdoors_nav'][3]['copy'] = 'Known for the most stunning views of the Jackson Hole Valley, Snow King Mountain is the popular hike among locals.  Pine Glades residents can choose to make the trek up the "town hill," stroll along Cache Creek or endeavor miles of trails in the Bridger-Teton National Forest.';
slideshowArr['life_outdoors_nav'][4] = new Array();
slideshowArr['life_outdoors_nav'][4]['url'] = '/images/slideshow/Life_Outdoors/4.jpg';
slideshowArr['life_outdoors_nav'][4]['title'] = '';
slideshowArr['life_outdoors_nav'][4]['copy'] = 'With hundreds of miles of trails right outside your backdoor, every day at Pine Glades holds the promise of something memorable.';
slideshowArr['life_outdoors_nav'][5] = new Array();
slideshowArr['life_outdoors_nav'][5]['url'] = '/images/slideshow/Life_Outdoors/5.jpg';
slideshowArr['life_outdoors_nav'][5]['title'] = '';
slideshowArr['life_outdoors_nav'][5]['copy'] = 'With recreation ranging from snow skiing and snowboarding to hiking and mountain biking to world-renowned fishing and white-water rafting, there is something to do every day of the year.  And it is all minutes from your home at Pine Glades.';
slideshowArr['life_outdoors_nav'][6] = new Array();
slideshowArr['life_outdoors_nav'][6]['url'] = '/images/slideshow/Life_Outdoors/6.jpg';
slideshowArr['life_outdoors_nav'][6]['title'] = '';
slideshowArr['life_outdoors_nav'][6]['copy'] = '';


slideshowArr['town_square_nav'][1] = new Array();
slideshowArr['town_square_nav'][1]['url'] = '/images/slideshow/Town_Square/5.jpg';
slideshowArr['town_square_nav'][1]['title'] = '';
slideshowArr['town_square_nav'][1]['copy'] = 'Attractions like the historic Wort Hotel on the Town Square are just minutes from the Pine Glades neighborhood.';
slideshowArr['town_square_nav'][2] = new Array();
slideshowArr['town_square_nav'][2]['url'] = '/images/slideshow/Town_Square/2.jpg';
slideshowArr['town_square_nav'][2]['title'] = '';
slideshowArr['town_square_nav'][2]['copy'] = 'Just seven blocks from Pine Glades, the historic Town Square is home to art galleries, fairs and festivals, exciting shopping and fine dining with regional flair.';
slideshowArr['town_square_nav'][3] = new Array();
slideshowArr['town_square_nav'][3]['url'] = '/images/slideshow/Town_Square/3.jpg';
slideshowArr['town_square_nav'][3]['title'] = '';
slideshowArr['town_square_nav'][3]['copy'] = 'The Town Square is home to a multitude of art, food and music festivals throughout the year.';
slideshowArr['town_square_nav'][4] = new Array();
slideshowArr['town_square_nav'][4]['url'] = '/images/slideshow/Town_Square/4.jpg';
slideshowArr['town_square_nav'][4]['title'] = '';
slideshowArr['town_square_nav'][4]['copy'] = 'The Farmers Market <http://www.jacksonholefarmersmarket.org/> on the Jackson Town Square is a summer highlight for locals and tourists alike. Market goers can enjoy fresh produce, baked goods and tasty samples prepared by local chefs.';
slideshowArr['town_square_nav'][5] = new Array();
slideshowArr['town_square_nav'][5]['url'] = '/images/slideshow/Town_Square/1.jpg';
slideshowArr['town_square_nav'][5]['title'] = '';
slideshowArr['town_square_nav'][5]['copy'] = '';
slideshowArr['town_square_nav'][6] = new Array();
slideshowArr['town_square_nav'][6]['url'] = '/images/slideshow/Town_Square/6.jpg';
slideshowArr['town_square_nav'][6]['title'] = '';
slideshowArr['town_square_nav'][6]['copy'] = 'The Jackson Town Square is known for the wonderful elk antler arches on each corner of the square. The world\'s only public auction of elk antlers takes place on the Jackson Town Square on the third Saturday in May each year. The antlers are shed by the elk that winter on the refuge and collected by local Boy Scouts. The majority of the auction proceeds go back to the refuge for the next year\'s elk feeding program.';


var modal = renderings;
var img = 1;














// Email Spam hiding.
function popMail(host,user) {
	var acct = user +'@'+ host;
	self.location.href = 'mailto:'+ acct;
}
function linkMail(host,user,cls) {
	document.write('<a href="javascript:popMail(\''+ host +'\',\''+ user +'\');"');
	if (cls) {
		document.write(' class="'+ cls +'"');
	}
	document.write('>');
	showMail(host,user);
	document.write('</a>');
}
function showMail(host,user) {
	var acct = user +'@'+ host;
	document.write(acct);
}


//Modals
function display_modal(content,container)
{
	page_dims = getPageSizeWithScroll();
	var height = page_dims[1] + 300;
	//alert(height+'px');
	page_pos = getPagePosition();
	document.getElementById('OuterContainer').style.top = (page_pos[1] < 160 ? 160 : page_pos[1] + 160) + 'px';
	document.getElementById('blackOut').style.display = 'inline';
	document.getElementById('blackOut').style.height = height+'px';
	document.getElementById('OuterContainer').style.display = 'inline';
	document.getElementById('InnerContainer').innerHTML = content + close_modal;
}

function clear_modal()
{
	document.getElementById('blackOut').style.display = 'none';
	document.getElementById('OuterContainer').style.display = 'none';
	document.getElementById('InnerContainer').innerHTML = '';
	document.getElementById('InnerContainer').style.width = '600px';
}

function getPageSizeWithScroll()
{
	if (window.innerHeight && window.scrollMaxY) {// Firefox
		yWithScroll = window.innerHeight + window.scrollMaxY + 100;
		xWithScroll = window.innerWidth + window.scrollMaxX;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yWithScroll = document.body.scrollHeight;
		xWithScroll = document.body.scrollWidth;
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = document.body.offsetHeight;
		xWithScroll = document.body.offsetWidth;
  	}
	arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
	return arrayPageSizeWithScroll;
}

function getPagePosition ()
{
  var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}

function launchVideoModal()
{
	display_modal('<div id="videoSpot"></div>');
	var FO = { movie:"http://www.circumerrovideo.com/v/c/projectid=14619&programid=47822",
			   width:"510",
			   height:"330",
			   majorversion:"8",
			   build:"0",
			   wmode:"transparent",
			   bgcolor: "none",
			   quality: "high",
			   allowFullScreen: "true",
			   align: "middle" };
	UFO.create(	FO, "videoSpot");
}

function launchImageModal(image)
{
	img = image;
	src = renderings[img];
	if(img == 1)
	{
		var display_next = 'block';
		var display_last = 'none';
	} else if(img == 4) {
		var display_next = 'none';
		var display_last = 'block';
	} else {
		var display_next = 'block';
		var display_last = 'block';
	}
	var html = '<div style="text-align: center"><img src="' +  src['url'] +
				   '" alt="' + src['caption'] + '" id="modal_image"></div>' +
				   '<div id="modal_caption" style="text-align: center">' + src['caption'] + '</div>' +
				   '<div style="width: 400px;margin: 0 auto;"><div id="modal_last" style="display: ' + display_last + ';float: left;text-align: left;width: 100px">' +
				   '<a href="javascript:switchImage(\'last\')">Last</a></div>' +
				   '<div id="modal_next" style="display: ' + display_next + ';float: right;text-align: right;width: 100px"><a href="javascript:switchImage(\'next\')">Next</a></div>';
	document.getElementById('InnerContainer').style.width = '850px';
	display_modal(html);
}

function switchImage(direction)
{
	if(direction == 'next')
	{
		img++;
	} else if(direction == 'last') {
		img--;
	}
	
	if('undefined' == renderings[img])
	{
		img = 1;
	}
	if(img < 1) {
		img = 1;
	}
	
	if(img == 1)
	{
		document.getElementById('modal_last').style.display = 'none';
		document.getElementById('modal_next').style.display = 'block';
	} else if(img == 4) {
		document.getElementById('modal_last').style.display = 'block';
		document.getElementById('modal_next').style.display = 'none';
	} else {
		document.getElementById('modal_last').style.display = 'block';
		document.getElementById('modal_next').style.display = 'block';
	}
	document.getElementById('modal_image').src = renderings[img]['url'];
	document.getElementById('modal_image').alt = renderings[img]['caption'];
	document.getElementById('modal_caption').innerHTML = renderings[img]['caption'];
	
}


//AJAX

function processReqChange() {

	// only if req shows "complete"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			response = req.responseXML.documentElement;

			method = response.getElementsByTagName('method')[0].firstChild.data;

			result = response.getElementsByTagName('result')[0].firstChild.data;

			eval(method + '(result)');

		} else {

			alert("There was a problem retrieving the XML data:\n" + req.statusText);

		}
	}
	return false;
}


function loadXMLDoc(url,post)
{
	// branch for native XMLHttpRequest object
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("POST", url, true);
		//req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
		req.send(post);
		// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChange;
			req.open("POST", url, true);
			//req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-1');
			req.send(post);
		}
	}
	return false;
}

function email_failure(response)
{
	alert(response);
	return false;
}

function email_seccess(response)
{
	document.getElementById('contact_form_html').innerHTML = response;
	document.getElementById('processing_form').style.display = 'none';
	return false;
}

function processContactForm()
{
	var name = document.getElementById('c_name').value;
	if(document.getElementById('c_size').value == 'full')
	{
		var address = document.getElementById('c_address').value;
		var city = document.getElementById('c_city').value;
		var state = document.getElementById('c_state').value;
		var zip = document.getElementById('c_zip').value;
		var phone = document.getElementById('c_phone').value;
		//var hear = document.getElementById('hear').value;
		//var hear = document.contact_full.hear.value
		
		for (i=0;i<document.contact_full.hear.length;i++)
		{
		      if (document.contact_full.hear[i].checked)
		      {
		             var hear = document.contact_full.hear[i].value;
		      }
		}
		var other = document.getElementById('other').value;
	}
	var email = document.getElementById('c_email').value;
	var comments = document.getElementById('c_comments').value;
	var to = document.getElementById('to').value;
	
	var qstr = 'name=' + name + '&address=' + address + '&city=' + city + '&state=' + state + '&zip=' + zip +
			   '&phone=' + phone + '&email=' + email + '&comments=' + comments + '&to=' + to + '&hear=' + hear + '&other=' + other;
	document.getElementById('processing_form').style.display = 'block';
	loadXMLDoc('/ajax/contact',qstr);
	//alert('');
	return false;
}



//slideshow

function loadSlideshow(name)
{
	//if(name != slideshow)
	//{
		
		$(slideshow + '_' + selectedSlide).src = '/images/buttons/slideshow_off.gif';
		
		document.getElementById('slideshow_selection_' + slideshow).style.display = 'none';
		document.getElementById('slideshow_selection_' + name).style.display = 'block';
		
		$('scenic_vista_nav').removeClassName('on');
		$('snow_king_nav').removeClassName('on');
		$('town_square_nav').removeClassName('on');
		$('life_outdoors_nav').removeClassName('on');
		$(name).addClassName('on');
		
		slideshow = name;
		selectedSlide = 1;
		switchSlide(1);
	//}
}

function switchSlide(num)
{
	/*alert(slideshow + '_' + selectedSlide + " = /images/buttons/slideshow_off.gif\n" +
		  slideshow + '_' + num + ' = /images/buttons/slideshow_on.gif' + "\n" +
		  "document.getElementById('" + slideshow + '_' + num + "').src = '/images/buttons/slideshow_on.gif';");*/
	 
	 
	$(slideshow + '_' + selectedSlide).src = '/images/buttons/slideshow_off.gif';
	$(slideshow + '_' + num).src = '/images/buttons/slideshow_on.gif';
	$('slideshow_image').src = slideshowArr[slideshow][num]['url'];
	$('slideshow_img_title').innerHTML = slideshowArr[slideshow][num]['title'];
	$('slideshow_img_copy').innerHTML = slideshowArr[slideshow][num]['copy'];
	selectedSlide = num;
}

function changeNavItem(id,state)
{
	//alert(id + "_left\n" + id + "_middle\n" + id + '_right');
	var left = id + '_left';
	var middle = id + '_middle';
	var right = id + '_right';
	if(state == 'over')
	{
		$(left).addClassName('nav_item_left');
		$(middle).addClassName('nav_item_middle');
		$(right).addClassName('nav_item_right');
	} else {
		$(left).removeClassName('nav_item_left');
		$(middle).removeClassName('nav_item_middle');
		$(right).removeClassName('nav_item_right');
	}
}


function getGradients()
{
	getInnerGradients();
	getOuterGradients();
}

function getOuterGradients()
{
	var outer_gradients = $$('.outer_gradient');
	var child,left_outer,right_outer,top_outer,bottom_outer,inner_container,inner_width,inner_height;
	for(x = 0;x < outer_gradients.length;x++)
	{
	
		child = outer_gradients[x].childElements();
		
		
		left_outer = new Element('div');
		left_outer.addClassName('outer_gradient_left');
		right_outer = new Element('div');
		right_outer.addClassName('outer_gradient_right');
		top_outer = new Element('div');
		top_outer.addClassName('outer_gradient_top');
		bottom_outer = new Element('div');
		bottom_outer.addClassName('outer_gradient_bottom');
		inner_container = new Element('div');
		inner_container.addClassName('inner_container');
		inner_container.update(outer_gradients[x].innerHTML);
		
		outer_gradients[x].update();
		
		outer_gradients[x].insert({bottom: left_outer});
		outer_gradients[x].insert({bottom: right_outer});
		outer_gradients[x].insert({bottom: top_outer});
		outer_gradients[x].insert({bottom: bottom_outer});
		outer_gradients[x].insert({bottom: inner_container});
		
		left_outer.setStyle({height: inner_container.getHeight() + 12 + 'px'});
		right_outer.setStyle({height: inner_container.getHeight() + 12 + 'px'});
		top_outer.setStyle({width: inner_container.getWidth() + 12 + 'px'});
		bottom_outer.setStyle({width: inner_container.getWidth() + 12 + 'px'});
		outer_gradients[x].setStyle({width: inner_container.getWidth() + 12 + 'px',
									 height: inner_container.getHeight() + 12 + 'px'});
		//alert(inner_container.getHeight() + 12 + 'px');
	}
}

function getInnerGradients()
{
	var inner_gradients = $$('.inner_gradient');
	var child,left_inner,right_inner,top_inner,bottom_inner,inner_container,inner_width,inner_height;
	for(x = 0;x < inner_gradients.length;x++)
	{
	
		child = inner_gradients[x].childElements();
		
		
		left_inner = new Element('div');
		left_inner.addClassName('inner_gradient_left');
		right_inner = new Element('div');
		right_inner.addClassName('inner_gradient_right');
		top_inner = new Element('div');
		top_inner.addClassName('inner_gradient_top');
		bottom_inner = new Element('div');
		bottom_inner.addClassName('inner_gradient_bottom');
		bleft_inner = new Element('div');
		bleft_inner.addClassName('inner_gradient_bottom-left');
		bright_inner = new Element('div');
		bright_inner.addClassName('inner_gradient_bottom-right');
		tleft_inner = new Element('div');
		tleft_inner.addClassName('inner_gradient_top-left');
		tright_inner = new Element('div');
		tright_inner.addClassName('inner_gradient_top-right');
		
		inner_container = new Element('div');
		inner_container.addClassName('inner_content');
		inner_container.update(inner_gradients[x].innerHTML);
		
		inner_gradients[x].update();
		
		inner_gradients[x].insert({bottom: left_inner});
		inner_gradients[x].insert({bottom: right_inner});
		inner_gradients[x].insert({bottom: top_inner});
		inner_gradients[x].insert({bottom: bottom_inner});
		inner_gradients[x].insert({bottom: tleft_inner});
		inner_gradients[x].insert({bottom: tright_inner});
		inner_gradients[x].insert({bottom: bleft_inner});
		inner_gradients[x].insert({bottom: bright_inner});
		inner_gradients[x].insert({bottom: inner_container});
		
		left_inner.setStyle({height: inner_container.getHeight() + 'px'});
		right_inner.setStyle({height: inner_container.getHeight() + 'px'});
		top_inner.setStyle({width: inner_container.getWidth() + 'px'});
		bottom_inner.setStyle({width: inner_container.getWidth() + 'px'});
		inner_gradients[x].setStyle({width: inner_container.getWidth() + 8 + 'px',
									 height: inner_container.getHeight() + 8 + 'px'});
	}
}









var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
//alert(BrowserDetect.browser + ' :: ' + BrowserDetect.OS);

