var isIE = false;
var isFF = false;

if ((navigator.userAgent.indexOf("MSIE")>0) && (parseInt(navigator.appVersion) >=4)) isIE = true;
if (navigator.userAgent.indexOf("Firefox")>0) isFF = true;

//BackOffice======================================================
function BackOffice()
{
	//if(!CheckIE6()){
	//	alert('Please Open With IE 6.0 or Upper Version!');
	//}else{
		OpenFullWindow('Resize.aspx',"BackOffice");
		WinClose();
	//}
	
}
function BackOffice2()
{
	//if(!CheckIE6()){
	//	OpenMidWindow("link/BrowserError.htm",300,200,"BackOffice")
	//}else{
		OpenFullWindow('Resize.aspx',"BackOffice");
	//}
}
function CheckIE6()
{
	/*
	*/
	if(navigator.platform != "Win32"){		
		return false;
	}
	if(navigator.appName != "Microsoft Internet Explorer"){
		return false;
	}
	if(navigator.appVersion.indexOf("MSIE 6") == -1 && navigator.appVersion.indexOf("MSIE 7") == -1){
		return false;
	}
	return true;
}
//window======================================================

function OpenWindow(href,key){
	var won;

	won=window.open( href,key);
	won.focus();

}
function OpenWindow2(href,key){
	var won;

	var strTemp ="location=no,menubar=no,resizable=yes,status=no,toolbar=no";
	won=window.open( href, key,strTemp);
	won.focus();
}
function OpenFullWindow(href,key){
	var won;

	var left =0;
	var top =0;
	var width =screen.availWidth-10;
	
	var height=600;
	if (isIE)
	{
		height=screen.availHeight-35;
	}
	else
	{
		height=screen.availHeight-50;
	}	

	var strTemp ="location=no,scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,titlebar=no";
	strTemp += ',top=' + top ;
	strTemp += ',left=' + left;
	strTemp += ',width=' + width;
	strTemp += ',height=' + height;
	href=href + '?w=' + width + '&h=' + height;
	won=window.open( href ,'newwin' + key,strTemp);
	won.focus();
/*
  window.open(href,'fullscreen','fullscreen=yes,scrollbars=no') ;
	*/
	
}
function OpenMidWindow(href,width,height,key){
	var won;
	var left =(screen.availWidth - width)/2;
	var top =(screen.availHeight - height)/2;	

	var strTemp ="location=no,scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,titlebar=no";
	strTemp += ',top=' + top ;
	strTemp += ',left=' + left;
	strTemp += ',width=' + width;
	strTemp += ',height=' + height;
	won=window.open( href,'newwin'+key,strTemp);
	won.focus();

}
function WinClose(){
	//window.opener = '';
	//window.close();
	window.opener=null;
	window.open("","_self");
	window.close();
}
//'browser.aspx',600,450,'win1'
function OpenFileBrowser(href){
	var won;
	var width=600;
	var height=480;
	var left =(screen.availWidth - width)/2;
	var top =(screen.availHeight - height)/2;	

	var strTemp ="location=no,scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,titlebar=no";
	strTemp += ',top=' + top ;
	strTemp += ',left=' + left;
	strTemp += ',width=' + width;
	strTemp += ',height=' + height;
	won=window.open( href,'FileBrowser',strTemp);
	won.focus();
	return false;
}

function OpenParaSelector(href){
	var won;
	var width=650;
	var height=580;
	var left =(screen.availWidth - width)/2;
	var top =(screen.availHeight - height)/2;	

	var strTemp ="location=no,scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,titlebar=no";
	strTemp += ',top=' + top ;
	strTemp += ',left=' + left;
	strTemp += ',width=' + width;
	strTemp += ',height=' + height;
	won=window.open( href,'ParaSelector',strTemp);
	won.focus();
	return false;

}
function OpenFileDownload(href){
	var won;
	var width=50;
	var height=50;
	var left =(screen.availWidth - width)/2;
	var top =(screen.availHeight - height)/2;	

	var strTemp ="location=no,scrollbars=no,resizable=no,menubar=no,status=no,toolbar=no,titlebar=no";
	strTemp += ',top=' + top ;
	strTemp += ',left=' + left;
	strTemp += ',width=' + width;
	strTemp += ',height=' + height;
	won=window.open( href,'FileDownload',strTemp);
	won.focus();
	return false;
}
function OpenDialog(href,width,height){
	window.showModalDialog(href,'',"dialogWidth=" + width +";dialogHeight=" + height);
}


function CloseParaSelector(value){
	var ctrl=document.getElementById('hidCtrl').value;
	var won=window.opener;
	var obj=won.document.getElementById(ctrl);
	obj.value=value;
	
	window.opener=null;
	window.open("","_self");
	window.close();
}

//======================================================

function ResetParentTime()
{
	var now = new Date();
	parent.clock_start = now.getTime();
}

