function redCMS_Todo_GetImg(Priority) {
  switch(Priority) {
    case 1:  ImgName = "todo_1.gif"; break;
    case 5:  ImgName = "todo_5.gif"; break;
    default: ImgName = "todo_3.gif"; break;
  }
  return "/Projects/Default/Modules/redCMS_todo/Images/default/" + ImgName;
}

function redCMS_Todo_New(UIN, XslID, XmlID, Nav) {
  var cLeftTemp = parseInt((document.body.clientWidth/2));
  var cTopTemp  = parseInt((document.body.clientHeight/2));
  var cLeftMin  = cLeftTemp;
  var cLeftMax  = cLeftTemp + 200;
  var cLeftNew  = cLeftMin;
  var cTopMin   = cTopTemp;
  var cTopMax   = cTopTemp + 60;
  var cTopNew   = cTopMin;
  var cLeftFlag = 0;
  var cTodoColection = document.getElementsByTagName("IMG");
  //alert(cTodoColection.length);
  for(var i = 0; i < cTodoColection.length; i++){
    if(cTodoColection(i).name == "redCMS_Todo"){
      cTopTmp  = cTodoColection(i).style.top;
      cTopTmp = parseInt(cTopTmp.substring(0,cTopTmp.length-2));
      cLeftTmp = cTodoColection(i).style.left;
      cLeftTmp = parseInt(cLeftTmp.substring(0,cLeftTmp.length-2));
      
      if((cTopTmp >= cTopMin)&&(cTopTmp <= cTopMax)&&(cLeftTmp >= cLeftMin)&&(cLeftTmp <= cLeftMax)){
        cLeftFlag = 1;
        if(cLeftTmp > cLeftNew){
          cLeftNew = cLeftTmp;
        }
      }
    }
  }
  if(cLeftFlag == 1) {
    cLeftNew = cLeftNew + 20;
  }

  //window.open("/Projects/Default/Modules/redCMS_todo/ASPX/12345x_redCMS_todo.aspx?UIN=" + UIN + "&TodoID=0&XslID=" + XslID + "&XmlID=" + XmlID + "&Nav=0&PosTop=200&PosLeft=100");
  window.showModalDialog("/Projects/Default/Modules/redCMS_todo/ASPX/12345x_redCMS_todo_popup.aspx?UIN=" + UIN + "&TodoID=0&XslID=" + XslID + "&XmlID=" + XmlID + "&Nav=" + Nav + "&PosTop=" + cTopNew + "&PosLeft=" + cLeftNew, window, "dialogWidth:500px; dialogHeight:575px resizable:1; help:0; status:0; scroll:0");
}

function redCMS_Todo_Render(UIN, TodoID, PosTop, PosLeft, Subject, Priority) {
  ImgObjTmp                = document.createElement("IMG");  
  ImgObjTmp.alt            = Subject;
  ImgObjTmp.id             = "redCMS_todo_" + TodoID;
  ImgObjTmp.TodoID         = TodoID;
  ImgObjTmp.uin            = UIN;
  ImgObjTmp.name           = "redCMS_Todo";
  ImgObjTmp.ondblclick     = redCMS_Todo_Load;
  ImgObjTmp.ondrag         = cReturnFalse;
  ImgObjTmp.oncontextmenu  = cReturnFalse;
  ImgObjTmp.onmousedown    = redCMS_Todo_DragOn;
  ImgObjTmp.onmouseup      = redCMS_Todo_DragOff;
  ImgObjTmp.style.cursor   = "hand";
  ImgObjTmp.style.left     = PosLeft + "px";
  ImgObjTmp.style.position = "absolute";
  ImgObjTmp.style.top      = PosTop + "px";
  //ImgObjTmp.style.border   = "1px solid red";
  ImgObjTmp.src            = redCMS_Todo_GetImg(Priority);
  ImgObjTmp.title          = Subject;
  ImgObjTmp.style.zIndex   = 999999999999999999;

  document.body.onmousemove = redCMS_Todo_Drag;
  document.body.insertAdjacentElement("beforeEnd", ImgObjTmp);
  ImgObjTmp.visibility = true;
}

