////官式默认公共函数  以下变量为JS公共变量
var TANGER_OCX_bDocOpen = false;
var TANGER_OCX_filename; //文件名称
var filetype; //文件类型
var officetype //编辑文档类型
var TANGER_OCX_actionURL; //For auto generate form fiields
var TANGER_OCX_OBJ; //控件对象
var TANGER_OCX_key=""; //设置加载印章的key
var IsFileOpened;  //控件是否打开文档
var svisble=true; //印章显示状态
var ID=""; //初始化URL值
var newwin,newdoc;

//创建新的文档
function CreatNew(FilesType)
{
    //根据传递文档类型参数新建文档
    switch(FilesType)
    {
     case "1":
     openoffice(FilesType)
     break
     case "2":
     openoffice(FilesType)
     break
     case "3":
     openoffice(FilesType)
     break
     case "4":
     openoffice(FilesType)
     break
     case "5":
     openoffice(FilesType)
     break
     default:
     openoffice("1")
     break;
    }
}

function AddOffice(FilesType)
{
    TANGER_OCX_OBJ = document.all.item("TANGER_OCX");//;初始化控件对象
	switch(FilesType)
	{
		//新建文档类型
		case "1":
		TANGER_OCX_OBJ.CreateNew("word.document");//word文档
		break
		case "2":
		TANGER_OCX_OBJ.CreateNew("excel.sheet");//excel表格
		break
		case "3":
		TANGER_OCX_OBJ.CreateNew("PowerPoint.Show");//ppt文档
		break
		case "4":
		TANGER_OCX_OBJ.CreateNew("WPS.Document");//金山文档
		break
		case "5":
		TANGER_OCX_OBJ.CreateNew("ET.WorkBook");//金山表格
		break
		default:
		alert("新建文档出错!")
		break
	}
}

function openoffice(FilesType)
{
    window.open("QC.AddWorkFlowFiles.asp?FilesType="+FilesType,"Add","top=0,left=0,resizable=yes");
}
//当前表单不可编辑,当整个表单只读时调用
function FormDisabled(bool)
{
    var formid=document.forms.item(0)
    var elelength=formid.length;
    for (var i=0; i<elelength; i++)
    {formid.elements[i].disabled = bool;}
    //下面是控件标题栏,状态栏,工具栏,菜单栏不显示
    TANGER_OCX_OBJ.TitleBar=!bool;
    TANGER_OCX_OBJ.Statusbar=!bool;
    TANGER_OCX_OBJ.ToolBars=!bool;
    TANGER_OCX_OBJ.Menubar=!bool;
    document.getElementById("editmain_left").style.display = "none";
    document.getElementById("editmain_right").style.width = "95%";
}

