//variables
var Separator=";"; var Fields=6;
var days=new Array() //create array for days
days[0]="Sun"; days[1]="Mon"; days[2]="Tue"; days[3]="Wed"; days[4]="Thu"; days[5]="Fri"; days[6]="Sat";

var months=new Array() //create array for months
months[0]="Jan"; months[1]="Feb"; months[2]="Mar"; months[3]="Apr"; months[4]="May"; months[5]="Jun"; months[6]="Jul"; months[7]="Aug"; months[8]="Sep"; 
months[9]="Oct"; months[10]="Nov"; months[11]="Dec";

var wts=new Array() //create array for cities, states, offsets, hours, minutes
wts[1]=";Afghanistan - AF;+;5;;"
wts[2]=";Aleutian Islands;-;10;;"
wts[3]=";Algeria;+;0;;"
wts[4]=";Algeria;+;0;;"
wts[5]=";Argentina - AR;-;3;;"
wts[6]=";Australia - New South Wales;+;11;;"
wts[7]=";Australia - Northern Territory;+;10;;"
wts[8]=";Australia - Queensland;+;10;;"
wts[9]=";Australia - South Australia;+;10;30;"
wts[10]=";Australia - Tasmania;+;10;;"
wts[11]=";Australia - Victoria;+;10;;"
wts[12]=";Australia - Western Australia;+;8;;"
wts[13]=";Austria;+;1;;"
wts[14]=";Bahamas;-;5;;"
wts[15]=";Bahrain - BH;+;3;;"
wts[16]=";Bangladesh - BD;+;6;;"
wts[17]=";Barbados - BB;-;4;;"
wts[18]=";Barma - ;+;7;;"
wts[19]=";Belgium - BE;+;1;;"
wts[20]=";Belize - BZ;-;5;;"
wts[21]=";Benin - BJ;+;0;;"
wts[22]=";Bermuda - GM;-;4;;"
wts[23]=";Bolivia - BO;-;5;;"
wts[24]=";Bosnia - BA;+;1;;"
wts[25]=";Botswana - BW;+;1;;"
wts[26]=";Brazil - BR;-;3;;"
wts[27]=";Brunei - BN;+;8;;"
wts[28]=";Bulgaria - BG;+;2;;"
wts[29]=";Burundi - BI;+;2;;"
wts[30]=";Canada - British Columbia;-;8;;"
wts[31]=";Canada - Alberta;-;6;;"
wts[32]=";Canada - Newfoundland;-;3;;"
wts[33]=";Canada - Ontario;-;5;;"
wts[34]=";Canada - Quebec;-;5;;"
wts[35]=";Canarias Islands - ES;+;0;;"
wts[36]=";Central African Republic - CF;+;1;;"
wts[37]=";Chad;+;0;;"
wts[38]=";Chile - CL;-;3;;"
wts[39]=";China - CN;+;8;;"
wts[40]=";Colombia - CO;-;5;;"
wts[41]=";Congo - CG;+;0;;"
wts[42]=";Costa Rica - CR;-;6;;"
wts[43]=";Cote d'Ivoire;+;0;;"
wts[44]=";Croatia;+;1;;"
wts[45]=";Cuba - CU;-;5;;"
wts[46]=";Czech Republic - CZ;+;1;;"
wts[47]=";Denmark - DK;+;1;;"
wts[48]=";Djibouti - DJ;+;2;;"
wts[49]=";Dominican Republic - DO;-;4;;"
wts[50]=";Ecuador - EC;-;5;;"
wts[51]=";Egypt - EG;+;2;;"
wts[52]=";England - UK - GB;+;0;;"
wts[53]=";England - UK - GB;+;0;;"
wts[54]=";Estonia - EE;+;2;;"
wts[55]=";Ethiopia;+;3;;"
wts[56]=";Fiji Islands;+;12;;"
wts[57]=";Finland - FI;+;2;;"
wts[58]=";France - FR;+;1;;"
wts[59]=";Gabon - GA;+;0;;"
wts[60]=";Gambia - GM;+;1;;"
wts[61]=";Germany - DE;+;1;;"
wts[62]=";GMT;+;0;;"
wts[63]=";Greece - GR;+;2;;"
wts[64]=";Greenland - GL;-;3;30;"
wts[65]=";Guatemala - GT;-;6;;"
wts[66]=";Guinea - GN;+;0;;"
wts[67]=";Honduras - HN;-;5;;"
wts[68]=";Hong Kong;+;8;;"
wts[69]=";Hungary - HU;+;1;;"
wts[70]=";Iceland - IS;-;1;;"
wts[71]=";India - IN;+;5;30;"
wts[72]=";Indonesia - ID;+;7;;"
wts[73]=";Iran - IR;+;4;;"
wts[74]=";Iraq - IQ;+;3;;"
wts[75]=";Ireland - IE;+;0;;"
wts[76]=";Israel - IL;+;2;;"
wts[77]=";Italy - IT;+;1;;"
wts[78]=";Jamaica - JM;-;5;;"
wts[79]=";Japan;+;9;;"
wts[80]=";Kenya - KE;+;3;;"
wts[81]=";Kenya;+;3;;"
wts[82]=";Kuwait - KW;+;3;;"
wts[83]=";Laos;+;7;;"
wts[84]=";Latvia - LW;+;4;;"
wts[85]=";Lebanon - LB;+;2;;"
wts[86]=";Lesotho - LS;+;2;;"
wts[87]=";Liberia - LR;+;0;;"
wts[88]=";Libya;+;1;;"
wts[89]=";Luxembourg - LU;+;1;;"
wts[90]=";Madagascar - MG;+;3;;"
wts[91]=";Malawi - MW;+;2;;"
wts[92]=";Malaysia - MY;+;8;;"
wts[93]=";Mali - ML;+;0;;"
wts[94]=";Malta;+;1;;"
wts[95]=";Martinique - MQ;-;4;;"
wts[96]=";Mauritius - MU;+;4;;"
wts[97]=";Mexico - MX;-;6;;"
wts[98]=";Monaco - MC;+;1;;"
wts[99]=";Mongolia;+;8;;"
wts[100]=";Nepal - NP;+;6;;"
wts[101]=";Netherlands - NL;+;1;;"
wts[102]=";New Zealand - NZ;+;12;;"
wts[103]=";Niger;+;0;;"
wts[104]=";Nigeria - NG;+;0;;"
wts[105]=";Norway - NO;+;1;;"
wts[106]=";Oman;+;3;;"
wts[107]=";Pakistan - PK;+;5;;"
wts[108]=";Papua New Guinea - PG;+;10;;"
wts[109]=";Paraguay - PY;-;3;;"
wts[110]=";Peru - PE;-;5;;"
wts[111]=";Philippines - PH;+;8;;"
wts[112]=";Poland;+;1;;"
wts[113]=";Portugal - PT;+;0;;"
wts[114]=";Puerto Rico - PR;-;4;;"
wts[115]=";Puerto Rico - PR;-;4;;"
wts[116]=";Romania - RO;+;2;;"
wts[117]=";Russia - Moscow;+;3;;"
wts[118]=";Rwanda - RW;+;1;;"
wts[119]=";San Juan;Puerto Rico - PR;-;4;;"
wts[120]=";Saudi Arabia - SA;+;3;;"
wts[121]=";Senegal - SN;+;0;;"
wts[122]=";Serbia - YU;+;1;;"
wts[123]=";Sierra Leone - SL;+;0;;"
wts[124]=";Singapore - SG;+;8;;"
wts[125]=";Slovak Republic - SK;+;1;;"
wts[126]=";Somalia - SO;+;3;;"
wts[127]=";South Africa - ZA;+;1;;"
wts[128]=";South Korea - KR;+;9;;"
wts[129]=";South Yemen;+;3;;"
wts[130]=";Spain - ES;+;1;;"
wts[131]=";Sri Lanka - LK;+;5;30;"
wts[132]=";Swaziland - SZ;+;2;;"
wts[133]=";Sweden - SE;+;1;;"
wts[134]=";Switzerland;+;1;;"
wts[135]=";Thailand;+;7;;"
wts[136]=";Taiwan;+;8;;"
wts[137]=";Togo;+;0;;"
wts[138]=";Trinidad and Tobago;-;4;;"
wts[139]=";Tunisia;+;1;;"
wts[140]=";Turkey;+;2;;"
wts[141]=";Ukraine;+;3;;"
wts[142]=";United Arab Emirates;+;3;;"
wts[143]=";Uruguay;-;3;;"
wts[144]=";USA - Alaska;-;9;;"
wts[145]=";USA - California;-;8;;"
wts[146]=";USA - Illinois;-;6;;"
wts[147]=";USA - Michigan;-;5;;"
wts[148]=";USA - Delaware;-;5;;"
wts[149]=";USA - Georgia;+;5;;"
wts[150]=";USA - Hawaii;-;10;;"
wts[151]=";Usa - Indiana;-;5;;"
wts[152]=";USA - West Virginia;-;5;;"
wts[153]=";USA - New York;-;5;;"
wts[154]=";USA - Arizona;-;7;;"
wts[155]=";USA - Utah;-;7;;"
wts[156]=";USA - Texas;-;6;;"
wts[157]=";USA - Washington D.C.;-;5;;"
wts[158]=";Uzbekistan;+;3;;"
wts[159]=";Venezuela;-;4;;"
wts[160]=";Vietnam;+;7;;"
wts[161]=";Zaire;+;1;;"
wts[162]=";Zimbabwe;+;2;;"

