/**************

常用JS库
注意，JS的所有函数是区别大小写的，所以，不起作用的话请检查大小写
更新时间：2009年7月13日
更新者：Aeolus

**************/
/**************
简化document.getElementById
用法：此方法和JQ冲突，用JQ时，请注释此方法（默认注释）
$id("d").innerHTML; 
(HTMLcode:<div id="d">seekart</div>)
**************/
//function $id(id) {
//	return document.getElementById(id);
//}
/**************
DW自添加的下拉框跳转菜单111
**************/
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
window.onload=function(){ 
for(var ii=0; ii<document.links.length; ii++) 
document.links[ii].onfocus=function(){this.blur()} 
}
var flag=false; 
/***************
用来固定图片大小
用法<img onLoad="ResizeImg(this,'120','200')"
宽高可以不指定，在JS中默认
**************/
function ResizeImg(Img,width,height)
{
    var image=new Image(); 
    image.src=Img.src; 
	//以下两句为自已添加的
	if(!width)width=300; //width=236;//预先设置的所期望的宽的值
	if(!height)height=300; //height=170;//预先设置的所期望的高的值
    if(image.width>width||image.height>height)    //现有图片只有宽或高超了预设值就进行js控制
    {
        w=image.width/width;
        h=image.height/height;
        if(w>h)
        {
           //比值比较大==>宽比高大
            //定下宽度为width的宽度
            Img.width=width;
            //以下为计算高度
            Img.height=image.height/w;
        }
        else
        {
            //高比宽大
            //定下宽度为height高度
            Img.height=height;
            //以下为计算高度
            Img.width=image.width/h;
       }
    }
}
/**************
整个DIV图片自动缩小方法。
 * 用法：
<div id="d">
<img src="http://www.baidu.com/img/logo-yy.gif" width="300" height="300"/>
<img src="http://www.baidu.com/img/logo-yy.gif" />
</div>
<script>
window.onload=function(){
ResizeImgByID('d',50,50);
}
</script>
**************/
function ResizeImgByID(contentId,maxWidth,maxHeight){
	var imgs=document.getElementById(contentId).getElementsByTagName("img");
	for(var i=0;i<imgs.length;i++){
		ResizeImg(imgs[i],maxWidth,maxHeight);
	}
}


/***************
* 子窗口刷新父窗口.(写在子窗口里)
**************/
function OpenerReload()
{
window.opener.location.reload();
}
/***************
获取域名.
**************/
function GetDomainName(){
  var s,siteUrl;
  s=document.location+"";
  return s.substring(7,s.indexOf('/',7));
}
/**************
收藏到书签.(兼容IE和FF)。
用法:
<input type="button" value="收藏" onclick="AddBookmark('seekart(前端开发)','http://www.seekart.cn')"/> 
**************/
function AddBookmark(title,url) {
	if (window.sidebar) {
		window.sidebar.addPanel(title, url,"");
	} else if( document.all ) {
		window.external.AddFavorite( url, title);
	} else if( window.opera && window.print ) {
		return true;
	}
}
/**************
函数 ： 文本框得到与失去焦点 操作。
这个方法经常在文本框搜索的时候出现。
文本里显示 “ 搜索 ”，然后当用户鼠标点击此文本，
文本框内容清空。如果用户没填写内容，那么文本的值又复原。
如果填写了，就显示用户填写的。
 用法:
 <input type="" value="关键字搜索" name="a" onfocus="ClearTxt('a','关键字搜索')" onblur="FillTxt('a','关键字搜索')"/>
<input type="text" value="test" name="test" />
**************/
function ClearTxt(id,txt) {
  if (document.getElementById(id).value == txt)
    document.getElementById(id).value="" ;
  return ;
}
function FillTxt(id,txt) {
  if ( document.getElementById(id).value == "" )
    document.getElementById(id).value=txt;
  return ;
}
/**************
*判断用户名是否符合要求
*用法：
<input type="text" value="aaa" id="a" />
<input type="button" value="test" onclick=" alert( UserNameCheck(document.getElementById('a').value )  ) " />
**************/
function UserNameCheck(string){
	if((string.length<4)||(string.length>20)){return false;}
	var re;
	re=new RegExp("^[a-z|A-Z|0-9][a-z|A-Z|0-9|-]+$");
	return re.test(string);
}
/**************
*判断电子邮箱是否符合规范
*用法：
<input type="text" name="a" />
<input type="button" value="test" onclick=" alert( EmailCheck(document.getElementById('a').value) )" />
**************/
function EmailCheck(string){
	var re;
	re=new RegExp("^[\\w-_\\.]+@([a-z|0-9|-]+\\.)+[a-z]{2,5}$");
	return re.test(string.toLowerCase());
}
/**************
*只允许输入数字和小数点。
*用法：
*<input type=text  onkeyup="ClearNoNum(this)"/>
**************/
function ClearNoNum(obj)
{
//先把非数字的都替换掉，除了数字和.
obj.value = obj.value.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
obj.value = obj.value.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/\.{2,}/g,".");
//保证.只出现一次，而不能出现两次以上
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
}
/**************
文本框输入字符控制。
只能输入数字和英文。
用法:
<input onkeyup="InputEnNum(this)" onbeforepaste="InputEnNum_before()" />
**************/
function InputEnNum(obj)
{
obj.value=obj.value.replace(/[\W]/g,'');
}
function InputEnNum_before(){
clipboardData.setData('text',clipboardData.getData('text').replace(/[\W]/g,''));
}

