if (navigator.appName=="Netscape" && parseInt(navigator.appVersion)==4) {
	widthCheck = window.innerWidth;
	heightCheck = window.innerHeight;
	window.onResize = resizeFix;
}
function resizeFix() {
	if (widthCheck != window.innerWidth || heightCheck != window.innerHeight)
	document.location.href = document.location.href;
}

//tempo
  var tempo = null;
 var tempoOn =false;

function stopIt(){
 if(tempoOn){
    clearTimeout(tempo)
    tempoOn=false;
  }

}


function init(){
   stopIt();
   gettime();
}

function gettime(){
var now = new Date();
var hnow= now.getUTCHours();
var mnow = now.getUTCMinutes();
var snow = now.getUTCSeconds();
 tv= "" + ((hnow >12)? hnow -12 : hnow);
 tv += ((mnow <10) ? ":0" : ":")+ mnow;
 tv += ((snow < 10) ? ":0" : ":")+ snow;
 tv += ((hnow >= 12)? " pm" : " am");
 
 document.f.gmtb.value ="GMT   "+ tv;
 tempo = setTimeout("gettime()", 1000);
 tempoOn=true;

}


var isnew = (document.getElementById)? true:false; //ie5 & ns6
var ns4 = (document.layers && !document.getElementById)? true:false; //
var ie4 = (document.all)? true:false; //


function lyroff(e){

var obj;

if(isnew || ie4){
	if(isnew){obj= document.getElementById(e).style;}
	else if(ie4){ obj= document.all.e.style;}
	if(obj.visibility == "visible")obj.visibility="hidden";


}

else if(ns4){if((document[e].visibility='show'))document[e].visibility='hide';}


}



function lyron(e){

var obj;

if(isnew || ie4){
 
 	if(isnew){obj= document.getElementById(e).style;}
	else if(ie4){ obj= document.all.e.style;}

	if(obj.visibility == 'hidden')obj.visibility='visible';
}

else if(ns4){if((document[e].visibility='hide'))document[e].visibility='show';}


}




var now = new Date();
var offset = now.getTimezoneOffset();//gives time in minutes
var y = now.getUTCFullYear();
var m = now.getUTCMonth();
var dt = now.getUTCDate();
var dy = now.getUTCDay();
var h = now.getUTCHours();
var min = now.getUTCMinutes();
var sec = now.getUTCSeconds();


function czone(off,m1,m2,dt1,dt2,dy1,dy2){



var off1 = off + offset;
var hh = h;

if ( off1 < 0 ){
  while (off1 < -59){
     off1 += 60;
  hh--}
}
if (off1 > 0){
  while (off1 > 59){
    off1 -= 60;
  hh++}
}

mmin = min + off1;

var thedate = new Date(Date.UTC(y,m,dt,dy,hh,mmin,sec));

var isHN =((m2 > 7)? true : false);
//hemis norte


if(isHN)
{ 
   if(m > m1 && m < m2){dst = 1}
   else {dst = 0}
}
if(!isHN)
{
    if(m > m1 || m < m2){dst = 1}
    else {dst=0}
}


if (m == m1 && dt < dt1){dst=0}
else if (m == m1 && dt >= (dt1+6)){dst = 1}
else if (m == m1 && dy1 == 7){  
    if(dt >= dt1){dst = 1}
     else {dst = 0;}
 }
if (dy1 != 7 && m == m1 && dt >= dt1 && dt <= (dt1 + 6)){
   	for (i = dt1; i <= dt ; i++){
      if(dy >= dy1){ //dy is today's day; dy1 is the day the time should change
        var dyd = dy - dy1;	  
        dst= (((dt-dyd) >= dt1)? 1 : 0)
       }
      else if(dy < dy1){dst = 0};
  }
}


if (m == m2 && dt < dt2){dst=1}
else if (m == m2 && dt >= (dt2+6)){dst = 0}
else if (m == m2 && dy2 == 7){  // this is for the ones changing on a fix date
    if(dt >= dt2){dst = 0}
     else {dst = 1;}
}

if ( dy2 != 7 && m == m2 && dt >= dt2 && dt <= (dt2 + 6)){
  for (i= dt2; i <= dt ; i++){
   if(dy >= dy2){ //dy is today's day; dy2 is the day the time should change
        var dyd = dy - dy2;	  
   dst=(((dt-dyd) >= dt2) ? 0 : 1)
   }
   else if(dy < dy2){dst = 0};
 }
}

var gmttag = off + (dst*60);
var gmth = 0;

if ( gmttag < 0 ){
  while (gmttag < -59){
     gmttag += 60;
  gmth--;}
gmttag *=-1;
}

if (gmttag > 0){
  while (gmttag > 59){
    gmttag -= 60;
  gmth++;}
}

if (gmttag == 0 ) {gmttag = " "}
else if(gmttag > 0 && gmttag < 10){gmttag = ":0" + gmttag}
else if(gmttag > 10){gmttag = ":" + gmttag}

var local = ((gmth >= 0)? " GMT + " :  "GMT  ")

var season = ((dst==0)? local + gmth +  gmttag : local + gmth +  gmttag + " <br>Currently observing DST*")
h1 = (h + dst)* 60;

htomin  = h1 + off + min ;

var newH =0;

if (htomin > 1440){
   day = " next day";
   htomin -= 1440;}
else if (htomin < 0){
   day = " previous day";
   htomin *= -1;}
else {day="";}


while(htomin > 59){
	htomin -=60;
	newH++;
}

   thistime = '' + season + '<br>';
   thistime += "Current local time: " + ((newH > 12)? newH-12 : newH);
 
   thistime += ((htomin <10) ? ':0' +  htomin : ':'+ htomin);
      thistime += ((newH >= 12)? ' pm ' + day  : ' am ' + day );



	  return thistime;

}					