function intializePage(fileUrl)
{
	TANGER_OCX_OBJ=document.all("TANGER_OCX");
	TANGER_OCX_OpenDoc(fileUrl);
	if(!TANGER_OCX_OBJ.IsNTKOSecSignInstalled())
	{   
		document.all("addSecSignFromUrl").disabled = true;
		document.all("addSecSignFromLocal").disabled = true;
		document.all("addSecSignFromEkey").disabled = true;
		document.all("handSecSign").disabled = true;
	}
}
//文档编辑页面关闭事件
function onPageClose()
{
    if(IsFileOpened)
    {
	    if(!TANGER_OCX_OBJ.ActiveDocument.Saved)
	    {
		    if(confirm( "文档修改过,还没有保存,是否需要保存?"))
		    {
			    saveFileToUrl();
		    }
	    }
	    window.opener.location.reload();
	}
}
function TANGER_OCX_OpenDoc(fileUrl)
{
    if(fileUrl!=null||fileUrl!="")
    {
	    TANGER_OCX_OBJ.BeginOpenFromURL(fileUrl);
	}
	else
	{
        TANGER_OCX_OBJ.BegingOpenFromURL("Files2/newWordTemplate.doc")
    }
}
//设置文件是打开还是关闭
function setFileOpenedOrClosed(bool)
{
	IsFileOpened = bool;
	officetype=TANGER_OCX_OBJ.DocType;
}
//设置文档是否已经保存
function setFileSaved(bool)
{
	 if(officetype == 1)
	 {TANGER_OCX_OBJ.ActiveDocument.Saved=bool;}
	 else if(officetype == 2)
	 {TANGER_OCX_OBJ.ActiveDocument.Application.ActiveWorkbook.Saved=bool;}
}
function trim(str)
{ //删除左右两端的空格
　　return str.replace(/(^\s*)|(\s*$)/g, "");
}
//保存office文档
function saveFileToUrl()
{
	var fName =trim(document.all("FileName").value);
	var filetitle =trim(document.all("FileTitle").value);
	if(filetitle.length==0){alert("对不起，文档标题不能为空!");document.all("FileTitle").focus();return false;}//判断文件标题输入域
	var result,filedot;
	if(IsFileOpened)
	{
		switch (TANGER_OCX_OBJ.doctype)
		{
			case 1:
				fileType = "Word.Document";
				filedot=".doc";
				break;
			case 2:
				fileType = "Excel.Sheet";
				filedot=".xls";
				break;
			case 3:
				fileType = "PowerPoint.Show";
				filedot=".ppt";
				break;
			case 4:
				fileType = "Visio.Drawing";
				filedot=".vso"
				break;
			case 5:
				fileType = "MSProject.Project";
				filedot=".pro";
				break;
			case 6:
				fileType = "WPS Doc";
				filedot=".wps";
				break;
			case 7:
				fileType = "Kingsoft Sheet";
				filedot=".et";
				break;
			default :
				fileType = "unkownfiletype";
				filedot=".doc";
		}
		if(fName==""){
			var testDate = new Date();
			var fName = testDate.format("YYYY-MM-dd hh.mm.ss");
			}
		retHTML = TANGER_OCX_OBJ.saveToURL(document.forms[0].action,//提交到的url地址
		"EDITFILE",//文件域的id，类似<input type=file id=upLoadFile 中的id
		"fileType="+fileType,          //与控件一起提交的参数,保存文件类型
		fName+filedot,    //上传文件的名称+后缀，类似<input type=file 的value
		0  //与控件一起提交的表单id，也可以是form的序列号，这里应该是0.
		);
		setFileSaved(true);
		alert('恭喜您,操作成功！');
		window.close();
		window.opener.location.reload();
	}
	else
	{
        alert("不能执行保存,没有编辑文档!");	
	}
}

function testFunction()
{
	alert(IsFileOpened);
}
//设置用户名
function TANGER_OCX_SetDocUser(cuser)
{
	with(TANGER_OCX_OBJ.ActiveDocument.Application)
	{
		UserName = cuser;
		UserInitials=cuser;
	}	
}

//添加URL图片
function addPicFromUrl(picURL)
{
	if(IsFileOpened)
	{
		if(officetype==1||officetype==2||officetype==6||officetype==7)
		{
			try
			{
				TANGER_OCX_OBJ.AddPicFromURL(picURL,//图片的url地址可以时相对或者绝对地址
				false,//是否浮动,此参数设置为false时,top和left无效
				100,//left 左边距
				100,//top 上边距 根据Relative的设定选择不同参照对象
				1,  //Relative,取值1-4。设置左边距和上边距相对以下对象所在的位置 1：光标位置；2：页边距；3：页面距离 4：默认设置栏，段落
				100,//缩放印章,默认100%
				1);   //0印章位于文字下方,1位于上方
			}
			catch(error){}
		}
		else
		{alert("不能在该类型文档中添加图片!");}
	}		
}

//文件头套红
function insertRedHeadFromUrl(headFileURL)
{
	if(officetype==1||officetype==6)//TANGER_OCX_OBJ.doctype=1为word文档
	{
	TANGER_OCX_OBJ.ActiveDocument.Application.Selection.HomeKey(6,0);//光标移动到文档开头
	TANGER_OCX_OBJ.addtemplatefromurl(headFileURL);//在光标位置插入红头文档
	}
	else{return;}
}
//打开模板文件编辑
function openTemplateFileFromUrl(templateUrl)
  {
	  if(officetype==1){
	  TANGER_OCX_OBJ.openFromUrl(templateUrl);
	  }
	  else if(officetype==6){
	  TANGER_OCX_OBJ.openFromUrl(templateUrl,false,"WPS.Document");
	  }
	  else{return}
  }

//设置是否保留痕迹
function setReviewMode(boolvalue)
{
	if(officetype==1||officetype==6)
	{
		TANGER_OCX_OBJ.ActiveDocument.TrackRevisions = boolvalue;
	}
}

//设置是否显示痕迹
function setShowRevisions(boolevalue)
{
	if(officetype==1||officetype==6)
	{
		TANGER_OCX_OBJ.ActiveDocument.ShowRevisions =boolevalue;
	}
}