/**************
回车提交。
用法:
<input   type=text   onkeydown="KeySubmit()">   
**************/
function KeySubmit()
{
    if(event.keyCode==13)
   {
	   form.submit();
   }
}
/**************
实现Ctrl+Enter 提交的效果.(兼容IE和FF)
在做这个效果时，发现一个问题，
当表单中如果只有一个文本框时，
回车会默认提交。(没有提交按钮也一样。)
用法:
<form action="#"  name="a">
<input   type="text" />   
<input   type="text"   onkeydown="QuickPost( event , document.a )" />   
</form>
**************/
 function QuickPost(event,form){
    var event=event||window.event;
	if((event.ctrlKey && event.keyCode == 13)||(event.altKey && event.keyCode == 83)){
 	//	event.srcElement.form.submit();
	  form.submit();
	}
}

/**************
函数 ：触发某个对象的onclick事件。（兼容IE和FF）
用法: 
<input type="button" value="aaa" id="a" onclick=" alert('seekart') " />
<input type="button" value="触发ID为a的onclick事件" onclick=" HanderToClick('a') " />
**************/
function HanderToClick(objid){
	var obj=document.getElementById(objid);
	if(document.all){
		obj.fireEvent("onclick");
	}else{
	  	var e=document.createEvent('MouseEvent');
	  	e.initEvent('click',false,false);
	  	obj.dispatchEvent(e);
	}
}

/**************
JS记COOKIE购物车，注意和SHOWCAT.asp文件配合使用
用法:
<a href="javascript:AddCat()"
**************/
function Addcat(catid,number){
	if(number<=0) DeleteCookie("mycat"+catid);
	else SetCookie("mycat"+catid,catid+","+number);
	var cat=window.open("showcat.asp","cat","toolbar=no,menubar=no,location=no,status=no,scrollbars=yes,width=650,height=450"); 
}
function Deletecat(catid){
　　DeleteCookie("mycat"+catid);
　　var cat=window.open("showcat.asp","cat","toolbar=no,menubar=no,location=no,status=no,scrollbars=yes,width=650,height=450"); 
}
function SetCookie (name, value){
	var argc = SetCookie.arguments.length;
	var argv = SetCookie.arguments;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + value +((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain)) +((secure == true) ? "; secure" : "");
}
function DeleteCookie (name){
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var cval = GetCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

function Clearcookie(){ //清除COOKIE
	var temp=document.cookie.split(";");
	var loop3;
	var ts;
	for (loop3=0;loop3<temp.length;loop3++){
		ts=temp[loop3].split("=")[0];
		if (ts.indexOf('mycat')!=-1)
			DeleteCookie(ts); //如果ts含“mycat”则执行清除
		}
}

function getCookieVal (offset) { //取得项名称为offset的cookie值
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) { //取得名称为name的cookie值
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
			if (i == 0) break;
	}
	return null;
}


