 	// -----------------------------------------------------------------------------
	// Homesite.js
	// Javascript Utilities for My Sunny Oasis website:  http://www.angelfire.com/de/draf/
	// © 1997-2002 Draf Designs
 	// -----------------------------------------------------------------------------
	// --- Test Area
	//	<a href="javascript:Copyright()">Copyright</a>
	//	alert (window.name+' '+document.referrer)
	// <META http-equiv="Page-Enter" content="revealTrans(Duration=3.0,Transition=10)">

	// -----------------------------------------------------------------------------
	// --- Global variables

	var today	= new Date()
	var nd		= 0
	var navigate= null
	var popup	= null;
	var timerID	= null;
	var timerOn	= false;
	var animate	= true;

	//maximum number of mailing newsletters
	var mailing	= 5

	//navigator.onLine.toString()
	var online	= true;

	var isJava	= navigator.javaEnabled();

	var msie	= (parseInt(navigator.appVersion) == 4) && (navigator.appName == "Microsoft Internet Explorer")  // ie 4+ compatible browser
	var nn 	= (navigator.appName == "Netscape")
	var is4	= (parseInt(navigator.appVersion) == 4)	// version 4.0 Browser
	var ie5	= (navigator.appName == "Microsoft Internet Explorer" && (parseInt(navigator.appVersion) >= 5))

	var alinks	= new Array()	

  	//define hotkey letter here.
	var _key		= 126;
	var _logo	= 'My Sunny Oasis';
	var _wave	= "`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·-"
	var _link	= "http://www.angelfire.com/de/draf/index.html"
	var _msg		= _legal	= '© 1997-'+today.getFullYear()+', Draf Designs';

	var aChars ="!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}"
		 aChars+='"~¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜ'

	// color options used in the Linkrpt function
	var color1	="#00df00"
	var color2	="#ffffff"
	var color3	="#ffff00"
	var color4	="#00ffff"
	var color5	="#af00af"


	var enterStr_	 = '';
	enterStr_	+= '<center><a href="javascript:openWindow(\'http://angelfire.com/de/draf/Homepage.html\',\'HOMEPAGE\',600,600,0,0,1,0,1,0)" name="enterStr"';
	enterStr_	+= 'onmouseover="self.status=\'Enter My Oasis!\'; return true" ';
	enterStr_	+= 'onmouseout="self.status=_msg; return true" >';
	enterStr_	+= '<h1 style="font-family:Helvetica; font-size:16pt; font-weight:bold; color:#ffC000">Enter</h1>';
	enterStr_	+= '</a></center>';


	// -----------------------------------------------------------------------------------------
	// --- Non-Function Operations
	if (is4 && (window.name != "_popup")){
		self.resizeTo(600,600); self.moveTo((screen.Width-600)/2,(screen.Height-600)/2);}

	setInterval("if (popup != null && popup.name === 'Ad') popup.close()",2000)

	// -----------------------------------------------------------------------------------------
	// -----------------------------------------------------------------------------------------
	// -----------------------------------------------------------------------------------------
	// --- Functions
	function hidenotice(){menutext.style.visibility="hidden"}
	function bookmark(){window.external.AddFavorite(_link,_logo)};
	function ping(_src){document.all.sound.src=((_src==null) ? "c:/windows/media/tada.wav" : _src)}
	function replicate(xChar,n){var xstr=''; for (var v=0; v < n; v++) xstr+=xChar; return (xstr)}		
	function navigate(){openWindow('navigate.html','NAVIGATE',120,190,0,0,0,0,0,0)}
	function makevisible(cur,which){cur.filters.alpha.opacity=((which == 0) ? 100 : 15)}
	function stoptimer(){if (timerOn) clearInterval(timerID); clearTimeout(timerID); timerOn=false;}
	function launch(_Object){if (_Object.value != 'x') openWindow(_Object.value,'',600,600,0,0,0,0,0,0)} //local pages
	function linkto(_Object){if (_Object.value != 'x') openWindow(_Object.value,'',600,600,1,1,1,1,1,1)}
	function helpform(){window.showModalDialog("navigate.html",null,"center:yes;dialogWidth:10em;dialogHeight:15em");}
	function psw(){(prompt("Password Required:","") == decode("qsjouju")) ? self.print() : alert('SORRY! No Access');}
	function hotkey(e){if (msie && event.keyCode == 122) showrpt();}
	function stopError() { return true;}

	// -----------------------------------------------------------------------------------------
	// --- Event Handlers


	window.defaultstatus=_msg
	if (!document.layers){
		document.expando=false;
		document.oncontextmenu=notice;	
		document.onmousedown=stopclick;
		//document.onkeypress=homesite;
		//document.onhelp=homesite;
		//document.onerror=	//errormsg(message,url,lineno);

		}

	if (!document.all){
		document.captureEvents(Event.KEYPRESS)
		window.captureEvents(Event.MOUSEDOWN);
		window.onmousedown=stopclick;
		//window.onkeypress=homesite;
		window.onerror = stopError;
		//window.onerror=errormsg(message,url,lineno);
		//self.menubar.visible=false;
		//self.toolbar.visible=false;
		//self.locationbar.visible=false;
		//self.personalbar.visible=false;
		//self.scrollbars.visible=false;
		//self.statusbar.visible=false;
		}
	
	function stopclick(e){
		// -----------------------------------------------------------------------------------------
		// Title:	stopclick(e)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// -----------------------------------------------------------------------------------------
		// Content:	Disable the right click in MSie and Netscape Navigator. Requires capture of events.
		// -----------------------------------------------------------------------------------------
		// These lines should be placed outside the script.
		// if (nn) {window.captureEvents(Event.MOUSEDOWN); window.onmousedown=stopclick;}
		// if (document.all) document.onmousedown=stopclick();
		// -----------------------------------------------------------------------------------------
		if (msie &&(event.button == 2 | event.button == 3)){alert(_msg); if (!is4){location.href="index.html"}};
		if (nn && (e.which == 3 || e.which == 2)){alert(_msg); location.href="index.html";}
	}

	function notice(){
		menutext.style.left=document.body.scrollLeft+event.clientX;
		menutext.style.top=document.body.scrollTop+event.clientY;
		menutext.style.visibility="hidden";
   		return (false);
		}

	function homesite(e){
		//	Home Hot Key Script- © Dynamic Drive (www.dynamicdrive.com)
		if (nn){if (e.which==_key) openWindow('navigate.html','NAVIGATE',120,190,0,0,0,0,0,0)}
		if (msie){if (event.keyCode==_key) openWindow('navigate.html','NAVIGATE',120,190,0,0,0,0,0,0)}
		}


	function Greeting(){
    	var today = new Date();
    	var nhour = today.getHours();
		var mmsg=((nhour < 10) ? "Top of the mourning to ya!" :
				  (nhour < 18) ? "Hello, to all" :
			  	  (nhour < 24) ? "I'm very happy your here." : "Good night!  How was your day?");
	   return (mmsg)
	    }


	
	var wipe_= new Array(_logo.length);
	wipe_[0]=_logo;
	var blnk = ''
	for (i=1; i<32; i++){
		b = blnk.substring(0,i);
		wipe_[i]="";
		for (j=0; j< _logo.length; j++) wipe_[i]=wipe_[i]+_logo.charAt(j)+b;
	}

	var stcnt	= 0;
	function wiper(){
		if (stcnt > -1) str = wipe_[stcnt]; else {str = wipe_[0];}
		if (stcnt-- < -40) {stcnt=31;}
		window.status = str;
		clearTimeout(timerID);
		timerID = setTimeout("wiper()",100);
	}

	// -----------------------------------------------------------------------------------------
	function footer(){
		var xstr='<span class="footer">&copy&nbsp;1997-'+today.getFullYear();
		xstr+=', ' 
		xstr+='<a href="mailto:&#100&#114&#97&#102&#64&#97&#110&#103&#101&#108&#102&#105&#114&#101&#46&#99&#111&#109';
		//xstr+='?cc=&#54&#52&#52&#55&#56&#56&#48&#64&#112&#97&#103&#101&#114&#46&#105&#99&#113&#46&#99&#111&#109';
		xstr+='?subject=Homesite Enquiry"';
		xstr+='title="Email the Designer!" ';
		xstr+='onmouseover="self.status=\'Contact the Designer.\'; return true" ';
		xstr+='onmouseout="self.status=_msg; return true" ';
		xstr+='onclick="draf=window.open(); draf.location.href=\'http://angelfire.com/de/draf/index.htm\'"';
		xstr+='<span class="footer">Draf Designs'
		xstr+='</span></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Updated: '+document.lastModified.substring(0,20)+'</span>';
		document.write(xstr)
	}

	function openWindow(xUrl,xName,xWidth,xHeight,isMenu,isTools,isStatus,isLocation,isScroll,isHistory,isDependent,isResizable)
		{
		// ----------------------------------------------------------------------------------------
		// Title:	openWindow(xUrl,xName,xWidth,xHeight,isMenu,isTools,isStatus,isLocation,isScroll,isHistory,isDependent,isResizable) 
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.3Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// Content:	Open a new window.
		//			options: 1) loading... message	2) center on screen.	3)window options
		// ----------------------------------------------------------------------------------------

		var xcomma =","
		xWidth = ((xWidth==null)  ? 600 : xWidth)
		xHeight = ((xHeight==null) ? 600 : xHeight)

		var xfeatures = "width= "	+xWidth +xcomma
			 xfeatures+= "height="	+xHeight+xcomma

			 xfeatures+= "menubar="		+((isMenu == null)		? 1 : 0)+xcomma
			 xfeatures+= "toolbar="		+((isTools == null)		? 1 : 0)+xcomma
			 xfeatures+= "status="		+((isStatus == null)		? 1 : 0)+xcomma
			 xfeatures+= "location="	+((isLocation == null)	? 1 : 0)+xcomma
			 xfeatures+= "scrollbars="	+((isScroll == null)		? 1 : 0)+xcomma
			 xfeatures+= "copyhistory="+((isHistory == null)	? 1 : 0)+xcomma
			 xfeatures+= "dependent="+((isDependent == null) 	? 1 : 0)+xcomma
			 xfeatures+= "resizable="+((isResizable == null)	? 1 : 0)

		var pop=window.open("about:blank","xName",xfeatures)

		// Check to see if it actually opened.
		if(pop!=null)
			{
			pop.document.open();
			pop.document.write('<script language="javascript">self.moveTo((screen.Width-'+xWidth+')/2,(screen.Height-'+xHeight+')/2)</script>')
			pop.document.write('<div align="center" style="font-size:15pt; font-color:#0000af">L o a d i n g . . .</div>');
			pop.location.replace(xUrl)
			pop.document.close();
			}
      }

	//-----------------------------------------------------------------------


	function Showdate(n){
		// ----------------------------------------------------------------------------------------
		// Title:	Showdate(n)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// Content:	Multiple date format.
		//
		// Multiple date display option requires: [var nd=0] outside function and form input or span tag with id [md].
		//
		// timerID=setInterval("if (msie){++nd; if (nd>23) nd=0; document.all.md.innerHTML=Showdate(nd);}",3000)
		// timerOn=true
		// ----------------------------------------------------------------------------------------
		var today	= new Date();
		var Month	= new Array("January","February","March","April","May","June","July","August","September","October",
								"November","December")
		var Day		= new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
		var xyear	= today.getFullYear().toString()
		var zday	= (today.getDate() <= 9) ? "0"+today.getDate() : today.getDate()
		var zmonth	= ((today.getMonth()+1) <= 9) ? "0"+(today.getMonth()+1) : today.getMonth()+1 
		var xday	= Day[today.getDay()]
 		var xmonth	= Month[today.getMonth()]
		var xStyle	= new Array();

		if (n == null) n=11; // default display option mmm-dd-yyyy.

		// ----------------------------------------------------------------------------------------
		xStyle[1]	=(xday+", "+xmonth+" "+today.getDate()+", "+today.getFullYear());
		xStyle[2]	=(xday+", "+xmonth.substring(0,3)+" "+today.getDate()+", "+today.getFullYear());
		xStyle[3]	=(xday.substring(0,3)+", "+xmonth+" "+today.getDate()+", "+today.getFullYear());
		xStyle[4]	=(xday.substring(0,3)+", "+xmonth.substring(0,3)+" "+today.getDate()+", "+today.getFullYear());
		xStyle[5]	=(xday.substring(0,3)+" "+xmonth.substring(0,3)+" "+today.getDate()+", "+today.getFullYear());
		xStyle[6]	=(xmonth+" "+today.getDate()+", "+today.getFullYear());
		xStyle[7]	=(xmonth+"."+today.getDate()+"."+today.getFullYear());
		xStyle[8]	=(today.getDate()+" "+xmonth+", "+today.getFullYear());
		xStyle[9]	=(today.getDate()+" "+xmonth+" "+today.getFullYear());
		xStyle[10]	=(xmonth.substring(0,3)+"-"+today.getDate()+"-"+today.getFullYear());
		xStyle[11]	=(today.getDate()+"-"+xmonth.substring(0,3)+"-"+today.getFullYear());
		xStyle[12]	=(xmonth.substring(0,3)+" "+today.getDate()+", "+today.getFullYear());
		xStyle[13]	=((today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear());
		xStyle[14]	=(today.getDate()+'/'+(today.getMonth()+1)+'/'+today.getFullYear());
		xStyle[15]	=(zday+'/'+zmonth+'/'+today.getFullYear());
		xStyle[16]	=(zmonth+'/'+zday+'/'+today.getFullYear());
		xStyle[17]	=((today.getMonth()+1)+'.'+today.getDate()+'.'+today.getFullYear());
		xStyle[18]	=(today.getDate()+'/'+(today.getMonth()+1)+'/'+today.getFullYear().toString().substring(2,4));
		xStyle[19]	=((today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear().toString().substring(2,4));
		xStyle[20]	=(zday+'/'+zmonth+'/'+today.getFullYear().toString().substring(2,4));
		xStyle[21]	=(zmonth+'/'+zday+'/'+today.getFullYear().toString().substring(2,4));
		xStyle[22]	=(today.getDate()+'.'+(today.getMonth()+1)+'.'+today.getFullYear().toString().substring(2,4));
		xStyle[23]	=((today.getMonth()+1)+'.'+today.getDate()+'.'+today.getFullYear().toString().substring(2,4));
		// ----------------------------------------------------------------------------------------
		return (xStyle[n]);
	}


	function Showtime(){
		// ----------------------------------------------------------------------------------------
		// Title:	Showtime()
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// Content:	Time display
		//
		// Digiclock example: place this line in script tag or body onload.
		//			setInterval("document.[form object].[form input id].value=Showtime()",1000)
		// ----------------------------------------------------------------------------------------	
		var today	= new Date();
		var xstr	= 	' ';
			xstr	+= ((today.getHours()  < 10) ?  "0" : "");
			xstr	+= (today.getHours()   <=12) ?  today.getHours() : today.getHours()-12;
			xstr	+= ((today.getMinutes()< 10) ? ":0" : ":") + today.getMinutes();
			xstr	+= ((today.getSeconds()< 10) ? ":0" : ":") + today.getSeconds();
			xstr	+= ((today.getHours()  < 12) ? " a.m." : (today.getHours() == 24) ? " a.m." : " p.m.")
			xstr	+= ' ';
	    return(xstr);
    }


	function linkrpt(linkref){
		// --------------------------------------------------------------------------------------
		// Title:	linkrpt(linkref)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Web Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// Content:	Capture certain events on HTML tags.
		// --------------------------------------------------------------------------------------
		// Definitions:
		//
		//	1. Color Scheme: [clr,color1,color2,color3]=rrggbb or rgb(n,n,n)
		//
		//	2. marquee (ie) or form textarea (nn) with css styles as desired with id=[rpt]
		//
		//	3. window events in the <body> tag or specific tags on the page.
		//		example: <body onclick=linkrpt(),onkeyup=linkrpt,onmousedown=linkrpt(),onChange=linkrpt()>
		//		example: <img src='image/image.gif' border='0' onmousedown='linkrpt("User tried to copy: "+this.src)';
		//		example: document.onkeyup= object =linkrpt();
		//		example: with( document ){ondblclick = onmousedown = onmouseup = onmouseover = onmouseout = onkeyup = 		//						onclick = onselectstart = linkrpt;}
		//
		//
		// --------------------------------------------------------------------------------------------
		var xstr =window.event.type.fontcolor(color1).toUpperCase();
		if (linkref == null){
			if (window.event.type.toUpperCase() == "KEYUP"){
				xstr+=(':-Code= '+window.event.keyCode).fontcolor(color3);
				xstr+=(' Value= ').fontcolor(color4);
				if (window.event.ctrlKey) xstr+=' [CTRL]+'.fontcolor(color4);
				if (window.event.altKey) xstr+=' [ALT]+'.fontcolor(color4);
				if (window.event.shiftKey) xstr+=' [SHIFT]+'.fontcolor(color4);
				xstr+=String.fromCharCode(window.event.keyCode).fontcolor(color4);
				}
			else{
				xstr+=':-'+window.event.srcElement.tagName.fontcolor(color3);
				xstr+=((window.event.srcElement.tagName=='A') ? ':-'+window.event.srcElement.href : 					'').fontcolor(color4);
				xstr+=(window.event.srcElement.tagName=='INPUT') ? ' '+
					window.event.srcElement.type.toUpperCase().fontcolor(color3) : '';
				xstr+=((window.event.srcElement.id=='') ? ':-X= '+window.event.clientX+', Y= '+window.event.clientY 					: ':-Id='+window.event.srcElement.id).fontcolor(color4);
				} // end if..KEYUP	
			}// end (linkref == null)
		else {
			xstr+=':-'+window.event.srcElement.tagName.fontcolor(color3)
			xstr+=(window.event.srcElement.tagName =='INPUT') ? ' '+
				window.event.srcElement.type.toUpperCase().fontcolor(color3) : '';
			xstr+=':-'+linkref.fontcolor(color4);
			}
		xstr+=(' '+String.fromCharCode(64)+' ').fontcolor(color2);
		xstr+=(Showdate(11)+' '+Showtime()).fontcolor(color2);
		xstr= '<br>'+xstr;
		//document.all.rpt.innerHTML+=xstr;
		return(xstr)
	} 

	// -----------------------------------------------------------------------------

	function sysinfo(){
		// ----------------------------------------------------------------------------------------
		// Title:	sysinfo 
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// Content:	Full System Information:	Version:	1.0.3752
		//
		// Definitions: Sub Functions include: Showdate(n), Showtime(), replicate()
		// ----------------------------------------------------------------------------------------
		var n=window.navigator;
		var s=window.screen
		var e=ScriptEngineMajorVersion()+'.'+ScriptEngineMinorVersion()+'.'+ScriptEngineBuildVersion()
		var	xstr='<br>';
		xstr+='Copyright	: '.fontcolor(color1)+'© 1998-2000, Draf Designs'.fontcolor(color2)+'<br>';
		xstr+='Event Tracker: '.fontcolor(color1)+' version 1.0.3752'.fontcolor(color2)+'<br>';
		xstr+='Script Engine: '.fontcolor(color1)+ScriptEngine().fontcolor(color2)+'&nbsp;&nbsp;&nbsp;';
		xstr+='Version		: '.fontcolor(color1)+e.fontcolor(color2)+'<br>';
	  	xstr+='Browser Name : '.fontcolor(color1)+n.appName.fontcolor(color2)+'<br>';
		xstr+='User Agent	: '.fontcolor(color1)+n.userAgent.fontcolor(color2)+'<br>';
		xstr+='Language:[Brw]: '.fontcolor(color1)+n.browserLanguage.fontcolor(color2)
		xstr+='			[Sys]: '.fontcolor(color1)+n.systemLanguage.fontcolor(color2)
		xstr+='			[Usr]: '.fontcolor(color1)+n.userLanguage.fontcolor(color2)+'<br>';
		xstr+='Screen:	[wxh]: '.fontcolor(color1)+(s.width.toString()+'x'+s.height.toString()).fontcolor(color2)
		xstr+='		[Avl]: '.fontcolor(color1)+(s.availWidth.toString()+'x'+s.availHeight.toString()).fontcolor(color2)
		xstr+='			[Clr]: '.fontcolor(color1)+s.colorDepth.toString().fontcolor(color2);
		xstr+=' 		[Bff]: '.fontcolor(color1)+s.bufferDepth.toString().fontcolor(color2);
		xstr+=' 		[Upd]: '.fontcolor(color1)+s.updateInterval.toString().fontcolor(color2)+'<br>';
		xstr+='Platform	: '.fontcolor(color1)+n.platform.fontcolor(color2);
		xstr+='			[CPU]: '.fontcolor(color1)+n.cpuClass.fontcolor(color2)+'<br>';
		xstr+='Options 	: '.fontcolor(color1);
		xstr+='			[Cookies]: '.fontcolor(color1)+n.cookieEnabled.toString().fontcolor(color2);
		xstr+='			[Java]: '.fontcolor(color1)+n.javaEnabled().toString().fontcolor(color2);
		xstr+='			[Taint]: '.fontcolor(color1)+n.taintEnabled().toString().fontcolor(color2);
		xstr+='			[Online]: '.fontcolor(color1)+n.onLine.toString().fontcolor(color2)+'<br>'
		xstr+='Current: [Date]: '.fontcolor(color1)+Showdate(1).fontcolor(color2)
		xstr+='	 	[Time]: '.fontcolor(color1)+Showtime().fontcolor(color2)+'<br>';
		xstr+='Page Title	: '.fontcolor(color1)+(document.title).fontcolor(color2)+'<br>';
		xstr+='Document URL	: '.fontcolor(color1)+(document.URL).fontcolor(color2)+'<br>';
		xstr+='Character Set: '.fontcolor(color1)+document.charset.fontcolor(color2)
		xstr+='		[Default]: '.fontcolor(color1)+document.defaultCharset.fontcolor(color2)+'<br>';
		xstr+='Referred From: '.fontcolor(color1)+document.referrer.fontcolor(color2)+'<br>';
		xstr+=replicate('-',90).fontcolor(color2)
		return (xstr)
	}



	function encode(xString){
		// ----------------------------------------------------------------------------------------
		// Title:	encode(xString)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		var xStr="";
    	for(var cntr=0; cntr <= xString.length; cntr++){
       		for(var c=0; c <= aChars.length;  c++){
          		if (aChars.substring(c,c+1) == xString.substring(cntr,cntr+1)){
 					v=c+1; 
					xStr=xStr+aChars.substring(v,v+1);
				}
			}
 		}    
		return (xStr);
     }
    

	function decode(xString){
		// ----------------------------------------------------------------------------------------
		// Title:	Decode(xString)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		var xStr="";
		for(var cntr=0; cntr <=xString.length; cntr++){
			for(var c=aChars.length; c >=0;  c--){
				if (aChars.substring(c,c-1) == xString.substring(cntr,cntr+1)){
					v=c-1 
					xStr=xStr+aChars.substring(v,v-1);
				}
			}
		}    
       return (xStr);
	}    


	function scramble(xString){
		// ----------------------------------------------------------------------------------------
		// Title:	Scrambler(xString)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		var y=''
		for (c=0; c < xString.length; c++) y+="&#"+xString.charCodeAt(c);
		return (y);
	}

	function Hexconv(nValue){
		// ----------------------------------------------------------------------------------------
		// Title:	Hexconv(nValue)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// ----------------------------------------------------------------------------------------
		//	n = denotes the given value diveded by (16 hex)
		// 	n_= denotes the remainder of the value divided by (16 hex)
		// ----------------------------------------------------------------------------------------
		var aHex = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
		var n =parseInt(nValue/16)
	  	var n_=nValue%16
		n = (n  <= 15) ? aHex[n]  : Hexconv(n)
		n_= (n_ <= 15) ? aHex[n_] : Hexconv(n_)	
		var nhex = n + n_
		return(nhex)
      }

	function Baseconv(nValue,xBase){
		// ----------------------------------------------------------------------------------------
		// Title:	Baseconv(nValue,xBase)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
    	var aHex = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
	   	var nbasemax=xBase-1	
		var n =parseInt(nValue/xBase)
		var n_=nValue%xBase 
       	n  = ((n <= nbasemax) ? aHex[n] : Baseconv(n,xBase))
       	n_ = ((n_ <= nbasemax) ? aHex[n_] : Baseconv(n_,xBase))
  	   	return(n+n_)
      }


	function go(xURL,n){
		if (n == 0) var xpage=window.open(xURL,"","width=600,height=400");
		if (n == 1) var xpage=window.open(xURL,"","width=600,height=400,scrollbars=1,status=1,resizeable=1");
		if (n == 2) var xpage=window.open(xURL,"","width=600,height=400,scrollbars=1,toolbar=1,menubar=1,location=1");
   	}	


	function implode(xWidth,xHeight,closeit){
		// ----------------------------------------------------------------------------------------
		// Title:	implode(xWidth, xHeight, closeit)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		if (is4){
			xWidth	= (xWidth  == null) ? 600  : xWidth
			xHeight	= (xHeight == null) ? 600 : xHeight
		 	for (var cntr=1; cntr<=xWidth; cntr=cntr+7 ){
				var w=xWidth-(cntr)
				var h=xHeight-(cntr)

				if (w <= 100) w=100;
				if (h <= 100) h=100;
        		self.resizeTo(w,h)
				if (closeit && w==100) self.close();
			}
			self.resizeTo(100,100)
		}
	}


	function explode(xWidth,xHeight){
		// ----------------------------------------------------------------------------------------
		// Title:	explode(xWidth, xHeight)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		if (is4){
			xWidth	= (xWidth  == null) ? screen.availWidth  : xWidth
			xHeight	= (xHeight == null) ? screen.availHeight : xHeight
			self.moveTo((screen.availWidth-xWidth)/2,(screen.availHeight-xHeight)/2)
			for (var cntr=1; cntr<=xWidth; cntr=cntr+7 ){
				var w=100+(cntr)
				var h=100+(cntr)
				if (w >= xWidth) w=xWidth;
				if (h >= xHeight) h=xHeight;
				self.resizeTo(w,h)
				}
		self.resizeTo(xWidth,xHeight)

		}
	} 

	function expand(xURL,xWidth,xHeight){
		// ----------------------------------------------------------------------------------------
		// Title:	expand(xUrl, xWidth, xHeight)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		if (parseInt(navigator.appVersion) >=4){
     		pop=window.open("","","toolbar=0,menubar=no,scrollbars,status,width=100,height=100,dependent=yes")
			pop.moveTo((screen.Width-600)/2,110)
			xWidth=((xWidth <=101) ? screen.availWidth : xWidth);
			xHeight=((xHeight <=101) ? screen.availHeight : xHeight);
			for (var cntr=1; cntr<=xWidth; cntr=cntr+7 ){
				w=100+(cntr)
				h=100+(cntr)
				if (w >= xWidth) w=xWidth;
				if (h >= xHeight) h=xHeight;
				pop.resizeTo(w,h)
			}
			pop.resizeTo(xWidth,xHeight)
			pop.location.href=xURL
		}
		else
			WinOpener("xURL","",xWidth,xHeight,0,0,1,0,1,0)				
	}



	function shake(n) {
		if (self.moveBy) {
        	for (i = 10; i > 0; i--) {
         		for (j = n; j > 0; j--) {
            		self.moveBy(0,i);
               		self.moveBy(i,0);
               		self.moveBy(0,-i);
                	self.moveBy(-i,0);
				}
			}
		} 
	}


	function flash(){
		// ----------------------------------------------------------------------------------------
		// Title:	flash()
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		var rr=parseInt(Math.random()*255)
		var gg=parseInt(Math.random()*255)
		var bb=parseInt(Math.random()*255)
		var xcolor='#'+Hexconv(rr)+Hexconv(gg)+Hexconv(bb)
		document.bgColor=xcolor
		setTimeout("flash()",3000);
	}

	function mixcase(xString){
		// ----------------------------------------------------------------------------------------
		// Title:	mixcase
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// Convert an uppercase string to mixcase or initial capitals.
		// ----------------------------------------------------------------------------------------
		var mixstr=''	//return string
		var xstr=''		//processing string
		var cstr		//individual character variable
		var v			//counter
		for (var cntr=0; cntr <= xString.length; cntr++){
			v=cntr+1;
			cstr=xString.substring(cntr,v);
			xstr+=cstr
			if (cstr == ' '){
				mixstr+=xstr.substring(0,1).toUpperCase()+xstr.substring(1,xstr.length).toLowerCase();
				xstr='';
			}
		}
		mixstr+=xstr.substring(0,1).toUpperCase()+xstr.substring(1,xstr.length).toLowerCase();
		return (mixstr)
    }

	function About(cHeader,cVersion){
		// ----------------------------------------------------------------------------------------
		// About this site.	
		// ----------------------------------------------------------------------------------------
		if (cHeader == null) cHeader='My Sunny Oasis';
		if (cVersion == null) cVersion='';
		var about=window.open('','','width=220,height=180')
		about.moveTo((screen.availWidth-220)/2,(screen.availHeight-180)/2);
		d=about.document
		d.write('<HEAD><link rel="stylesheet" type="text/css" href=homesite.css></HEAD>');
		d.write('<Body style="overflow:scroll;overflow-x:hidden;overflow-y:hidden">');
		d.write('<div align="center" style="background-color:#FFC000; border:7px #cfcfcf dashed">');
		d.write('<div align="center" class="banner" style="text-align:center">'+cHeader+'</div><br>');
		d.write('<div align="center" class="about" style="text-align:center">'+cVersion+'</div>');
		d.write('<div align="center" class="about" style="text-align:center">Designed and Written by</div>');
		d.write('<div align="center" class="about" style="text-align:center">'+_msg+'</div>');
		d.write('<div align="center" class="about" style="text-align:center">All rights reserved.</div>');
		d.write('<div>&nbsp;</div></div>');
		d.write('<script language="javascript">');
		d.write('setTimeout(');  
		d.write('"self.close()');
		d.write(';",5000)'); 
		d.write('</');
		d.write('script>');
	}		

	function dispfunction(xfunction){
		// ----------------------------------------------------------------------------------------
		// Title:	dispfunction(xfunction)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		var _popup=window.open("","_popup","width=600,height=600,scrollbars=1")
		_popup.moveTo((screen.width-600)/2,(screen.height-400)/2)
		d=_popup.document;
		d.bgcolor="#FFFFFF";
		d.fgcolor="#000000";

		d.write('<title>Function Source Display</title>');


		d.write('<Body>');
		d.write('<pre>'+xfunction+'</pre><br><br>');
		d.write('<center><input type="button" class="button" value="Print" onClick="self.print()">');
		d.write('<input type="button" class="button" value="Close" onClick="self.close()">');
		d.write('</center></body>');
		d.close();
		}


	function imgdisp(xImage){
		// ----------------------------------------------------------------------------------------
		//	Image Display in a Popup				
		// ----------------------------------------------------------------------------------------
		var xImg=new Image();xImg.src=xImage;
		var xWidth=xImg.width+140; xHeight=xImg.height+140;
		var _popup=window.open("","_popup","width="+xWidth+", height="+xHeight)
		_popup.resizeTo(xWidth,xHeight);
		_popup.moveTo((screen.width-xWidth)/2,(screen.height-xHeight)/2)
		d=_popup.document;
		d.write('<title>Image Display - © Draf Designs</title>');
		d.write('<script src="homesite.js"></script>');
		d.write('<Body bgcolor="#ffffff"><center><form>');
		d.write('<div id="menutext"></div>');
		d.write('<img name="img" src="'+xImage+'" alt="" border=0><br><br>');
		d.write('<span style="font-size:8pt">Print Password:</span>');
		d.write('<input type="password" value="" name="password" value="Print" name="prnt"');
		d.write('style="font-size:8pt"><input type="button" value="Print" style="font-size:8pt"');
		d.write("onClick=\"if (document.all.password.value == decode('qsjouju')) self.print();");
		d.write(" else alert('Sorry! Not Authorized.');");
		d.write('"><input type="button" style="font-size:8pt" value="Close" onClick="self.close()">');
		d.write('</form></center>');
		if (document.all){d.img.alt=xWidth+'x'+xHeight; d.img.src=xImg.src;}
		d.close();
	}

	function WinScroll(direction,xWidth,xHeight){
		// ----------------------------------------------------------------------------------------
		// Title:	Winscroll (direction,xWidth,xHeight)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		if (!document.layers && (navigator.appVersion.indexOf('4')!= -1)){
			self.resizeTo(xWidth,xHeight)
			if (direction == 1){ //Up
				self.moveTo((screen.availWidth-xWidth)/2,screen.availHeight-10)
				for (var c=1; c<=(screen.availHeight-(-xHeight))/2; c++)
					self.moveTo((screen.availWidth-xWidth)/2,screen.availHeight-c)
			}

			if (direction == 2){  //Down
				var x=screen.availHeight+screen.Height
				self.moveTo((screen.availWidth-xWidth)/2,(screen.availHeight-x))
				for (var c=0; c<=(screen.availHeight-(-xHeight/2)); c++)
					self.moveTo((screen.availWidth-xWidth)/2,(screen.availHeight-x)+c)
			}


			if (direction == 3){  //left
				var x=screen.availWidth-10
				self.moveTo(x,(screen.availHeight-xHeight)/2)
				for (var c=1; c<=(x-(-xWidth))/2; c++)
					self.moveTo((x-c),(screen.availHeight-xHeight)/2)
			}
	
			if (direction == 4){ //Right
				var x=screen.availWidth+(xWidth-10)
				self.moveTo((screen.availWidth-x),(screen.availHeight-xHeight)/2)
				for (var c=1; c<=(screen.availWidth-(-xWidth))/2; c++)
					self.moveTo(((screen.availWidth-x)+c),(screen.availHeight-xHeight)/2)
			}
		}
	}	


	function hidelinks(hide){
		// ----------------------------------------------------------------------------------------
		// Title:	hidelinks(hide)
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// This function requires an array definition: 
		// ----------------------------------------------------------------------------------------
		if (hide){
			for (var v=0; v < document.links.length; v++){
				alinks[v]=document.links[v].href; 
				document.links[v].href="javascript:void(0)"
			}	
		}
		else{
			for (var v=0; v < document.links.length; v++) {document.links[v].href=alinks[v];}}
	}


	function WinOpener(xUrl,xName,xWidth,xHeight,isMenu,isTools,isStatus,isLocation,isScroll,isHistory){ 
		// ----------------------------------------------------------------------------------------
		// Title:	openWindow(xUrl,xName,xWidth,xHeight,isMenu,isTools,isStatus,isLocation,isScroll,isHistory) 
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		// Content:	Open a new window.
		//			options: 1) loading... message	2) center on screen.	3)window options
		// ----------------------------------------------------------------------------------------
		if (xWidth == null) xWidth=600;
		if (xHeight == null) xHeight=600;

		var	config ="width="+xWidth+","
			config+="height="+xHeight+","
			config+="menubar="+isMenu+","
			config+="toolbar="+isTools+","
			config+="status="+isStatus+","
			config+="location="+isLocation+","
			config+="scrollbars="+isScroll+","
			config+="copyhistory="+isHistory+","
			config+="dependent=1"

		var xName=window.open("","",config)
		xName.document.write("<div style='font-size:10pt;font-weight:bold;font-color:#0000af'>");
		xName.document.write("Loading..."+window.name+"</div>");
		xName.location.href=xUrl
	}

