// Ultimate client-side JavaScript client sniff. Version 3.01// (C) Netscape Communications 1999-2001.  Permission granted to reuse and distribute.// Revised 17 May 99 to add is_nav5up and is_ie5up (see below).// Revised 20 Dec 00 to add is_gecko and change is_nav5up to is_nav6up//                      also added support for IE5.5 Opera4&5 HotJava3 AOLTV// Revised 22 Feb 01 to correct Javascript Detection for IE 5.x, Opera 4, //                      correct Opera 5 detection//                      add support for winME and win2k//                      synch with browser-type-oo.js// Everything you always wanted to know about your JavaScript client// but were afraid to ask. Creates "is_" variables indicating:// (1) browser vendor://     is_nav, is_ie, is_opera, is_hotjava, is_webtv, is_TVNavigator, is_AOLTV// (2) browser version number://     is_major (integer indicating major version number: 2, 3, 4 ...)//     is_minor (float   indicating full  version number: 2.02, 3.01, 4.04 ...)// (3) browser vendor AND major version number//     is_nav2, is_nav3, is_nav4, is_nav4up, is_nav6, is_nav6up, is_gecko, is_ie3,//     is_ie4, is_ie4up, is_ie5, is_ie5up, is_ie5_5, is_ie5_5up, is_hotjava3, is_hotjava3up,//     is_opera4, is_opera5, is_opera5up// (4) JavaScript version number://     is_js (float indicating full JavaScript version number: 1, 1.1, 1.2 ...)// (5) OS platform and version://     is_win, is_win16, is_win32, is_win31, is_win95, is_winnt, is_win98, is_winme, is_win2k//     is_os2//     is_mac, is_mac68k, is_macppc//     is_unix//     is_sun, is_sun4, is_sun5, is_suni86//     is_irix, is_irix5, is_irix6//     is_hpux, is_hpux9, is_hpux10//     is_aix, is_aix1, is_aix2, is_aix3, is_aix4//     is_linux, is_sco, is_unixware, is_mpras, is_reliant//     is_dec, is_sinix, is_freebsd, is_bsd//     is_vms//// See http://www.it97.de/JavaScript/JS_tutorial/bstat/navobj.html and// http://www.it97.de/JavaScript/JS_tutorial/bstat/Browseraol.html// for detailed lists of userAgent strings.//// Note: you don't want your Nav4 or IE4 code to "turn off" or// stop working when new versions of browsers are released, so// in conditional code forks, use is_ie5up ("IE 5.0 or greater") // is_opera5up ("Opera 5.0 or greater") instead of is_ie5 or is_opera5// to check version in code which you want to work on future// versions.    // convert all characters to lowercase to simplify testing    var agt=navigator.userAgent.toLowerCase();    // *** BROWSER VERSION ***    // Note: On IE5, these return 4, so use is_ie5up to detect IE5.    var is_major = parseInt(navigator.appVersion);    var is_minor = parseFloat(navigator.appVersion);    // Note: Opera and WebTV spoof Navigator.  We do strict client detection.    // If you want to allow spoofing, take out the tests for opera and webtv.    var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));    var is_nav2 = (is_nav && (is_major == 2));    var is_nav3 = (is_nav && (is_major == 3));    var is_nav4 = (is_nav && (is_major == 4));    var is_nav4up = (is_nav && (is_major >= 4));    var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||                          (agt.indexOf("; nav") != -1)) );    var is_nav6 = (is_nav && (is_major == 5));    var is_nav6up = (is_nav && (is_major >= 5));    var is_gecko = (agt.indexOf('gecko') != -1);    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));    var is_ie3    = (is_ie && (is_major < 4));    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5")==-1) );    var is_ie4up  = (is_ie && (is_major >= 4));    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);    // KNOWN BUG: On AOL4, returns false if IE3 is embedded browser    // or if this is the first browser window opened.  Thus the    // variables is_aol, is_aol3, and is_aol4 aren't 100% reliable.    var is_aol   = (agt.indexOf("aol") != -1);    var is_aol3  = (is_aol && is_ie3);    var is_aol4  = (is_aol && is_ie4);    var is_aol5  = (agt.indexOf("aol 5") != -1);    var is_aol6  = (agt.indexOf("aol 6") != -1);    var is_opera = (agt.indexOf("opera") != -1);    var is_opera4 = (agt.indexOf("opera 4") != -1);    var is_opera5 = (is_opera5 && (is_major == 5));    var is_opera5up = (is_opera5 && (is_major >=5));    var is_webtv = (agt.indexOf("webtv") != -1);     var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1));     var is_AOLTV = is_TVNavigator;    var is_hotjava = (agt.indexOf("hotjava") != -1);    var is_hotjava3 = (is_hotjava && (is_major == 3));    var is_hotjava3up = (is_hotjava && (is_major >= 3));			    var is_mac    = (agt.indexOf("mac")!=-1); function MM_swapImgRestore() { //v3.0  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;}function MM_preloadImages() { //v3.0  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}}function MM_findObj(n, d) { //v3.0  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;}function MM_swapImage() { //v3.0  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}}function checkBrowser(){	this.ver=navigator.appVersion	this.dom=document.getElementById?1:0	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;	this.ie4=(document.all && !this.dom)?1:0;	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;	this.ns4=(document.layers && !this.dom)?1:0;	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)	return this}var bw = new checkBrowser()function showHide(div,nest){	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 	if(obj.visibility=='visible' || obj.visibility=='show') obj.visibility='hidden'	else obj.visibility='visible'}function show(div,nest){	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 	obj.visibility='visible'}function hide(div,nest){	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 	obj.visibility='hidden'}function goBack(){	window.history.back();}function goForward(){	window.history.forward();}function popupClose() {		window.close();}function showNav1() {	show('navarrow1');	show('navtxt1');}function showNav2() {	show('navarrow2');	show('navtxt2');}function showNav3() {	show('navarrow3');	show('navtxt3');}function hideNav1(){	hide('navarrow1');	hide('navtxt1');}function hideNav2(){	hide('navarrow2');	hide('navtxt2');}function hideNav3(){	hide('navarrow3');	hide('navtxt3');}function setSize(strURL){	if (is_ie4up)        var xMax = screen.width, yMax = screen.height;    else	{        if (is_nav4up)            var xMax = window.outerWidth, yMax = window.outerHeight;	else            var xMax = 640, yMax=480;	}		var xScreen = (900);	var yScreen = (600);    var xOffset = (xMax / 2) - (xScreen / 2);	var yOffset = (yMax / 2) - (yScreen / 2);		if (is_ie4up)	{	msg = window.open(strURL,'_top', 'location=yes,toolbar=yes,status=yes,menubar=yes,scrollbars=no,border=0,resizable=no,width=900,height=500,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');	msg = window.resizeTo(900,600);	}		if (is_nav4up)	{	msg = window.open(strURL,'_top', 'location=yes,toolbar=yes,status=yes,menubar=yes,scrollbars=no,border=0,resizable=no,width=900,height=500,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');	}	}function popUpWin(strURL){	if (is_ie4up)        var xMax = screen.width, yMax = screen.height;    else	{        if (is_nav4up)            var xMax = window.outerWidth, yMax = window.outerHeight;	else            var xMax = 640, yMax=480;	}		var xScreen = (216);	var yScreen = (216);    var xOffset = (xMax / 2) - (xScreen / 2);	var yOffset = (yMax / 2) - (yScreen / 2);			msg = window.open(strURL,'_blank', 'location=no,toolbar=no,status=no,menubar=no,scrollbars=yes,border=0,resizable=yes,width=324,height=216,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');}var prodPictures = new Array('images/sv_1.jpg', 'images/sv_2.jpg', 'images/sv_3.jpg', 'images/sv_4.jpg', 'images/sv_5.jpg', 'images/sv_6.jpg', 'images/sv_7.jpg', 'images/sv_8.jpg', 'images/sv_9.jpg', 'images/sv_10.jpg', 'images/sv_11.jpg', 'images/sv_12.jpg', 'images/sv_13.jpg', 'images/sv_14.jpg', 'images/sv_15.jpg');var prodBigPictures = new Array('images/lv_1.jpg', 'images/lv_2.jpg', 'images/lv_3.jpg', 'images/lv_4.jpg', 'images/lv_5.jpg', 'images/lv_6.jpg', 'images/lv_7.jpg', 'images/lv_8.jpg', 'images/lv_9.jpg', 'images/lv_10.jpg', 'images/lv_11.jpg', 'images/lv_12.jpg', 'images/lv_13.jpg', 'images/lv_14.jpg', 'images/lv_15.jpg');var prodText = new Array('proditem1', 'proditem2', 'proditem3', 'proditem4', 'proditem5', 'proditem6', 'proditem7', 'proditem8', 'proditem9', 'proditem10', 'proditem11', 'proditem12', 'proditem13', 'proditem14', 'proditem15');var prodTitle = new Array('prodtitle1', 'prodtitle2', 'prodtitle3', 'prodtitle4', 'prodtitle5', 'prodtitle6', 'prodtitle7', 'prodtitle8', 'prodtitle9', 'prodtitle10', 'prodtitle11', 'prodtitle12', 'prodtitle13', 'prodtitle14', 'prodtitle15');var prodPosition = 0 ;var prodLastPosition = 0;function pageLoad(){		show('prodNext');	}function prodNext(){    	prodPosition++;		prodLastPosition = [prodPosition-1];		show('prodNext');	if (is_ie4up){ 		document.images['smProd'].src = prodPictures[prodPosition];	}	if (is_nav4up){		document.prodsmpic1.document.images['smProd'].src = prodPictures[prodPosition];	}		show('prodBack');	hide(prodText[prodLastPosition]);	show(prodText[prodPosition]);	hide(prodTitle[prodLastPosition]);	show(prodTitle[prodPosition]);		if(prodPosition == prodPictures.length-1) {	hide('prodNext');	}}function prodBack(){	show('prodNext');	show(prodText[prodLastPosition]);	hide(prodText[prodPosition]);	show(prodTitle[prodLastPosition]);	hide(prodTitle[prodPosition]);			if(prodPosition == prodPictures.length-14) {		hide('prodBack');		prodPosition = [prodPictures.length-15];		prodLastPosition = [prodPosition-1];	}  	else {    	prodPosition--;		prodLastPosition = [prodPosition-1];		show('prodBack');  	}	if (is_ie4up){ 		document.images['smProd'].src = prodPictures[prodPosition];	}	if (is_nav4up){		document.prodsmpic1.document.images['smProd'].src = prodPictures[prodPosition];	}	}function prodBigPict1(){	show('prodbigpic1');	if (is_ie4up){ 		document.images['lvProd'].src = prodBigPictures[prodPosition];	}	if (is_nav4up){		document.prodbigpic1.document.images['lvProd'].src = prodBigPictures[prodPosition];		}}function prodBigPict(){	popUpWin(prodBigPictures[prodPosition]);}/********************************************************************************Copyright (C) 1999 Thomas BrattliThis script is made by and copyrighted to Thomas Brattli at www.bratta.comVisit for more great scripts. This may be used freely as long as this msg is intact!I will also appriciate any links you could give me.********************************************************************************//*****************You set the width and height of the divs inside the style tag, you only have tochange the divCont, Remeber to set the clip the same as the width and height.You can remove the divUp and divDown layers if you want. This script should also work if you make the divCont position:relative.Then you should be able to place this inside a table or something. Just rememberthat Netscape crash very easily with relative positioned divs and tables.Updated with a fix for error if moving over layer before pageload.****************///If you want it to move faster you can set this lower:var speed=15//Sets variables to keep track of what's happeningvar loop, timer//Object constructorfunction makeObj(obj,nest){    nest=(!nest) ? '':'document.'+nest+'.'	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight	this.up=goUp;this.down=goDown;	this.moveIt=moveIt; this.x; this.y;    this.obj = obj + "Object"    eval(this.obj + "=this")    return this}function moveIt(x,y){	this.x=x;this.y=y	this.css.left=this.x	this.css.top=this.y}//Makes the object go upfunction goDown(move){	if(this.y>-this.scrollHeight+oCont.clipHeight){		this.moveIt(0,this.y-move)			if(loop) setTimeout(this.obj+".down("+move+")",speed)	}}//Makes the object go downfunction goUp(move){	if(this.y<0){		this.moveIt(0,this.y-move)		if(loop) setTimeout(this.obj+".up("+move+")",speed)	}}//Calls the scrolling functions. Also checks whether the page is loaded or not.function scroll(speed){	if(loaded){		loop=true;		if(speed>0) oScroll.down(speed)		else oScroll.up(speed)	}}//Stops the scrolling (called on mouseout)function noScroll(){	loop=false	if(timer) clearTimeout(timer)}//Makes the objectvar loaded;function scrollInit(){	oCont=new makeObj('divCont')	oScroll=new makeObj('divText','divCont')	oScroll.moveIt(0,0)	oCont.css.visibility='visible'	loaded=true;}//Call the init on page load