<?php
 // Idea: http://gomashup.com/cms/world_clock_timezone
 // Validator: http://jsonlint.com/
 if (PHP_SAPI === 'cli') 
{ 
    die;
} 
 if (isset($_GET['from']) && isset($_GET['to'])) {
  echo "<html><head><title>From " . $_GET['from'] . " To " . $_GET['to'] . " via http://gomashup.com/cms/world_clock_timezone ... thanks.</title>";
 } else {
  $pageContent = file_get_contents('http://gomashup.com/json.php?fds=geo/timezone/locations&jsoncallback=?',0,null,null);
  $json = substr(str_replace(']}',']', str_replace('{x[','[', str_replace('"result":','', str_replace(")", "", str_replace("?(","",$pageContent))))),1);
  $json_output = json_decode($json); //,true); 
 
  $selplaceval = "<select style='display:none;' id='selplaceval'><option value=''>List of places below ...</option>";
  $selgmtval = "<select style='display:none;' id='selgmtval'><option value=''>List of region places below ...</option>";
  for ($i=0; $i<sizeof($json_output); $i++) {
   $selgmtval .= "\n<option value='" . substr($json_output[$i]->TimeZoneId, 0, strpos($json_output[$i]->TimeZoneId, '-') - 0) . "'>" . ($json_output[$i]->GMT + ((1.0 + $i) / 1000.0)) . "</option>";
   $selplaceval .= "\n<option value='" . substr($json_output[$i]->TimeZoneId, strpos($json_output[$i]->TimeZoneId, '-') + 1) . "'>" . $json_output[$i]->TimeZoneId . "</option>";
  }
  $selgmtval .= "\n</select>";
  $selplaceval .= "\n</select>";
  echo "<html><head><title>Time Zones via http://gomashup.com/cms/world_clock_timezone ... thanks.</title>";
 }
 if (isset($_GET['from'])) {
  echo "\n<style>";
 
  echo "\nbody {";
  echo "\n   background-color: pink;";
  echo "\n }";
 
  echo "\n table {";
  echo "\n   border: 5px solid red;";
  echo "\n   background-color: lightgray;";
  echo "\n }";
   
  echo "\n input.pinky {";
  echo "\n   background-color: yellow;";
  echo "\n }";
 
   echo "\n</style>";
} else {
   echo "\n<style>";
 
  echo "\nbody {";
  echo "\n   background-color: yellow;";
  echo "\n }";
 
  echo "\n table {";
  echo "\n   border: 5px solid red;";
  echo "\n   background-color: lightgray;";
  echo "\n }";
   
  echo "\ninput.pinky {";
  echo "\n   background-color: pink;";
  echo "\n }";
 
   echo "\n</style>";
 }
 ?>
 <script>
 var selplaceobj;
 var selgmtobj;
 var gmtinput;
 var regioninput;
 function analyze(mt) {
    var gmtis = '';
    var regionis = '';
    var seli = -1;
    for (var i=0; i<selplaceobj.length;i++) {
        if (selplaceobj[i].childNodes[0].nodeValue.toUpperCase().indexOf("-" + mt.value.toUpperCase()) != -1) {
            if ((selplaceobj[i].childNodes[0].nodeValue.toUpperCase().indexOf("-" + mt.value.toUpperCase()) + mt.value.length + 1) == selplaceobj[i].childNodes[0].nodeValue.length) {
              seli = (i + 1);
              regionis = selplaceobj[i].childNodes[0].nodeValue.substr(0, (selplaceobj[i].childNodes[0].nodeValue.indexOf("-") - 0));
            }
        }
    }
    if (seli >= 0) {
      gmtis = Math.floor(eval((selgmtobj[seli - 1].childNodes[0].nodeValue - ((0.0 + seli) / 1000.0)) + 0.01));
      selplaceobj.value = regionis + "-" + mt.value;
      selgmtobj.value = selgmtobj[seli - 1].childNodes[0].nodeValue;
      gmtinput.value = gmtis;
      regioninput.value = regionis;
      window.open("https://www.google.com.au/search?tbm=isch&q=" + mt.value, "_blank", "left=0,top=370,width=400,height=420");
      window.open("https://maps.google.com.au/maps?q=" + mt.value, "_blank", "left=400,top=100,width=930,height=800");
<?php
 if (!isset($_GET['from'])) {
   echo "\n var dbo=document.getElementById('tob'); ";
   echo "\n dbo.style.display = 'block'; ";
 } else {
   echo "\n window.location = './time_zones_plus_to.php?" . $_SERVER['QUERY_STRING'] . "&to=' + mt.value + '&togmt=' + gmtis + '&toregion=' + regionis; ";
 }
?> 
    
    } else {
      selplaceobj.value = '';
      selgmtobj.value = '';
      gmtinput.value = '';
      regioninput.value = '';
      var maybe=prompt(mt.value + ' was not found on Time Zone database, but can try to look for information on Google Maps and Google Image Search if you like?  Change default value if you do not want to do this', mt.value);
      if (maybe == mt.value) {
       window.open("https://www.google.com.au/search?tbm=isch&q=" + mt.value, "_blank", "left=0,top=370,width=400,height=420");
       window.open("https://maps.google.com.au/maps?q=" + mt.value, "_blank", "left=400,top=100,width=930,height=800");
<?php
 if (!isset($_GET['from'])) {
   echo "\n var dbo=document.getElementById('tob'); ";
   echo "\n dbo.style.display = 'block'; ";
 } else {
   echo "\n window.location = './time_zones_plus_to.php?" . $_SERVER['QUERY_STRING'] . "&to=' + mt.value + '&togmt=&toregion='; ";
 }
?> 
      }
    }
 }
 </script>
