<?php
// Play Video in Various Browsers - RJM Programming - October, 2014


// file_put_contents("pvhere.pvhere", print_r($_POST, true));
//if (isset($_FILES['vfile'])) {
// file_put_contents("vhere.vhere", print_r($_FILES['vfile'], true));
// echo "<html><body><p>" . print_r($_FILES['vfile'], true) . "</p></body></html>";
// exit;
//}


if (isset($_GET['vtype'])) {
  if (strpos($_GET['vtype'], "image/") !== false) {
    header("Location: " . $_GET['vfilename']);
    exit;
  }
}


$tword = "video";

$video_ogg = '.ogv" type="video/ogg" /> ';
$video_mp4 = '.mp4" type="video/mp4" /> ';
$videomp4 = '.mp4" ';

$video_webm = '.webm" type="video/webm" /> ';
$videowebm = '.webm" ';


 $ivmt = "";
 
 $extinfo = ".ogv/.mp4/.webm";
 $ivfilene = "";
 $ivn = "";
 $ipadplace = "";
 $preext = "";
 $premime = "";
 
 $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');
 if ($isiPad === false) {
  $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPhone');
 }
 if ($isiPad === false) {
  $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Android');
 }

function url_exists($url) {  // Thanks to http://stackoverflow.com/questions/2280394/how-can-i-check-if-a-url-exists-via-php
    $exists = false;
if (strpos($url, "https:") !== false) {
    if (!$fp = curl_init($url)) return false;
    return true;
} else {
$file = $url;
$file_headers = @get_headers($file);
if (strpos($file_headers[0], " 404 ") !== false) { // == 'HTTP/1.1 404 Not Found') {
    $exists = false;
}
else {
    $exists = true;
}
}
return $exists;
}



    function waitforchange() {
        set_time_limit(0);
        while(!isset($_POST['vfilename'])) {
            clearstatcache();
            usleep(10000);
        }
        return "";
    }