//* means that the shown time has been adjusted due to local daylight saving. Local daylight
//  saving time/summer time is unwarranted!

var ST=null; var constanta=3600000; var GMTClockID=null; var GMTClockRunning=false; var TSCClockID=null; var TSCClockRunning=false; var GMT="";

function GMTClock(){//displays selected different time
	var a1=new Date(); var a2=a2=a1.toLocaleString(); a2=Date.parse(a2); if(offset=="+"){var a3=new Date(a2-addhm);} else{var a3=new Date(a2+addhm);}
	var bx=""+a3; var sn=bx.length; var bden=bx.substring(0,3); var bdd=bx.substring(8,10); var bm=bx.substring(4,7); var br=bx.substring(sn-4,sn); var bc=bx.substring(11,19);
	var timeNum=document.getElementById("timeLocation").value; var timeTitle="<span class='title3'>"+GetField(wts[timeNum],1)+""+GetField(wts[timeNum],2)+"</span><br>";
	GMT=bden+", "+bdd+" "+bm+" "+br+" "+bc;
	document.getElementById("displayGMT").innerHTML=timeTitle+GMT+" "+"GMT";//displays selected time minus your time zone offset from OS
	stopGMTClock(); GMTClockID=setTimeout("GMTClock()",1000); GMTClockRunning=true;
}

