// JavaScript Document
// For the password plugin. Contents must be into:
// "secret/<password>/<article>.txt"
// And tag is:
// {{password:<article>}}

var SUBPLUGIN_password_lasturl="";

function SUBPLUGIN_password_validate(article,pw) {
 SUBPLUGIN_password_lasturl="secret/"+pw+"/"+article+".txt"
 xmlhttp.open("HEAD", SUBPLUGIN_password_lasturl,true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   if (xmlhttp.status==200) {
         render(SUBPLUGIN_password_lasturl+",");
   }
    else if (xmlhttp.status==404) {
      alert("Wrong password. Sorry.")
    }
  }
 }
 xmlhttp.send(null);
}

function PLUGIN_password() {
  return "<p class=\"p1\"><span>Please, insert password: <input type=\"password\" id=\""+args+"\"> <input type=\"button\" value=\"Submit\" onClick=\"SUBPLUGIN_password_validate('"+args+"',document.getElementById('"+args+"').value)\"></span></p>";
}

function PLUGIN_image(args) {
  args=args.split(";");
  return "<p style=\"text-align:center\"><span><img src=\""+args[0]+"\"><br>"+args[1]+"</span></p>";
}

function PLUGIN_antipixel(args) {
  args=args.split(";");
	ret="<table onClick=\"window.open('"+args[2]+"');\" cellpadding=0 cellspacing=0 border=0 style=\"border: 1px solid black;cursor:pointer\" bgcolor=white><tr><td>";
	ret+="<table cellpadding=1 cellspacing=1 border=0><tr><td bgcolor=#ff6600 style=\"font:9px sans-serif;\"><font color=white>"+args[0]+"</font></td><td bgcolor=#999966 style=\"font:9px sans-serif;\"><font color=white>"+args[1]+"</font></td></tr></table>";
	ret+="</td></tr></table>";
	return ret;	
}

function PLUGIN_setarticle(args) {
  art=args;
  mydt=_globals["_articlemetadata"][art][0];
  _globals["date"]=mydt.substr(0,4)+"/"+mydt.substr(4,2)+"/"+mydt.substr(6,2);
  _globals["metas"]="";
  for (yy=1;yy<_globals["_articlemetadata"][art].length;yy++) {
    _globals["metas"]+="<a href=\"#\" onClick=\"render(_globals['_metaindex'][_globals['_articlemetadata']["+art+"]["+yy+"]])\">"+_globals["_articlemetadata"][art][yy]+"</a>, ";
  }
  _globals["metas"]=_globals["metas"].substr(0,_globals["metas"].length-2);
  return "";
}

function PLUGIN_taglist(args) {
  ret="";
  for (k=0;k<_globals["_metalist_cnt"];k++) {
    ret+="<p class=\"p1\"><span><a href=\"#\" onClick=\"render(_globals['_metaindex'][_globals['_metalist']["+k+"]])\">"+_globals['_metalist'][k]+"</a></span></p>"; 
  }
  return ret;
}

function PLUGIN_link(args) {
  args=args.split(";");
  if (args[1].substr(0,4)=="http") { return "<a href=\""+args[1]+"\">"+args[0]+"</a>"; } else
  if (args[1]=="homepage") {return "<a href=\"#\" onClick=\"render(_globals['_homepage'])\">"+args[0]+"</a>";} else
  return "<p class=\"p1\"><span><a href=\"#\" onClick=\"render('"+args[1]+",')\">"+args[0]+"</a></span></p>";
}
  
function PLUGIN_subtitle(args) {
  return "<h3><span>"+args+"</span></h3>";
}

function PLUGIN_title(args) {
  _globals["lasttitle"]=args;
  return "<h2><span>"+args+"</span></h2>";
}

function PLUGIN_snippet(args) {
  return applymacros(_globals["#"+args]);
}

function PLUGIN_variable(args) {
  return _globals[args];
}

function PLUGIN_calendar(args) {
    year=_globals["_calendaryear"];
    month=_globals["_calendarmonth"];
    rc="";
    var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
    var week = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
    var monthdays = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    var today = new Date(year,month-1,1);
    var month = today.getMonth();
    var day = today.getDay();
    var dayN = today.getDate();
    var days = monthdays[month];
    if (month == 1) {
      if (year%4 == 0) days = 29;
    }
    prevmonth=month;prevyear=year;
    nextmonth=month;nextyear=year;
    if (month==0) { prevmonth=12; prevyear=year-1;} else { prevmonth=month;}
    if (month==11) { nextmonth=1; nextyear=year+1;} else { nextmonth=month+2;}
    
    rc+="<div id=\"calendarmonth\"><span>";
    rc+="<font style=\"cursor:pointer\" onClick=\"_globals['_calendaryear']="+prevyear+";_globals['_calendarmonth']="+prevmonth+";render(_globals['_lastpage']);\">&laquo;</font>&nbsp;";
    rc+=months[month]+" "+year;
    rc+="&nbsp;<font style=\"cursor:pointer\" onClick=\"_globals['_calendaryear']="+nextyear+";_globals['_calendarmonth']="+nextmonth+";render(_globals['_lastpage']);\">&raquo;</font>";
    rc+="</span></div>";
    rc+="<table id=calendar>";
    rc+="<tr class=\"head\">";
    for (var i=0; i<7; i++) {
      rc+="<td>";
      rc+="<div align='center'>" + week[i] + "</div>";
      rc+="</td>";
    }
    rc+="</tr>";
    var jumped = 0;
    var inserted = 1;
    var start = day - dayN%7 + 1;
    if (start < 0) start += 7;
    var weeks = parseInt((start + days)/7);
    if ((start + days)%7 != 0) weeks++;
    for (var i=weeks; i>0; i--) {
    rc+="<tr>";
    for (var j=7; j>0; j--) {
      rc+="<td>";
      if (jumped<start || inserted>days) {
        rc+="<div align='center'></div>";
        jumped++;
      }
      else {
        caltag="2006"+pad((month+1)+"",2)+pad((inserted)+"",2);
//        if (inserted == dayN) rc+="<div class=today>" + inserted + "</div>"; else
        if (_globals["_calendarlist"][caltag]) rc+="<div class=marked onClick=\"render('"+_globals["_calendarlist"][caltag]+"')\">" + inserted + "</div>";
        else rc+="<div >" + inserted + "</div>";
        inserted++;
      }
      rc+="</td>";
        }
      rc+="</tr>";
    }
    rc+="</table>";
    return rc;
}