function uflist($inext) {
 global $extinfo, $ivfilene, $isiPad, $preext, $premime, $ivn;
  
 $howmany = 0;
 $outoptions = "";
 $outext = "$@#!";
 if (strpos($ivfilene, ".") !== false) {
   $stuff = explode("/", $ivfilene);
   if (strpos($stuff[sizeof($stuff) - 1], ".") !== false) {
    $stuffdot = explode(".", $stuff[sizeof($stuff) - 1]);
    $outext = "." . $stuffdot[sizeof($stuffdot) - 1];
   }
 }
 // Mime types ... thanks to http://webdesign.about.com/od/multimedia/a/mime-types-by-content-type.htm and 
 //     http://voice.firefallpro.com/2012/03/html5-audio-video-mime-types.html
 $earray = array(
    "audio/mp4" => ".m4a",
    "audio/ogg" => ".ogg",
    "audio/basic" => ".au",
    "audio/basic" => ".snd",
    "audio/mid" => ".mid",
    "audio/mid" => ".rmi",
    "audio/mpeg" => ".mp3",
    "audio/x-aiff" => ".aif",
    "audio/x-aiff" => ".aifc",
    "audio/x-aiff" => ".aiff",
    "audio/x-mpegurl" => ".m3u",
    "audio/x-pn-realaudio" => ".ram",
    "audio/x-wav" => ".wav",
    "image/bmp" => ".bmp",
    "image/cis-cod" => ".cod",
    "image/gif" => ".gif",
    "image/ief" => ".ief",
    "image/jpeg" => ".jpe",
    "image/jpeg" => ".jpeg",
    "image/jpeg" => ".jpg",
    "image/pipeg" => ".jfif",
    "image/svg+xml" => ".svg",
    "image/tiff" => ".tif",
    "image/tiff" => ".tiff",
    "image/x-cmu-raster" => ".ras",
    "image/x-cmx" => ".cmx",
    "image/x-icon" => ".ico",
    "image/x-portable-anymap" => ".pnm",
    "image/x-portable-bitmap" => ".pbm",
    "image/x-portable-graymap" => ".pgm",
    "image/x-portable-pixmap" => ".ppm",
    "image/x-rgb" => ".rgb",
    "image/x-xbitmap" => ".xbm",
    "image/x-xpixmap" => ".xpm",
    "image/x-xwindowdump" => ".xwd",
    "video/mp4" => ".m4v",
    "video/mpeg" => ".mp2",
    "video/mpeg" => ".mpa",
    "video/mpeg" => ".mpe",
    "video/mpeg" => ".mpeg",
    "video/mpeg" => ".mpg",
    "video/mpeg" => ".mpv2",
    "video/quicktime" => ".mov",
    "video/quicktime" => ".qt",
    "video/x-la-asf" => ".lsf",
    "video/x-la-asf" => ".lsx",
    "video/x-ms-asf" => ".asf",
    "video/x-ms-asf" => ".asr",
    "video/x-ms-asf" => ".asx",
    "video/x-msvideo" => ".avi",
    "video/x-sgi-movie" => ".movie",
    "video/ogg" => ".ogv",
    "video/webm" => ".webm"
);

  foreach ($earray as $sext => $key) {
    if (url_exists(str_replace($outext, "", $ivfilene) . $earray[$sext])) {
      if (($earray[$sext] == $outext || $earray[$sext] == $inext) && (strpos($sext, "video/") !== false || strpos($sext, "image/") !== false)) {
        if ($earray[$sext] != ".ogg" && $earray[$sext] != ".ogv" && $earray[$sext] != ".wav" && $earray[$sext] != ".mp3") $extinfo = "";
        if (strpos($sext, "video/") !== false) {
         $howmany = $howmany + 1;
         $outoptions .= "<option value='" . $earray[$sext] . ":" . $sext . "' selected>" . $earray[$sext] . "</option>";
        } else {
         $outoptions .= "<OPTION value='" . $earray[$sext] . ":" . $sext . "' selected>" . $earray[$sext] . "</OPTION>";
        }
        if ($earray[$sext] == $outext) {
          if ($premime == "") $premime = $sext;
          $ivfilene = str_replace($outext, "", $ivfilene);
          $ivn = str_replace(".ogv", "", str_replace(".ogv.ogv", ".ogv", str_replace($outext, "", $ivn)));
        }
      } else if ((strpos($sext, "video/") !== false || strpos($sext, "image/") !== false)) {
        if ($earray[$sext] != ".ogg" && $earray[$sext] != ".ogv"  && $earray[$sext] != ".wav" && $earray[$sext] != ".mp3") $extinfo = "";
        if (strpos($sext, "video/") !== false) {
         $howmany = $howmany + 1;
         $outoptions .= "<option value='" . $earray[$sext] . ":" . $sext . "'>" . $earray[$sext] . "</option>";
        } else {
         $outoptions .= "<OPTION value='" . $earray[$sext] . ":" . $sext . "'>" . $earray[$sext] . "</OPTION>";
        }
        if ($earray[$sext] == $outext) {
          if ($premime == "") $premime = $sext;
          $ivfilene = str_replace($outext, "", $ivfilene);
          $ivn = str_replace(".ogv", "", str_replace(".ogv.ogv", ".ogv", str_replace($outext, "", $ivn)));
        }
      }
    }
  }

  if ($howmany == 1 && strpos($outoptions, " selected>") === false && strpos($outext, ".") === false && strpos($outoptions, "video/") !== false) {
    $outoptions = str_replace("<option value", "<option selected value", $outoptions);
    return $outoptions;
  } 
  if ($isiPad && strpos($outoptions, " value='.m4") !== false && strpos($outoptions, " selected") === false && $howmany >= 1) {
    $outoptions = str_replace(" value='.m4", " selected value='.m4", $outoptions);
    return $outoptions;
  }
  return $outoptions;
}

$midbit = "";

$iscalled = "";