function tOpt1(si){//read option selected
	if(si !=0){offset=GetField(wts[si],3);//realy offset to GMT from array wts//
		addh=GetField(wts[si],4);
		if(GetField(wts[si],5) != ""){addm=(GetField(wts[si],5)/60);} else{addm=0;}//if find minutes in array wts converts minutes to milisecs
		addhm=(constanta*addh)+(constanta*addm); stopTSCClock(); document.getElementById("displayGMT").innerHTML=""; GMTClock();
	}
	else{stopGMTClock();document.getElementById("displayGMT").innerHTML=""; stopTSCClock(); document.getElementById("displayTSC").innerHTML="";}
}

function TSCClock(){//displays selected different time
	var a11=new Date(GMT); var a22=a11.toLocaleString(); a22=Date.parse(a22);
	if(offset1=="+"){var a33=new Date(a22+addhm1)} else{var a33=new Date(a22-addhm1)}
	var bx1=""+a33; var sn1=bx1.length; var bden1=bx1.substring(0,3); var bdd1=bx1.substring(8,10); var bm1=bx1.substring(4,7); 
	var br1=bx1.substring(sn1-4,sn1); var btimeLocation=bx1.substring(11,19); var timeNum=document.getElementById("timeDestination").value;
	var timeTitle="<span class='title3'>Time in "+GetField(wts[timeNum],1)+""+GetField(wts[timeNum],2)+"</span><br>";
	document.getElementById("displayTSC").innerHTML=timeTitle+bden1+", "+bdd1+" "+bm1+" "+br1+" "+btimeLocation+" TSC";//displays selected time minus your time zone offset from OS
	stopTSCClock(); TSCClockID=setTimeout("TSCClock()",1000); TSCClockRunning=true;
}

function tOpt2(si){//read option selected
	if ((document.getElementById("timeLocation").value=="")||(document.getElementById("timeLocation").value=="0")) {
		stopTSCClock(); document.getElementById("displayTSC").innerHTML=""; alert("Please enter your Location.");
		document.getElementById("timeDestination").options[0].selected=true; document.getElementById("timeLocation").focus();
		return false;
	}
	if(si !=0 && GMT !=""){offset1=GetField(wts[si],3);//realy offset to GMT from array wts
		addh1=GetField(wts[si],4);
		if(GetField(wts[si],5) != ""){addm1=(GetField(wts[si],5)/60);} else{addm1=0;}//if find minutes in array wts converts minutes to milisecs
		addhm1=(constanta*addh1)+(constanta*addm1);TSCClock();
	}
	else{stopTSCClock(); document.getElementById("displayTSC").innerHTML=""; alert("What's your Location?");
		document.getElementById("timeDestination").options[0].selected=true; document.getElementById("timeLocation").focus();
	}
}

function stopGMTClock(){//stops GMT time
	if(GMTClockRunning) clearTimeout(GMTClockID);GMTClockRunning=false;
}

function stopTSCClock(){//stops Any time
	if(TSCClockRunning) clearTimeout(TSCClockID);TSCClockRunning=false;
}

function GetField(Entry,number){//read fields from array wts
	var Out=""; var FirstChar; var LastChar; FirstChar=0; LastChar=Entry.indexOf(Separator);
	if(number==1){Out+=Entry.substring(FirstChar,LastChar); return Out;}
	if(number==Fields){Out+=Entry.substring(Entry.lastIndexOf(Separator)+1,Entry.length); return Out;}
	for(var i=2;i<=number;i++){FirstChar=LastChar+1; LastChar=Entry.indexOf(Separator, FirstChar);}
	Out+=Entry.substring(FirstChar,LastChar); return Out;
}

function writecities(){var optionListHTML="";
	for(var s=1;s<wts.length;s++){document.write("<option value='"+s+"'>"+GetField(wts[s],1)+""+GetField(wts[s],2)+"</option>")}
}

