
var TDnum = 3;
var pageName = "index.shtml";


function itemData(state, title, desc, imgArray){
  this.state = state;
  this.title = title;
  this.desc = desc;
  this.imgArray = imgArray;
};

function itemImg(link, isrc,width,height){
 this.link = link;
 this.isrc = isrc;
 this.width = width;
 this.height = height;
 if(arguments[4]){ this.size = arguments[4] };
}


function getAnchorFromURL(uri_string){

 uri_string = uri_string + " "; /* NN Bug */

 matchArray = uri_string.match(/#([^ ])+/gi); 

 if(matchArray){
       matchArray[0] = unescape(matchArray[0].replace(/#/gi,""));
       return(matchArray[0]);
 } else {
  return false;
 };

};

function getVarFromURL(uri_string){

  var returnArray= new Array();

  function parseArray(matchString){
    regexp=/([\S]+)=([\S]+)/i;
    regexp.exec(matchString);
     this.variable=RegExp.$1;
     this.value=RegExp.$2;
  };

 matchArray = uri_string.match(/[^\?|&]+=[^&]+/gi);

 if(matchArray){
     for(var icount=0; icount<matchArray.length; icount++){
       returnArray[icount]=new parseArray(matchArray[icount]);
     };
 } else returnArray = false; 
                                
 return returnArray;

};


function getCurrentPage(){

  var cur_page = 0;
  var dHref = document.location.href;
  haveAnchor = false;

  a = getAnchorFromURL(dHref);

  if(a){
   for(var i=0; i < DataArray.length; i++){
     if(a == DataArray[i].title){
      cur_page = Math.floor( i / itemPerPage ); 
      haveAnchor = true;
      i = DataArray.length;
     }
   };
  };

  if(!haveAnchor){

      a = getVarFromURL(dHref);

      if(a){

         for(var i=0; i<a.length; i++){
           if(a[i].variable == "page"){ cur_page = parseInt(a[i].value); } ;
         }

      };
  };

  return cur_page;

};

function drawProjects(){
  var startitem = getCurrentPage();

  startitem *= itemPerPage;

  if(startitem < 0 || startitem >= DataArray.length){ startitem = 0; };

  enditem = (DataArray.length - startitem < itemPerPage)? DataArray.length : startitem + itemPerPage ;

  document.writeln('<table border="0" cellpadding="4" cellspacing="0" width="100%"><tr><td><img src="/img/sp.gif" width="1" height="1" alt=""></td></tr>');
         
  for(var i=startitem; i<enditem; i++){

    var DAstate = DataArray[i].state;

    state = (DAstate.indexOf("ready") != -1)? "pkr" : "pkp";

    var validCode = "";

    if( DAstate.indexOf("HTML") != -1){
       if(DAstate.indexOf("4.0") != -1){
        validation = ( DAstate.indexOf("4.01") != -1 )? "4.01" : "4.0"; 
         switch(validation){
           case "4.01": validCode = '<div align="right"><a href="http://validator.w3.org/"><img border="0" src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" height="31" width="88" vspace="6"></a></div>'; break;
           case "4.0": validCode = '<div align="right"><a href="http://validator.w3.org/"><img border="0" src="http://www.w3.org/Icons/valid-html40" alt="Valid HTML 4.0!" height="31" width="88" vspace="6"></a></div>'; break;
         }
       }
    }

    title = DataArray[i].title;
    desc = DataArray[i].desc;

     document.writeln('<tr><td bgcolor="#125fae"><span class="wh4"><b class="yel"><img src="/img/' + state + '.gif" width="13" height="11" hspace="6" alt=""><a name="' + escape(title) + '"></a>&nbsp;'+title+'</b></span></td></tr>')

     document.writeln('<tr><td><table border="0" cellpadding="2" cellspacing="6" width="100%">');

    if(DataArray[i].imgArray.length == 1){

      var DA = DataArray[i].imgArray[0];

      link = DA.link;
      isrc = DA.isrc;
      width = DA.width;
      height = DA.height;
      size = (DA.size)? DA.size : "&nbsp;"

	 hrefb = (link != "")? '<a href="' + link + '" target="_blank">' : '';
	 hrefe = (link != "")? '</a>' : '';

      document.writeln('<tr valign="top">');
        document.write('<td>' + hrefb)
        document.write('<img src="'+ imgUrl + isrc +'" width="'+width+'" height="'+height+'" border="1" vspace="4" alt="' + title + '"><br>');
        document.writeln(hrefe + '<span class="nt"><span class="skll">' + size + '</span></span></td>');
        document.writeln('<td><span class="nt">' + desc + '</span>' + validCode + '</td>');
      document.writeln('</tr>');
    }

    else{

      var DA = DataArray[i].imgArray;
      var IALength = DA.length
      var maxLength = Math.ceil(IALength / TDnum) * TDnum;

      document.write('<tr align="center" valign="top">');

      for(j=0;j<maxLength;j++){
       if(j<IALength){
          link = DA[j].link;
          isrc = DA[j].isrc;
          width = DA[j].width;
          height = DA[j].height;
          size = (DA[j].size)? DA[j].size : "&nbsp;"
       }
       else{
          link = isrc = width = height = size = "&nbsp;"
       };

        if(j!=0 && j%TDnum==0){document.writeln('</tr><tr align="center" valign="top">');}

          if(isrc!="&nbsp;"){
            document.write('<td><a href="' + link + '" target="_blank">')
            document.write('<img src="'+ imgUrl + isrc +'" width="'+width+'" height="'+height+'" border="1" vspace="4" alt="' + title + '"><br>');
            document.writeln('</a><span class="nt"><span class="skll">' + size + '</span></span></td>');
          
          }else{
            document.write('<td>&nbsp;</td>')
          };

      }

      document.writeln('</tr>')
      document.writeln('<tr><td colspan="' + TDnum + '"><span class="nt">' + desc + '</span></td></tr>');
    }

    document.writeln('</table></td></tr>');

  };

  document.writeln('<tr><td><img src="/img/sp.gif" width="1" height="1" alt=""></td></tr></table>');

 return;
};

function drawPager(){
  var curPage = getCurrentPage();
  if(curPage * itemPerPage >= DataArray.length){ curPage = 0;};

  var maxPageCount = Math.ceil(DataArray.length/itemPerPage);

  if(curPage!=0){
    document.write('<a href="' + pageName + '?page='+(curPage-1)+'">&#171;&nbsp;Previous<\/a>&nbsp;');
  }

  if(curPage!=0 && (curPage+1) * itemPerPage < DataArray.length){
    document.write('|');
  }

  if((curPage+1) * itemPerPage < DataArray.length){
    document.write('&nbsp;<a href="' + pageName + '?page='+(curPage+1)+'">Next&nbsp;&#187;<\/a>');
  }

    document.write('<br><br>');

  for(i=0; i < maxPageCount; i++){
   if(i==curPage){
      document.write(" <b>[ "+(i+1)+" ]</b> ");
   }else{
      document.write(' <a href="' + pageName + '?page='+i+'">[ '+(i+1)+' ]<\/a> ');
   };

   if((i+1) < maxPageCount){ document.write(" | ")};
  };


 return;
};