if (isset($_GET['autostart'])) {
$iscalled = "y";
$astart = urldecode($_GET['autostart']);
} else if (isset($_POST['autostart'])) {
$iscalled = "y";
$astart = urldecode($_POST['autostart']);
} else {
$astart = ' autostart=1 ';
}
if (isset($_GET['loop'])) {
$iscalled = "y";
$aloop = urldecode($_GET['loop']);
} else if (isset($_POST['loop'])) {
$iscalled = "y";
$aloop = urldecode($_POST['loop']);
} else {
$aloop = ' loop=true ';
}
if (isset($_GET['hidden'])) {
$iscalled = "y";
$ahidden = urldecode($_GET['hidden']);
} else if (isset($_POST['hidden'])) {
$iscalled = "y";
$ahidden = urldecode($_POST['hidden']);
} else {
$ahidden = ' hidden=true ';
}
if (isset($_GET['controls'])) {
$iscalled = "y";
$bcontrols = urldecode($_GET['controls']);
} else if (isset($_POST['controls'])) {
$iscalled = "y";
$bcontrols = urldecode($_POST['controls']);
} else {
$bcontrols = 'controls=controls ';
}
if (isset($_GET['autoplay'])) {
$iscalled = "y";
$bautoplay = urldecode($_GET['autoplay']);
} else if ($iscalled != "")  {
$iscalled = "y";
$bautoplay = urldecode($_POST['autoplay']);
} else {
$bautoplay = ' autoplay=autoplay ';
}
if (isset($_GET['bloop'])) {
$iscalled = "y";
$bloop = urldecode($_GET['bloop']);
} else if (isset($_POST['bloop'])) {
$iscalled = "y";
$bloop = urldecode($_POST['bloop']);
} else {
$bloop = ' loop=loop ';
}

$isdataurl = "";

//if (isset($_POST['vsubmit']) && !isset($_POST['vfilename'])) {
//    $ff = waitforchange();
//    sleep(5);
//}

$pv = "";
if (isset($_GET['vfilename']) && !isset($_GET['type'])) {
  $pv = $_GET['vfilename'];
  $ivfilene = $pv;
  
  $aloop = "";
  $bloop = "";

  if (strpos($pv, ".") !== false) {
    $pvs = explode(".", $pv);
    $video_ogg = '.' . $pvs[sizeof($pvs) - 1] . '" type="' . $tword . '/' . str_replace("ogv", "ogg", $pvs[sizeof($pvs) - 1]) . '" /> ';
    $video_mp4 = '.' . $pvs[sizeof($pvs) - 1] . '" type="' . $tword . '/' . str_replace("ogv", "ogg", $pvs[sizeof($pvs) - 1]) . '" /> ';
    $videomp4 = '.' . $pvs[sizeof($pvs) - 1] . '" ';

    $video_webm = '.' . $pvs[sizeof($pvs) - 1] . '" type="' . $tword . '/' . str_replace("ogv", "ogg", $pvs[sizeof($pvs) - 1]) . '" /> ';
    $videowebm = '.' . $pvs[sizeof($pvs) - 1] . '" ';
  }
} else if (isset($_POST['vfilename'])) {
  $pv = $_POST['vfilename'];
}

