
var ampm =0;
var part;
var zone;

function GetTime(){ 

  var dt = new Date();

  var def = dt.getTimezoneOffset()/60;
	
  var gmt;

   if(def < 0){
     if(dt.getHours() < Math.abs(def))
      gmt = (dt.getHours() - def);
     else
      gmt = (dt.getHours() + def);
   }

   else
      gmt = (dt.getHours() + def);
   if(gmt > 24)
      gmt -= 24;

if(part == 1){

 var time =((gmt + zone) > 24) ? ((gmt + zone) - 24) : (gmt + zone);

  document.clock.timeZone.value = (IfZero(time) + ":" + IfZeroM(dt.getMinutes()) + ":" + IfZeroS(dt.getSeconds()));
}

if(part == 0){

 var time =((gmt) > 24) ? ((gmt) - 24) : (gmt);

  document.clock.timeZone.value = (IfZero(time) + ":" + IfZeroM(dt.getMinutes()) + ":" + IfZeroS(dt.getSeconds()));
}

if(part == 2){

  var time =((gmt + (24-zone)) > 24) ? ((gmt + (24-zone)) - 24) : (gmt + (24-zone));

  document.clock.timeZone.value = (IfZero(time) + ":" + IfZeroM(dt.getMinutes()) + ":" + IfZeroS(dt.getSeconds()));
}

setTimeout("GetTime()",1000);

}

function IfZeroM(num){

 num = ((num <= 9) ? ("0" + num) : num);
 num = (num == 24) ? "00" : num;
 return num;

} 

function IfZeroS(num){

 num = ((num <= 9) ? ("0" + num) : num);
 num = (num == 24) ? "00" : num;

 if(ampm == 1)
  num = num + "PM";
 else
  num = num + "AM";

 return num;

} 

function IfZero(num){

 num = ((num <= 9) ? ("0" + num) : num);
 num = (num == 24) ? "00" : num;

if(num >= 12){
  ampm = 1;
   if(num == 12)
    num = num;

 else{ 
    num = (num - 12);
    num = ((num <= 9) ? ("0" + num) : num);
   }
 }

 else{
  ampm = 0;
  
  if(num == '00')
    num = 12;
  }

 return num;

} 

function start(a,b){

zone = a;
part = b;

 GetTime();
}