<?php
 echo "\n</head>";
 if (isset($_GET['from'])) {
  if (isset($_GET['to'])) {
   echo "<body><table><tr><td><label>&nbsp;<a href='./time_zones_plus_to.php' title='New trip'>From</a> " . $_GET['from'] . " to: </label></td><td><input class='pinky' onchange='analyze(this);' id='place' type='text' value='" . $_GET['to'] . "'></input><br><br></td></tr>";
   echo "<tr><td><label>&nbsp;From GMT time zone " . $_GET['fromgmt'] . " to: </label></td><td><input onchange='analyze(this);' id='gmt' type='text' value='" . $_GET['togmt'] . "'></input><br></td></tr>";
   echo "<tr><td><label>&nbsp;From region " . $_GET['fromregion'] . " to: </label></td><td><input onchange='analyze(this);' id='region' type='text' value='" . $_GET['toregion'] . "'></input><br><br></td></tr>";
   echo "\n<script> window.open('https://maps.google.com/maps?saddr=" . $_GET['from'] . "&daddr=" . $_GET['to'] . "', '_blank', 'left=420,top=120,width=900,height=800'); </script>";
  } else {
   echo "<body><table><tr><td><label>&nbsp;<a href='./time_zones_plus_to.php' title='New trip'>From</a> " . $_GET['from'] . " to: </label></td><td><input class='pinky' onchange='analyze(this);' id='place' type='text' value=''></input><br><br></td></tr>";
   echo "<tr><td><label>&nbsp;From GMT time zone " . $_GET['fromgmt'] . " to: </label></td><td><input onchange='analyze(this);' id='gmt' type='text' value=''></input><br></td></tr>";
   echo "<tr><td><label>&nbsp;From region " . $_GET['fromregion'] . " to: </label></td><td><input onchange='analyze(this);' id='region' type='text' value=''></input><br><br></td></tr>";
  }
 } else {
  echo "<body><table><tr><td><label>&nbsp;Please enter a <a href='./time_zones_plus_to.php' title='New trip'>place</a> name: </label></td><td><input class='pinky' onchange='analyze(this);' id='place' type='text' value=''></input><br><br></td></tr>";
  echo "<tr><td><span><label>&nbsp;Will show you GMT time zone: </label></td><td><input onchange='analyze(this);' id='gmt' type='text' size=4 value=''></input><input type='button' onclick=\" window.location = './time_zones_plus_to.php?from=' + document.getElementById('place').value + '&fromgmt=' + document.getElementById('gmt').value + '&fromregion=' + document.getElementById('region').value; \" style='display:none;color:green;' id='tob' value='-&gt; To -&gt;'></input></span><br></td></tr>";
  echo "<tr><td><label>&nbsp;Will show you region: </label></td><td><input onchange='analyze(this);' id='region' type='text' value=''></input><br><br></td></tr>";
 }
 echo "\n" . $selplaceval . "&nbsp;&nbsp;" . $selgmtval . "<script> selplaceobj=document.getElementById('selplaceval'); selgmtobj=document.getElementById('selgmtval'); gmtinput=document.getElementById('gmt'); regioninput=document.getElementById('region'); var pis=document.getElementById('place'); pis.focus(); </script></body></html>";
?>
