var WindowHandler_URL="WindowHandler.ashx";
var DesktopHandler_URL="DesktopHandler.ashx";
var LoginHandler_URL="LoginHandler.ashx";
var AlertHandler_URL="AlertHandler.ashx";
var HoverWindowHandler_URL="HoverWindowHandler.ashx";
var ExportHandler_URL="ExportHandler.ashx";

var _maxZindex=110;
MaxZindex=function()
{
    _maxZindex++;
    return _maxZindex
}
//----------------------------------------------------------
function _ShowPopupWin(winType,params,parent)
{
    _ShowWindow(winType,params,parent);
}
function _ShowModeWin(winType,params,parent)
{
    _ShowWindow(winType,params,parent)
}
function _ShowWindow(winType,params,parent)
{
    
    if(params){var reg=new RegExp("^.+(<<<CHECKNOTPASS>>>).+$");if(reg.test(params))return;}
    if((params!="")&&(params!=null))
    {
        params="&params="+uriEncode(params);
    }
    else
        params="";
       
    if(!parent)parent="";
    var body="action=create&owner="+uimanager.CurrentDesktop.Attribute.ID+"&parent="+parent+"&window="+winType+params;
    //alert(body);
    context.request(WindowHandler_URL,body,uimanager.CurrentDesktop);
}
function _CloseWindow(id)
{
    WindowList.item(id).close();
}
function _RefreshWindow(id,owner)
{
    if(!owner)
        owner=uimanager.CurrentDesktop.Attribute.ID;
    context.request(WindowHandler_URL,"action=reload&owner="+owner+"&id="+id,WindowList.item(id));
}


function _ReloadWin(winType,params)
{
    if(params){var reg=new RegExp("^.+(<<<CHECKNOTPASS>>>).+$");if(reg.test(params))return;}
    if((params!="")&&(params!=null))
    {
        params="&"+params;
    }
    else
        params="";
    var body="action=reload&window="+winType+params;
    context.request(WindowHandler_URL,body,uimanager.CurrentDesktop);
}
function _AsycPostback(winId,command,argument)
{
    if(argument){var reg=new RegExp("^.+(<<<CHECKNOTPASS>>>).+$");if(reg.test(argument))return;}
    if(WindowList.contains(winId))
    {
        WindowList.item(winId).postback(command,argument);
    }
    else
    {
        alert("Cann't find Window : "+winId);
    }
}


function _ExportFile(winId,command,argument)
{
    if(argument){var reg=new RegExp("^.+(<<<CHECKNOTPASS>>>).+$");if(reg.test(argument))return;}
    if(WindowList.contains(winId))
    {
        WindowList.item(winId).exportfile(command,argument);
    }
    else
    {
        //alert("Cann't find Window : "+winId);
        var body="action=export&id="+winId+"&command="+command;
        context.request(ExportHandler_URL,body,this);
    }
}



function _ExportFilePost(winId,command,argument)
{
   if(argument){var reg=new RegExp("^.+(<<<CHECKNOTPASS>>>).+$");if(reg.test(argument))return;}
    if(WindowList.contains(winId))
    {
        WindowList.item(winId).downloadfile(command,argument);
    }
    else
    {
        //alert("Cann't find Window : "+winId);
        var body="action=export&id="+winId+"&command="+command;
        //context.request(ExportHandler_URL,body,this);
      // alert(ExportHandler_URL+"?"+body); 
       main_ifm.location=ExportHandler_URL+"?"+body; 
    }
}

function _Login(username,password,winid,savePWD)
{
//   //******* add  ¡ý  2/2/2007 *** ShuanghongY *********


//    // write cookie to client computer
    if(savePWD.toLowerCase() == "true")
    {
        var aoe =new Date();
	    aoe.setTime(aoe.getTime()+60*60*1000*24*365);
	    document.cookie="OpenBOX_LoginName=" + username + ";expires=" + aoe.toGMTString();
	    document.cookie="OpenBOX_LoginPWD=" + password + ";expires=" + aoe.toGMTString();
	}
	else
	{
	    var aoe =new Date();
	    aoe.setTime(aoe.getTime()+60*60*1000*24*365);
	    var dt=new Date(); 
	    document.cookie="OpenBOX_LoginName=" + username + ";expires=" + aoe.toGMTString();
	    document.cookie="OpenBOX_LoginPWD=" + password + ";expires=" + dt.toGMTString();
	}
//    //******* add  ¡ü  2/2/2007 *** ShuanghongY 
    
    var body="action=login&username="+username+"&password="+password+"&winid="+winid+"&savepassword="+savePWD.toLowerCase();
    context.request(LoginHandler_URL,body);
    return true;
}
function _ShowHoverWindow(element,url)
{
    if(url){var reg=new RegExp("^.+(<<<CHECKNOTPASS>>>).+$");if(reg.test(url))return;}
    hoverwindow.create(element,url);

}
//----------------------------------------------------------------
function lock()
{
    toolbtn.lock();
    tablist.lock();
    taskbar.lock();
}
function unlock()
{
    toolbtn.unlock();
    tablist.unlock();
    taskbar.unlock();
}
//---------------------------------------------------------------
function selectedRow(rowID,winID)
{
    $(winID+"_"+rowID).className="selectedRow";
    var lastRowID=$(winID+"_selectedRow").value;
    if(lastRowID!="" && lastRowID!=rowID)
    {
        $(winID+"_"+lastRowID).className="resultRow";
    }
    $(winID+"_selectedRow").value=rowID;
}
function selectRow(rowID,winID,unselectStyle,selectStyle)
{
    $(winID+"_"+rowID).className=selectStyle;
    var lastRowID=$(winID+"_selectedRow").value;
    if(lastRowID!="" && lastRowID!=rowID)
    {
        $(winID+"_"+lastRowID).className=unselectStyle;
    }
    $(winID+"_selectedRow").value=rowID;
}

