/**
 * 版权所有：深圳市赤子缘网络技术有限公司
 * All rights reserved.
 * @brief      : Common Javascript Function
 * @file        : comm.js
 * Current version  : 1.0
 * Author           : Jack Wu (049@studentuni.com)
 * Late modification Date   : 2008-04-21
**/



/*
 @brief: submit delete
 @param:
           1. mform		--forms name
           2. fname		--checkbox name
 @return:true/false
*/
function delRows(mform,fname)
{   
	   n=0
	   if (isObject(mform.name,"cbox")==false) return false;
	   temp=eval("document."+mform+"."+fname);
		if (temp.checked==true)  
		{
			n=1;
			temp.name = "cbox[]";
		}
		for (i=0;i<temp.length;i++)
		{
 		  if (temp[i].checked==true)
          {
          	n=1
          	break
          }
 		}
 		if (n==0)
   		{	alert ("没有记录被选择!")
            return false;
   		}	
        else
		  msg="您确定要删除吗?"
          if (confirm(msg))
          {	
			for (i=0;i<temp.length;i++ )
			{
			  temp[i].name="cbox[]";  
			}
			fm2.todo.value="delete";
			return true;
			}
			else{
           return false;
		  }
 }
 
 

/*
 @brief: delete from select icon单条删除
 @param:
           1. mform		--forms name
           2. rowid		--delete database id number
 @return:true/false
*/
 function delRow(mform,rowid)  //
 {
	 temp=eval("document."+mform);
	 msg="您确定要删除吗?"
     if (confirm(msg))
     {	
		if (temp.cbox.length>=0)
			temp.cbox[rowid].checked=true;
		else
			temp.cbox.checked=true;

		for (i=0;i<temp.cbox.length;i++)
		{
		  temp.cbox[i].name="cbox[]";  
		}
		  fm2.todo.value="delete";
		  return true;
	  }
	  else
        return false;
 }
  

/*
 @brief: A checkbox is checked  that this values of equal value with  Parameter of the "fvalue"  from the checkbox array.
 @param:
           1. mform		--forms name
           2. fname		--checkbox name
		   3. fvalue	--check text
 @Demo:    <script>checkbox('fm1','product','P101,P102,P103')</script>
 @return:true/false
*/
function checkbox(mform,cname,values)
 {
   tmp=eval("document."+mform+"."+cname)
   for(var i=0;i<tmp.length;i++)
     {	
		if (values.indexOf(i+1)!=-1)
		{
	      tmp[i].checked=true;
		}
	    else
		{
	      tmp[i].checked=false;
		}
     }	 
 }



/*
 @brief: 单先框选项中选择相等的值
 @param:
           1. mform		--forms name
           2. fname		--checkbox name
		   3. fvalue	--check text
 @Demo:    <script>checkRadio('fm1','sex','male')</script>
 @return:true/false
*/
 function checkRadio(mform,fname,fvalue)
   {  
      temp=eval("document."+mform+"."+fname);
   	  for (var i=0;i<temp.length;i++)
   	  {
        if (temp[i].value==fvalue)
        {
            temp[i].checked=true;
            return false;
        }
      }     
   }


/*
 @brief: 单先框选项中选择相等的值
 @param:
           1. mform		--forms name
           2. radioname		--radio name
 @Demo:    <script>Radio('fm1','sex')</script>
 @return:true/false
*/
function Radio(mform,radioname)
{
	temp=eval("document."+mform+"."+radioname);
	sum = 0;
	for (i=0;i<temp.length;i++)
	{
		if (temp[i].checked == 1)
			sum++;
	}
	return sum;
}




/*
 @brief:   下拉框中选项单个相等的值
 @param:
 		   1. mform			--表示表单的名称
           2. fname			--表示下拉框的名称e
 		   3. fvalue		--下拉框的值
 @Demo:    <script>selectList('fm1','product','P101')</script>
*/
  function selectList(mform,fname,fvalue)
  {
	   temp=eval("document."+mform+"."+fname);
	   for (var i=0;i<temp.options.length;i++)
	   {
			if (temp.options[i].value==fvalue)
			{
			   temp.options[i].selected=true;
			   return false;
			}
	   }
  }


