/**
 * gktools 990930
 * by Jorge Cacho, September 30 1999
 * Copyright (c) 1999 Jorge Cacho
 *
 * Jorge Cacho grants you a royalty free license to use or modify this
 * software provided that this copyright notice appears on all copies.
 * This software is provided "AS IS," without a warranty of any kind.
 */

    var message = "You are now logged on to garinet.com ...";		// message to show
	var flashMessage = "where every Garifuna counts!";
    var popMessage = null;		// message to show on mouse over	
    var defaultMessage = true;	// flag for default message
    var currentPosition = 0;		// for current drawing position
    var min = 0;			// minimum drawing x position
    var max = 60;			// maximun drawing x position
    var charsToShow = 0;	// acomodate for far left text
	var defaultSpeed = 500;
    var speed = defaultSpeed;		// control animation rate
	var browserName = "";	// the name of the browser used
	var browserFactor = 2.5;	// browser acomodation space factor
	var tracker = 0;
	var flashCount = 1;		// flashes rate 
	var flashNum = 3;		// number of flashes
	var formNum = 0;		// number of form to reference
	var elementNum = 0;		// number of element to reference
	// initialize appropiate settings
	function init(){
		checkBrowser();
		currentPosition = max;
		run();
		return;	
	} // end init()
	
    // scrolling function
    function scroll(){
		// a signal has been sent to pop up a message from the html page, mainly javascript
		if(!defaultMessage){
			if(popMessage != null){
				// draw at the center of the drawing area
				document.forms[formNum].elements[elementNum].value = popMessage;
				window.status = popMessage;
				return;
			}// end null flag
		}// end defaultMessage

		// we've reached the extreme left
		if((currentPosition +message.length) == 0){
			charsToShow = min;
			currentPosition = max;
			tracker = 1; // trigger the flashing state
			flashCount = 1;
			return;
		}
		// we are still in the far right side of the screen
		if(Math.abs((max - currentPosition)) < message.length){
			document.forms[formNum].elements[elementNum].value = getSpaces(message.substring(0, (max - currentPosition)), (browser == "ms")?(currentPosition*browserFactor):(currentPosition));
			currentPosition--;
		}
		// we're in the left, so only show remaining text
		else if(currentPosition <= min){
			document.forms[formNum].elements[elementNum].value = message.substring(charsToShow);
			charsToShow++;
			currentPosition--;
		}
		// we're in the middle
		else{
			document.forms[formNum].elements[elementNum].value = getSpaces(message, (browser == "ms")?(currentPosition*browserFactor):(currentPosition));
			currentPosition--;
		}
    } // end scroll()

	function flash(){
		document.forms[formNum].elements[elementNum].value = "The time now is: "+getTimeNow();
	} // end flash()

	function blank(){
		document.forms[formNum].elements[elementNum].value = "";
	}
			
    // runs the thread infinetely 
    function run(){
		if(tracker == 1){
			flash();
			flashCount++;
			speed = speed * 2;
			tracker = 2;
		}
		else if(tracker == 2){
			blank();
			speed = defaultSpeed;
			if(flashCount > flashNum){
				tracker = 0;
				flashCount = 1;
			}
			else{
				tracker = 1;
			}
		}
		else{
    		scroll();		
		}
		setTimeout("run()", speed);				
    }// end run()
	
	// padding the given message with the given amount of spaces
	function getSpaces(msg, spaceNum){
		for(i = 0; i < spaceNum; i++){
			msg = " " + msg;
		}
		return msg;
	}// end getSpaces()

	function over(msg){
		popMessage = msg;
		defaultMessage = false;
	}// end over()

	function out(){
		window.status = '';
        popMessage = null;
        defaultMessage = true;
	}// end out()	
	
	function checkBrowser(){
		if((navigator.appName).indexOf("Explorer") != -1){
			browser = "ms";
		}
		else{
			browser = "ns";
		}
	} //end checkBrowser()

	function openNewWindow(win, width, height){
		
		var dirWin = window.open(win,"newwin", "toolbar=0,location=0,directories=no,status=0,menubar=0,scrollbars=yes,resizable=no,width="+width+",height="+height)
		dirWin.focus();
	}

	function openNewWin(win){
		
		var dirWin = window.open(win,"newwin", "toolbar=0,location=0,directories=no,status=0,menubar=0,scrollbars=yes,resizable=no,width=330,height=330")
		dirWin.focus();
	}

	function openWin(imageName, msg, imgWidth, imgHeight){
		var win = "gallery.html";
		var dirWin = window.open(win,"newwin", "toolbar=0,location=0,directories=no,status=0,menubar=0,scrollbars=yes,resizable=no,width="+imgWidth+",height="+imgHeight)
		document.forms[0].elements[0].value = imageName;
		document.forms[0].elements[1].value = msg;
		document.forms[0].elements[2].value = imgWidth;
		document.forms[0].elements[3].value = imgHeight;
		dirWin.focus();
	}
	
	/* 
		obtains the current time in format:
		hour:minute AM or PM
	*/
	function getTimeNow(){
		var date = new Date();
		return getTheHour(date.getHours())+":"+((date.getMinutes() < 10)?"0":"")+""+date.getMinutes()+" "+getAmPm(date.getHours());
	}// end getTimeNow()

	/* 
		obtains today's date in format:
		Month/date/year
	*/
	function getTodayDate2(){
	
		var date = new Date();
		return (date.getMonth()+1)+"/"+date.getDate()+"/0"+(((date.getYear()<2000)?1900+date.getYear():date.getYear())-2000);
	}// end getTodayDate()

	/* 
		obtains today's date in format:
		Day, Month date, year
	*/
	function getTodayDate(){
	
		var date = new Date();
		return getTheDay(date.getDay())+", "+getTheMonth(date.getMonth())+" "+date.getDate()+", "+((date.getYear()<2000)?1900+date.getYear():date.getYear());
	}// end getTodayDate()

	/* 
		obtains today's date in format:
		Day, Month date, year
	*/
	function getCopyright(colorCode){
		var firstYear = "1999";
		var date = new Date();
		if(colorCode == null){colorCode="#000000";}
		//document.write('test');
		document.write('<table border="0" width="100%"><tr><td width="100%" align="left"><font color="'+colorCode+'">Copyright © '+firstYear+' - '+((date.getYear()<2000)?1900+date.getYear():date.getYear())+' Garinet Global Inc., All Rights Reserved</font></td></tr></table>');			  
		//return getTheDay(date.getDay())+", "+getTheMonth(date.getMonth())+" "+date.getDate()+", "+((date.getYear()<2000)?1900+date.getYear():date.getYear());
	}// end getTodayDate()

	function getCopyright2(colorCode, site, firstYr){
		var firstYear = firstYr;
		var date = new Date();
		if(colorCode == null){colorCode="#000000";}
		//document.write('test');
		document.write('<table border="0" width="100%"><tr><td width="100%" align="left"><font color="'+colorCode+'">Copyright © '+firstYear+' - '+((date.getYear()<2000)?1900+date.getYear():date.getYear())+' '+site+', All Rights Reserved</font></td></tr></table>');			  
		//return getTheDay(date.getDay())+", "+getTheMonth(date.getMonth())+" "+date.getDate()+", "+((date.getYear()<2000)?1900+date.getYear():date.getYear());
	}// end getTodayDate()


	/* 
		obtains today's date in format:
		Day, Month date, year
	*/
	function getCopyright3(colorCode){
		var firstYear = "1999";
		var date = new Date();
		if(colorCode == null){colorCode="#000000";}
		//document.write('test');
		document.write('<table border="0" width="100%"><tr><td width="100%" align="center"><font color="'+colorCode+'">Copyright © '+firstYear+' - '+((date.getYear()<2000)?1900+date.getYear():date.getYear())+' Garinet Global Inc., All Rights Reserved</font></td></tr></table>');			  
		//return getTheDay(date.getDay())+", "+getTheMonth(date.getMonth())+" "+date.getDate()+", "+((date.getYear()<2000)?1900+date.getYear():date.getYear());
	}// end getTodayDate()


	/* 
		obtains today's date in format:
		Day, Month date, year
	*/
	function getCopyright4(colorCode){
		var firstYear = "1999";
		var date = new Date();
		if(colorCode == null){colorCode="#000000";}
		//document.write('test');
		document.write('<table border="0" width="100%"><tr><td width="100%" align="left"><font color="'+colorCode+'">Copyright © '+firstYear+' - '+((date.getYear()<2000)?1900+date.getYear():date.getYear())+' Garinet Global Inc., All Rights Reserved</font></td></tr></table>');			  
		//return getTheDay(date.getDay())+", "+getTheMonth(date.getMonth())+" "+date.getDate()+", "+((date.getYear()<2000)?1900+date.getYear():date.getYear());
	}// end getTodayDate()

	/* 
		obtains day in string form
	   	expects the day in number form
	*/
	function getTheDay(dayNum){		
		if(dayNum == 0){
			return "Sunday";
		}
		else if(dayNum == 1){
			return "Monday";
		}
		else if(dayNum == 2){
			return "Tuesday";
		}
		else if(dayNum == 3){
			return "Wednesday";
		}
		else if(dayNum == 4){
			return "Thursday";
		}
		else if(dayNum == 5){
			return "Friday";
		}
		else if(dayNum == 6){
			return "Saturday";
		}
	}// end getTheDay

	/* 
		obtains month in string form
	   	expects the month number
	*/
	function getTheMonth(monthNum){
		if(monthNum == 0){
			return "January";
		}
		else if(monthNum == 1){
			return "February";
		}
		else if(monthNum == 2){
			return "March";
		}
		else if(monthNum == 3){
			return "April";
		}
		else if(monthNum == 4){
			return "May";
		}
		else if(monthNum == 5){
			return "June";
		}
		else if(monthNum == 6){
			return "July";
		}
		else if(monthNum == 7){
			return "August";
		}
		else if(monthNum == 8){
			return "September";
		}
		else if(monthNum == 9){
			return "October";
		}
		else if(monthNum == 10){
			return "November";
		}
		else if(monthNum == 11){
			return "December";
		}

	}// end getTeMonth()

	/* 
		converts hour from 24hr to regular
	   	expects the hour
	*/
	function getTheHour(hourNum){
		if(hourNum > 12){
			return hourNum - 12;
		}
		else if(hourNum == 0){
			return 12;
		}
		else{
			return hourNum;
		}
	}//end getTheHour()	

	/* 
		obtains Am or PM 
	   	expects the hour
	*/
	function getAmPm(hourNum){
		if(hourNum > 12){
			return "PM";
		}
		else{
			return "AM";
		}
	}//end getAmPm()	


	/* 
		obtains today's date in format:
		Day, Month date, year
	*/
	function getTodayDateSpanish(){
	
		var date = new Date();
		return getTheDaySpanish(date.getDay())+"<br> "+date.getDate()+" de "+getTheMonthSpanish(date.getMonth())+", "+((date.getYear()<2000)?1900+date.getYear():date.getYear());
	}// end getTodayDate()

	/* 
		obtains day in string form
	   	expects the day in number form
	*/
	function getTheDaySpanish(dayNum){		
		if(dayNum == 0){
			return "Domingo";
		}
		else if(dayNum == 1){
			return "Lunes";
		}
		else if(dayNum == 2){
			return "Martes";
		}
		else if(dayNum == 3){
			return "Miercoles";
		}
		else if(dayNum == 4){
			return "Jueves";
		}
		else if(dayNum == 5){
			return "Viernes";
		}
		else if(dayNum == 6){
			return "Sabado";
		}
	}// end getTheDay

	/* 
		obtains month in string form
	   	expects the month number
	*/
	function getTheMonthSpanish(monthNum){
		if(monthNum == 0){
			return "Enero";
		}
		else if(monthNum == 1){
			return "Febrero";
		}
		else if(monthNum == 2){
			return "Marzo";
		}
		else if(monthNum == 3){
			return "Abril";
		}
		else if(monthNum == 4){
			return "Mayo";
		}
		else if(monthNum == 5){
			return "Junio";
		}
		else if(monthNum == 6){
			return "Julio";
		}
		else if(monthNum == 7){
			return "Agosto";
		}
		else if(monthNum == 8){
			return "Septiembre";
		}
		else if(monthNum == 9){
			return "Octubre";
		}
		else if(monthNum == 10){
			return "Noviembre";
		}
		else if(monthNum == 11){
			return "Deciembre";
		}

	}// end getTeMonth()