function szone(off){


gmt = off
var gmth = 0;

if ( gmt < 0 ){
  while (gmt < -59){
     gmt += 60;
  gmth--;}
gmt *=-1;
}

if (gmt > 0){
  while (gmt > 59){
    gmt -= 60;
  gmth++;}
}

if (gmt == 0 ) {gmt = " "}
else if(gmt > 0 && gmt < 10){gmt = ":0" + gmt}
else if(gmt > 10){gmt = ":" + gmt}

var local = ((gmth >= 0)? " GMT + " :  "GMT  ")

htomin  = parseInt(h *60) + off + min ;

var newH =0;

if (htomin > 1440){
   day = " next day";
   htomin -= 1440;}
else if (htomin < 0){
   day = " previous day";
   htomin *= -1;}
else {day="";}


while(htomin > 59){
	htomin -=60;
	newH++;
}

   thistime = '' + local + gmth +  gmt + '<br>';
   thistime += "Current local time: " + ((newH > 12)? newH-12 : newH);
 
   thistime += ((htomin <10) ? ':0' +  htomin : ':'+ htomin);
   thistime += ((newH >= 12)? ' pm ' + day  : ' am ' + day );

   return thistime;

}					




//calculator


function calendar(off,m1,m2,dt1,dt2,dy1,dy2){

var off1 = off + offset;
var hh = h;

if ( off1 < 0 ){
  while (off1 < -59){
     off1 += 60;
  hh--}
}
if (off1 > 0){
  while (off1 > 59){
    off1 -= 60;
  hh++}
}

mmin = min + off1;

var thedate = new Date(Date.UTC(y,m,dt,dy,hh,mmin,sec));

var isHN =((m2 > 7)? true : false);
//hemis norte


if(isHN)
{ 
   if(m > m1 && m < m2){dst = 1}
   else {dst = 0}
}
if(!isHN)
{
    if(m > m1 || m < m2){dst = 1}
    else {dst=0}
}


if (m == m1 && dt < dt1){dst=0}
else if (m == m1 && dt >= (dt1+6)){dst = 1}
else if (m == m1 && dy1 == 7){  // the ones changing on a fix date
    if(dt >= dt1){dst = 1}
     else {dst = 0;}
 }
if (dy1 != 7 && m == m1 && dt >= dt1 && dt <= (dt1 + 6)){
   	for (i = dt1; i <= dt ; i++){
      if(dy >= dy1){
        var dyd = dy - dy1;	  
        dst= (((dt-dyd) >= dt1)? 1 : 0)
       }
      else if(dy < dy1){dst = 0};
  }
}


if (m == m2 && dt < dt2){dst=1}
else if (m == m2 && dt >= (dt2+6)){dst = 0}
else if (m == m2 && dy2 == 7){  
    if(dt >= dt2){dst = 0}
     else {dst = 1;}
}

if ( dy2 != 7 && m == m2 && dt >= dt2 && dt <= (dt2 + 6)){
  for (i= dt2; i <= dt ; i++){
   if(dy >= dy2){ 
        var dyd = dy - dy2;	  
   dst=(((dt-dyd) >= dt2) ? 0 : 1)
   }
   else if(dy < dy2){dst = 0};
 }
}

return dst;
}