/*
 @brief:   下拉框中选项单个或多个相等的值
 @param:
 		   1. mform	 --表示表单的名称
           2. fname	 --表示下拉框的名称e
 		   3. fvalue --下拉框的值
 		   4. fchar	 --分拆的字符串
 @Demo:    <script>selectList('fm1','product','P101',',')</script>
*/
  function selectMultipleList(mform,fname,fvalue,fchar)
  {
   temp=eval("document."+mform+"."+fname);
   	CheckValue = fvalue.split(fchar);
	for (var n = 0; n < CheckValue.length; n++)
	{
		if (CheckValue[n]!=""){
			for (var i=0;i<temp.options.length;i++)
			{
				//temp.options[i].name="sel[]";
				if (temp.options[i].value==CheckValue[n])
				{
					temp.options[i].selected=true;
					break;
				}
			}
		}
	}

  }




/*
 @brief:   All options is checked.
 @param:
		   1. mform		--forms name
           2. fname		--checkbox name
*/
 function selectAllBox(mform,fname) //
 {
	  if (isObject(mform.name,"cbox")==false) return;
	  mform = eval(mform);
	  temp=mform.cbox.length;
      if (mform.selectall.checked)
          if (temp>=0)
           		for (var i=0;i<temp;i++)
           		{
               		mform.cbox[i].checked=true   
           		}
          else
             mform.cbox.checked=true  		
       else
          if (temp>=0)
 				for (var i=0;i<temp;i++)
           	{
                mform.cbox[i].checked=false   
            }
          else
             mform.cbox.checked=false      
 }
	

/*
 @brief:  select the text from the first multiple  to other. 
 @param：
		   1. from	  --the first multiple select option.
           2. to	  --the second multiple select option.
*/
 function copyToList(from,to) 
 {
  fromList = eval('document.forms[0].' + from);
  toList = eval('document.forms[0].' + to);
  if (toList.options.length > 0 && toList.options[0].value == 'temp')
  {
    toList.options.length = 0;
  }
  var sel = false;
  for (i=1;i<fromList.options.length;i++)
  {
    var current = fromList.options[i];
    if (current.selected)
    {
      sel = true;
      if (current.value == 'temp')
      {
        alert ('hekk');
        return;
      }
      txt = current.text;
      val = current.value;
      toList.options[toList.length] = new Option(txt,val);
      fromList.options[i] = null;
      i--;
    }
  }
  if (!sel) alert ('选项不能为空!');
 }



 function allSelect() 
 {
  List = document.forms[0].chosen;
  if (List.length && List.options[0].value == 'temp') return;
  for (i=0;i<List.length;i++)
   {
     List.options[i].selected = true;
   }
 }




/*
 @brief:   Write page value into fm1 and submit fm1.   
 @param：
 		   1. page	--page number.
*/
 function goToPage(page)
 {
   document.fm1.page.value=page;
   document.fm1.submit();
 }





/*
 @brief:   判断EMAIL格式是否正确.  
 @param：
		   1. email	--mail address
*/

 function isMail(email)
 {
	var filter=/^\s*([A-Za-z0-9_-]+(\.\w+)*@(\w+\.)+\w{2,3})\s*$/;
    if (!filter.test(email)) {
      return false;
    }
  return true
 }



/*
 @brief:   判断对象在form中是否存在.  
 @param：
		   1. mform	-- form name.
		   2. object-- object name.
*/
 function isObject(mform,object) {
   tmp = eval('document.'+mform);
   if (object  in tmp){
      return true;
   }
   else{
      return false;
   }
 }



/*
 @brief: 判断日期格式是否正确
 @param:
           1.inString  -- check data string
           2.fieldName -- field name
 @seealso:isDateString
 @return:true/false
*/

 function isDate(inString,fieldName)
 {
    if (isDateString(inString)==false)
    {
        //alert("Incorrect("+fieldName  +") date format(yyyy-m-d)");
		return false;     
    }
	return true;
 }

 function isDateString(sDate)
 { 
	var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
	var iaDate = new Array(3)
	var year, month, day
	if (arguments.length != 1) return false
	iaDate = sDate.toString().split("-")
	if (iaDate.length != 3) return false
	if (iaDate[1].length > 2 || iaDate[2].length > 2) return false

	year = parseFloat(iaDate[0])
	month = parseFloat(iaDate[1])
	day=parseFloat(iaDate[2])

	if (year < 1900 || year > 2100) return false
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false
	if (day < 1 || day > iaMonthDays[month - 1]) return false
	return true
 } 