/*
  function checkOS() {
    if(navigator.userAgent.indexOf('IRIX') != -1)
       {var OpSys = "Irix"; }
    else if((navigator.userAgent.indexOf('Win') != -1) && (navigator.userAgent.indexOf('98') != -1))
        { var OpSys = "Windows 98"; }
    else if((navigator.userAgent.indexOf('Win') != -1) && (navigator.userAgent.indexOf('95') != -1))
        { var OpSys = "Windows 95"; }
    else if(navigator.userAgent.indexOf('Win') != -1) 
        { var OpSys = "Windows NT or Windows 3.1"; }
    else if(navigator.userAgent.indexOf('Mac') != -1)
        { var OpSys = "Macintosh"; }
    else if(navigator.appName=="WebTV Internet Terminal")
        { var OpSys="WebTV"; }
    else { var OpSys = "other"; }
  return OpSys;
  }


	function Validate_field(_object){
			 if (_object.value.length < 3) _object.focus();
		else if (_object.value.indexOf("<") != -1) _object.focus();
		else if (_object.value.indexOf(">") != -1) _object.focus();
		else if (_object.value.indexOf("&") != -1) _object.focus();
	return(true)		
	}


	//function nValidate(obj_){if (isNAN(parseInt(obj_.value))){obj_.focus(); return (false);}}	

	function eValidate(_object){
		// indexOf(s) != -1 the string was found
		if (_object.value.length < 3){alert('Invalid E-mail.'); _object.name.focus(); return(false);}
		else if (_object.value.indexOf("@") != -1){alert('Invalid E-mail'); _object.name.focus(); return(false);}
		else if (_object.value.indexOf(".") != -1){alert('Invalid E-mail'); _object.name.focus(); return(false);}
		else if (_object.value.indexOf(">") != -1){alert('Invalid Characters.'); _object.name.focus(); return(false);}
		else if (_object.value.indexOf("&") != -1){alert('Invalid Characters.'); _object.name.focus(); return(false);}
		else {return(true)}
	}

	function fValidate(_object){
		if (_object.value.length < 3){alert('Minimum Length: 3 Characters.'); _object.name.focus(); return(false);}
		else if (_object.value.indexOf("<") != -1){alert('Invalid Characters.'); _object.name.focus(); return(false);}
		else if (_object.value.indexOf(">") != -1){alert('Invalid Characters.'); _object.name.focus(); return(false);}
		else if (_object.value.indexOf("&") != -1){alert('Invalid Characters.'); _object.name.focus(); return(false);}
		else return(true)		
	}
*/



	function fpConvert(nValue){
		xStr="";
		nValue =""+nValue;     
		if (nValue.indexOf(".") != -1){
			for(var c=0; c <= nValue.length; c++){
         		xStr+=nValue.substring(c,c+1);
         		if (nValue.substring(c,c+1) == "."){
            		Str1=xStr.substring(0,xStr.length)
            		xStr="";
            	}
		    }

      xStr=xStr.substring(0,2);
      nValue=Str1+xStr;
      }
	return(nValue);
    }


	function tempconv_(n,cel){
		if (n!=null){return(Math.round(((cel) ? (parseFloat(nDegree)*(9/5))+32 : ((parseFloat(nDegree)-32)*(5/9))),4))}}

	function tempconv(nDegree,bCelcius){
		if (nDegree == null) 
			return (false);
		else{
			var xDegree=Math.round(((bCelcius) ? (parseFloat(nDegree)*(9/5))+32 : ((parseFloat(nDegree)-32)*(5/9))),4);
			return 	(xDegree.toString()+((bCelcius) ? "° Fahrenheit" : "° Celcius"));
		}
	}




	function showrpt(){
		// ----------------------------------------------------------------------------------------
		// Title:	showrpt()
		// Author:	Draf Designs  dem_z@yahoo.com  http://www.angelfire.com/de/draf/index.html
		// Legal:	© 1998-2000, Draf Designs
		// EULA:	Open Source - These lines must always accompany this script 
		// ----------------------------------------------------------------------------------------
		var rpt_=window.open("","rpt","width= 500,height=400,scrollbars=yes");
		if (rpt_ != null) var d=rpt_.document;
		rpt_.focus();
		if (is4) rpt_.moveTo((parseInt(screen.availWidth-500)/2),(parseInt(screen.availHeight-400)/2))
		d.write('<title>Acitivity Log for: '+Showdate(11)+' '+Showtime()+'</title>')
		d.write('<Body style="font-family:helvetica; font-size:7pt; background-color:#000000"><center>');
		d.write('<input type="button" value="Print" onclick="self.print()" ');
		d.write('style="font-family:Arial;font-size:7pt;text-align:center;color:#af0000;width:40px;cursor:hand">')
		d.write('<input type="button" value="Close" onclick="self.close()" ')
		d.write('style="font-family:Arial;font-size:7pt;text-align:center;color:#af0000;width:40px;cursor:hand">')
		d.write('</center><br>')
		d.write(parent.rpt.innerHTML);
		d.close();
		
		// --- ActiveX Object ------------------------------------------------------------
		var fso=new ActiveXObject("Scripting.FileSystemObject");
		if (fso.FileExists('http://angelfire.com/de/draf/rpt.html'))
			var f = fso.OpenTextFile('http://angelfire.com/de/draf/rpt.html',8, false);
		else
			var f = fso.CreateTextFile('http://angelfire.com/de/draf/rpt.html');

		//f.WriteLine(xstr+' @ '+Showdate(11)+' '+Showtime());
		f.WriteLine('<html><body bgcolor="#000000"><font face="helvetica" size="-1">')
		f.WriteLine(parent.rpt.innerHTML)
		f.WriteLine('<br>---------------------------------------------------------------------------------<br>');
		f.WriteLine('</font></body></html>')
		f.close();
		//alert('Site Activity Report was written to "C:\\RPT.HTML"')
	}



	function Copyright(){
		var _popup = window.open("","copyright","width=320, height=350")

		_popup.moveTo((screen.width-320)/2,(screen.height-350)/2)
		d = _popup.document;
		d.write('<title>Draf Designs - Copyright</title>');
		d.write('<Body bgcolor="#cfcfcf" style="font-size:8pt; font-family:verdana">')
		d.write('<div align="left" style="width:310px; font-size:8pt; font-family:verdana">');
		d.write('These materials (including without limitation ');
		d.write('all articles, text, images, logos, compilation, ')
		d.write('and design) are © 1998-2000 Draf Designs.');
		d.write('<br><br>');
		d.write('Draf Designs resouces may be copied and ');
		d.write('distributed on a limited basis for non-');
		d.write('commercial purposes only, provided that ');
		d.write('any material copied remains intact and ');
		d.write('that all copies include the following notice ')
		d.write('in a clearly visible position:');
		d.write('<br><br><font color="#ff0000">');
		d.write('"© 1998-2000 Draf Designs. All rights reserved." ');
		d.write('</font>')
		d.write('<br><br>');
		d.write('These materials may not be copied or redistributed for commercial purposes or for compensation ');
		d.write('of any kind without prior written permission from Draf Designs. If you have questions about these ')
		d.write('terms or would like information about licensing materials from Draf Designs., please send an ')
		d.write('email to draf@angelfire.com.');
		d.write('<br><br>');
		d.write('All information and materials on the Draf Designs websites are provided "as is" and without warranty ');
		d.write('of any kind.');
		d.write('<br><br>');
		d.write('</div>');
		d.write('<div align="center">');
		d.write('<input type="button" value=" Close " style="font-size:7pt" onclick="self.close()">');
		d.write('</div>');
		d.close();
	}


	function CheckHTMLtags()
   	{
			var xtags = ''	
			var c = document.all.length;  //get all the tags in an IE document.
			var i;
			// step through the array of tags and store results in xtags variable.
        	for(i=0; i < c; i++) { xtags+=document.all.item(i).tagName + "\n" };
         //spanTAGS.innerHTML = spanTAGS.innerHTML + document.all.item(i).tagName + "<BR>"; //write to span tag.
			document.write(xtags)
      }
	//-----------------------------------------------------------------------

		function move(opt){
			for (var c=0; c < 30; c++){
				if (opt == 0) self.moveBy(-c,0);
				if (opt == 1) self.moveBy(c,0);
				if (opt == 2) self.moveBy(0,c);
				if (opt == 3) self.moveBy(0,-c);
				}
			}
