/*
------------------------------------------------------------
* S.Sams Lifexperience
* CopyRight (C) 2003-2007 S.Sams Lifexperience ScriptClassLib
* MSNLive: S.Sams#msn.com
* Http://blog.8see.net/
* UPdate by : 2007-01-19
*----------------------------------------------------------- */
/* $ 获取指定对象
@element 对象名
可以使用对象名集合,返回值为对象的集合
如果您使用了 Prototype 类库, 请把该函数注释掉
Sams_object.Get() 中同样实现该函数的所有功能
*/
function $(element) {
if (arguments.length > 1 ) {
for ( var i = 0 , elements = [], length = arguments.length; i < length; i ++ )
elements.push($(arguments[i]));
return elements;
}
if ( typeof element == ' string ' )
element = document.getElementById(element);
return element;
}
// / 浏览器相关操作
var Sams_browse = {
/* 检测浏览信息 */
checkBrowser : function ()
{
this .ver = navigator.appVersion
this .dom = document.getElementById ? 1 : 0
this .ie6 = ( this .ver.indexOf( " MSIE 6 " ) >- 1 && this .dom) ? 1 : 0 ;
this .ie5 = ( this .ver.indexOf( " MSIE 5 " ) >- 1 && this .dom) ? 1 : 0 ;
this .ie4 = (document.all && ! this .dom) ? 1 : 0 ;
this .ns5 = ( this .dom && parseInt( this .ver) >= 5 ) ? 1 : 0 ;
this .ns4 = (document.layers && ! this .dom) ? 1 : 0 ;
this .mac = ( this .ver.indexOf( ' Mac ' ) > - 1 ) ? 1 : 0 ;
this .ope = (navigator.userAgent.indexOf( ' Opera ' ) >- 1 );
this .ie = ( this .ie6 || this .ie5 || this .ie4)
this .ns = ( this .ns4 || this .ns5)
this .bw = ( this .ie6 || this .ie5 || this .ie4 || this .ns5 || this .ns4 || this .mac || this .ope)
this .nbw = ( ! this .bw)
return this ;
},
/* 设为首页
@url 要设为首页的地址
*/
SetDefault : function ()
{
this .style.behavior = ' url(#default#homepage) ' ;
this .setHomePage( this .GetUrl());
return false ;
},
/* 复制指定URL地址
@Msg 要写入剪贴板的字符集
*/
SetCopy : function (Msg){
if (navigator.userAgent.toLowerCase().indexOf( ' ie ' ) > - 1 ) {
clipboardData.setData( ' Text ' ,Msg);
alert ( " 网址“ " + Msg + " ” 已经复制到您的剪贴板中您可以使用Ctrl+V快捷键粘贴到需要的地方 " );
}
else
{
prompt( " 请复制网站地址: " ,Msg);
}
},
/* 加入收藏
@site 站点名称
@url 地址
*/
AddBookmark : function (site, url){
if (navigator.userAgent.toLowerCase().indexOf( ' ie ' ) > - 1 ) {
window.external.addFavorite(url,site)
} else if (navigator.userAgent.toLowerCase().indexOf( ' opera ' ) > - 1 ) {
alert ( " 请使用Ctrl+T将本页加入收藏夹 " );
} else {
alert ( " 请使用Ctrl+D将本页加入收藏夹 " );
}
},
/* 打开Url指定宽度和高度的窗口 */
OpenWindows : function (url,width,height)
{
window.open(url, ' newwin ' , ' width= ' + width + ' ,height= ' + height);
return false ;
},
/* 禁止浏览器的Javascript错误提示 */
CloseError : function (){
window.onerror = function (){ return true ;};
},
/* 获取浏览器URL */
GetUrl : function (){
return location.href;
},
/* 获取URL参数 */
GetUrlParam : function (){
return location.search;
},
/* 获取页面来源 */
GetFrom : function (){
return document.referrer;
},
/* 获取指定的URL参数值
@name 参数名
*/
Request : function (name){
var GetUrl = this .GetUrl();
var Plist = new Array();
if (GetUrl.indexOf( ' ? ' ) > 0 )
{
Plist = GetUrl.split( ' ? ' )[ 1 ].split( ' & ' );
}
else if (GetUrl.indexOf( ' # ' ) > 0 )
{
Plist = GetUrl.split( ' # ' )[ 1 ].split( ' & ' );
}
if (GetUrl.length > 0 )
{
for ( var i = 0 ; i < Plist.length; i ++ )
{
var GetValue = Plist[i].split( ' = ' );
if (GetValue[ 0 ].toUpperCase() == name.toUpperCase())
{
return GetValue[ 1 ];
break ;
}
}
return ;
}
},
/* 直接将HTML写到新窗口
@title 标题
@msg 内容
*/
Popmsg : function PopIt(title,msg)
{
var popup = window.open( '' , ' popDialog ' , ' height=500,width=400,scrollbars=yes ' );
popup.document.write( ' <html><title> ' + title + ' </title><style>body{margin:10px;font:13px Arial;}span{text-line:20px;}</style><body><span style='font:14px arial;'> ' + msg + ' </span></body></html> ' );
popup.document.close();
}
};
// / 对象操作
var Sams_object = {
/* 创建一个DIV对象
@ID 要创建的对象ID
@ClassName 创建对象的Class
@SetValue 设置该对象值
@ToDiv 将对象追加到指定的对象,如指定的对象不存在,则追加在Body的后面
返回 创建后的对象
*/
CreateDiv : function (ID,ClassName,SetValue,ToDiv){
var creatediv = document.createElement( ' div ' );
if (ID != null ) creatediv.id = ID;
creatediv.style.position = ' absolute ' ;
if (ClassName != null ) creatediv.className = ClassName;
if ( this .Get(ToDiv))
{
this .Get(ToDiv).appendChild(creatediv);
}
else
{
document.getElementsByTagName( ' body ' )[ 0 ].appendChild(creatediv);
}
this .SetValue(ID,SetValue);
return this .Get(ID);
},
/* 删除指定DIV对象
@objid 要删除的对象ID
返回 Bool 操作结果
*/
DeleteDiv : function (objid)
{
try
{
if ( this .Get(objid))
{
var GetParent = this .Get(objid).parentNode;
GetParent.removeChild( this .Get(objid));
return true ;
}
else
{
return false ;
}
}
catch (e)
{
return false ;
}
},
/* 获取浏览器对象
@id 要获取的对象ID
可以使用对象名集合,返回值为对象的集合
*/
Get : function (objid) {
if (arguments.length > 1 ) {
for ( var i = 0 , objids = [], length = arguments.length; i < length; i ++ )
objids.push( this .Get(arguments[i]));
return objids;
}
if ( typeof objid == ' string ' )
{
if (document.getElementById) {
objid = document.getElementById(objid);
} else if (document.all) {
objid = document.all[objid];
} else if (document.layers) {
objid = document.layers[objid];
}
}
return objid;
},
/* 获取对象的值
@objid 对象ID
*/
GetValue : function (objid) {
if ( typeof objid == ' string ' )
{
var getTagName = this .Get(objid).tagName.toLowerCase();
if (getTagName == ' input ' || getTagName == ' textarea ' || getTagName == ' select ' )
{
return this .Get(objid).value;
}
else if (getTagName == ' div ' || getTagName == ' span ' )
{
return this .Get(objid).innerText;
}
}
else if ( typeof objid == ' object ' )
{
return objid.value;
}
},
/* 设置指定对象的值,实现可以直接赋值或清除操作
@objid 对象ID
@inserValue 传入值(可选项 Null:清除该ID的值, 则直接赋值)
*/
SetValue: function (objid,inserValue) {
var getTagName = this .Get(objid).tagName.toLowerCase();
if (inserValue == null ) inserValue = '' ;
if (getTagName == ' input ' || getTagName == ' textarea ' )
{
this .Get(objid).value = inserValue;
}
else if (getTagName == ' div ' || getTagName == ' sapn ' )
{
this .Get(objid).innerText = inserValue;
}
},
/* 拷贝对象值到剪贴板
@str 对象值
*/
CopyCode : function (str) {
var rng = document.body.createTextRange();
rng.moveToElementText(str);
rng.scrollIntoView();
rng.select();
rng.execCommand( " Copy " );
rng.collapse( false );
},
/* 显示隐藏一个对象
@Objid 对象ID
@isshow 具体操作,指定Obj为False : none或者True : block (可选)
*/
ShowHidd : function (objid,isshow){
if (isshow != null )
{
if (isshow)
{
this .Get(objid).style.display = ' block ' ;
}
else
{
this .Get(objid).style.display = ' none ' ;
}
}
else
{
if ( this .Get(objid).style.display == ' none ' )
{
this .Get(objid).style.display = ' block ' ;
}
else
{
this .Get(objid).style.display = ' none ' ;
}
}
},
/* 当前对象是否可见
@objid 对象ID
*/
IsVisible : function (objid){
if ( this .Get(objid))
{
try
{
if ( this .Get(objid).style.display == ' none ' )
{
return false
}
if ( this .Get(objid).style.visibility == ' hidden ' )
{
return false ;
}
return true ;
}
catch (e)
{
return false ;
}
}
else
{
return false ;
}
}
};
// / 字符处理
var Sams_string = {
/* 取左边的指定长度的值
@str 要处理的字符集
@n 长度
*/
Left : function (str,n)
{
if (str.length > 0 )
{
if (n > str.length) n = str.length;
return str.substr( 0 ,n)
}
else
{
return ;
}
},
/* 取右边的指定长度的值
@str 要处理的字符集
@n 长度
*/
Right : function (str,n)
{
if (str.length > 0 )
{
if (n >= str.length) return str;
return str.substr(str.length - n,n);
}
else
{
return ;
}
},
/* Trim:清除两边空格
@str 要处理的字符集
*/
Trim : function (str)
{
if ( typeof str == ' string ' ) return str.replace( / ( ^ s * ) | (s * $) / g, '' );
},
/* LTrim:清除左边的空格
@str 要处理的字符集
*/
Ltrim : function (str)
{
if ( typeof str == ' string ' ) return str.replace( / ( ^ s * ) / g, '' );
},
/* RTrim: 清除右边的空格
@str 要处理的字符集
*/
Rtrim : function (str)
{
if ( typeof str == ' string ' ) return str.replace( / (s * $) / g, '' );
},
/* 清除前后的非字符
@str 要处理的字符集
*/
strip : function (str) {
if ( typeof str == ' string ' ) return str.replace( /^ s +/ , '' ).replace( / ( ^ s * ) | (s * $) / g, '' );
},
/* 过滤字符里面的HTML标签
@str 要处理的字符集
*/
stripTags : function (str) {
if ( typeof str == ' string ' ) return str.replace( /< /? [ ^> ] +>/ gi, '' ).replace( / ( ^ s * ) | (s * $) / g, '' );
}
};
// / 时间相关操作
var Sams_time = {
/* 获取当天日期 yyyy-MM-dd */
GetDateNow : function (){
var d,y,m,dd;
d = new Date();
y = d.getYear();
m = d.getMonth() + 1 ;
dd = d.getDate();
return y + " - " + m + " - " + dd;
},
/* 获取指定日期后的特定天数的日期值
@toDate 当前指定的日期
@N 要添加的日期数
*/
AddDays : function (toDate,N){
var aDate = this ._cvtISOToDate(toDate);
if ( ! aDate) return "" ;
var millis = 86400000 * N;
aDate = new Date(aDate.getTime() + millis);
return this ._fmtDateISO(aDate);
},
_fmtDateISO : function (aDate) {
with (aDate) {
var mm = getMonth() + 1 ;
if (mm < 10 ) {mm = ' 0 ' + mm;}
var dd = getDate();
if (dd < 10 ) {dd = ' 0 ' + dd;}
return (getFullYear() + ' - ' + mm + ' - ' + dd);
}
},
_cvtISOToDate : function (isoDate) {
var atomDate = isoDate.split( ' - ' );
var aDate = new Date(parseInt(atomDate[ 0 ], 10 ),parseInt(atomDate[ 1 ], 10 ) - 1 ,parseInt(atomDate[ 2 ], 10 ), 6 , 0 , 0 );
return aDate;
}
};
// / 图像相关操作
var Sams_media = {
/* 为单一图像添加鼠标中键放大缩小功能, 批量可以直接用 ResizeImage(指定添加该功能的图片大小:Int) 即可 (该功能只适用于IE)
objid 对象ID
*/
ZoomFun : function (objid){
Sams_object.Get(objid).onmousewheel = function (){ return Sams_media.imagecontrol( this );}
},
/* 重置图片尺寸同时添加放大功能 (该功能只适用于IE)
@IntSize 指定图像的大小
如果适合图像大小就添加放大缩小功能
*/
ResizeImage: function (IntSize) {
var imgsinlog = document.getElementsByTagName( ' img ' );
for (j = 0 ; j < imgsinlog.length; j ++ ) {
if (imgsinlog[j].width >= IntSize) {
imgsinlog[j].width = IntSize;
imgsinlog[j].style.cursor = ' pointer ' ;
imgsinlog[j].onclick = function () {window.open( this .src);}
if (navigator.userAgent.toLowerCase().indexOf( ' ie ' ) > - 1 ) {
imgsinlog[j].title = ' 您可以用鼠标中键或者使用Ctrl+鼠标滚轮缩放图片,点击图片可在新窗口打开 ' ;
imgsinlog[j].onmousewheel = function (){ return Sams_media.imagecontrol( this );};
}
else
{
imgsinlog[j].title = ' 点击图片可在新窗口打开 ' ;
}
}
}
},
imagecontrol : function (obj){
var zoom = parseInt(obj.style.zoom, 10 ) || 100 ;zoom += event.wheelDelta / 12 ;
if (zoom > 0 ) obj.style.zoom = zoom + ' % ' ;
return false ;
},
/* 如果图像出现下载不了等异常,显示的错误提示图片
@errimgpath 显示错误提示的图像路径
*/
ImagesError : function (errimgpath){
var imglist = document.getElementsByTagName( ' img ' );
for (j = 0 ; j < imglist.length; j ++ ) {
imglist[j].onerror = function (){
this .src = errimgpath;
}
}
},
/* 显示媒体
@mFile 文件路径
@mFileType 文件类型(可为空,如为Flash,要指定为swf类型)
@ObjID 对象ID
@mWidth 显示的对象宽度
@mHeight 显示对象的高度
注: 可以指定对象的ID, 如果ID不存在,会自动创建,追加在Body后面
*/
ShowMedia : function (mFile, mFileType, ObjID, mWidth, mHeight) {
var mediaStr;
switch (mFileType){
case " swf " :
mediaStr = " <object codeBase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width=' " + mWidth + " ' height=' " + mHeight + " '><param name='movie' value=' " + mFile + " '><param name='quality' value='high'><param name='AllowScriptAccess' value='never'><embed src=' " + mFile + " ' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=' " + mWidth + " ' height=' " + mHeight + " '></embed></OBJECT> " ;
break ;
default :
mediaStr = " <object width=' " + mWidth + " ' height=' " + mHeight + " ' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'><param name='url' value=' " + mFile + " ' /><embed width=' " + mWidth + " ' height=' " + mHeight + " ' type='application/x-mplayer2' src=' " + mFile + " '></embed></object> " ;
}
var mediaDiv = Sams_object.Get(ObjID);
if (mediaDiv) {
mediaDiv.innerHTML = mediaStr;
}
else
{
mediaDiv = document.createElement( " div " );
mediaDiv.id = ObjID;
mediaDiv.innerHTML = mediaStr;
document.getElementsByTagName( ' body ' )[ 0 ].appendChild(mediaDiv);
}
return false ;
}
};
// / 样式相关操作
var Sams_style = {
/* 改变字体大小
@objid 对象ID
@size 字号
*/
doZoom : function (objid,size){
Sams_object.Get(objid).style.fontSize = size + ' px ' ;
},
/* 改变指定对象样式
@objid 对象ID
@className 要更改的ClassName
*/
ClassName: function (objid, className) {
Sams_object.Get(objid).className = className;
},
/* 对象定位
@obj 要定位的对象
返回 X.Y 结果的数组对象
*/
GotoXY : function (obj) {
var t = obj.offsetTop;
var l = obj.offsetLeft;
while (obj = obj.offsetParent){
t += obj.offsetTop;
l += obj.offsetLeft;
}
return Array(t,l);
}
};
// / 科学计算
var Sams_account = {
/* 逢1进10计算
@ 数值
*/
GetTen: function (i)
{
var items_One,Get_One;
if (i.length > 1 && ( /^ d + $ / .test(i)))
{
items_One = i.substr( 0 ,i.length - 1 );
Get_One = i.substr(i.length - 1 , 1 );
if (parseInt(Get_One) > 0 )
{
items_One = parseInt(items_One) + 1 ;
items_One = items_One + ' 0 ' ;
}
else
{
items_One = items_One + ' 0 ' ;
}
}
else
{
items_One = i;
}
return items_One;
}
};
// / 数据验证(所有数值返回值均为Bool型)
var Sams_validate = {
/* 是否是数字型数据
@str 字符集
*/
IsNumber : function (str){
if ( /^ d + $ / .test(str)){ return true ;} else { return false ;}
},
/* 是否是数字型数据
@objid 对象ID
*/
IsNumberObj : function (objid){
return this .IsNumber(Sams_object.GetValue(objid));
},
/* 是否是自然数型数据
@str 字符集
*/
IsInt : function (str){
if ( /^ ( +|- ) ? d + $ / .test(str)){ return true ;} else { return false ;}
},
/* 是否是自然数型数据
@objid 对象ID
*/
IsIntObj : function (objid){
return this .IsInt(Sams_object.GetValue(objid));
},
/* 是否是中文字符
@str 字符集
*/
IsChinese : function (str)
{
if ( /^ [一 - 龥] + $ / .test(str)){ return true ;} else { return false ;}
},
/* 是否是中文字符
@objid 对象ID
*/
IsChineseObj : function (objid)
{
return this .IsChinese(Sams_object.GetValue(objid));
},
/* 是否为英文字母
@str 字符集
*/
IsLower : function (str)
{
if ( /^ [A - Za - z] + $ / .test(str)){ return true } else { return false ;}
},
/* 是否为英文字母
@objid 对象ID
*/
IsLowerObj : function (objid)
{
return this .IsLower(Sams_object.GetValue(objid));
},
/* 是否为正确的网址
@str 字符集
*/
IsUrl : function (str)
{
var myReg = /^ ((http:[ / ][ / ]) ? w + ([.]w +| [ / ]w * ) * ) ? $ / ;
if (myReg.test(str)){ return true ;} else { return false ;}
},
/* 是否为正确的网址
@objid 对象ID
*/
IsUrlObj : function (objid)
{
return this .IsUrl(Sams_object.GetValue(objid));
},
/* 是否为正确的Email形式
@str 字符集
*/
IsEmail : function (str)
{
var myReg = /^ ([ - _A - Za - z0 - 9 .] + )@([_A - Za - z0 - 9 ] + .) + [A - Za - z0 - 9 ]{ 2 , 3 }$ / ;
if (myReg.test(str)){ return true ;} else { return false ;}
},
/* 是否为正确的Email形式
@objid 对象ID
*/
IsEmailObj : function (objid)
{
return this .IsEmail(Sams_object.GetValue(objid));
},
/* 是否为正确的手机号码
@str 字符集
*/
IsMobile : function (str)
{
var regu =/ ( ^ [ 1 ][ 3 ][ 0 - 9 ]{ 9 }$) | ( ^ 0 [ 1 ][ 3 ][ 0 - 9 ]{ 9 }$) / ;
var re = new RegExp(regu);
if (re.test(str)){ return true ;} else { return false ;}
},
/* 是否为正确的手机号码
@objid 对象ID
*/
IsMobileObj : function (objid)
{
return this .IsMobile(Sams_object.GetValue(objid));
}
};
/*
实现Ajax功能
Sams_ajax.SendRequest('GET', url, null, recall, "addtohome");
Sams_ajax.SendRequest('GET', url, null, null);
obj.responseText;
*/
var Sams_ajax = {
_objPool: [],
_getInstance: function (){
for ( var i = 0 ; i < this ._objPool.length; i ++ ){
if ( this ._objPool[i].readyState == 0 || this ._objPool[i].readyState == 4 ){
return this ._objPool[i];
}
}
this ._objPool[ this ._objPool.length] = this ._createObj();
return this ._objPool[ this ._objPool.length - 1 ];
},
_createObj : function (){
if (window.XMLHttpRequest){
var objXMLHttp = new XMLHttpRequest();
}
else {
var MSXML = [ ' MSXML2.XMLHTTP.5.0 ' , ' MSXML2.XMLHTTP.4.0 ' , ' MSXML2.XMLHTTP.3.0 ' , ' MSXML2.XMLHTTP ' , ' Microsoft.XMLHTTP ' ];
for ( var n = 0 ; n < MSXML.length; n ++ ){
try {
var objXMLHttp = new ActiveXObject(MSXML[n]);
break ;
}
catch (e){
}
}
}
if (objXMLHttp.readyState == null ){
objXMLHttp.readyState = 0 ;
objXMLHttp.addEventListener( " load " , function (){
objXMLHttp.readyState = 4 ;
if ( typeof objXMLHttp.onreadystatechange == " function " ){
objXMLHttp.onreadystatechange();
}
}, false );
}
return objXMLHttp;
},
// / 开始发送请求
SendRequest : function (method, url, data, callback,funparam,funparam2){
var objXMLHttp = this ._getInstance();
with (objXMLHttp){
try {
if (url.indexOf( " ? " ) > 0 ){
url += " &randnum= " + Math.random();
}
else {
url += " ?randnum= " + Math.random();
}
open(method, url, true );
setRequestHeader( ' Content-Type ' , ' application/x-www-form-urlencoded; charset=UTF-8 ' );
send(data);
onreadystatechange = function (){
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304 ))
{
callback(objXMLHttp,funparam,funparam2);
} else {
callback( null ,funparam,funparam2);
}
}
}
catch (e){
alert(e);
}
}
}
};
// / Cookies操作
var Sams_cookies = {
/* cookies设置函数
@name Cookies名称
@value 值
*/
setCookie : function (name, value)
{
try
{
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var expires = (argc > 2 ) ? argv[ 2 ] : null ;
if (expires != null )
{
var LargeExpDate = new Date ();
LargeExpDate.setTime(LargeExpDate.getTime() + (expires * 1000 * 3600 * 24 ));
}
document.cookie = name + " = " + escape (value) + ((expires == null ) ? "" : ( " ; expires= " + LargeExpDate.toGMTString()));
return true ;
}
catch (e)
{
return false ;
}
},
/* cookies读取函数
@Name Cookies名称
返回值 Cookies值
*/
getCookie : function (Name)
{
var search = Name + " = "
if (document.cookie.length > 0 )
{
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 ;
}
}
}
};
* S.Sams Lifexperience
* CopyRight (C) 2003-2007 S.Sams Lifexperience ScriptClassLib
* MSNLive: S.Sams#msn.com
* Http://blog.8see.net/
* UPdate by : 2007-01-19
*----------------------------------------------------------- */
/* $ 获取指定对象
@element 对象名
可以使用对象名集合,返回值为对象的集合
如果您使用了 Prototype 类库, 请把该函数注释掉
Sams_object.Get() 中同样实现该函数的所有功能
*/
function $(element) {
if (arguments.length > 1 ) {
for ( var i = 0 , elements = [], length = arguments.length; i < length; i ++ )
elements.push($(arguments[i]));
return elements;
}
if ( typeof element == ' string ' )
element = document.getElementById(element);
return element;
}
// / 浏览器相关操作
var Sams_browse = {
/* 检测浏览信息 */
checkBrowser : function ()
{
this .ver = navigator.appVersion
this .dom = document.getElementById ? 1 : 0
this .ie6 = ( this .ver.indexOf( " MSIE 6 " ) >- 1 && this .dom) ? 1 : 0 ;
this .ie5 = ( this .ver.indexOf( " MSIE 5 " ) >- 1 && this .dom) ? 1 : 0 ;
this .ie4 = (document.all && ! this .dom) ? 1 : 0 ;
this .ns5 = ( this .dom && parseInt( this .ver) >= 5 ) ? 1 : 0 ;
this .ns4 = (document.layers && ! this .dom) ? 1 : 0 ;
this .mac = ( this .ver.indexOf( ' Mac ' ) > - 1 ) ? 1 : 0 ;
this .ope = (navigator.userAgent.indexOf( ' Opera ' ) >- 1 );
this .ie = ( this .ie6 || this .ie5 || this .ie4)
this .ns = ( this .ns4 || this .ns5)
this .bw = ( this .ie6 || this .ie5 || this .ie4 || this .ns5 || this .ns4 || this .mac || this .ope)
this .nbw = ( ! this .bw)
return this ;
},
/* 设为首页
@url 要设为首页的地址
*/
SetDefault : function ()
{
this .style.behavior = ' url(#default#homepage) ' ;
this .setHomePage( this .GetUrl());
return false ;
},
/* 复制指定URL地址
@Msg 要写入剪贴板的字符集
*/
SetCopy : function (Msg){
if (navigator.userAgent.toLowerCase().indexOf( ' ie ' ) > - 1 ) {
clipboardData.setData( ' Text ' ,Msg);
alert ( " 网址“ " + Msg + " ” 已经复制到您的剪贴板中您可以使用Ctrl+V快捷键粘贴到需要的地方 " );
}
else
{
prompt( " 请复制网站地址: " ,Msg);
}
},
/* 加入收藏
@site 站点名称
@url 地址
*/
AddBookmark : function (site, url){
if (navigator.userAgent.toLowerCase().indexOf( ' ie ' ) > - 1 ) {
window.external.addFavorite(url,site)
} else if (navigator.userAgent.toLowerCase().indexOf( ' opera ' ) > - 1 ) {
alert ( " 请使用Ctrl+T将本页加入收藏夹 " );
} else {
alert ( " 请使用Ctrl+D将本页加入收藏夹 " );
}
},
/* 打开Url指定宽度和高度的窗口 */
OpenWindows : function (url,width,height)
{
window.open(url, ' newwin ' , ' width= ' + width + ' ,height= ' + height);
return false ;
},
/* 禁止浏览器的Javascript错误提示 */
CloseError : function (){
window.onerror = function (){ return true ;};
},
/* 获取浏览器URL */
GetUrl : function (){
return location.href;
},
/* 获取URL参数 */
GetUrlParam : function (){
return location.search;
},
/* 获取页面来源 */
GetFrom : function (){
return document.referrer;
},
/* 获取指定的URL参数值
@name 参数名
*/
Request : function (name){
var GetUrl = this .GetUrl();
var Plist = new Array();
if (GetUrl.indexOf( ' ? ' ) > 0 )
{
Plist = GetUrl.split( ' ? ' )[ 1 ].split( ' & ' );
}
else if (GetUrl.indexOf( ' # ' ) > 0 )
{
Plist = GetUrl.split( ' # ' )[ 1 ].split( ' & ' );
}
if (GetUrl.length > 0 )
{
for ( var i = 0 ; i < Plist.length; i ++ )
{
var GetValue = Plist[i].split( ' = ' );
if (GetValue[ 0 ].toUpperCase() == name.toUpperCase())
{
return GetValue[ 1 ];
break ;
}
}
return ;
}
},
/* 直接将HTML写到新窗口
@title 标题
@msg 内容
*/
Popmsg : function PopIt(title,msg)
{
var popup = window.open( '' , ' popDialog ' , ' height=500,width=400,scrollbars=yes ' );
popup.document.write( ' <html><title> ' + title + ' </title><style>body{margin:10px;font:13px Arial;}span{text-line:20px;}</style><body><span style='font:14px arial;'> ' + msg + ' </span></body></html> ' );
popup.document.close();
}
};
// / 对象操作
var Sams_object = {
/* 创建一个DIV对象
@ID 要创建的对象ID
@ClassName 创建对象的Class
@SetValue 设置该对象值
@ToDiv 将对象追加到指定的对象,如指定的对象不存在,则追加在Body的后面
返回 创建后的对象
*/
CreateDiv : function (ID,ClassName,SetValue,ToDiv){
var creatediv = document.createElement( ' div ' );
if (ID != null ) creatediv.id = ID;
creatediv.style.position = ' absolute ' ;
if (ClassName != null ) creatediv.className = ClassName;
if ( this .Get(ToDiv))
{
this .Get(ToDiv).appendChild(creatediv);
}
else
{
document.getElementsByTagName( ' body ' )[ 0 ].appendChild(creatediv);
}
this .SetValue(ID,SetValue);
return this .Get(ID);
},
/* 删除指定DIV对象
@objid 要删除的对象ID
返回 Bool 操作结果
*/
DeleteDiv : function (objid)
{
try
{
if ( this .Get(objid))
{
var GetParent = this .Get(objid).parentNode;
GetParent.removeChild( this .Get(objid));
return true ;
}
else
{
return false ;
}
}
catch (e)
{
return false ;
}
},
/* 获取浏览器对象
@id 要获取的对象ID
可以使用对象名集合,返回值为对象的集合
*/
Get : function (objid) {
if (arguments.length > 1 ) {
for ( var i = 0 , objids = [], length = arguments.length; i < length; i ++ )
objids.push( this .Get(arguments[i]));
return objids;
}
if ( typeof objid == ' string ' )
{
if (document.getElementById) {
objid = document.getElementById(objid);
} else if (document.all) {
objid = document.all[objid];
} else if (document.layers) {
objid = document.layers[objid];
}
}
return objid;
},
/* 获取对象的值
@objid 对象ID
*/
GetValue : function (objid) {
if ( typeof objid == ' string ' )
{
var getTagName = this .Get(objid).tagName.toLowerCase();
if (getTagName == ' input ' || getTagName == ' textarea ' || getTagName == ' select ' )
{
return this .Get(objid).value;
}
else if (getTagName == ' div ' || getTagName == ' span ' )
{
return this .Get(objid).innerText;
}
}
else if ( typeof objid == ' object ' )
{
return objid.value;
}
},
/* 设置指定对象的值,实现可以直接赋值或清除操作
@objid 对象ID
@inserValue 传入值(可选项 Null:清除该ID的值, 则直接赋值)
*/
SetValue: function (objid,inserValue) {
var getTagName = this .Get(objid).tagName.toLowerCase();
if (inserValue == null ) inserValue = '' ;
if (getTagName == ' input ' || getTagName == ' textarea ' )
{
this .Get(objid).value = inserValue;
}
else if (getTagName == ' div ' || getTagName == ' sapn ' )
{
this .Get(objid).innerText = inserValue;
}
},
/* 拷贝对象值到剪贴板
@str 对象值
*/
CopyCode : function (str) {
var rng = document.body.createTextRange();
rng.moveToElementText(str);
rng.scrollIntoView();
rng.select();
rng.execCommand( " Copy " );
rng.collapse( false );
},
/* 显示隐藏一个对象
@Objid 对象ID
@isshow 具体操作,指定Obj为False : none或者True : block (可选)
*/
ShowHidd : function (objid,isshow){
if (isshow != null )
{
if (isshow)
{
this .Get(objid).style.display = ' block ' ;
}
else
{
this .Get(objid).style.display = ' none ' ;
}
}
else
{
if ( this .Get(objid).style.display == ' none ' )
{
this .Get(objid).style.display = ' block ' ;
}
else
{
this .Get(objid).style.display = ' none ' ;
}
}
},
/* 当前对象是否可见
@objid 对象ID
*/
IsVisible : function (objid){
if ( this .Get(objid))
{
try
{
if ( this .Get(objid).style.display == ' none ' )
{
return false
}
if ( this .Get(objid).style.visibility == ' hidden ' )
{
return false ;
}
return true ;
}
catch (e)
{
return false ;
}
}
else
{
return false ;
}
}
};
// / 字符处理
var Sams_string = {
/* 取左边的指定长度的值
@str 要处理的字符集
@n 长度
*/
Left : function (str,n)
{
if (str.length > 0 )
{
if (n > str.length) n = str.length;
return str.substr( 0 ,n)
}
else
{
return ;
}
},
/* 取右边的指定长度的值
@str 要处理的字符集
@n 长度
*/
Right : function (str,n)
{
if (str.length > 0 )
{
if (n >= str.length) return str;
return str.substr(str.length - n,n);
}
else
{
return ;
}
},
/* Trim:清除两边空格
@str 要处理的字符集
*/
Trim : function (str)
{
if ( typeof str == ' string ' ) return str.replace( / ( ^ s * ) | (s * $) / g, '' );
},
/* LTrim:清除左边的空格
@str 要处理的字符集
*/
Ltrim : function (str)
{
if ( typeof str == ' string ' ) return str.replace( / ( ^ s * ) / g, '' );
},
/* RTrim: 清除右边的空格
@str 要处理的字符集
*/
Rtrim : function (str)
{
if ( typeof str == ' string ' ) return str.replace( / (s * $) / g, '' );
},
/* 清除前后的非字符
@str 要处理的字符集
*/
strip : function (str) {
if ( typeof str == ' string ' ) return str.replace( /^ s +/ , '' ).replace( / ( ^ s * ) | (s * $) / g, '' );
},
/* 过滤字符里面的HTML标签
@str 要处理的字符集
*/
stripTags : function (str) {
if ( typeof str == ' string ' ) return str.replace( /< /? [ ^> ] +>/ gi, '' ).replace( / ( ^ s * ) | (s * $) / g, '' );
}
};
// / 时间相关操作
var Sams_time = {
/* 获取当天日期 yyyy-MM-dd */
GetDateNow : function (){
var d,y,m,dd;
d = new Date();
y = d.getYear();
m = d.getMonth() + 1 ;
dd = d.getDate();
return y + " - " + m + " - " + dd;
},
/* 获取指定日期后的特定天数的日期值
@toDate 当前指定的日期
@N 要添加的日期数
*/
AddDays : function (toDate,N){
var aDate = this ._cvtISOToDate(toDate);
if ( ! aDate) return "" ;
var millis = 86400000 * N;
aDate = new Date(aDate.getTime() + millis);
return this ._fmtDateISO(aDate);
},
_fmtDateISO : function (aDate) {
with (aDate) {
var mm = getMonth() + 1 ;
if (mm < 10 ) {mm = ' 0 ' + mm;}
var dd = getDate();
if (dd < 10 ) {dd = ' 0 ' + dd;}
return (getFullYear() + ' - ' + mm + ' - ' + dd);
}
},
_cvtISOToDate : function (isoDate) {
var atomDate = isoDate.split( ' - ' );
var aDate = new Date(parseInt(atomDate[ 0 ], 10 ),parseInt(atomDate[ 1 ], 10 ) - 1 ,parseInt(atomDate[ 2 ], 10 ), 6 , 0 , 0 );
return aDate;
}
};
// / 图像相关操作
var Sams_media = {
/* 为单一图像添加鼠标中键放大缩小功能, 批量可以直接用 ResizeImage(指定添加该功能的图片大小:Int) 即可 (该功能只适用于IE)
objid 对象ID
*/
ZoomFun : function (objid){
Sams_object.Get(objid).onmousewheel = function (){ return Sams_media.imagecontrol( this );}
},
/* 重置图片尺寸同时添加放大功能 (该功能只适用于IE)
@IntSize 指定图像的大小
如果适合图像大小就添加放大缩小功能
*/
ResizeImage: function (IntSize) {
var imgsinlog = document.getElementsByTagName( ' img ' );
for (j = 0 ; j < imgsinlog.length; j ++ ) {
if (imgsinlog[j].width >= IntSize) {
imgsinlog[j].width = IntSize;
imgsinlog[j].style.cursor = ' pointer ' ;
imgsinlog[j].onclick = function () {window.open( this .src);}
if (navigator.userAgent.toLowerCase().indexOf( ' ie ' ) > - 1 ) {
imgsinlog[j].title = ' 您可以用鼠标中键或者使用Ctrl+鼠标滚轮缩放图片,点击图片可在新窗口打开 ' ;
imgsinlog[j].onmousewheel = function (){ return Sams_media.imagecontrol( this );};
}
else
{
imgsinlog[j].title = ' 点击图片可在新窗口打开 ' ;
}
}
}
},
imagecontrol : function (obj){
var zoom = parseInt(obj.style.zoom, 10 ) || 100 ;zoom += event.wheelDelta / 12 ;
if (zoom > 0 ) obj.style.zoom = zoom + ' % ' ;
return false ;
},
/* 如果图像出现下载不了等异常,显示的错误提示图片
@errimgpath 显示错误提示的图像路径
*/
ImagesError : function (errimgpath){
var imglist = document.getElementsByTagName( ' img ' );
for (j = 0 ; j < imglist.length; j ++ ) {
imglist[j].onerror = function (){
this .src = errimgpath;
}
}
},
/* 显示媒体
@mFile 文件路径
@mFileType 文件类型(可为空,如为Flash,要指定为swf类型)
@ObjID 对象ID
@mWidth 显示的对象宽度
@mHeight 显示对象的高度
注: 可以指定对象的ID, 如果ID不存在,会自动创建,追加在Body后面
*/
ShowMedia : function (mFile, mFileType, ObjID, mWidth, mHeight) {
var mediaStr;
switch (mFileType){
case " swf " :
mediaStr = " <object codeBase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width=' " + mWidth + " ' height=' " + mHeight + " '><param name='movie' value=' " + mFile + " '><param name='quality' value='high'><param name='AllowScriptAccess' value='never'><embed src=' " + mFile + " ' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width=' " + mWidth + " ' height=' " + mHeight + " '></embed></OBJECT> " ;
break ;
default :
mediaStr = " <object width=' " + mWidth + " ' height=' " + mHeight + " ' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'><param name='url' value=' " + mFile + " ' /><embed width=' " + mWidth + " ' height=' " + mHeight + " ' type='application/x-mplayer2' src=' " + mFile + " '></embed></object> " ;
}
var mediaDiv = Sams_object.Get(ObjID);
if (mediaDiv) {
mediaDiv.innerHTML = mediaStr;
}
else
{
mediaDiv = document.createElement( " div " );
mediaDiv.id = ObjID;
mediaDiv.innerHTML = mediaStr;
document.getElementsByTagName( ' body ' )[ 0 ].appendChild(mediaDiv);
}
return false ;
}
};
// / 样式相关操作
var Sams_style = {
/* 改变字体大小
@objid 对象ID
@size 字号
*/
doZoom : function (objid,size){
Sams_object.Get(objid).style.fontSize = size + ' px ' ;
},
/* 改变指定对象样式
@objid 对象ID
@className 要更改的ClassName
*/
ClassName: function (objid, className) {
Sams_object.Get(objid).className = className;
},
/* 对象定位
@obj 要定位的对象
返回 X.Y 结果的数组对象
*/
GotoXY : function (obj) {
var t = obj.offsetTop;
var l = obj.offsetLeft;
while (obj = obj.offsetParent){
t += obj.offsetTop;
l += obj.offsetLeft;
}
return Array(t,l);
}
};
// / 科学计算
var Sams_account = {
/* 逢1进10计算
@ 数值
*/
GetTen: function (i)
{
var items_One,Get_One;
if (i.length > 1 && ( /^ d + $ / .test(i)))
{
items_One = i.substr( 0 ,i.length - 1 );
Get_One = i.substr(i.length - 1 , 1 );
if (parseInt(Get_One) > 0 )
{
items_One = parseInt(items_One) + 1 ;
items_One = items_One + ' 0 ' ;
}
else
{
items_One = items_One + ' 0 ' ;
}
}
else
{
items_One = i;
}
return items_One;
}
};
// / 数据验证(所有数值返回值均为Bool型)
var Sams_validate = {
/* 是否是数字型数据
@str 字符集
*/
IsNumber : function (str){
if ( /^ d + $ / .test(str)){ return true ;} else { return false ;}
},
/* 是否是数字型数据
@objid 对象ID
*/
IsNumberObj : function (objid){
return this .IsNumber(Sams_object.GetValue(objid));
},
/* 是否是自然数型数据
@str 字符集
*/
IsInt : function (str){
if ( /^ ( +|- ) ? d + $ / .test(str)){ return true ;} else { return false ;}
},
/* 是否是自然数型数据
@objid 对象ID
*/
IsIntObj : function (objid){
return this .IsInt(Sams_object.GetValue(objid));
},
/* 是否是中文字符
@str 字符集
*/
IsChinese : function (str)
{
if ( /^ [一 - 龥] + $ / .test(str)){ return true ;} else { return false ;}
},
/* 是否是中文字符
@objid 对象ID
*/
IsChineseObj : function (objid)
{
return this .IsChinese(Sams_object.GetValue(objid));
},
/* 是否为英文字母
@str 字符集
*/
IsLower : function (str)
{
if ( /^ [A - Za - z] + $ / .test(str)){ return true } else { return false ;}
},
/* 是否为英文字母
@objid 对象ID
*/
IsLowerObj : function (objid)
{
return this .IsLower(Sams_object.GetValue(objid));
},
/* 是否为正确的网址
@str 字符集
*/
IsUrl : function (str)
{
var myReg = /^ ((http:[ / ][ / ]) ? w + ([.]w +| [ / ]w * ) * ) ? $ / ;
if (myReg.test(str)){ return true ;} else { return false ;}
},
/* 是否为正确的网址
@objid 对象ID
*/
IsUrlObj : function (objid)
{
return this .IsUrl(Sams_object.GetValue(objid));
},
/* 是否为正确的Email形式
@str 字符集
*/
IsEmail : function (str)
{
var myReg = /^ ([ - _A - Za - z0 - 9 .] + )@([_A - Za - z0 - 9 ] + .) + [A - Za - z0 - 9 ]{ 2 , 3 }$ / ;
if (myReg.test(str)){ return true ;} else { return false ;}
},
/* 是否为正确的Email形式
@objid 对象ID
*/
IsEmailObj : function (objid)
{
return this .IsEmail(Sams_object.GetValue(objid));
},
/* 是否为正确的手机号码
@str 字符集
*/
IsMobile : function (str)
{
var regu =/ ( ^ [ 1 ][ 3 ][ 0 - 9 ]{ 9 }$) | ( ^ 0 [ 1 ][ 3 ][ 0 - 9 ]{ 9 }$) / ;
var re = new RegExp(regu);
if (re.test(str)){ return true ;} else { return false ;}
},
/* 是否为正确的手机号码
@objid 对象ID
*/
IsMobileObj : function (objid)
{
return this .IsMobile(Sams_object.GetValue(objid));
}
};
/*
实现Ajax功能
Sams_ajax.SendRequest('GET', url, null, recall, "addtohome");
Sams_ajax.SendRequest('GET', url, null, null);
obj.responseText;
*/
var Sams_ajax = {
_objPool: [],
_getInstance: function (){
for ( var i = 0 ; i < this ._objPool.length; i ++ ){
if ( this ._objPool[i].readyState == 0 || this ._objPool[i].readyState == 4 ){
return this ._objPool[i];
}
}
this ._objPool[ this ._objPool.length] = this ._createObj();
return this ._objPool[ this ._objPool.length - 1 ];
},
_createObj : function (){
if (window.XMLHttpRequest){
var objXMLHttp = new XMLHttpRequest();
}
else {
var MSXML = [ ' MSXML2.XMLHTTP.5.0 ' , ' MSXML2.XMLHTTP.4.0 ' , ' MSXML2.XMLHTTP.3.0 ' , ' MSXML2.XMLHTTP ' , ' Microsoft.XMLHTTP ' ];
for ( var n = 0 ; n < MSXML.length; n ++ ){
try {
var objXMLHttp = new ActiveXObject(MSXML[n]);
break ;
}
catch (e){
}
}
}
if (objXMLHttp.readyState == null ){
objXMLHttp.readyState = 0 ;
objXMLHttp.addEventListener( " load " , function (){
objXMLHttp.readyState = 4 ;
if ( typeof objXMLHttp.onreadystatechange == " function " ){
objXMLHttp.onreadystatechange();
}
}, false );
}
return objXMLHttp;
},
// / 开始发送请求
SendRequest : function (method, url, data, callback,funparam,funparam2){
var objXMLHttp = this ._getInstance();
with (objXMLHttp){
try {
if (url.indexOf( " ? " ) > 0 ){
url += " &randnum= " + Math.random();
}
else {
url += " ?randnum= " + Math.random();
}
open(method, url, true );
setRequestHeader( ' Content-Type ' , ' application/x-www-form-urlencoded; charset=UTF-8 ' );
send(data);
onreadystatechange = function (){
if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304 ))
{
callback(objXMLHttp,funparam,funparam2);
} else {
callback( null ,funparam,funparam2);
}
}
}
catch (e){
alert(e);
}
}
}
};
// / Cookies操作
var Sams_cookies = {
/* cookies设置函数
@name Cookies名称
@value 值
*/
setCookie : function (name, value)
{
try
{
var argv = setCookie.arguments;
var argc = setCookie.arguments.length;
var expires = (argc > 2 ) ? argv[ 2 ] : null ;
if (expires != null )
{
var LargeExpDate = new Date ();
LargeExpDate.setTime(LargeExpDate.getTime() + (expires * 1000 * 3600 * 24 ));
}
document.cookie = name + " = " + escape (value) + ((expires == null ) ? "" : ( " ; expires= " + LargeExpDate.toGMTString()));
return true ;
}
catch (e)
{
return false ;
}
},
/* cookies读取函数
@Name Cookies名称
返回值 Cookies值
*/
getCookie : function (Name)
{
var search = Name + " = "
if (document.cookie.length > 0 )
{
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 ;
}
}
}
};