var curUser;

function columnlist (name_en, name_cn, area, column_header){
    this.name_en = name_en;
    this.name_cn = name_cn;
    this.area = area;
    this.column_header = column_header;
    this.url = "columns/"+ name_en +"/" + name_en + ".html";
}

var columnlists = new  Array();
columnlists["chuansha"]=new columnlist("chuansha","川沙", "canada|加拿大", "诗|小说|其它文体");
columnlists["huiquan"]  =new columnlist("huiquan",  "慧泉","canada|加拿大", "诗|其它文体");
columnlists["qiuye"]  =new columnlist("qiuye",    "秋叶",  "canada|加拿大", "格律诗{五绝/七绝/五律/七律}|新诗|对联|诗翻译");
columnlists["shicao"]  =new columnlist("shicao",  "拾草",  "china|中国",    "诗|其它文体");
columnlists["xingzi"]  =new columnlist("xingzi",  "星子", "canada|加拿大", "英语诗{Love Poems/Tribute for Nature/Poetry for Jason/Inspiration of Life}|汉语诗|其它文体");
columnlists["xiaowan"] =new columnlist("xiaowan", "小万",  "canada|加拿大", "诗|散文诗|散文小说");
columnlists["wenbolun"]  =new columnlist("wenbolun",  "文伯伦", "china|中国", "诗|对联");
columnlists["xiaoming"]=new columnlist("xiaoming","晓鸣",    "canada|加拿大", "短诗|长诗|其它文体");
columnlists["zhifeng"]  =new columnlist("zhifeng",  "之枫","canada|加拿大", "诗|其它文体");
columnlists["wanmu"]   =new columnlist("wanmu",   "万沐",   "canada|加拿大", "古体诗|新诗|散文|评论及其它");
columnlists["hepingdao"]  =new columnlist("hepingdao","和平岛", "canada|加拿大", "诗选|其它文体");
columnlists["bifeng"]  =new columnlist("bifeng",  "笔蜂",  "canada|加拿大", "诗|散文");
columnlists["qichang"]  =new columnlist("qichang",  "祁畅", "canada|加拿大", "诗|其它文体");
columnlists["jiaren"]  =new columnlist("jiaren",  "佳人", "canada|加拿大", "诗|其它文体");

var names = new Array();
var tr = 0;
for (name in columnlists) { 
   names[tr] = name;
   tr++;
}

// index: 0 sort penname; 1 sort area 
function getLinks(index, subtitle, cols) {
   var listBuf = "<table border=\"0\" width=\"100%\"><tr>";
   var len = names.length;
//  var cols = 3;
   var ctr = Math.ceil(len/cols);
   var criteria = new Array();
   for (i=0; i<len; i++) {
      if ( index == 0 || index == -1) {
         criteria[i] = names[i];
      } else if ( index == 1 ) {
         criteria[i] = columnlists[names[i]].area;
      }
   }      
   if (index != -1) {
      criteria.sort();      
   } else {
      index = 0;
   }
   var pre, cur;
   if ( index == 0 ) {
      for (j=0; j< len; j++) {
         if ( (j%ctr) == 0 ) {
            if (j==0 ) listBuf = listBuf + "<td valign=\"top\">";
            else listBuf = listBuf + "</td><td valign=\"top\">";
         }
         listBuf = listBuf + "<li type=\"square\"><a href=\"" + columnlists[criteria[j]].url + "\">" + columnlists[criteria[j]].name_cn + "</a></li>"; 
      }
   } else if( index == 1 ){
      var uniqArea = new Array(); 
      var oldArea = "xyz";
      var areaCtr = 0;
      for (j=0; j< len; j++) {
         if (criteria[j] != oldArea ) {
            uniqArea[areaCtr] = criteria[j];
            oldArea = criteria[j];
            areaCtr++;
         }
      }
      ctr = Math.ceil((len+uniqArea.length)/cols);
      var totalCtr = 0;
      for ( l=0; l < uniqArea.length; l++) {       
         var del = uniqArea[l].indexOf("|");
         if (l == 0 ) listBuf = listBuf + "<td valign=\"top\">";
         if (subtitle == "Y" ) {
             totalCtr++;
             listBuf = listBuf + "<div class=\"poemTitle\">" + uniqArea[l].substring(del+1) + "</div>";
         }
         for (k=0; k < len; k++) {             
             if ( columnlists[names[k]].area == uniqArea[l]) {
                totalCtr++;
                if ( (totalCtr%ctr) == 0 && totalCtr > 1) {
                   listBuf = listBuf + "</td><td valign=\"top\">";
                } 
                
                listBuf = listBuf + "<li><a href=\"" + columnlists[names[k]].url + "\">" + columnlists[names[k]].name_cn + "</a></li>"; 
             }
         }
      }
   }
   listBuf = listBuf + "</td></tr></table>";
   var dml = document.all;
   dml.item("valueContainer").innerHTML = listBuf;
}