if ($pv != "") {
  $ivn = urldecode($pv);
  $iscalled = "y";
  $isdataurl = "y";
  $ivd = "";
  $ivfp = "";
  
  if (strpos(substr($pv,0,5),"data:") !== false || strpos(substr($pv,0,5),"data%") !== false) {

    // data:image/jpeg;base64,
    $pf = $pv;
    if (strpos($pv, "data%") !== false) {
      $pf = urldecode($pv);
    }
    $stuffings = explode(",", $pf);
    $stuffs = explode(";", $stuffings[0]);
    $stuff = explode(":", $stuffs[0]);
    $video_ogg = '" type="' . $stuff[1] . '" /> ';
    $video_mp4 = '" type="' . $stuff[1] . '" /> ';
    $videomp4 = '" ';

    $video_webm = '" type="' . $stuff[1] . '" /> ';
    $videowebm = '" ';
    
    $ivfilene = $pf;

    
    header('Content-type: ' . $stuff[1]);
    echo file_get_contents($ivfilene);
    exit;


  }
} else if (isset($_GET['filename']) && isset($_GET['type'])) {

if (file_exists(dirname(__FILE__) . "/clean_up.ksh")) {
  exec("ksh " . dirname(__FILE__) . "/clean_up.ksh");
}
    $isdataurl = "n";
    //echo $_GET['type'] . " " . $_GET['filename'];
    
    if (file_exists(dirname(__FILE__) . "/" . basename($_GET['filename'])) || file_exists($_GET['filename'])) {
    header('Content-Description: '.basename($_GET['filename']));
    header('Content-Type: ' . $_GET['type']);
    //header('Content-Disposition: attachment; filename='.basename($_GET['filename']));
    //header('Content-Transfer-Encoding: binary');
    //header('Expires: 0');
    //header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    //header('Pragma: public');
    if (file_exists($_GET['filename'])) {
    header('Content-Length: ' . filesize($_GET['filename']));
    //ob_clean();
    //flush();
    readfile($_GET['filename']);
    } else {
    header('Content-Length: ' . filesize(dirname(__FILE__) . "/" . basename($_GET['filename'])));
    //ob_clean();
    //flush();
    readfile(dirname(__FILE__) . "/" . basename($_GET['filename']));
    try {
      if (strpos(basename($_GET['filename']), "sparevideo") === false) unlink(dirname(__FILE__) . "/" . basename($_GET['filename']));
    } catch (Exception $ex) {
    }
    if (file_exists($_GET['filename'])) {
     if (file_exists(dirname(__FILE__) . "/clean_up.ksh")) {
       file_put_contents(dirname(__FILE__) . "/clean_up.ksh", "#!/bin/ksh\nif [ -f \"" . dirname(__FILE__) . "/" . basename($_GET['filename']) . "\" ]; then\nrm -f " . dirname(__FILE__) . "/" . basename($_GET['filename']) . "\nendif\n");
     } else {
       file_put_contents(dirname(__FILE__) . "/clean_up.ksh", file_get_contents(dirname(__FILE__) . "/clean_up.ksh") . "if [ -f \"" . dirname(__FILE__) . "/" . basename($_GET['filename']) . "\" ]; then\nrm -f " . dirname(__FILE__) . "/" . basename($_GET['filename']) . "\nendif\n");
     }
    //exec("curl " . "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("video_generic", "audio_video", str_replace("?" . $_SERVER['QUERY_STRING'], "", $_SERVER['REQUEST_URI'])) . "?" . $_SERVER['QUERY_STRING']);
    }
    exit;
    }
    }
}
    


if ($isdataurl == "") {
if (isset($_GET['domain'])) {
$iscalled = "y";
$ivd =  urldecode($_GET['domain']);
} else if (isset($_POST['domain'])) {
$iscalled = "y";
$ivd =  urldecode($_POST['domain']);
} else if (isset($_GET['dom'])) {
$ivd =  urldecode($_GET['dom']);
} else if (isset($_POST['dom'])) {
$ivd =  urldecode($_POST['dom']);
} else {
$ivd = "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . "" . str_replace("?" . $_SERVER['QUERY_STRING'], "", str_replace("video_generic.php", "", $_SERVER['REQUEST_URI']));  // 'http://www.rjmprogramming.com.au/PHP/';
}
if (isset($_GET['path'])) {
$iscalled = "y";
$ivfp =  urldecode($_GET['path']);
} else if (isset($_POST['path'])) {
$iscalled = "y";
$ivfp =  urldecode($_POST['path']);
} else if (isset($_GET['pat'])) {
$ivfp =  urldecode($_GET['pat']);
} else if (isset($_POST['pat'])) {
$ivfp =  urldecode($_POST['pat']);
} else {
$ivfp = 'videos/';
}
if (isset($_GET['filename'])) {
$iscalled = "y";
$ivn =  urldecode($_GET['filename']);
} else if (isset($_POST['filename'])) {
$iscalled = "y";
$ivn =  urldecode($_POST['filename']);
} else if (isset($_GET['filen'])) {
$ivn =  urldecode($_GET['filen']);
} else if (isset($_POST['filen'])) {
$ivn =  urldecode($_POST['filen']);
} else {
$ivn = 'GoToMeeting';  //'Nala_HideAndSeek';
}
$ivdir = $ivd . $ivfp;
$ivfilene = $ivdir . $ivn;

$preext = "";
$premime = "";
if (isset($_GET['ext'])) {
  $pext = explode(":", urldecode($_GET['ext']));
  $preext = $pext[0];
  if (sizeof($pext) > 1) $premime = $pext[1];
} else if (isset($_POST['ext'])) {
  $pext = explode(":", urldecode($_POST['ext']));
  $preext = $pext[0];
  if (sizeof($pext) > 1) $premime = $pext[1];
} 


$midbit = uflist($preext);
if ($midbit != "") {
$selinfo = "<select id='ext' name='ext' onchange='changeext(this.value);'><option value=''></option>" . $midbit . "</select>";
} else {
$selinfo = "<select id='ext' name='ext' onchange='changeext(this.value);' style='display:none;'><option value=''></option>" . $midbit . "</select>";
}

if (isset($_GET['ext'])) {
if ($_GET['ext'] == "") {
$ivfile = $ivfilene . '.mp3';
} else {
$ivfilene .= $preext;
$ivfile = $ivfilene;
if ($isiPad) {
$ipadplace = $ivfile;
} else {
header('Content-type: ' . $premime);
echo file_get_contents($ivfile);
exit;
}
} 

} else if (isset($_POST['ext'])) {
if ($_POST['ext'] == "") {
$ivfile = $ivfilene . '.mp4';
} else {
$ivfilene .=  $preext;
$ivfile = $ivfilene;
if ($isiPad) {
$ipadplace = $ivfile;
} else {
header('Content-type: ' . $premime);
echo file_get_contents($ivfile);
exit;
}
}

} else {
$ivfile = $ivfilene . '.mp4';
}
}

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($ua, "msie 8") !== false || 
    strpos($ua, "msie 7") !== false || 
    strpos($ua, "msie 6") !== false) {
      $huh = file_get_contents($ivfile);
 	  header('Content-type: video/mp4');
 	  echo $huh;
      exit;
}

