<?php

$Style = "#filelist {list-style-type:none; padding-left: 0pt;} li.file{display:inline; padding-right:14px;}";

if (!$UploadDir) {
    $jsflUploadDir = "uploads";
}
else {
    $jsflUploadDir = $UploadDir;
}

if ($action == 'edit') {
    $HTMLFooterFmt['jsfilelist'] = "
    <script type='text/javascript'>
    document.getElementById('wikiedit').innerHTML = \"<div id='attachlist' onclick='LoadFileList()' style='cursor:pointer; margin:4px; padding:2px; border:1px dotted black; background-color:#F8F3D2; color:#7D110C; min-width:250px;'>Click to Load Attachment List...</div>\"+document.getElementById('wikiedit').innerHTML;
    function LoadFileList() {
        document.getElementById('attachlist').innerHTML = '<p>Loading..<blink>.</blink></p>';
        var req = document.createElement('SCRIPT');         req.type = 'text/javascript';         req.src = \"?action=jsfilelist\";         document.body.appendChild(req);
    }
    </script>";
}

if ($action == "jsfilelist") {
    header("Content-Type: text/javascript");
    $uploaddir = FmtPageName("$jsflUploadDir$UploadPrefixFmt", $pagename);
    $dirp = @opendir($uploaddir);
    
    ## No Folder
    if (!$dirp) {
        echo "document.getElementById('attachlist').innerHTML = \"There are no Attachment for this page, you can still Attach: from other pages.\"; document.getElementById('attachlist').onclick = null;";
        exit;
    }
    
    $filelist = array();
    while (($file=readdir($dirp)) !== false) {
        if ($file{0} == '.') continue;
        if (@$matchext && !preg_match(@$matchext, $file)) continue;
        $filelist[$file] = $file;
    }
    
    closedir($dirp);
    
    $out = array();
    
    $out[] = "<style>$Style</style>";
    #$out[] = "<ul id='filelist'>";
    #$out[] = "<li class='file'>File List:</li>";
	natcasesort($filelist);
    $cnt = 0;
	if(preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']))
	{
    		$out[] = "<div style=\\\"line-height:225%;\\\">";
	}
    foreach($filelist as $file) {
        #$out[] = "<li class='file'><a href=\\\"javascript:insMarkup('Attach:','','$file');\\\">$file</a></li>";
	if($cnt % 2 == 0)
	{
		$css_style = "style=\\\"background-color:silver; border:1px solid black; margin:2px; padding:2px;\\\"";
	}
	else
	{
		$css_style = "style=\\\"background-color:#ebebeb; border:1px solid gray; margin:2px; padding:2px;\\\"";
	}
	if(preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']))
	{
		$out[] = "<a {$css_style} href=\\\"javascript:insMarkup('[[Attach:',' | $file]]','$file');\\\">$file</a> ";
	}
	else
	{
		$select .= "<option>$file</option>";
	}
	$cnt++;
    }
	if(preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']))
	{
    		$out[] = "</div>";
	}
    #$out[] = "</ul>";

	if(!preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT']))
	{
		  $out[] = "<div style=\\\"line-height:225%;\\\">";
		   $out[] = "<select onChange=\\\"insMarkup('[[Attach:',' | '+this.value+']]',this.value);\\\">{$select}</select>";
		  $out[] = "</div>";
	}
    
    echo "document.getElementById('attachlist').innerHTML = \"" . implode('', $out) . "\"; document.getElementById('attachlist').onclick = null;";
    exit;
}