/*
 @brief:   打开一个新的窗口.  
 @param:
		   1. theURL	-- new url file name.
		   2. winName	-- windows type.
		   3. features	-- options
*/
 function MM_openWindow(theURL,winName,features) { 
   window.open(theURL,winName,features);
 }


 
/*
 @brief:   检查输入框里的是否为数字.
 @param:
*/
 function checkNumber()
 {
	if(!(((window.event.keyCode>=48)&&(window.event.keyCode<=57))||(window.event.keyCode==13)||(window.event.keyCode==46)||(window.event.keyCode==45)))
	{
      	window.event.keyCode=0;
		event.returnValue = false;
	}
 }
/*
 @brief:   去除字符串前后的空格.  
 @param:
 		1. str	
*/
function  trim(str)
{
    for(var  i  =  0  ;  i<str.length  &&  str.charAt(i)=="  "  ;  i++  )  ;
    for(var  j  =str.length;  j>0  &&  str.charAt(j-1)=="  "  ;  j--)  ;
    if(i>j)  return  "";  
    return  str.substring(i,j);  
} 

/*
 @brief:   更改对象背景颜色、样式.  
 @param:
 		1. thisObj
		2. sColor
*/
function changeColor(thisObj,sColor)
{
	thisObj.style.backgroundColor = sColor;
}

/*
 @brief:   选中checkbox  
 @param:
 		1. str
		2. cbox
*/
function getStr(str,cbox)
{
	//alert (str);
	temp = eval("document.getElementsByName('"+cbox+"')");
	var s = str.split(',');
	if (s != "")
	{
    	for (i=0;i<s.length;i++)
    	{
			for (j=0;j<temp.length;j++)
			{
				if (temp[j].value == s[i])
				{
					//eval("document.getElementsByName('"+items+"')["+s[i]+"].checked = 1");
					temp[j].checked = 1;
					//alert (document.getElementsByName('box')[j].value);
				}
			}
    	}
	}
}
/*
 @brief:   只能选择一条纪录  
 @param:
*/
function getOne()
{
	//showDelMessage(c,div,type,s,t,id1,id2,v,g);
	var s = 0;
		var e = document.getElementsByName('cbox');
		for (i=0;i<e.length;i++)
		{
			if (e[i].checked)
			{
				//var txtArr = e[i].value.split("-");
				//v = txtArr[0];
				v = e[i].value;
				s++;
			}
		}
		if ((s == 0)||(s > 1))
		{
			return 2;
		}
		return 1;
}
/*
 @brief:   下拉菜单
 @param:
 		1.n
		2.c
*/
function selectDownListNoForm(n,c)
{
	//alert($N(n).options.length);
	for (i=0;i<$N(n).length;i++)
	{
		if($N(n).options[i].value = c)
		{
			$N(n).options[i].selected=true;
      		return false;
		}
	}
}
/*
 @brief:   多选框选项(此函数只基于prototype.js下用)
 @param:
 		1.value
		2.fname
*/
function availableCbox(value,fname)
{
	for (i=0;i<$N(fname).length;i++)
	{
		if($N(fname)[i].value==value)
		{
			if($N(fname)[i].checked==0)
			{
				$N(fname)[i].checked = true;
			}
			else
			{
				$N(fname)[i].checked = false;
			}
		}
	}
}
/*
 @brief:   退出系统
 @param:
*/
function exitadminPage()
{
	window.open("logout.php",target="_parent");
	return;
}

/*
 @brief:   创建Cookie
 @param:
 		1.name
		2.value
*/

function createCookie(name,value) 
{
		var date = new Date();
		date.setTime(date.getTime()+(3600*1000*24*365*20));
		var expires = "; expires="+date.toGMTString();
		document.cookie = name+"="+value+expires+"; path=/";
		return;
}

/*
 @brief:   读Cookie
 @param:
 		1.name
*/
function readCookie(name) 
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