function addFileID(fileID,BOID,RowID,winID)
{  
     $(winID+"_FileID").value=fileID;
     $(winID+"_BOID").value=BOID;
     $(winID+"_RowID").value=RowID;
   
}

function _SerializeControl(id,paramName)
{
    return uriEncode("<param id=\""+paramName+"\">"+FormList.item(id).Attribute.saveXML()+"</param>");
}



function  uniValue(obj)
{
	 	var s=""
		var date=new Date();
		s+=padLeft(date.getYear().toString(),4);
		s+=padLeft((date.getMonth()+1).toString(),2);
		s+=padLeft(date.getDate().toString(),2);
		
		s+=padLeft(date.getHours().toString(),2);
		s+=padLeft(date.getMinutes().toString(),2);
		s+=padLeft(date.getSeconds().toString(),2);
		s+=padLeft(date.getMilliseconds().toString(),3);
		obj.value=s;
	 
}

function padLeft(s,n)
{
	 while(s.length<n)
	{
		s="0"+s;
	}
	return s;
}

function buddyButtonPopulate(objs,val)
{		
    for(k=0;k<objs.length;k++)
    {
        var obj=objs[k];
	    if((obj.nodeName.toLowerCase()=="input" && obj.type=="text") || obj.nodeName.toLowerCase()=="textarea")
	    {
		    obj.value=val;
	    }
	    else if(obj.nodeName.toLowerCase()=="select")
	    {			
		    var opts=obj.options;		
		    for(i=0;i<opts.length;i++)
		    {			
			    if(opts[i].value==val)
			    {
				    opts[i].selected="selected";					
				    continue;
			    }
		    }
		    var opt=document.createElement("OPTION");   
		    opt.innerHTML=val;
		    opt.value=val;
		    opt.selected="selected";
		    obj.appendChild(opt);
	    }
	    else if(obj.nodeName.toLowerCase()=="input" && (obj.type.toLowerCase()=="radio" || obj.type.toLowerCase()=="checkbox"))
	    {
		    var opts=document.getElementsByName(obj.name);
		    for(i=0;i<opts.length;i++)
		    {			
			    opts[i].checked="";
			    if(opts[i].value==val)
			    {
				    opts[i].checked="checked";
				    continue;
			    }
		    }
	    }	
	 }		
}

//******* add  ¡ý  2/2/2007 *** ShuanghongY *********
 function GetCookie(sName) 
    { 
        // cookies are separated by semicolons 
        var aCookie = document.cookie.split("; "); 
        for (var i=0; i < aCookie.length; i++) 
        { 
        // a name/value pair (a crumb) is separated by an equal sign 
        var aCrumb = aCookie[i].split("="); 
        if (sName == aCrumb[0]) { 
            return unescape(aCrumb[1]);} 
        } 
         
        // a cookie with the requested name does not exist 
        return null; 
    }
//******* add  ¡ü  2/2/2007 *** ShuanghongY *********   

  function   CopySelect(sel,copyValue)   
      {   
          var selObj=$(sel);

          for(var i=selObj.options.length-1;   i>0;   i--)   
              if(selObj.options[i].selected)                 
                 //document.getElementById(copyValue).value=sel.options[i].innerText ;
                 $(copyValue).value=selObj.options[i].innerText;
      }  
  function printRecord(objname,ownId)
  {
        if($(ownId+"_selectedRow")!=null&&$(ownId+"_selectedRow").value!="")
        {
        var recordID=$(ownId+"_selectedRow").value;
        window.open("Report.aspx?recordID="+recordID+"&objName="+objname);
        }
        else
        {
         alert("please select one record");
        }
  }