//Iframe相關======================================================
function ParentIframeRefresh(id,pg){
	var obj =parent.document.getElementById(id);
	obj.src=pg;
}
function ParentIframeRefresh2(id1,pg1,id2,pg2){
	var obj1 =parent.document.getElementById(id1);
	obj1.src=pg1;
	var obj2 =parent.document.getElementById(id2);
	obj2.src=pg2;

}
function ParentRefresh(pg)
{
	parent.document.location.href=pg;
}
function ResizeParentIframe(id1,id2){
	var tb = document.getElementById(id1);
	if(tb==null){
		var obj =parent.document.getElementById(id2);
		obj.style.height=0;
	}else{
		var h = tb.scrollHeight ;
		var obj =parent.document.getElementById(id2);
		obj.style.height=h+20;
	}
}
//Input======================================================
function SetFocus(objid)
{
	if (isIE)
	{
		document.getElementById(objid).focus();
	}
	else
	{
		
	}	
}

//onkeydown
function StepNext(e){
	//alert('StepNext');
	var iKeyCode = window.event?e.keyCode:e.which;
	if (iKeyCode == 13)
	{
		if (isIE)
		{
			e.keyCode=9;
		}
		else
		{
			e.preventDefault();
		}
	}	
} 


//onkeypress
//if((c>47 && c<58) || (c>64 && c<91) || (c>96 && c<123) || c==64 || c==46 ||c==45 || c==13) return true;
function isEmail(e) {   
	var iKeyCode = window.event?e.keyCode:e.which;
	if(!(((iKeyCode >= 48) && (iKeyCode <= 57)) || (iKeyCode == 64) || ((iKeyCode >= 63) && (iKeyCode <= 90)) || ((iKeyCode >= 95) && (iKeyCode <= 122))  || (iKeyCode == 13) || (iKeyCode == 46) || (iKeyCode == 45)  ))
	{   
		if (isIE)
		{
			e.returnValue=false;
		}
		else
		{
			//e.preventDefault();//重要firefox 是用prevenDefault()來取消事件的
		}
	}
}  
function isDec(e) {   
	var iKeyCode = window.event?e.keyCode:e.which;
	if(!(((iKeyCode >= 48) && (iKeyCode <= 57)) || (iKeyCode == 13) || (iKeyCode == 46) || (iKeyCode == 45) || (iKeyCode == 37) || (iKeyCode == 39) || (iKeyCode == 8)))
	{   
		if (isIE)
		{
			e.returnValue=false;
		}
		else
		{
			e.preventDefault();//重要firefox 是用prevenDefault()來取消事件的
		}
	}
}   
function isNumber(e) {   
	var iKeyCode = window.event?e.keyCode:e.which;
	if(!(((iKeyCode >= 48) && (iKeyCode <= 57)) || (iKeyCode == 13)))
	{   
		if (isIE)
		{
			e.returnValue=false;
		}
		else
		{
			e.preventDefault();//重要firefox 是用prevenDefault()來取消事件的
		}
	}
}   //	if((c>47 && c<58) || (c>64 && c<91) || (c>96 && c<123) || c==13) return true;

function isEn(e) {   
	var iKeyCode = window.event?e.keyCode:e.which;
	if(!(((iKeyCode >= 48) && (iKeyCode <= 57)) || ((iKeyCode >= 63) && (iKeyCode <= 90)) || ((iKeyCode >= 95) && (iKeyCode <= 122)) || (iKeyCode == 13)))
	{   
		if (isIE)
		{
			e.returnValue=false;
		}
		else
		{
			e.preventDefault();//重要firefox 是用prevenDefault()來取消事件的
		}
	}
}   
//***************************************************

function ShowKeyWord(TargetWords) {
	ReplaceWords=new String("<font color='red'>"+TargetWords+"</font>");
    var HtmlStr=new String;
    var NewHtmlStr=new String;
    HtmlStr=" "+document.getElementsByTagName('body').item(0).innerHTML;
    while (HtmlStr.indexOf(TargetWords) > 0) {
     n=HtmlStr.indexOf(TargetWords);
     NewHtmlStr=NewHtmlStr + HtmlStr.substr(0,n) + ReplaceWords;
     HtmlStr=HtmlStr.substring((n + TargetWords.length), HtmlStr.length);
    }
    document.getElementsByTagName('body').item(0).innerHTML=NewHtmlStr.substring(1,NewHtmlStr.length);
}


//***************************************************
function AC_AX_RunContent(){
  var ret = AC_AX_GetArgs(arguments);
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_AX_GetArgs(args){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "pluginspage":
      case "type":
      case "src":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "data":
      case "codebase":
      case "classid":
      case "id":
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  return ret;
}
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function GetQueryValue( name ){  
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
	var regexS = "[\\?&]"+name+"=([^&#]*)";  
	var regex = new RegExp( regexS );  
	var results = regex.exec( window.location.href );  
	if( results == null ) 
		return "";  
	else    
		return results[1];
}
//======================================================
function imgcheckrefresh(obj,src)
{
	var r=Math.random();
	obj.src=src + '?r=' + r;
}

