﻿// Copyright: www.51site.net
function __firefox(){
	window.constructor.prototype.__defineGetter__("event", __window_event);
	Event.prototype.__defineGetter__("srcElement", __event_srcElement);
}
function __window_event(){ return __window_event_constructor();}
function __event_srcElement(){ return this.target;}
function __window_event_constructor(){
	if(document.all){ return window.event; }
	var _caller = __window_event_constructor.caller;
	while(_caller!=null){
		var _argument = _caller.arguments[0];
		if(_argument){
			var _temp = _argument.constructor;
			if(_temp.toString().indexOf("Event")!=-1){
				return _argument;
			}
		}
		_caller = _caller.caller;
	}
	return null;
}
if(IsFirefox()){ __firefox(); }
String.prototype.trim = function(){
	return this.replace(/^\s+|\s+$/g, '');
}
String.prototype.len = function(){
	return this.replace(/[^\x00-\xff]/gi,"aa").length;
}
String.prototype.ReplaceAll = function(str1,str2){
	var s = this;
	if(s=="" || s==null) return s;
	var i = s.indexOf(str1);
	while(i>=0){
		s = s.substring(0,i) + str2 + s.substr(i+str1.length);
		i = s.indexOf(str1); 
	}
	return s;
}
String.prototype.IsDateTime = function(){
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
	var r = this.match(reg); 
	if(r==null)return false; 
	var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
String.prototype.IsDate = function(){
	var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
	if(r==null)return false; 
	var d= new Date(r[1], r[3]-1, r[4]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
String.prototype.IsTime = function(){
	var a = this.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
	if (a == null)return false;
	if (a[1]>24 || a[3]>60 || a[4]>60){ return false; }
	return true;
}
Function.prototype.extend = function(parent){
	for(var pro in parent.prototype){
		this.prototype[pro]=parent.prototype[pro];
	}
}
function d(id){
	return document.getElementById(id);
}
function CheckUserName(id, msg, v){ //v=en|cn
	if (!CheckUserNameValid(d(id).value, v)){
		alert(msg);
		d(id).focus();
		return false;
	}
	else { return true; }
}
function CheckValue(id, msg){
	if (d(id).value.trim() == ""){
		alert(msg);
		d(id).focus();
		return false;
	}
	else { return true; }
}
function CheckUserNameValid(str, v){
	var parten = /^[\u4e00-\u9fa5\w]+$/; //\w and chinese
	if (v == "en"){
		parten = /^\w+$/; //\w
	}
	return (parten.test(str));	
}
function CheckPrice(id, blAllowEmpty, msg){
	var parten = /^\d+$/;
	var s = d(id).value.trim();
	if(!blAllowEmpty){
		if (s == "") return CheckValue(d(id), msg);
	}
	if( s.indexOf('.') > -1 ){
		parten = /^\d+\.\d+$/;
	}
	if(!parten.test(s)){
		alert(msg);
		d(id).focus();
		return false;
	}
	else{ return true; }
}
function CheckConfirmPwd(pwd1, pwd2, msg){
	if (d(pwd1).value != d(pwd2).value){
		alert(msg);
		d(pwd2).focus();
		return false;
	}
	else { return true; }
}
function CheckLength(id, n1, n2, msg){
	if (d(id).value.length <n1 || d(id).value.length >n2){
		alert(msg);
		d(id).focus();
		return false;
	}
	else { return true; }
}
function CheckChecked(inputName, msg){
	var bl = false;
	var id = document.getElementsByName(inputName);
	for(var i=0; i<id.length; i++){
		if (id[i].checked){
			bl = true;
			return bl;
		}
	}
	alert(msg);
	if(id.length > 1) id[0].focus();
	return bl;
}
function CheckEmail(id, msg){
	if(!IsEmail(d(id).value.trim())){
		alert(msg);
		d(id).focus();
		return false;
	}
	else { return true; }
}
function CheckTel(id, msg){
	if(!IsNumber(d(id).value.trim())){
		alert(msg);
		d(id).focus();
		return false;
	}
	else { return true; }
}
function CheckDate(s) {
	return (s+'').IsDate();	
}
function GetAbsolute(src){
	var m = src.offsetTop;
	var n = src.offsetLeft;
	var vParent = src.offsetParent;
	while (vParent!=null && vParent.tagName.toUpperCase() != "BODY"){
		n += vParent.offsetLeft;
		m += vParent.offsetTop;
		vParent = vParent.offsetParent;
	}
	var a = new Array(2);
	a[0] = m; a[1] = n;
	return a;
}
function InputNum(){//onkeydown
	var evtCode = event.keyCode;
	if (evtCode != 8 && evtCode != 37 && evtCode != 39 && evtCode != 46){
		var txt = SrcElement(event);
		txt.onkeyup = txt.onpaste = function() {txt.value = RemoveString(txt.value);}
	}
}
function RemoveString(s){
	return (s+'').replace(/[^0-9]/g,'');
}
function RemoveHTML(s){
	return (s+'').replace(/<[^>]*>/gi, "");
}
function NotIsNull(obj){
	var bl = false;
	if(typeof(obj) != "undefined" && typeof(obj) != null && obj != null){
		bl = true;
	}
	return bl;
}
//var ajax = new Ajax("1.asp", "");
//ajax.xml.onreadystatechange = function(){ajax.xml.readyState, ajax.xml.status, ajax.xml.responseText;}
//ajax.get();
function Ajax(url, postData){
	this.url = url;
	this.postData = postData;
	this.xml = this.CreateHttp();
}
Ajax.prototype.get = function(){
	this.xml.open("GET", this.url ,true);
	this.xml.send(null);
}
Ajax.prototype.post = function(){
	this.xml.open("POST", this.url ,true);
	this.xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	this.xml.send(this.postData);
}
Ajax.prototype.abort = function(){
	this.xml.abort();
}
Ajax.prototype.CreateHttp = function(){
	var xmlHttp;
	if (window.ActiveXObject){
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest){
		xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}
function Cint(n, defaultV){
	var t = RemoveString(n);
	if(t == ''){
		if (NotIsNull(defaultV)) return defaultV;
		else return 0;
	}
	else{
		return parseInt(t);//return Math.floor(n);//return Math.round(n);
	}
}
function CFloat(n){
	return parseFloat(n);
}
function IsNumber(s){
	return (/^\d+$/.test(s));
}
function IsEmail(email){
	var parten = /\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*/;
	return (parten.test(email));
}
function Rnd(){
	return Math.random();
}
//--------IE_FF--------
function ScrollTop(){
	return 	(document.documentElement.scrollTop || document.body.scrollTop);
}
function ScrollLeft(){
	return 	(document.documentElement.scrollLeft || document.body.scrollLeft);
}
function MouseX(evt){
	return (ScrollLeft() + evt.clientX);
} 
function MouseY(evt){
	return (ScrollTop() + evt.clientY);
}
function MouseOffsetX(evt){
	return ( evt.offsetX ? evt.offsetX : evt.layerX );
}
function MouseOffsetY(evt){
	return ( evt.offsetY ? evt.offsetY : evt.layerY );
}
function SrcElement(evt) { 
	return ( evt.target ? evt.target : evt.srcElement ); 
}
function SetOpacity(obj, n){
	if (typeof(obj.style.filter) != "undefined") {obj.style.filter = "alpha(opacity=" + n + ")";}	
	else {obj.style.opacity = n/100;}	
}
function BodyWH(){
	var w = Math.max(document.body.clientWidth, document.documentElement.clientWidth);
	var h = Math.max(document.body.clientHeight, document.documentElement.clientHeight);
	var a = new Array(2);
	a[0] = w; a[1] = h;
	return a;
}
function insertFirst(newChild, div){
	if(div.hasChildNodes){
		div.insertBefore(newChild, div.childNodes[0]);
	}
	else{
		div.appendChild(newChild);
	}
}
function insertAfter(newElement,targetElement){//insertBefore  
	var parent = targetElement.parentNode;   
	if (parent.lastChild == targetElement){   
		parent.appendChild(newElement);   
	}
	else{   
		parent.insertBefore(newElement,targetElement.nextSibling);   
	}   
}
function CreateElement(TYPE, id){
	var div = document.createElement(TYPE);
	if(id){ div.setAttribute("id", id); }
	div.style.display = "none";
	document.body.appendChild(div);
	return div;
}
function ShowFlash(id, url, w, h, textHeight, pics, links, texts){
	var hh = h + Cint(textHeight);
	str = '<embed width="'+ w +'" height="'+ hh +'" src="'+ url +'" quality="autohigh" wmode="transparent" type="application/x-shockwave-flash" plugspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"';
	if (pics){
		var pics1 = pics.replace(/^\||\|$/g, '');
		var links1 = links.replace(/^\||\|$/g, '');
		var texts1 = texts.replace(/^\||\|$/g, '');
		str += ' FlashVars="pics='+pics1+'&links='+links1+'&texts='+texts1+'&borderwidth='+w+'&borderheight='+h+'&textheight='+textHeight+'"';
	}
	str += ' menu="false"></embed>';
	d(id).innerHTML = str;	
}
function PreloadImg(){
	var imgs = new Array();
	var a = PreloadImg.arguments;
	for(var i=0; i<a.length; i++){
		imgs[i] = new Image();
		imgs[i].src = a[i];
	}
}
function addOnloadEvent(fun){
	var _timer = setInterval(function(){
		if (/loaded|complete/.test(document.readyState)){
			clearInterval(_timer);
			fun();
		}
	}, 100);
}
function addEvent(obj,evt,fn){//addEvent(btn,"onclick",fun)
	if(document.all){
		obj.attachEvent(evt,fn);
	}
	else{
		obj.addEventListener(evt.replace(/^on/i,''),fn,false);
	}
}
function removeEvent(obj,evt,fn){
	if(document.all){
		obj.detachEvent(evt,fn);
	}
	else{
		obj.removeEventListener(evt.replace(/^on/i,''),fn,false);
	}
}
function autoFrm(Frame){
	if (Frame.contentDocument && Frame.contentDocument.body.offsetHeight){
		Frame.height = "100%";
		Frame.height = Frame.contentDocument.body.offsetHeight<500 ? "100%" : Frame.contentDocument.body.offsetHeight;
	}
	else if(Frame.Document && Frame.Document.body.scrollHeight){
		Frame.height = "100%";
		Frame.height = Frame.Document.body.scrollHeight<500 ? "100%" : Frame.Document.body.scrollHeight;
	}
}
//<iframe id="win" name="win" onload="autoFrm(this)"></iframe>
//window.onerror = function(){return true};
function LoadImg(img, w, h){
	if(IsIE()){
		if(img.readyState!="complete") {return false;}
	}
	else{
		if(!img.complete) {return false;}
	}
	var img1 = new Image();
	img1.src = img.src;
	if ((w/h) >= (img1.width / img1.height)){
		if(img1.height>h){
			img.height = h;
			img.width = (img1.width * h)/img1.height;
		}
	}
	else{
		if(img1.width>w){
			img.width = w;
			img.height = (img1.height * w)/img1.width;
		}
	}
	img1 = null;
}
function IsIE(){
	return navigator.userAgent.toUpperCase().search("MSIE")>-1 ? true : false;
}
function IsFirefox(){
	return navigator.userAgent.toLowerCase().search("firefox")>-1 ? true : false;
}
function IsOpera(){
	return navigator.userAgent.toLowerCase().search("opera")>-1 ? true : false;
}
function PrintTable(id){
	var str = d(id).outerHTML;
	var css = d("linkStyle").href;
	var win = window.open('print');
	win.document.open("text/html","utf-8");
	win.document.write('<link href="'+css+'" type="text/css" rel="stylesheet" />');
	win.document.write(str);
	win.print();
}
function OpenWin(width,height,url,openMode){
	var w = (window.screen.availWidth - width)/2;
	var h = (window.screen.availHeight - height)/2;
	var param = 'dialogTop:'+h+'px;dialogLeft:'+w+'px;dialogHeight:'+height+'px;dialogWidth:'+width+'px;resizable:yes;scroll:1;status:0';
	var param1 = 'top='+h+',left='+w+',height='+height+',width='+width+',toolbar=no,menubar=no,scrollbars=no,resizable=yes';
	if(IsOpera() || NotIsNull(openMode)){
		window.open(url,"select",param1);
	}
	else{
		window.showModalDialog(url, window, param);
	}
}
function HTMLEncode(html){
	var temp = document.createElement ("div");
	(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
	var str = temp.innerHTML;
	temp = null;
	if(!IsIE()){
		return str.replace(/\n/gi, '<br>').replace(/ /g, '&nbsp;');
	}
	else{
		return str;
	}
}
function HTMLDecode(text){
	var temp = document.createElement("div");
	if(!IsIE()){
		text = text.replace(/<br[^>]*>/gi, '\n').replace(/&nbsp;/g, ' ');
	}
	temp.innerHTML = text;
	var str = temp.innerText || temp.textContent;
	temp = null;
	return str;
}
function OnFocus(txt, msg){
	if(txt.value == msg){txt.value = "";}
	txt.style.color = "#000000";
	txt.onblur = function(){
		if(this.value.trim()==''){
			txt.value = msg;
			txt.style.color = "#cccccc";
		}
	}
}
