//$Id: WOLjs.js,v 1.5 2009/02/24 07:06:56 karuppannan Exp $
function  WOLAddComp(menuItemName,refId,additionalParams,index)
{
    var menuItemObj = getMenuItemObj(menuItemName);
    var tblModel = getTableModel(refId);
    var colInd1  = tblModel.getColumnIndex("IPResources.IPADDRESS");
    var ipAddress = tblModel.getValueAt(index,colInd1);
   // document.wolModifyForm.ipAddress.value=ipAddress;
/*    var tblDomModel = TableModel.getInstance(refId);
    tblDomModel.appendDetails(index,document.getElementById("WOLapplySubnet_div"));
    document.getElementById("WOLapplySubnet_div").style.visibility="visible";
    computeForm(document.wolModifyForm);
*/
showURLInDialog('/network/WOLapplySubnet.jsp?ipAddress='+ipAddress,'position=absolute,modal=no,top=100,left=200,width=330px,scrollbars=no,title=Apply Subnet');

}
function refresh1(menuItemName,refId,additionalParams,index)
{
    //alert("Muthu");
}

function  taskstatus(menuItemName,refId,additionalParams,index)
{
         var taskID=document.getElementById("taskID").value;
         var taskName=document.getElementById("taskName").value;
         var creationAt=document.getElementById("creationAt").value;
         var createBy=document.getElementById("createBy").value;
         var lastscanTime=document.getElementById("lastscanTime").value;

        updateState("ShowTask","taskID",taskID,true);
        updateState("ShowTask","taskName",taskName,true);
        updateState("ShowTask","creationAt",creationAt,true);
        updateState("ShowTask","createBy",createBy,true);
        updateState("ShowTask","lastscanTime",lastscanTime,true);


         //url="ShowTask.cc?taskID="+taskID;
         renderMethod("ShowTask",menuItemName);
}
function  nowstatus(stateName)
{
        url="WakeUpNow";
        var param=stateName;
	updateState(url,"nowresultstatus",param,true);
      	refreshSubView(url);

      
/*Its used to another way
        url="WakeUpNow.cc";
	url+="?nowresultstatus="+stateName;
        AjaxAPI.sendRequest({METHOD:"GET",URL:url,ONSUCCESSFUNC:"updateViewInResp",STATUSFUNC:"AjaxAPI.showRespMsg",TARGET:"_self"})
*/
}
function renderMethod(url,param)
{
	updateState(url,"resultstatus",param,true);
      	refreshSubView(url);
 
	
	/*url+="?resultstatus="+param+"&taskID="+taskID;
	AjaxAPI.sendRequest({METHOD:"GET",URL:url,ONSUCCESSFUNC:"updateViewInResp",STATUSFUNC:"AjaxAPI.showRespMsg",TARGET:"_self"})*/
}

function  showtask(menuItemName,refId,additionalParams,index)
{
    var tblModel = getTableModel(refId);
    var colInd1  = tblModel.getColumnIndex("GroupTaskName.TASK_ID");
    var taskID = tblModel.getValueAt(index,colInd1);
    /*var colInd2  = tblModel.getColumnIndex("GroupTaskName.TASK_NAME");
    var colInd3  = tblModel.getColumnIndex("GroupTaskName.CREATIONTIME");
    var colInd4  = tblModel.getColumnIndex("GroupTaskName.OWNER");
    var colInd5  = tblModel.getColumnIndex("GroupTaskName.LAST_SCAN_TIME");
    
    var taskName=tblModel.getValueAt(index,colInd2);
    var creationAt=tblModel.getValueAt(index,colInd3);
    var createBy=tblModel.getValueAt(index,colInd4);
    var lastscanTime=tblModel.getValueAt(index,colInd5);*/
    renderView("ShowTask.cc?taskID="+taskID);//+"&taskName="+taskName+"&creationAt="+creationAt+"&createBy="+createBy+"&lastscanTime="+lastscanTime);
    //renderMethod("ShowTask.cc",menuItemName);
}
function renderView(viewName)
{
    //first two Line Use to export
    document.getElementById("exportcc").value=viewName;
    window.SPM_VIEW=viewName;

    var localVar = "tt";
    renderViewCurrentView(viewName , localVar)
}

function renderViewCurrentView(viewName , localVar)
{
    //alert(viewName);
    var myAnonFunction = function(response,reqOptions)
    {
       document.getElementById(localVar).innerHTML = response.getOnlyHtml();
    };
    AjaxAPI.sendRequest({URL:viewName,ONSUCCESSFUNC:myAnonFunction});

}


function  menuadd1Action(menuItemName,refId,additionalParams,index)
{
  var tblModel = getTableModel(refId);
  var selectRow=tblModel.getSelectedRowIndices(refId);
  if(selectRow.length<=0)
  {
    if(menuItemName=="wolschudledelete")
    {
        alert("Select computer(s) to delete");
    }
    else
    {
        alert("Select computer(s) to move");
    }
    return false;
  }
  var colInd1  = tblModel.getColumnIndex("SubNetwork.NETWORKADDRESS");
  for(i=0;i<selectRow.length;i++)
  {
        var colInd1  = tblModel.getColumnIndex("SubNetwork.NETWORKADDRESS");
        var netaddress = tblModel.getValueAt(selectRow[i],colInd1);
        if(netaddress==null)
        {
            alert(" You cannot select computers without Subnet Address. Click \"Apply Subnet\" link and specify a subnet address.  ");
            return false;
        }
  }
  var menuItemObj = getMenuItemObj(menuItemName);
  var actUrl = menuItemObj.getActionURL(refId,additionalParams,index);
  if(menuItemName=="add" || menuItemName=="wolschudledelete")
  {
    var taskID = document.getElementById("taskID").value;
    //alert(taskID);
    actUrl += "&taskID=" + taskID;
  }
  menuItemObj.invokeActionURL(actUrl,refId);
}