var pageWidth = "655";

function keyDownEvent (evt) {
   var code = evt.keyCode;
   if (code == 13 || code == 3) {
      loadParameters();
   }
}

function notAvaiable() {
   alert("该网页正在制作中.请稍后再访问.\nThe page is under construction.");
}

function validateBrowser () {
   if ((navigator.appName == "Netscape")) {
      alert("This program only supports Internet Explorer 5 and above.");
      parent.close();
   }
} 

var isNT4 = false;                                   
var str_buf, ctr = 0;

function info(msg) {
   var Win1 = window.open ("", "", "scrollbars=yes,status=yes,resizable=yes,width=450,height=350,left=200,top=100");
   Win1.document.write("<basefont size=2>\n");
   Win1.document.write(msg);
}

function writeColumnHeader(name, img, height){
   var str_buf = "<table border=\"2\" width=\"" + pageWidth + "\"><tr><td class=\"basefont\" width=\"100%\" valign=\"top\">";
   if (img == "" ) {   
      str_buf = str_buf + "<iframe src=\"profile.html\" width=\"100%\" height=\""+height+"\"></iframe>";
      str_buf = str_buf + "</td></tr>";
   } else { 
      str_buf = str_buf + "<table width=\"100%\" valign=\"top\"><tr>";
      str_buf = str_buf + "<td width=\"30%\" align=\"center\" valign=\"center\"><img alt=\"照片\" width=\"180px\" src=\"" + img + "\" /></td>";
      str_buf = str_buf + "<td width=\"70%\" align=\"left\" valign=\"top\">";
      str_buf = str_buf + "<iframe src=\"profile.html\" width=\"100%\"  height=\""+height+"\"></iframe>";
      str_buf = str_buf + "</td>";
      str_buf = str_buf + "</tr></table></td></tr>";
   }
   str_buf = str_buf + "</td></tr></table><p />";
   str_buf = str_buf + "<table width=\"655\" ><tr>";
   str_buf = str_buf + "<td align=\"left\"><input type=\"button\" value=\"&lt;&lt; 回到前页\" onclick=\"javascript:location='../../columns.html'\"/></td>";
   str_buf = str_buf + "<td align=\"center\"><input  type=\"button\" value=\"相关评论\" onclick=\"self.scrollBy(0, 300)\"></td>";
  str_buf = str_buf + "<td align=\"center\"><input type=\"button\" value=\"最新作品\" onclick=\"javascript:getLatest(5);\" /></td>";
   str_buf = str_buf + "<td align=\"right\"><input type=\"button\" value=\"作品自我管理\" onclick=\"javascript:location='../columnist_login.php'\" />";
   str_buf = str_buf + "<td></tr></table>";
   document.write(str_buf);
}


function getComments() {
    document.write("<table width=\"650\" border=\"1\">");
    document.write("<tr><td colspan=\"2\">");
    document.write("<table width=\"655\"><tr>");
    document.write("<td align=\"left\" width=\"15%\"><input type=\"button\" value=\"发表评论\" onClick=\"document:location='../commentpublish.html'\" /></td>");
    document.write("<td width=\"70%\" align=\"center\" bgColor=#ccffff  class=\"pageTitle\">相关评论</td>");
    document.write("<td width=\"15%\"></td>");
    document.write("</tr></table></td></tr>");
    document.write("<tr><td width=\"20%\" align=\"center\" class=\"poemTitle\">评论作者</td>");
    document.write("<td width=\"80%\" align=\"center\" class=\"poemTitle\">标题</td></tr>");
    for(k=0; k< comments.length; k++) {
       if (comments[k] == null || comments[k] == "" ) continue;
       var attrs = comments[k].split("|");
       document.write("<tr><td class=\"basefont\">" + attrs[0] + "</td><td class=\"basefont\">");
       document.write("<a href=\"" + attrs[3] +"\" target=\"_blank\">" +attrs[2]+"</a></td></tr>");            
    }
    document.write("</table>");
}

