/*
Innovations Factory JAvascript 1
*/

function Add2Favorite()
{

window.external.AddFavorite(location.href, document.title);
//window.external.AddFavorite("http://www.innovations-factory.co.uk", "AddFavorite");
window.event.returnValue = false;
}
function imgSwap(objName, fileName)
	{
objName.src=fileName;
	}	

function jump() {
if (top.frames.length!=0)
top.location=self.document.location;
}

function daydate()
	{
	var day=['Sun','Mon','Tue','Wed','Thur','Fri','Sat'];
	var mon=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
	var d = new Date();
	
document.write(day[d.getDay()]+', '+mon[d.getMonth()]+' '+d.getDate()+' '+d.getFullYear());
	}

function initArray()
	{  
      this.length = initArray.arguments.length
      for (var i = 0; i < this.length; i++)
      this[i+1] = initArray.arguments[i]
	}
   var DOWArray = new initArray("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
   var MOYArray = new initArray("January","February","March","April","May","June","July","August","September","October","November","December");
   var LastModDate = new Date(document.lastModified);
function writeDate()
	{
   document.write("<font face='arial' size='1'; color='red;'>Page current at ");
   document.write(DOWArray[(LastModDate.getDay()+1)], ", ");
   document.write(MOYArray[(LastModDate.getMonth()+1)], " ");
var lastmodifiedy = LastModDate.getYear();
if (lastmodifiedy < 1000) lastmodifiedy+=1900;
   document.write(LastModDate.getDate(), ", ",(lastmodifiedy));
   document.write(".</font>");
	}


function newWindow1(url, width, height) {
    nameW='feature'
 if (navigator.appVersion.indexOf('4') != -1) {
 xTop = screen.width/2 - (width/2);
 yTop = screen.height/2 - (height/2);
 window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=0,resizable=0,title=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=' + xTop + ',top=' + yTop + '');
 } else {
 window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=0,resizable=0,title=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=150,top=200');
 }
}

function newWindow2(url, width, height)
	{
    nameW='feature'
 if (navigator.appVersion.indexOf('4') != -1)
		{
 xTop = screen.width/3 - (width/2);
 yTop = screen.height/3 - (height);
 window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=0,resizable=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=' + xTop + ',top=' + yTop + '');
		}
 else
	{
 window.open(url, nameW, 'height='+height+',width='+width+',scrollbars=0,resizable=0,menubar=0,toolbar=0,status=0,location=0,directories=0,left=150,top=200');
 	}
}

function PadSpaces(TheString)
{
	var Spaces = "             ";
	len = Math.round((9 - TheString.length)/2);
	return Spaces.substring(0,len) + TheString;
}
function NumLeapYears(StartYear, EndYear)
{
 	var LeapYears, i;
 	if (EndYear >= StartYear){
 		for(LeapYears = 0; StartYear <= EndYear; StartYear++)
 		if (IsLeapYear(StartYear)) LeapYears++;
	}else{
	for(LeapYears = 0; EndYear <= StartYear; EndYear++)
 		if (IsLeapYear(EndYear)) LeapYears++;
	}
 	return LeapYears;
}
function IsLeapYear(Year) 
{
	if(Math.round(Year/4) == Year/4){
		if(Math.round(Year/100) == Year/100){
			if(Math.round(Year/400) == Year/400)
				return true;
			else return false;
		}else return true;
	}
	return false;
}
function Trim(TheString)
{
	var len;
	len = TheString.length;
 	while(TheString.substring(0,1) == " "){ //trim left
 		TheString = TheString.substring(1, len);
  		len = TheString.length;
	}
 	while(TheString.substring(len-1, len) == " "){ //trim right
 		TheString = TheString.substring(0, len-1);
  		len = TheString.length;
 	}
 	return TheString;
}
function DetermineMonthIdx()
{
	var i, month, month_s, len;

	month = Trim(document.calform.elements[4].value);
	len = month.length;
	for( i = 0; i <12; i++){
    		month_s = Months[i].substring(0,len);
		if (month_s.toUpperCase() == month.toUpperCase())
        		return (i);
  	}
  	return -1;
}
function FindNewYearStartingDay(Year)
{
 	var LeapYears, Years, Day;
 
 	LeapYears = NumLeapYears(1995, Year); 
 	if  (Year >=1995)
 		Years = (Year -1995)+LeapYears;
 	else	Years = (Year -1995)-LeapYears; 
 	if  (Year >=1995)
		Day = Math.round(((Years/7 - Math.floor(Years/7))*7)+.1);
 	else	Day = Math.round(((Years/7 -  Math.ceil(Years/7))*7)-.1);
	
	if (Year >=1995){ 
 		if(IsLeapYear(Year)) Day--;
 	}else Day += 7;
 	if(Day < 0) Day = 6;
 	if(Day > 6) Day = 0;
 	return Day;
}
function FindNumDaysInMonth(Year, Month)
{
 	if(Month == 1){
   		if(IsLeapYear(Year)) return 29;
   		else return 28;
 	}else{	
   		if(Month >6) Month++;
   		if(Month/2 == Math.round(Month/2))  return 31;
 	}
 return 30;		
}
function FindMonthStartDay(NewYearDay, Year, Month)
{
  	var MonthStartDay;
  	AddArray = new Array(12);
  	AddArray[0]=0;AddArray[1]=3;AddArray[2]=3;AddArray[3]=6;
	AddArray[4]=1;AddArray[5]=4;AddArray[6]=6;AddArray[7]=2;
	AddArray[8]=5;AddArray[9]=0;AddArray[10]=3;AddArray[11]=5;
  	MonthStartDay = NewYearDay + AddArray[Month];
  	if(IsLeapYear(Year)  && (Month ) > 1) MonthStartDay ++;
  
  	if (MonthStartDay > 6) MonthStartDay -= 7;
  	return MonthStartDay; 
}
function  FillCalendar()
{
  	var Year, Month, Midx, NewYearDay, MonthStartDay;
	var NumDaysInMonth, i, t;
  	Year = parseFloat(document.calform.elements[1].value);
  	Month = document.calform.elements[4].value;
  	Midx  =  DetermineMonthIdx();
  	if (Midx == -1){
   		alert ("Can't recognize that month");
   		return;
  	}
  	NewYearDay = FindNewYearStartingDay(Year);
  	MonthStartDay = FindMonthStartDay(NewYearDay, Year,  Midx);
  	NumDaysInMonth = FindNumDaysInMonth(Year, Midx);  
  	for(i = 6;  i < 43;  i++){
		t = i-5-MonthStartDay;
		if ( t >= 1  &&  t <= NumDaysInMonth)
			document.calform.elements[i].value =t;
		else document.calform.elements[i].value = "";
  	}
}
function IncDecYear(val)
{
	var valNum = parseInt(val);
	var valNum2 = parseInt(document.calform.elements[1].value)
	document.calform.elements[1].value = valNum2 + valNum;
	FillCalendar()
}
function IncDecMonth(val)
{
	var valNum = parseInt(val);
  	var Midx  =  DetermineMonthIdx();
	
	Midx += valNum;
	if(Midx > 11) Midx = 0;
	if(Midx < 0)  Midx = 11;
	
	document.calform.elements[4].value = PadSpaces(Months[Midx]);
	FillCalendar()
}