//接受或者取消所有修订
function setAllRevisions(bool)
{
  if(officetype==1||officetype==6){
  if(bool)
  {
	    TANGER_OCX_OBJ.ActiveDocument.AcceptAllRevisions();
	}
	else
	{
	  if(officetype==1){
			  TANGER_OCX_OBJ.ActiveDocument.Application.WordBasic.RejectAllChangesInDoc();}
			  else if(officetype==6){TANGER_OCX_OBJ.ActiveDocument.Revisions.RejectAll();}else{return;}
				  }
			  }
			  else{
				  return;
				  }
}

//是否允许新建
function setFileNew(boolvalue)
  {
	TANGER_OCX_OBJ.FileNew=boolvalue;
	TANGER_OCX_OBJ.FileOpen=boolvalue;
	TANGER_OCX_OBJ.FileClose=boolvalue;
  }

//是否允许修改
function setReadOnly(boolvalue)
  {
	TANGER_OCX_OBJ.SetReadOnly=boolvalue;
  }

//是否允许保存、另存
function setFileSave(boolvalue)
  {
	TANGER_OCX_OBJ.FileSave=boolvalue;
	TANGER_OCX_OBJ.FileSaveAs=boolvalue;
  }

//是否允许复制
function setIsNoCopy(boolvalue)
  {
	TANGER_OCX_OBJ.IsNoCopy=boolvalue;
  }

//是否允许打印
function setFilePrint(boolvalue)
  {
	TANGER_OCX_OBJ.FilePrint=boolvalue;
	TANGER_OCX_OBJ.FilePrintPreview=boolvalue;
	TANGER_OCX_OBJ.FilePageSetup=boolvalue;
  }

//是否显示工具栏
function setToolBar()
  {
	TANGER_OCX_OBJ.ToolBars=!TANGER_OCX_OBJ.ToolBars;
  }

//是否显示菜单栏
function setMenubar()
  {
	TANGER_OCX_OBJ.Menubar=!TANGER_OCX_OBJ.Menubar;
  }

//是否显示插入菜单
function setInsertMemu()
  {
	TANGER_OCX_OBJ.IsShowInsertMenu=!TANGER_OCX_OBJ.IsShowInsertMenu;
  }

//是否显示编辑菜单
function setEditMenu()
  {
	TANGER_OCX_OBJ.IsShowEditMenu=!TANGER_OCX_OBJ.IsShowEditMenu;
  }

//是否显示工具菜单  
function setToolMenu()
  {
	TANGER_OCX_OBJ.IsShowToolMenu=!TANGER_OCX_OBJ.IsShowToolMenu;
  }
	
//增加自定义菜单
function initCustomMenus1()
{
	var myobj = TANGER_OCX_OBJ;
	for(var menuPos=0;menuPos<1;menuPos++)
	{
		myobj.AddCustomMenu2(menuPos,"常用功能"+"(&"+menuPos+")"); 
		for(var submenuPos=0;submenuPos<1;submenuPos++)
		{
			myobj.AddCustomMenuItem2(menuPos,submenuPos,-1,true,"打印设置",false);
				//增加子菜单项目
				for(var subsubmenuPos=0;subsubmenuPos<3;subsubmenuPos++)
				{
					if(0 ==subsubmenuPos)//增加子菜单项目
					{
						myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false,
							"设置打印区域",false,menuPos*100+submenuPos*20+subsubmenuPos);
					}
					if(1 ==subsubmenuPos)//增加子菜单项目
					{
						myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false,
							"取消打印区域",false,menuPos*100+submenuPos*20+subsubmenuPos);
					}
					if(2==subsubmenuPos)
					{
						myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false,
							"手写批注",false,menuPos*100+submenuPos*20+subsubmenuPos);
					}
				}
		}
	}
}
//控件控制
function controlStyle()
{
	var myobj = TANGER_OCX_OBJ;	
	for(var menuPos=0;menuPos<1;menuPos++)
	{
		myobj.AddCustomMenu2(menuPos,"控件样式"+"(&"+menuPos+")"); 
		for(var submenuPos=0;submenuPos<1;submenuPos++)
		{
			myobj.AddCustomMenuItem2(menuPos,submenuPos,-1,true,"改变大小",false);
				//增加子菜单项目
				for(var subsubmenuPos=0;subsubmenuPos<2;subsubmenuPos++)
				{
					if(0 ==subsubmenuPos)//增加子菜单项目
					{
						myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false,
							"全网页查看",false,menuPos*100+submenuPos*20+subsubmenuPos);
					}
					if(1 ==subsubmenuPos)//增加子菜单项目
					{
						myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false,
							"恢复原大小",false,menuPos*100+submenuPos*20+subsubmenuPos);
					}
				}
		}
	}
}
//改变控件大小为当前网页可见区域
function objside()
{
	document.all.officecontrol.style.position="absolute";
	document.all.officecontrol.style.left="0px";
	document.all.officecontrol.style.top="0px";
	document.all.officecontrol.style.width=document.body.clientWidth;//网页可见区域宽
	document.all.officecontrol.style.height=document.body.clientHeight;//网页可见区域高
}
//恢复控件显示大小
function objside2()
{
	document.all.officecontrol.style.position="relative";
	document.all.officecontrol.style.left="0px";
	document.all.officecontrol.style.top="0px";
	document.all.officecontrol.style.width="100%";
	document.all.officecontrol.style.height="980px";
}
//显示或隐藏文档控件对象
function ObjectDisplay(boolvalue)
{
	var obj=document.getElementById("objside");
	if(!boolvalue)
		{
			obj.style.display="none";
		}
	else
		{
			obj.style.display="block";
		}
}

