//########################################################################################
// Copyright (C) 2000, ToneThink.Soft  All Rights Reserved. 
// 文件创建时间：2008-03-05
//   文件创建人：peng
// 文件功能描述：强讯科技-通用的JS函数
//             
//     维护记录：
// 
//2008-08-20 peng
//          完善 GetItemValue功能
//######################################################################################### 
// 以下代码为Page常用函数
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
function fun_return(nPage)
{
  var isClose = true;
  if(parent != null)
  {
    if(parent.name == "desktop") isClose = false;
  } 
  
  if(isClose == false)
  {
      if(nPage == 0) 
         window.history.go(-1);
      else
         window.history.go(nPage);
  }
  else
  {
    window.close();
  }
  return false;
}

//ASP.NET 中通过JAVASCRIPT打开新窗口
function fun_open(strUrl,strTitle,nWidth,nHeight)
{
    if(nWidth<1) nWidth = 600;
    if(nHeight<1) nHeight = 400;   
    xposition=0; yposition=0;
    if ((parseInt(navigator.appVersion) >= 4 ))
       {
          xposition = (screen.width - nWidth) / 2;
          yposition = (screen.height - nHeight) / 2;
       }
    theProperty = "width=" + nWidth + "," 
          + "height=" + nHeight + "," 
          + "location=0," //是否显示地址栏,1显示
          + "menubar=0,"//是否显示菜单栏
          + "resizable=1,"// 是否允许改变窗口大小，1为允许
          + "scrollbars=1,"//是否显示滚动条，1允许
          + "status=0," //是否显示状态栏，1显示
          + "titlebar=0,"//是否先是标题栏，1显示
          + "toolbar=0,"//是否显示工具栏
          + "hotkeys=0,"
          + "screenx=" + xposition + "," //仅适用于Netscape
          + "screeny=" + yposition + "," //仅适用于Netscape
          + "left=" + xposition + "," //IE
          + "top=" + yposition; //IE 
  //if(strSize == "")
  //  theProperty = "top=30,left=50,height=500,width=650 scrollbars=yes resizable=yes";
  var new_win = window.open(strUrl,strTitle.replace(" ","_"),theProperty);
  new_win.focus();
  /*  
   var win= new Ext.Window({
            title:strTitle,
            width:600,
            height:400,
            maximizable:true,
            autoLoad:strUrl  
            });
   win.show();
   */
  return false;
}

function fun_go(strUrl)
{
  document.location.href = strTarget;
  return false;
}

function fun_close()
{
  window.close();
  return false;
}

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 以下代码为使用tools/search_popup.aspx 必须的函数
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
function fun_save_close(strRawUrl)
{
	if ( window.opener != null && window.opener.Recv_search_popup_result != null )
	{
		window.opener.Recv_search_popup_result(strRawUrl);
		window.close();
	}
	else
	{
		alert('父窗口已经关闭，本次查询失效！');
	}
}

function Recv_search_popup_result(strNewURL)
{
	window.location.href = strNewURL;
}

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 以下代码为Date控件常用函数
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

var ChangeDate = null;
function CalendarPopup(ctlDate, clientX, clientY)
{
	clientX = window.screenLeft + parseInt(clientX);
	clientY = window.screenTop  + parseInt(clientY);
	if ( clientX < 0 )
		clientX = 0;
	if ( clientY < 0 )
		clientY = 0;
	return window.open('../ut_test/Popup.aspx?Date=' + ctlDate.value,'CalendarPopup','width=193,height=155,resizable=1,scrollbars=0,left=' + clientX + ',top=' + clientY);
	//fun_open('../ut_test/Popup.aspx?Date=' + ctlDate.value,'CalendarPopup','width=193,height=155,resizable=1,scrollbars=0,left=' + clientX + ',top=' + clientY);
	/*
	var sFeatures = 'dialogHeight:215px ;dialogWidth:253px;resizable:yes;center:yes;status:no;help:no;scroll:no;';
	var sUrl = '<%= Application["rootURL"] %>Calendar/CalendarPopup.aspx?Date=' + ctlDate.value;
	var lookupItems = window.showModalDialog(sUrl, null, sFeatures);
	if ( lookupItems != null )
	{
		ctlDate.value = lookupItems;
	}
	*/
}

///xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/// nItem = 0 取第一个';'之前的字符串
///         1 取strItemName=之后，';'之前的字符串
///         2 取strItemName=之后所有的字符串,去除最后的 ';'
///         3 取strItemName之后,包括（strItemName）所有的字符串
/// return: Empty(0,未找到';' 1、2,未找到 strItemName  
/// 说明：命令字：WORD必须为A-Z的字母，且前后不是A-Z的字母，不区分大小写，
///       内容：区分大小写
///xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
function GetItemValue(nItem,strItemName,strLine)
{
	var	nPos;
	var temp_char;
	var	strReturn ="";
	var	strBody;
	var	strData;

	strData = strLine;
	strLine = strLine.toUpperCase();
	strItemName = strItemName.toUpperCase();
	
	if(nItem == 0)
	{
		nPos = strLine.indexOf(";");
		if(nPos > 0)
		{
		  strReturn = strLine.substring(0,nPos);
		  //strReturn.Trim();
		  strReturn = strReturn.toUpperCase(); 
		}
	}
	if(nItem == 1)
	{
		nPos = strLine.indexOf(";");
		if(nPos >=0)
			{
			  strBody = strLine.substring(0,nPos);
			  nPos = strBody.indexOf("="); 
			  if(nPos >= 0)  //符合XXX=XXX; 取整串字符
				{
					strBody = strLine; 
				}
			  else //不符合XXX=XXX; 取;之后字符
				{
					nPos = strLine.indexOf(";"); 
					strBody = strLine.substr(nPos+1); 
				}
			}
		 else
			{
			  strBody = strLine;
			} 
		 nPos=-1;    
		 while(true)
			{
				nPos = strBody.indexOf(strItemName,nPos+1);
				if(nPos >= 0)
					{
					   /*
						if(nPos>0) //前一个字符不是A-Z,a-z
						{
							temp_char = strBody[nPos-1];  
							if(Char.IsLetter(temp_char)) continue;
						}//后一个字符不是A-Z,a-z
						temp_char = strBody[nPos+strItemName.Length-1];  
						if(Char.IsLetter(temp_char)) 
						{
							temp_char = strBody[nPos+strItemName.Length];  
							if(Char.IsLetter(temp_char)) continue;
						}
						*/
						strBody = strBody.substr(nPos);  
						nPos = strBody.indexOf(";");
						if(nPos > 1)
						{
							strBody = strBody.substring(0,nPos); 
							nPos = strBody.indexOf("=");
							if(nPos > 0)
							{
								strReturn = strBody.substr(nPos+1);
								//strReturn.Trim();
								nPos = strLine.indexOf(strReturn);
								if(nPos > 1)
								{
									strReturn = strData.substr(nPos,strReturn.length);
								} 
							}
						}
					}
					break; 
				} //end while 
			}
			if(nItem == 2)
			{
		        nPos = strLine.indexOf(";");
		        if(nPos >=0)
			        {
			          strBody = strLine.substring(0,nPos);
			          nPos = strBody.indexOf("="); 
			          if(nPos >= 0)  //符合XXX=XXX; 取整串字符
				        {
					        strBody = strLine; 
				        }
			          else //不符合XXX=XXX; 取;之后字符
				        {
					        nPos = strLine.indexOf(";"); 
					        strBody = strLine.substr(nPos+1); 
				        }
			        }
		         else
			        {
			          strBody = strLine;
			        } 
		         nPos=-1;    
				while(true)
				{
       				nPos = strBody.indexOf(strItemName,nPos+1);
					if(nPos >= 0)
					{
						strBody = strBody.substr(nPos);  
						nPos = strBody.indexOf("=");
						if(nPos > 1)
						{
							strReturn = strBody.substr(nPos+1); 
							//strReturn.Trim();
							//	strReturn.MakeUpper();
							var nLen = strReturn.length; 
							nPos = strLine.indexOf(strReturn);
							if(nPos > 1)
							{
								strReturn = strData.substr(nPos,nLen);
								if(strReturn.lastIndexOf(";")==(nLen-1)) //去除最后的 ';'
							      strReturn = strReturn.substr(0,(nLen-1));
							} 
						}
					}
					break;
				} //end while
			}
			if(nItem == 3)
			{
		        nPos = strLine.indexOf(";");
		        if(nPos >=0)
			        {
			          strBody = strLine.substring(0,nPos);
			          nPos = strBody.indexOf("="); 
			          if(nPos >= 0)  //符合XXX=XXX; 取整串字符
				        {
					        strBody = strLine; 
				        }
			          else //不符合XXX=XXX; 取;之后字符
				        {
					        nPos = strLine.indexOf(";"); 
					        strBody = strLine.substr(nPos+1); 
				        }
			        }
		         else
			        {
			          strBody = strLine;
			        } 
		         nPos=-1;    
				while(true)
				{
	   				nPos = strBody.indexOf(strItemName,nPos+1);
					if(nPos >= 0)
					{
					  strReturn = strBody.substr(nPos+1); 
					  //strReturn.trim();
					}
					break;
				}
			} //end while
	return strReturn;
}

//通过以下函数，管理Cookie，可以用于与C#后台交换
//设置Cookie,expires-过期时间,单位:小时
function setCookie(name, value, expires) 
{
  if((expires == null)||(expires == ""))  expires = (24*30); //默认值30天 

  var exp = new Date();
  exp.setTime (exp.getTime() + (3600 * 1000 * expires)); 
 
  //如果cookie中要想存中文，这样读出来会是乱码
  value = escape(value);
  document.cookie = name + "=" + escape(value) + "; expires=" + exp.toGMTString() +  "; path=/";
}

function getCookie(name) {
  var search;
  search = name + "="
  offset = document.cookie.indexOf(search)
  if (offset != -1) {
    offset += search.length ;
    end = document.cookie.indexOf(";", offset) ;
    if (end == -1)
      end = document.cookie.length;
    return unescape(document.cookie.substring(offset, end));
  }
  else
    return "";
}
function deleteCookie(name) {
  var expdate = new Date();
  expdate.setTime(expdate.getTime() - 1);
  var cval=getCookie(name);
  if(cval!=null) 
       document.cookie= name + "="+cval+";expires="+expdate.toGMTString();
}

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// 以下代码来自prototype.js 常用函数
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/*
function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (Object.isString(element))
    element = document.getElementById(element);
  return Element.extend(element);
}

function $$() {
  return Selector.findChildElements(document, $A(arguments));
}

function $H(object) {
  return new Hash(object);
};

function $w(string) {
  if (!Object.isString(string)) return [];
  string = string.strip();
  return string ? string.split(/\s+/) : [];
}

function $A(iterable) {
  if (!iterable) return [];
  if (iterable.toArray) return iterable.toArray();
  var length = iterable.length || 0, results = new Array(length);
  while (length--) results[length] = iterable[length];
  return results;
}
*/

function $(itemID) {
	if (document.getElementById) {
		return document.getElementById(itemID);
	} else {
		return document.all(itemID);
	}
}
