
var requiredMajorVersion = 7;
var requiredMinorVersion = 0;
var requiredRevision = 0;
var jsVersion = 1.0;

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: "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();


var css = "firemac.css";

if(BrowserDetect.browser == "Safari"){
	css = "safari.css";
}else if (BrowserDetect.browser == "Firefox" && BrowserDetect.OS == "Mac" || BrowserDetect.browser == "Camino" && BrowserDetect.OS == "Mac"){
	css = "firemac.css";
}else if (BrowserDetect.browser == "Firefox" && BrowserDetect.OS == "Windows"){
	css = "firewin.css";
}else if (BrowserDetect.browser == "Explorer" && BrowserDetect.OS == "Windows"){
	css = "iewin.css";
}

$("css_style").setAttribute("href","css/"+css);

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function cI() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<cI.arguments.length; i+=2) {
			document[cI.arguments[i]].src = cI.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function pI() {
	scrollSet();
}

function pIs() {
	if (document.images) {
		splash_source_01_over = newImage("images/splash_source_01-over.gif");
		preloadFlag = true;
	}
}

var slider3;
var slider_val = 0;

function scrollSet(){		
	slider3 = new Control.Slider('handle3', 'track3', {
	axis: 'vertical',
	onSlide: function(v) { scrollVertical(v, $('scrollcontent'), slider3);  },
	onChange: function(v) { scrollVertical(v, $('scrollcontent'), slider3); }
	});
	
	function scrollVertical(value, element, slider) {
		element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
		slider_val = value;
	}
	
	if ($('scrollcontent').scrollHeight <= $('scrollcontent').offsetHeight) {
		slider3.setDisabled();
		$('scrollhandle').hide();
	}
}

function scroll_up(){
	slider3.setValue(slider_val-.1);
}

function scroll_down(){
	slider3.setValue(slider_val+.1);
}

function fieldValue(id,value){
	if($(id).value.length == 0){
		$(id).value = value;
	}
}

function fieldFocus(id,value){
	if($(id).value == value){
		$(id).value = "";
	}
}
	
function onAppear(first_image, second_image){		
	$($('outer-appear')).setStyle({
		background: '#FFFFFF url('+first_image+') no-repeat'
	});
	$($('appear-div')).setStyle({
		display: 'none',
		background: '#FFFFFF url('+second_image+') no-repeat'
	});	
}

function Appear(pic_one_id, pic_two_id){
	var one_id, two_id;
	Effect.Appear('appear-div');
	one_id = pic_two_id;
	if(pic_two_id == pics_array.length-1){
		two_id = 0;
	}else{
		two_id = pic_two_id+1;
	}
	pic_one = pics_array[one_id];
	pic_two = pics_array[two_id];
	setTimeout("onAppear('"+pic_one.src+"', '"+pic_two.src+"')", 3000);
	setTimeout("Appear("+one_id+", "+two_id+")", 4000);		
}

function sPL(id, dir){
	if(dir == 'r'){
		Effect.MoveBy (id, 0, -182, {duration: 0.6,  transition: Effect.Transitions.sinoidal});
	}else if(dir == 'l'){
		Effect.MoveBy (id, 0, 182, {duration: 0.6,  transition: Effect.Transitions.sinoidal});
	}
}

function greet(){
     var url = 'join_mail.php';
     var pars = 'join_email='+escape($F('join_email'));
     var target = 'mail';
     new Ajax.Updater(target, url, {
     	method: 'get', 
     	parameters: pars,
     	onLoading: function(transport){
     		$('mail').innerHTML = '<img src="images/sending.gif" alt="Sending..." />';
     	}
     });
}

function rem_mail(){
     var url = 'rem_mail.php';
     var pars = 'rem_email='+escape($F('rem_email'));
     var target = 'rem_mail';
     new Ajax.Updater(target, url, {
     	method: 'get', 
     	parameters: pars,
     	onLoading: function(transport){
     		$('rem_mail').innerHTML = '<img src="images/sending.gif" alt="Sending..." />';
     	}
     });
}

function opArt(id, cat){
     var url = 'opart.php';
     var pars = 'opid='+id+'&cat='+cat;
     var target = 'right_container';
     new Ajax.Updater(target, url, {
     	method: 'get', 
     	parameters: pars
     });
}

/*
function opArt(id, cat){
     var url = 'opart.php';
     var pars = 'opid='+id+'&cat='+cat;
     var target = 'right_container';
     new Ajax.Updater(target, url, {
     	method: 'get', 
     	parameters: pars,
     	onLoading: function(transport){
     		$('right_container').innerHTML = '<img src="images/loading.gif" alt="Loading..." />';
     	}
     });
}
*/


function resetMail(){
	$('mail').innerHTML = '<form method="get" action="join_mail.php" id="join_form"><img src="images/join_mailing.gif" alt="Join the Mailing List" /> <input type="text" name="join_email" id="join_email" value="Email Address" onfocus="fieldFocus(\'join_email\',\'Email Address\');" onblur="fieldValue(\'join_email\',\'Email Address\');" onkeypress="" /><a href="#" onclick="greet();"><img src="images/join_now.gif" alt="Join" /></a><div id="join_output"></div></form>';
}

function stopRKey(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;}
}