function sortArray(list, index, subtitle) {
   var listBuf = "<table border=\"1\" width=\"100%\"><tr>";
   var len = list.length;
   var cols = 3;
   var ctr = Math.ceil(len/cols);
   if (index != 0 ) ctr = ctr + 2;
   var entryLen = list[0].length;
   var criteria = new Array();
   var criteria_original = new Array();
   for (i=0; i<len; i++) {
      if ( index == 0 || index == -1) {
         criteria[i] = list[i][index];
      } else {
         criteria[i] = list[i][index] + ";" + list[i][0];
      }
   }      
   if (index != -1 ) criteria.sort();
   var pre, cur;
   for (j=0; j< len; j++) {
      if ( (j%ctr) == 0 ) {
         if (j==0 ) listBuf = listBuf + "<td valign=\"top\">";
         else listBuf = listBuf + "</td><td valign=\"top\">";
      }
      var del = criteria[j].indexOf(";");
      if (subtitle == "Y" ) {
         cur = criteria[j].substring(0, del); 
         if (cur != pre) {   
           listBuf = listBuf + "<div class=\"poemTitle\">" + cur.substring(cur.indexOf("|")+1) + "</div>";
           pre = cur;
         }
      } 
      if ( index == 0 ) {
         for (k=0; k < len; k++) {
             if (list[k][index] == criteria[j]) {
                listBuf = listBuf + "<li><a href=\"" + list[k][entryLen-2] + "\">" + list[k][entryLen-1] + "</a></li>"; 
                break;
             }
         }
      } else {
         for (k=0; k < len; k++) {             
             if (list[k][index] == criteria[j].substring(0, del) && list[k][0] == criteria[j].substring(1+del)) {
                listBuf = listBuf + "<li><a href=\"" + list[k][entryLen-2] + "\">" + list[k][entryLen-1] + "</a></li>"; 
                break;
             }
         }
      }
   }
   listBuf = listBuf + "</td></tr></table>";
   var dml = document.all;
   dml.item("valueContainer").innerHTML = listBuf;
}

/* parameters:
*  doc: document object;
*  list:  array of poems, ususaly from works.ks file;
*  colArray: array of layout, the colArray.length is total categories, 
*     and each colArray entry represents the columns in subtable;
*     if  colArray = [-1], display all items together
*  direct: the orientation of list in each column ('v' or 'h'). defaults as 'v';
*/