function values (selInd){

var opt = new Array();

 opt[0] = 180;
 opt[1] = 570;
 opt[2] = 180;
 opt[3] = -360;
 opt[4] = 60 ;
 opt[5] = 120;
 opt[6] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[7] = 720+ (calendar(720,2,9,25,25,0,0)*60);
 opt[8] = 120;
 opt[9] = 180;
 opt[10]=-240 + (calendar(-240,0,3,1,1,0,0)*60);//Asuncion
 opt[11]= 120 + (calendar(120,2,9,25,25,0,0)*60);
 opt[12]=-300 + (calendar(-300,3,9,11,25,0,0)*60);
 opt[13]= -360+ (calendar(-360,3,9,11,25,0,0)*60);
 opt[14]= 0 + (calendar(0,2,9,25,25,0,0)*60);
 opt[15]= 180 + (calendar(180,3,9,1,1,7,7)*60);
 opt[16]= 420;
 opt[17]= 60 + (calendar(60,2,9,25,25,0,0)*60) ;
 opt[18] = 480;
 opt[19] = 180 + (calendar(180,2,9,25,25,0,0)*60);
 opt[20] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[21] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[22] = -240;
 opt[23] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[24] = -300;
 opt[25] = -300 + (calendar(-300,3,9,11,25,0,0)*60);
 opt[26] = -180 + (calendar(-180,9,1,1,22,0,0)*60);
 opt[27] = 600 ;
 opt[28] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[29] = 120 + (calendar(120,2,9,25,25,0,0)*60);
 opt[30] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[31] = -180;
 opt[32] = 180 + (calendar(180,3,8,24,24,5,4)*60);
 opt[33] = 330;
 opt[34] = 120;
 opt[35] = -240;
 opt[36] = 0;
 opt[37] = -360 + (calendar(-360,3,9,11,25,0,0)*60);
 opt[38] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[39] = -360 + (calendar(-360,3,9,11,25,0,0)*60);
 opt[40] = 180;
 opt[41] = 570; 
 opt[42] = -420 + (calendar(-420,3,9,1,25,0,0)*60);
 opt[43] = -300 + (calendar(-300,3,9,1,25,0,0)*60);
 opt[44] = 360;
 opt[45] = 0 + (calendar(0,2,9,25,25,0,0)*60);
 opt[46] = -420 + (calendar(-420,3,9,1,25,0,0)*60);
 opt[47] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[48] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[49] = -360;
 opt[50] = 420;
 opt[51] = 120;
 opt[52] = -300 + (calendar(-300,3,9,1,25,7,0)*60); // SEMI FIX
 opt[53] = 120 + (calendar(120,2,9,25,25,0,0)*60);
 opt[54] = 420;
 opt[55] = 480;
 opt[56] = -600;
 opt[57] = -360 + (calendar(-360,3,9,11,25,0,0)*60);
 opt[58] = -300  + (calendar(-300,3,9,11,25,0,0)*60);//Indianapolis In winter applies eastern time and in summer central time, so the time does not move => Changed the 12/06/2006 applies eastern time in summer too now !
 opt[59] = 300 ;
 opt[60] = 120 + (calendar(120,2,9,25,25,0,0)*60);
 opt[61] = 420;
 opt[62] = 120 + (calendar(120,3,8,1,1,5,5)*60);
 opt[63] = 120;
 opt[64] = 270;
 opt[65] = 720 + (calendar(720,2,9,25,25,0,0)*60);
 opt[66] = 300;
 opt[67] = 120;
 opt[68] = 120;
 opt[69] = -300;
 opt[70] = 480;
 opt[71] = 180 ;
 opt[72] = -240 ;
 opt[73] = 0 + (calendar(0,2,9,25,25,0,0)*60);
 opt[74] = 60 ;
 opt[75] = -300;
 opt[76] = 0 + (calendar(0,2,9,25,25,0,0)*60);
 opt[77] = 0 + (calendar(0,2,9,25,25,0,0)*60);
 opt[78] = -480 + (calendar(-480,3,9,11,25,0,0)*60);
 opt[79] = 60 + (calendar(60,2,9,25,25,0,0)*60) ;
 opt[80] = -360;
 opt[81] = 480;
 opt[82] = 240;
 opt[83] = 600 ;
 opt[84] = -360 + (calendar(-360,3,9,1,25,0,0)*60) ;
 opt[85] = -300 + (calendar(-300,3,9,11,25,0,0)*60);
 opt[86] = 60 + (calendar(60,2,9,25,25,0,0)*60) ;
 opt[87] = -360 + (calendar(-360,3,9,11,25,0,0)*60);
 opt[88] = -180 ;
 opt[89] = -300 + (calendar(-300,3,9,1,25,0,0)*60);
 opt[90] = 180 + (calendar(180,2,9,25,25,0,0)*60);
 opt[91] = 330 ;
 opt[92] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[93] = 180 ;
 opt[94] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[95] = -300 + (calendar(-300,3,9,1,25,0,0)*60);
 opt[96] = 330 ;
 opt[97] = -360 + (calendar(-360,3,9,11,25,0,0)*60);
 opt[98] = -300 + (calendar(-300,3,9,11,25,0,0)*60); // New York
 opt[99] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[100] = -300 + (calendar(-300,3,9,1,25,0,0)*60);
 opt[101] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[102] = 480 ;
 opt[103] = -420;//Phoenix applies mountain time in winter and west time in summer so does not change
 opt[104] = 420;
 opt[105] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[106] = 540 ;
 opt[107] = 0 + (calendar(0,2,9,25,25,0,0)*60);
 opt[108] = -180 + (calendar(-180,9,1,1,22,0,0)*60); 
 opt[109] = 180;
 opt[110] = 60 + (calendar(60,2,9,25,25,0,0)*60) ;
 opt[111] = -240 + (calendar(-240,3,9,1,25,0,0)*60);
 opt[112] = -480 + (calendar(-480,3,9,1,25,0,0)*60) ;
 opt[113] = -300 + (calendar(-300,3,9,1,25,0,0)*60);
 opt[114] = -360;
 opt[115] = -300;
 opt[116] = -240 + (calendar(-240,9,2,9,9,0,0)*60);// Fix SAntiago Chile previaou value -360 + (calendar(-360,9,2,9,9,0,0)*60);
 opt[117] = -180 + (calendar(-180,10,1,1,15,0,0)*60);
 opt[118] = -480 + (calendar(-480,3,9,11,25,0,0)*60) ;
 opt[119] = 540 ;
 opt[120] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[121] = 480;
 opt[122] = 480;
 opt[123] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[124] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[125] = 720;
 opt[126] = 660 + (calendar(660,2,9,25,25,0,0)*60) ;//Fix PTR 01739005  previous: 600 + (calendar(600,2,9,25,25,0,0)*60) ; //Sydney
 opt[127] = 480;
 opt[128] = 120;
 opt[129] = 300;
 opt[130] = -210 + (calendar(-210,2,8,22,24,7,7)*60) ;//FIX days according Persian calendar
 opt[131] = 540;
 opt[132] = -300 + (calendar(-300,3,9,11,25,0,0)*60);
 opt[133] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[134] = -480 + (calendar(-480,3,9,11,25,0,0)*60);
 opt[135] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[136] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[137] = 600 + (calendar(600,2,9,25,25,0,0)*60);
 opt[138] = 60 + (calendar(60,2,9,25,25,0,0)*60);
 opt[139] = -300 + (calendar(-300,3,9,11,25,0,0)*60);
 opt[140] = 720 + (calendar(720,2,9,1,5,0,0)*60);
 opt[141] = -360 + (calendar(-360,3,9,1,25,0,0)*60);
 opt[142] = 390;
 opt[143] = 60+ (calendar(-60,3,9,1,25,0,0)*60);
 opt[144] = 60 + (calendar(60,2,9,25,25,0,0)*60);

 return opt[selInd];

}