/**
* 时间对象的格式化;
*/
Date.prototype.format = function(format){
 /*
  * eg:format="YYYY-MM-dd hh:mm:ss";
  */
 var o = {
  "Y+":this.getYear(),//年
  "M+":this.getMonth()+1,  //month
  "d+":this.getDate(),     //day
  "h+":this.getHours(),    //hour
  "m+":this.getMinutes(),  //minute
  "s+":this.getSeconds(), //second
  "q+":Math.floor((this.getMonth()+3)/3),  //quarter
  "S":this.getMilliseconds() //millisecond
   }
  
   if(/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
   }
 
   for(var k in o) {
    if(new RegExp("("+ k +")").test(format)) {
      format = format.replace(RegExp.$1, RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
    }
   }
 return format;
}


//2016年青辰后加公共函数

//保留痕迹功能事件
function ToReview(s) 
{ 
    ReviewValue=document.getElementById("ReviewFiles").value; //得到痕迹值
	if(ReviewValue=="1")
	{
        SetReviewMode(true);  //保留痕迹
	}else{
		SetReviewMode(false); //取消痕迹
	};
}

//显示痕迹功能事件
function ToShowReview() 
{ 
    ShowReviewValue=document.getElementById("ShowReviewFiles").value; //得到痕迹值
	if(ShowReviewValue=="1")
	{
        setShowRevisions(true);  //显示痕迹
	}else{
		setShowRevisions(false); //隐藏痕迹
	};
}

//修订功能事件
function ToAllsReview() 
{ 
    AllsReviewValue=document.getElementById("AllsReviewFiles").value; //得到修订值
	if(AllsReviewValue=="1")
	{
        SetAllRevisions(true);  //允许修订
	}else{
		SetAllRevisions(false); //禁止修订
	};
}

//新建功能事件
function ToAdd() 
{ 
    AddValue=document.getElementById("AddFiles").value; //得到新建值
	if(AddValue=="1")
	{
        setFileNew(true);  //允许新建
	}else{
		setFileNew(false); //禁止新建
	};
} 

//修改功能事件
function ToMod() 
{ 
    ModValue=document.getElementById("ModFiles").value; //得到编辑值
	if(ModValue=="1")
	{
        setReadOnly(false);  //允许编辑
	}else{
		setReadOnly(true); //禁止编辑
	};
} 

//保存功能事件
function ToSave() 
{ 
    SaveValue=document.getElementById("SaveFiles").value; //得到保存值
	if(SaveValue=="1")
	{
		setFileSav(true);  //允许保存
        setFileSaveAs(true);  //允许另存
	}else{
		setFileSav(false); //禁止保存
		setFileSaveAs(false); //禁止另存
	};
} 

//复制功能事件
function ToCopy(s) 
{ 
    CopyValue=document.getElementById("CopyFiles").value; //得到复制值
	if(CopyValue=="1")
	{
        setIsNoCopy(false);  //允许复制
	}else{
		setIsNoCopy(true);   //禁止复制
	};
}

//打印功能事件
function ToPrint(s) 
{ 
    PrintValue=document.getElementById("PrintFiles").value; //得到打印值
	if(PrintValue=="1")
	{
        setFilePrint(true);  //允许打印
	}else{
		setFilePrint(false); //禁止打印
	};
}