function writeWorks(doc, list, colArray, direct) { 
   if (doc == "") doc = document;
   if (direct == "") direct = 'v';   
   var cols = colArray.length;
   var work, workPropertie;
   var subBackColor = "#A4CDE5";
   if ( cols == 1 && colArray[0] == -1 ) {
      list = list.sort();
      doc.write("<td width=\"100%\" valign=\"top\" >");
      if ( direct == 'v' ) {
         for (j=0; j < list.length; j++) { 
            work = list[j];
            if (work == null || work == "" ) continue;
            workProperties = work.split("|");
            if (workProperties.length == 3 ) {
               // it is a title
               doc.write("<div style=\"background-color:"+subBackColor+";font-size:14px;font-weight:bold\">"+workProperties[2]+"</div><br>"); 
            } else {
               doc.write("<a target=\"_blank\" class=\"poemPreface\" href=\"" + workProperties[3] + "\">" + workProperties[2] + "</a><br>");
            }
         }
      } else {
         // horizontal orientation
         for (j=0; j < list.length; j++) { 
            work = list[j];
            if (work == null || work == "" ) continue;
            workProperties = work.split("|");
            if (workProperties.length == 3 ) {
               // it is a title
               if (j > 0 ) doc.write("<br>");
               doc.write("<div style=\"background-color:"+subBackColor+";font-size:14px;font-weight:bold\">"+workProperties[2]+"</div><br>"); 
            } else {
               doc.write("<a target=\"_blank\" class=\"poemPreface\" href=\"" + workProperties[3] + "\">" + workProperties[2] + "</a>&nbsp;|");
            }
         }         
      }
      doc.write("</td>");
      return;     
   }
   var work, index; 
   var columns = new Array(cols);  
   for (i=0; i< cols; i++) { 
      columns[i] = new Array(); 
   } 
   for (j=0; j< list.length; j++) {
      if (list[j] == null || list[j] == "" ) continue;
      var col = list[j].charAt(0);      
      columns[col][columns[col].length] = list[j];      
   }
   for (i=0; i< cols; i++) { 
      columns[i] = columns[i].sort();
      var len = columns[i].length; 
      doc.write("<td valign=\"top\" >");
      if ( direct == 'v' ) {
         var max = Math.ceil(len/colArray[i]);
         var colWid = Math.round(100/colArray[i]);
         doc.write("<table width=\"100%\"><tr>"); 
         for (j=0; j < columns[i].length; j++) { 
            work = columns[i][j];
            if (work == null || work == "" ) continue;
            var workProperties = work.split("|");
            if ( (j % max ) == 0 ) {            
               if (j > 0 )  doc.write("</td>");
               doc.write("<td width=\"" + colWid + "%\" valign=\"top\">");
            }
            if (workProperties.length == 3 ) {
               // it is a title
               doc.write("<div style=\"background-color:"+subBackColor+";font-size:14px;font-weight:bold\">"+workProperties[2]+"</div>"); 
            } else {
               doc.write("<a target=\"_blank\" class=\"poemPreface\" href=\"" + workProperties[3] + "\">" + workProperties[2] + "</a><br>");
            }
         }
         doc.write("</td></tr></table>");
      } else {
         // horizontal orientation
         for (j=0; j < columns[i].length; j++) { 
            work = columns[i][j];
            if (work == null || work == "" ) continue;
            var workProperties = work.split("|");
            if (workProperties.length == 3 ) {
               // it is a title
               if (j > 0 ) doc.write("<br>");
               doc.write("<span style=\"background-color:"+subBackColor+";font-size:14px;font-weight:bold\">"+workProperties[2]+"</span><br>"); 
            } else {
               doc.write("<a target=\"_blank\" class=\"poemPreface\" href=\"" + workProperties[3] + "\">" + workProperties[2] + "</a>");
               doc.write("&nbsp;<span style=\"font-size:8px;\">|</span>&nbsp;");
            }
         }         
      }
      doc.write("</td>");
   } 
} // writeWorks

var Win1;

function getLatest(num) {
    if (Win1 && !Win1.closed){
       Win1.close();
    } 
    n = 1;w=180;h=200;l=670;t=160;
    Win1 = window.open ("","", "scrollbars=yes,status=yes,resizable=yes,width="+w+",height="+h+",left="+l+",top="+t);
    Win1.document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/style.css\">");
    Win1.document.write("<center><b>最新输入作品</b></center><hr />");
    if (works.length <= num ) {
       writeWorks (Win1.document, works, [1], 'v');
       return;          
    }
    var work, index;
    var datedWorks = new Array();
    for (l=0; l < works.length; l++) {   
       if (works[l] == null || works[l] == "") continue;    
       var tmp = works[l].substring(works[l].indexOf("|")+1);
       if (tmp.indexOf("20") == 0 && tmp.indexOf("|") < tmp.lastIndexOf("|")) {
          datedWorks[datedWorks.length] = tmp; 
       }
    }   
    datedWorks = datedWorks.sort();
    var latest = new Array(num);
    if (datedWorks.length < num) num = datedWorks.length;
    for (i=0; i < num; i++) {
       latest[i] = "00|" + datedWorks[datedWorks.length-i-1];
    }
    writeWorks(Win1.document, latest, [1], 'v');
}
var admin = "admin";
var usr = ["chinesepoet_ca", "admin"];
var psw = ["canada", "admin"];