var timeToreload,timeToTaskreload;

function  schedulerefreshEvent(menuItemName,refId,additionalParams,index)
{
    var tblModel = getTableModel(refId);
    var colInd1  = tblModel.getColumnIndex("GroupTaskName.TASK_ID");
    var taskID = tblModel.getValueAt(index,colInd1);
    var url='/wakeonlan.do?actionFrom=getrefreshValue&taskID='+taskID+'&uid='+new Date().getTime();
    getProcessState(url,menuItemName,refId,additionalParams,index,taskID);

}

function nowrefreshEvent(menuItemName,refId,additionalParams,index)
{
   var taskID="";
   var url='/wakeonlan.do?actionFrom=getrefreshValue&taskID='+taskID+'&uid='+new Date().getTime();
   getProcessState(url,menuItemName,refId,additionalParams,index,taskID);


   //menuItemObj.invokeMenuAction(refId,additionalParams,index);
//   refreshTimer(menuItemName);
}
function refreshTimer(menuItemName)
{
   if(trim(menuItemName)=="runTask" || trim(menuItemName)=="TaskDetailrun")
   {
        window.clearInterval(timeToTaskreload);
        timeToTaskreload=window.setInterval("refresfTaskView()",5000);
   }
   else if(trim(menuItemName) == "WakeupNow" || trim(menuItemName) == "WakeupAll")
   {
        window.clearInterval(timeToreload);
        timeToreload=window.setInterval("refresfNowView()",5000);
   }
   

}

function refresfNowView()
{
    refreshSubView('WakeUpNow');
    window.clearInterval(timeToreload);
}

function refresfTaskView()
{  
    refreshSubView('WOLView');
    refreshSubView('ShowTask');
    window.clearInterval(timeToTaskreload);
}


function modifyTask(menuItemName,refId,additionalParams,index)
{
  var menuItemObj = getMenuItemObj(menuItemName);
  var actUrl = menuItemObj.getActionURL(refId,additionalParams,index);
  var taskID = document.getElementById("taskID").value;
  actUrl += "taskID=" + taskID;
  menuItemObj.invokeActionURL(actUrl,refId);
}

function wakeupnowDetailsrun(menuItemName,refId,additionalParams,index)
{
    var taskID = document.getElementById("taskID").value;
    var url='/wakeonlan.do?actionFrom=getrefreshValue&taskID='+taskID+'&uid='+new Date().getTime();
    getProcessState(url,menuItemName,refId,additionalParams,index,taskID);
}


function actionPreformed(menuItemName,refId,additionalParams,index,taskID)
{
  var menuItemObj = getMenuItemObj(menuItemName);
  var actUrl = menuItemObj.getActionURL(refId,additionalParams,index);

  actUrl +="&taskID="+taskID;
  menuItemObj.invokeActionURL(actUrl,refId);
  refreshTimer(menuItemName);
  //refreshSubView('ShowTask');
}


function getProcessState(url,menuItemName,refId,additionalParams,index,taskID)
{
var req = null;
if(window.XMLHttpRequest)
{
 req = new XMLHttpRequest();
}else if (window.ActiveXObject)
{
       isIE=true;
       req  = new ActiveXObject("Microsoft.XMLHTTP");
        
        
}
req.onreadystatechange = function()
{
    if(req.readyState == 4)
    {
        if(req.status == 200)
        {
	    var text=req.responseText;	
            if(trim(text)=="In Progress")
            {
                alert("Task already Running");
                return false;
            }
            else
            {
                if (trim(menuItemName)=="runTask" || trim(menuItemName) == "WakeupNow" || trim(menuItemName) == "WakeupAll")
                {
                    var menuItemObj = getMenuItemObj(menuItemName);
                    menuItemObj.invokeMenuAction(refId,additionalParams,index);
                    refreshTimer(menuItemName);
                }
                else
                {
                        var confirmtext=confirm("Do you rellay want to run this Task ?");
                        if (confirmtext==true)
                        {
                            actionPreformed(menuItemName,refId,additionalParams,index,taskID);
                        }
                        else
                        {
                            return false;
                        }
                }
            }

        
	}
        else
        {
            alert("Error");
        }
   }
};
req.open("POST",url, true);
req.send(null);
}








/*
function  menunowadd1Action(menuItemName,refId,additionalParams,index)
{
  var menuItemObj = getMenuItemObj(menuItemName);
  var tblModel = getTableModel(refId);
  var colInd1  = tblModel.getColumnIndex("SubNetwork.NETWORKADDRESS");
  var selectRow=tblModel.getSelectedRowIndices(refId);
  for(i=0;i<selectRow.length;i++)
  {
        var colInd1  = tblModel.getColumnIndex("SubNetwork.NETWORKADDRESS");
        var netaddress = tblModel.getValueAt(selectRow[i],colInd1);
        if(netaddress==null)
        {
            alert("Select computers have no subnetaddress pls use apply subnet ");
            return false;
        }
  }
  var actUrl = menuItemObj.getActionURL(refId,additionalParams,index);
  menuItemObj.invokeActionURL(actUrl,refId);
}*/