?>
<!DOCTYPE html>
<html>
<head>
<?php echo '<title>Play Video in Various Browsers</title>'; ?>
<link href='//www.rjmprogramming.com.au/PHP/emboss_h1.css' rel='stylesheet' type='text/css'>
<script type="text/javascript">

var isoff=0;

function changeext(theext) {
  if (theext != "") {
    var aext = theext.split(":");
    document.getElementById('hext').value = aext[0];
    if (aext.length > 1) document.getElementById('hmime').value = aext[1];
    if (window.top.document.URL.indexOf("audio_video.html") == -1) document.getElementById('submit').click();
  }
}

function relook(thisval) {
  if (thisval != "") {
    //alert("./video_generic.php?filen=" + thisval + "&pat=" + document.getElementById('path').value + "&dom=" + document.getElementById('domain').value);
    location.href = "./video_generic.php?filen=" + thisval + "&pat=" + document.getElementById('path').value + "&dom=" + document.getElementById('domain').value;
  }
}


function mimechanged(themime) {
}

function iFrameFunction() {
 var siss=document.getElementById("video"); 
 if (isoff == 0) { 
  isoff = siss.volume; 
  siss.volume=0;
 } else { 
  siss.volume=isoff;
  isoff = 0;
 }
}


function trythis() {
<?php 
if ($isiPad && $ipadplace != "") { 
echo "\n location.href='" . $ipadplace . "';"; 
} 
?>
}

function whatifimg() {
  var sis=document.getElementById('ext');
  if (sis != null) {
    if (sis.value.indexOf("image/") != -1) {
      var extis=sis.value.split(":");
      location.href=document.getElementById('domain').value + document.getElementById('path').value + document.getElementById('filename').value + extis[0];
    }
  }
}

</script>



