function openPicPopup(current_seq, url, capt, css) {
   var browseWidth = 0, browseHeight = 0;
   if( typeof( window.innerWidth ) == 'number' ) {
      //Non-IE
      browseWidth = window.innerWidth;
      browseHeight = window.innerHeight;
   } else if( document.documentElement &&
   ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
      //IE 6+ in 'standards compliant mode'
      browseWidth = document.documentElement.clientWidth;
      browseHeight = document.documentElement.clientHeight;
   } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
      //IE 4 compatible
      browseWidth = document.body.clientWidth;
      browseHeight = document.body.clientHeight;
   }
   var fitx = parseInt(window.document.getElementById('ss_fitx' + current_seq).value);
   var fity = parseInt(window.document.getElementById('ss_fity' + current_seq).value);
   var dx = fitx - (browseWidth - 70);
   var dy = fity - (browseHeight - 90);
   window.status = browseWidth + ':' + browseHeight + '  ' + fitx + ':' + fity + '  ' + dx + ':' + dy;
   if ( (dx > 0.0) && (dy > 0.0) ) {
     if (dx > dy) {
       dx = browseWidth - 70;
       dy = fity * ((browseWidth - 70)/fitx);
     } else {
       dy = browseHeight - 90;
       dx = fitx * ((browseHeight - 90)/fity);
     }
   } else if (dx > 0.0) {
       dx = browseWidth - 70;
       dy = fity * ((browseWidth - 70)/fitx);
   } else if (dy > 0.0) {
       dy = browseHeight - 90;
       dx = fitx * ((browseHeight - 90)/fity);
   } else {
       dx = parseInt(fitx);
       dy = parseInt(fity);
   }
   var win = window.open('','Gallery','width=' + browseWidth + ',height=' + browseHeight + ',scrollbars');
   var newHTML = '';
   newHTML = "<html><head>\n";
   newHTML += "<link rel='stylesheet' type='text/css' href='" + css + "' />\n";
   newHTML += "<script language='javascript'>\n";
   newHTML += "//<--\n";
   newHTML += "var current_seq = " + current_seq + ";\n";
   newHTML += "function move(dir) {\n";
   newHTML += "  window.document.getElementById('pic').style.visibility='hidden';\n";
   newHTML += "  var tmp_seq = current_seq + parseInt(dir);\n";
   newHTML += "  var ss_total = window.opener.document.getElementById('ss_total').value;\n";
   newHTML += "  window.status = 'total: ' + ss_total + ' tmp_seq: ' + tmp_seq;\n";
   newHTML += "  if (tmp_seq > ss_total) { tmp_seq = ss_total};\n";
   newHTML += "  if (tmp_seq < 0) {tmp_seq = 0.0};\n";
   newHTML += "  current_seq = parseInt(tmp_seq);\n";
   newHTML += "  window.document.getElementById('pic').src= window.opener.document.getElementById('ss_url' + current_seq).value;\n";
   newHTML += "  //window.status = 'total: ' + ss_total + ' current_seq: ' + current_seq;\n";
   newHTML += "  var fitx = parseInt(window.opener.document.getElementById('ss_fitx' + current_seq).value);\n";
   newHTML += "  var fity = parseInt(window.opener.document.getElementById('ss_fity' + current_seq).value);\n";
   newHTML += "  var browseWidth = 0, browseHeight = 0;\n";
   newHTML += "  if( typeof( window.innerWidth ) == 'number' ) {\n";
   newHTML += "    //Non-IE\n";
   newHTML += "    browseWidth = window.innerWidth;\n";
   newHTML += "    browseHeight = window.innerHeight;\n";
   newHTML += "  } else if( document.documentElement &&\n";
   newHTML += "    ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {\n";
   newHTML += "    //IE 6+ in 'standards compliant mode'\n";
   newHTML += "    browseWidth = document.documentElement.clientWidth;\n";
   newHTML += "    browseHeight = document.documentElement.clientHeight;\n";
   newHTML += "  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {\n";
   newHTML += "  //IE 4 compatible\n";
   newHTML += "    browseWidth = document.body.clientWidth;\n";
   newHTML += "    browseHeight = document.body.clientHeight;\n";
   newHTML += "  }\n";
   newHTML += "  var dx = fitx - (browseWidth - 70);\n";
   newHTML += "  var dy = fity - (browseHeight - 90);\n";
   newHTML += "  window.status = browseWidth + ':' + browseHeight + '  ' + fitx + ':' + fity + '  ' + dx + ':' + dy;\n";
   newHTML += "  if ( (dx > 0.0) && (dy > 0.0) ) {\n";
   newHTML += "    if (dx > dy) {\n";
   newHTML += "      window.document.getElementById('pic').width = browseWidth - 70;\n";
   newHTML += "      window.document.getElementById('pic').height = fity * ((browseWidth - 70)/fitx);\n";
   newHTML += "    } else {\n";
   newHTML += "      window.document.getElementById('pic').height = browseHeight - 90;\n";
   newHTML += "      window.document.getElementById('pic').width = fitx * ((browseHeight - 90)/fity);\n";
   newHTML += "    }\n";
   newHTML += "  } else if (dx > 0.0) {\n";
   newHTML += "      window.document.getElementById('pic').width = browseWidth - 70;\n";
   newHTML += "      window.document.getElementById('pic').height = fity * ((browseWidth - 70)/fitx);\n";
   newHTML += "  } else if (dy > 0.0) {\n";
   newHTML += "      window.document.getElementById('pic').height = browseHeight - 90;\n";
   newHTML += "      window.document.getElementById('pic').width = fitx * ((browseHeight - 90)/fity);\n";
   newHTML += "  } else {\n";
   newHTML += "      window.document.getElementById('pic').width = parseInt(fitx);\n";
   newHTML += "      window.document.getElementById('pic').height = parseInt(fity);\n";
   newHTML += "  }\n";
   newHTML += "  window.document.getElementById('capt').innerHTML = window.opener.document.getElementById('ss_capt' + current_seq).value;\n";
   newHTML += "  window.document.getElementById('pic').title = window.opener.document.getElementById('ss_capt' + current_seq).value;\n";
   newHTML += "  window.document.getElementById('pic').alt = window.opener.document.getElementById('ss_capt' + current_seq).value;\n";
   newHTML += "  if (current_seq > 0.0) {\n";
   newHTML += "    window.document.getElementById('prev').disabled=false;\n";
   newHTML += "  } else {\n";
   newHTML += "    window.document.getElementById('prev').disabled=true;\n";
   newHTML += "  }\n";
   newHTML += "  if (current_seq < ss_total) {\n";
   newHTML += "    window.document.getElementById('next').disabled=false;\n";
   newHTML += "  } else {\n";
   newHTML += "    window.document.getElementById('next').disabled=true;\n";
   newHTML += "  }\n";
   newHTML += "  window.document.getElementById('pic').style.visibility='visible';\n";
   newHTML += "}\n";
   newHTML += "//-->\n";
   newHTML += "</script>\n";
   newHTML += "</head>\n";
   newHTML += "<body>\n";
   newHTML += "<div align='center' style='text-align: center;'>\n";
   newHTML += "<button id='first' onclick='move(-9999);' >|&lt;</button>\n";
   if (current_seq > 0) {
      newHTML += "<button id='prev' onclick='move(-1);' >&lt;</button>\n";
   } else {
      newHTML += "<button id='prev' onclick='move(-1);' disabled >&lt;</button>\n";
   }
   //window.status='total:' + document.getElementById('ss_total').value;
   if (current_seq < (document.getElementById('ss_total').value)) {
      newHTML += "<button id='next' onclick='move(1);' >&gt;</button>\n";
   } else {
      newHTML += "<button id='next' onclick='move(1);' disabled >&gt;</button>\n";
   }
   newHTML += "<button id='last' onclick='move(9999);' >&gt;|</button>\n";
   newHTML += "<button onclick='window.close();'>close</button>\n";
   newHTML += "<h3 id='capt'>" + capt + "</h3>\n";
   newHTML += "<img width=" + dx + " height=" + dy + " id='pic' src='" + url + "' title='" + capt + "' alt='" + capt + "'>\n";
   newHTML += "</div></body></html>\n";
   win.document.write(newHTML);
   win.document.close();
}