function redCMS_Todo_ReRender(TodoID, Subject, Priority) {
  ObjTmp       = document.getElementById("redCMS_todo_" + TodoID);
  //alert(ObjTmp);
  if(ObjTmp != null) {
    ObjTmp.alt   = Subject;
    ObjTmp.title = Subject;
    ObjTmp.src   = redCMS_Todo_GetImg(Priority)
  }
}

function redCMS_Todo_Load() {
  cPosLeft       = event.screenX - event.offsetX;
  cPosTop        = event.screenY - event.offsetY;
  //window.open("/Projects/Default/Modules/redCMS_todo/ASPX/12345x_redCMS_todo_popup.aspx?UIN=" + event.srcElement.uin + "&TodoID=" + event.srcElement.TodoID);
  window.showModalDialog("/Projects/Default/Modules/redCMS_todo/ASPX/12345x_redCMS_todo_popup.aspx?UIN=" + event.srcElement.uin + "&TodoID=" + event.srcElement.TodoID, window, "dialogWidth:500px; dialogHeight:575px resizable:1; help:0; status:0; scroll:0; dialogLeft:" + cPosLeft + "; dialogTop:" + cPosTop + "; ");
  return;
}

function redCMS_Todo_Delete(TodoID) {
  ObjTmp = document.getElementById("redCMS_todo_" + TodoID);
  if(ObjTmp != null)
    ObjTmp.removeNode();
}

function redCMS_Todo_SavePos() {
  SrcObj        = event.srcElement;
  TodoID        = SrcObj.TodoID;
  
  PosLeft       = SrcObj.style.left;
  PosTop        = SrcObj.style.top;
  
  if(PosLeft.indexOf("px")) {
    PosLeft = parseInt(PosLeft.substring(0,PosLeft.length-2));
  }
      
  if(PosTop.indexOf("px")) {
    PosTop = parseInt(PosTop.substring(0,PosTop.length-2));
  }
  
  XmlObjTmp     = document.createElement("XML");
  XmlObjTmp.id  = TodoID + "XML";
  XmlObjTmp.src = "/Projects/Default/Modules/redCMS_todo/ASPX/12345x_redCMS_todo.aspx?SavePos=1&TodoID=" + TodoID + "&PosLeft=" + PosLeft + "&PosTop=" + PosTop;
  document.body.insertAdjacentElement("beforeEnd", XmlObjTmp);
}

var cMemoObjTmp;
var cMemoSaveFlag = 0;

function redCMS_Todo_Drag(){
  if((!cMemoObjTmp)||(cMemoObjTmp.name != "redCMS_Todo")) {
    return;
  }
  cMemoSaveFlag = 1;
  
  cLeftTemp = event.clientX + document.body.scrollLeft - 10;
  if (cLeftTemp < 0 ){
    cLeftTemp = 0;
  }
  if (cLeftTemp >= document.body.offsetWidth - 40){
    cLeftTemp = document.body.offsetWidth - 40;
  }
  
  cTopTemp = event.clientY + document.body.scrollTop - 10;
  if (cTopTemp < 20 ){
    cTopTemp = 20;
  }
  
  cMemoObjTmp.style.top  =  cTopTemp;
  cMemoObjTmp.style.left =  cLeftTemp;
  
  cMemoObjTmp.focus();
  return;
}

function redCMS_Todo_DragOn(){
//  alert(1);
  if(event.button == 1) {
    cMemoObjTmp = event.srcElement;
  }
}

function redCMS_Todo_DragOff(){
  if(event.button == 1) {
    cMemoObjTmp = null;
    if(cMemoSaveFlag == 1) {
      redCMS_Todo_SavePos();
    }
    cMemoSaveFlag = 0;
  }
}

function cReturnFalse() {
  return false;
}