</head>
<body style="background-color:yellow;" onload="trythis();">
<div align="center" id="vform">
<h1 align="center">Video Play</h1>
<?php echo "\n" . '<form id="myvform" name="myvform" action="' . $_SERVER["REQUEST_URI"] . '" method="POST">' . "\n"; ?>
<table align="center" border=3 cellpadding=5 cellspacing=5 style="background-color:pink;"><tr><td>
<?php echo "<a target=_blank title='Video autoplay' href='http://www.w3schools.com/tags/att_video_autoplay.asp'>Autoplay</a>: <input type='text' id='autoplay' name='autoplay' value='" . $bautoplay . "'></input>\n"; ?>
</td><td>
<?php echo "<a target=_blank title='Video controls' href='http://www.w3schools.com/tags/att_video_controls.asp'>Controls</a>: <input type='text' id='controls' name='controls' value='" . $bcontrols . "'></input>\n"; ?>
</td><td>
<?php echo "<a target=_blank title='Video loop' href='http://www.w3schools.com/tags/att_video_loop.asp'>Loop</a>: <input type='text' id='bloop' name='bloop' value='" . $bloop . "'></input>\n"; ?>
</td></tr><tr style=background-color:orange;><td style=width:55%;>
<?php echo "Base URL: <input style=width:75%; type='text' id='domain' name='domain' value='" . $ivd . "'></input>\n"; ?>
</td><td>
<?php echo "Subdirectory: <input type='text' id='path' name='path' value='" . $ivfp . "'></input>\n"; ?>
</td><td>
<?php echo "Filename" . $extinfo . ": <input onblur='relook(this.value);' title='You may need .ogv/.mp4/.webm ... do you need http://www.online-convert.com/ ?' type='text' id='filename' name='filename' value='" . $ivn . "'></input>" . $selinfo . "\n"; ?>
</td></tr><tr><td>
<?php echo "<a target=_blank title='Embed autostart' href='http://www.htmlcodetutorial.com/embeddedobjects/_EMBED_AUTOSTART.html'>Autostart</a>: <input type='text' id='autostart' name='autostart' value='" . $astart . "'></input>\n"; ?>
</td><td>
<?php echo "<a target=_blank title='Embed loop' href='http://www.htmlcodetutorial.com/embeddedobjects/_EMBED_LOOP.html'>Loop</a>: <input type='text' id='loop' name='loop' value='" . $aloop . "'></input>\n"; ?>
</td><td>
<?php echo "<a target=_blank title='Embed hidden' href='http://www.htmlcodetutorial.com/embeddedobjects/_EMBED_HIDDEN.html'>Hidden</a>: <input type='text' id='hidden' name='hidden' value='" . $ahidden . "'></input>\n"; ?>
</td></tr></table>
<?php echo "<input type='hidden' id='mimetype' name='mimetype' value='" . $ivmt . "'></input>"; ?>
<br><br><input onclick="whatifimg();" align="center" type='submit' name='submit' id='submit' value='Play'></input><br><br>
</form>
</div>
<div align="center" id="player" <?php if ($iscalled == "")  echo ' style="display:none;" ';  ?>>
<?php  if ($iscalled != "")  echo "<" . $tword . " id=\"video\"  " . $bautoplay . ' ' . $bcontrols . ' ' . $bloop . ' style=height:90%;>'; ?>
<?php  if ($iscalled != "")  echo '<source src="' . $ivfilene . $video_ogg; ?>


<?php
    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    // you can add different browsers with the same way ..
    if (strpos($ua, "msie") !== false || strpos($ua, "windows ") !== false) {
       if ($iscalled != "")  echo '<source src="' . $ivfilene . $video_mp4 ."\n";
    } else if (strpos($ua, "safari") !== false)  {
       if ($iscalled != "")  echo '<source src="' . $ivfilene . $video_mp4 ."\n";
       if ($iscalled != "")  echo '<embed src="' . $ivfilene . $videomp4 . $ahidden . ' ' . $aloop . ' ' . $astart . '></embed>'."\n";
    } else if (strpos($ua, "mozilla") !== false) {
       if ($iscalled != "")  echo '<source src="' . $ivfilene . $video_webm ."\n";
       if ($iscalled != "")  echo str_replace(".webm\" ", ".webm\"  type='video/webm; codecs=\"vp8, vorbis\"' ", '<embed src="' . $ivfilene . $videowebm . $ahidden . ' ' . $aloop . ' ' . $astart . '></embed>')."\n";
    } else {
       if ($iscalled != "")  echo '<source src="' . $ivfilene . $video_mp4 ."\n";
       if ($iscalled != "")  echo '<embed src="' . $ivfilene . $videomp4 . $ahidden . ' ' . $aloop . ' ' . $astart . '></embed>'."\n";
    }
?>
<?php  if ($iscalled != "")  echo '</' . $tword . '>' . "\n"; ?>
<?php  if ($iscalled != "")  echo "&nbsp;&nbsp;<a href='#' onclick='iFrameFunction();'>Toggle</a>\n"; ?>
</div><div id='dmoreinfo' style='display:none;'><iframe id='imoreinfo' src='javascript:none;'></iframe><input type='hidden' name='hext' id='hext' value='<?php echo $preext; ?>'></input><input onchange='mimechanged(this.value);' type='hidden' name='hmime' id='hmime' value='<?php echo $premime; ?>'></input></div></body>
</html>    