function rsltime(){

var radio; 
if(document.frm.r[0].checked == 1){radio = 0}
else if (document.frm.r[1].checked == 1){radio = 1}
else if (document.frm.r[2].checked == 1){radio = 2}

if (document.frm.userm.value == ""){document.frm.userm.value =0};
if (document.frm.userh.value == "")
{
 document.frm.userh.focus();
 document.frm.userm.value = "";}


if (radio ==0 || radio == 2){
 var user = parseInt(document.frm.userh.value * 60) + parseInt(document.frm.userm.value); 
}
else if (radio == 1)
{ user= parseInt(document.frm.userh.value) + 12; 
  user*= 60;
  user += parseInt(document.frm.userm.value);
}

var selInd1 = document.frm.sel1.options.selectedIndex;
var city1Off = values(selInd1);
var selInd2 =  document.frm.sel2.options.selectedIndex;
var city2Off= values(selInd2);


var usergmt = user - city1Off;

var dest = usergmt + city2Off;


var next = "  next day";
var prev = "  previous day"; 
var destm= 0; var desth=0; 
var day;var mer="";
if (dest <0)
{
  day = prev;
  destm = dest + 1440;
    while(destm > 59)
    {
      destm -= 60;
      desth++;
    }
}
if(dest==0){desth=0;destm=0; day = " same day";}
if (dest >= 1440)
{
  day = next;
  destm = dest - 1440;
   while(destm > 59)
   {
     destm -= 60;
     desth++;
   }
}

if (dest > 0 && dest < 1440)
{
  day = "";
  destm = dest;
  while (destm >59)
  {
    destm -= 60;
    desth++;
  }
}

if(destm < 10){destm ="0"+destm;}
if(radio==0 || radio==1)
{
    
	if (desth >=12 && desth < 24) {mer= "pm";}
    else {mer="am";}
 	if (desth > 12){desth -= 12;}
    ftime= desth +":"+destm+mer+day;
}
else {ftime= desth+":"+destm+mer+day;}



document.frm.result.value = ftime;

}