document.onkeypress = stopRKey; 



//STATS
var stats_slider1;
var stats_1sliderval = 0;

function scrollSet1(){		
	stats_slider1 = new Control.Slider('stats_handle1', 'stats_track1', {
	axis: 'vertical',
	onSlide: function(v) { scrollVertical(v, $('stats_scrollable1'), stats_slider1);  },
	onChange: function(v) { scrollVertical(v, $('stats_scrollable1'), stats_slider1); }
	});
	
	function scrollVertical(value, element, slider) {
		element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
		stats_1sliderval = value;
	}
	
	if ($('stats_scrollable1').scrollHeight <= $('stats_scrollable1').offsetHeight) {
		stats_slider1.setDisabled();
		$('stats_wrap1').hide();
		$('stats_scrollable1').setStyle({
		  marginLeft: '16px'
		});
	}
}

function scroll_up1(){
	stats_slider1.setValue(stats_1sliderval-.1);
}

function scroll_down1(){
	stats_slider1.setValue(stats_1sliderval+.1);
}



var stats_slider2;
var stats_2sliderval = 0;

function scrollSet2(){		
	stats_slider2 = new Control.Slider('stats_handle2', 'stats_track2', {
	axis: 'vertical',
	onSlide: function(v) { scrollVertical(v, $('stats_scrollable2'), stats_slider2);  },
	onChange: function(v) { scrollVertical(v, $('stats_scrollable2'), stats_slider2); }
	});
	
	function scrollVertical(value, element, slider) {
		element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
		stats_2sliderval = value;
	}
	
	if ($('stats_scrollable2').scrollHeight <= $('stats_scrollable2').offsetHeight) {
		stats_slider2.setDisabled();
		$('stats_wrap2').hide();
		$('stats_scrollable2').setStyle({
		  marginLeft: '16px'
		});
	}
}

function scroll_up2(){
	stats_slider2.setValue(stats_2sliderval-.1);
}

function scroll_down2(){
	stats_slider2.setValue(stats_2sliderval+.1);
}



var stats_slider3;
var stats_3sliderval = 0;

function scrollSet3(){		
	stats_slider3 = new Control.Slider('stats_handle3', 'stats_track3', {
	axis: 'vertical',
	onSlide: function(v) { scrollVertical(v, $('stats_scrollable3'), stats_slider3);  },
	onChange: function(v) { scrollVertical(v, $('stats_scrollable3'), stats_slider3); }
	});
	
	function scrollVertical(value, element, slider) {
		element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
		stats_3sliderval = value;
	}
	
	if ($('stats_scrollable3').scrollHeight <= $('stats_scrollable3').offsetHeight) {
		stats_slider3.setDisabled();
		$('stats_wrap3').hide();
		$('stats_scrollable3').setStyle({
		  marginLeft: '16px'
		});
	}
}

function scroll_up3(){
	stats_slider3.setValue(stats_3sliderval-.1);
}

function scroll_down3(){
	stats_slider3.setValue(stats_3sliderval+.1);
}



var stats_slider4;
var stats_4sliderval = 0;

function scrollSet4(){		
	stats_slider4 = new Control.Slider('stats_handle4', 'stats_track4', {
	axis: 'vertical',
	onSlide: function(v) { scrollVertical(v, $('stats_scrollable4'), stats_slider4);  },
	onChange: function(v) { scrollVertical(v, $('stats_scrollable4'), stats_slider4); }
	});
	
	function scrollVertical(value, element, slider) {
		element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
		stats_4sliderval = value;
	}
	
	if ($('stats_scrollable4').scrollHeight <= $('stats_scrollable4').offsetHeight) {
		stats_slider4.setDisabled();
		$('stats_wrap4').hide();
		$('stats_scrollable4').setStyle({
		  marginLeft: '16px'
		});
	}
}

function scroll_up4(){
	stats_slider4.setValue(stats_4sliderval-.1);
}

function scroll_down4(){
	stats_slider4.setValue(stats_4sliderval+.1);
}

function scrollSets(){
	scrollSet1();
	scrollSet2();
	scrollSet3();
	scrollSet4();
}