// 
// 作者: DDM
//

var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);

function Ajax() {
	var aj = new Object();
	aj.targetUrl = '';
	aj.sendString = '';
	aj.resultHandle = null;
	aj.contentType = 'html';
	aj.loading = '<img src="image/ajax_load.gif" style="margin: 3px; vertical-align: middle" /> Loading... ';
	
	aj.createXMLHttpRequest = function() {
		var request = false;
		if(window.XMLHttpRequest) {
			request = new XMLHttpRequest();
		} else if(window.ActiveXObject) {
			var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
			for(var i=0; i<versions.length; i++) {
				try {
					request = new ActiveXObject(versions[i]);
					if(request) return request;
				} catch(e) {/*alert(e.message);*/}
			}
		}
		return request;
	}

	aj.request = aj.createXMLHttpRequest();

	aj.processHandle = function() {
		if(aj.request.readyState == 4 && aj.request.status == 200) {
			if(aj.contentType=='xml'){
				aj.resultHandle(aj.request, aj.request.responseXML.documentElement.childNodes);
			}else{
				aj.resultHandle(aj.request, aj.request.responseText);
			}
		}
	}

	aj.get = function(targetUrl, resultHandle, contentType) {
		aj.targetUrl = targetUrl;
		aj.request.onreadystatechange = aj.processHandle;
		aj.resultHandle = resultHandle;
		
		if(contentType){
			aj.contentType = contentType;
		}
		if(window.XMLHttpRequest) {
			aj.request.open('GET', aj.targetUrl);
			aj.request.send(null);
		} else {
		        aj.request.open("GET", targetUrl, true);
		        aj.request.send();
		}
	}

/*	aj.post = function(targetUrl, sendString, resultHandle) {
		aj.targetUrl = targetUrl;
		aj.sendString = sendString;
		aj.request.onreadystatechange = aj.processHandle;
		aj.resultHandle = resultHandle;
		aj.request.open('POST', targetUrl);
		aj.request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		aj.request.send(aj.sendString);
	}*/
	return aj;
}

function $(elementID){
	return document.getElementById(elementID);
}

function hashString(key){
	var query=key;
	var urlvars=window.location.hash;
	var varArray;
	var i;
	var index;
	var qs="";
	if(urlvars.length>1){
		urlvars=urlvars.substr(1);
		varArray=urlvars.split("&");
		for(i=0;i<varArray.length;i++){
			index=varArray[i].indexOf("=");
			if(query==varArray[i].substring(0,index)){
				qs=varArray[i].substr(index+1);
				break;
			}
		}
	}
	return(qs);
}

function QueryString(key){
	var query=key;
	var urlvars=window.location.search;
	var varArray;
	var i;
	var index;
	var qs="";
	if(urlvars.length>1){
		urlvars=urlvars.substr(1);
		varArray=urlvars.split("&");
		for(i=0;i<varArray.length;i++){
			index=varArray[i].indexOf("=");
			if(query==varArray[i].substring(0,index)){
				qs=varArray[i].substr(index+1);
				break;
			}
		}
	}
	return(qs);
}

function attach_Event(obj,e,fun){
	if(document.attachEvent){
		obj.attachEvent("on"+e,fun);
	}else{
		obj.addEventListener(e,fun,false);
	}
}

function detach_event(obj,e,fun){
	if(document.detachEvent){
		obj.detachEvent("on"+e,fun);
	}else{
		obj.removeEventListener(e,fun,false);
	}
}

function SetImageSize(ImgD,w,h){
	var image=new Image();
	var iwidth = w; 
	var iheight = h; 
	var flag=false;
	image.src=ImgD.src;
	if(image.width>0 && image.height>0){
		flag=true;
	}
	if(flag&&image.width>iwidth&&image.width>=image.height){ 
		ImgD.width=iwidth;
		ImgD.height=(image.height*iwidth)/image.width;
		if(ImgD.height>iheight){
			ImgD.height=iheight;
	   		ImgD.width=(image.width*iheight)/image.height;
		}
	}else if(flag&&image.height>iheight&&image.height>=image.width){ 
		ImgD.height=iheight;
		ImgD.width=(image.width*iheight)/image.height;
		if(ImgD.width>iwidth){
			ImgD.width=iwidth;
			ImgD.height=(image.height*iwidth)/image.width;
		}
	}else if(flag){
		ImgD.width=image.width;
		ImgD.height=image.height;
	}
}

function openwin(url,winname,winw,winh,wint,winl){
	window.open(url,winname,'width='+winw+',height='+winh+',top='+wint+',left='+winl+',directories=no,status=no,scrollbars=yes,resizable=yes,menubar=no');
}

function disableRightClick(e){
  var message = "";
  
  if(!document.rightClickDisabled){ // initialize
    if(document.layers){
      document.captureEvents(Event.MOUSEDOWN);
      document.onmousedown = disableRightClick;
    }else{
	  document.oncontextmenu = disableRightClick;
	}
    return document.rightClickDisabled = true;
  }

  if(document.layers || (document.getElementById && !document.all)){
    if (e.which==2||e.which==3){
      if(message!='')alert(message);
      return false;
    }
  }else{
    if(message!='')alert(message);
    return false;
  }
}

function update_code(imgobj,p){
	imgobj.src = p + "?t=" + (new Date().getTime());
}

//**************************************************************************************

function getRadio(radioName){
	if(radioName.length){
		var len = radioName.length;
		for(var i=0; i<len; i++){
			if(radioName[i].checked){
				return radioName[i].value;
			}
		}
	}else{
		return radioName.value;
	}
	return "";
}

function getSelect(selectName){
	if(selectName.options){
		return selectName.options[selectName.selectedIndex].value;
	}else{
		return "";
	}
}

function getCheckbox(checkboxName){
	var len = checkboxName.length;
	var values = "";
	
	if(len){
		for(var i=0; i<len; i++){
			if(checkboxName[i].checked){
				values += "," + checkboxName[i].value;
			}
		}
	}else if(checkboxName.checked){
		values += "," + checkboxName.value;
	}
	
	if(values.length>1){
		values = values.substr(1);
	}
	
	return values;
}

function setselect(selectobj, value) {
	var len = selectobj.options.length;
	for(i = 0;i < len;i++) {
		if(selectobj.options[i].value == value) {
			selectobj.options[i].selected = true;
		}
	}
}

function checkall(name) {
	var e = is_ie ? event : checkall.caller.arguments[0];
	obj = is_ie ? e.srcElement : e.target;
	var arr = document.getElementsByName(name);
	var k = arr.length;
	for(var i=0; i<k; i++) {
		arr[i].checked = obj.checked;
	}
}

function check_input(obj,defaultValue,minValue,maxValue){
	if(obj.value==""||isNaN(obj.value)){
		obj.value = defaultValue;
	}else if(obj.value<minValue){
		obj.value = minValue;
	}else if(obj.value>maxValue){
		obj.value = maxValue;
	}
}

//**************************************************************************************

function is_mail(str){
	var re = new RegExp("^([A-Za-z0-9_|-]+[.]*[A-Za-z0-9_|-]+)+@[A-Za-z0-9|-]+([.][A-Za-z0-9|-]+)*[.][A-Za-z0-9]+$","ig");
	return re.test(str);
}

function is_int(num){
	var re = /^[\d]+$/;
	return re.test(num);
}

function is_float(num){
	var re = /^[0-9.]*$/;
	return re.test(num);
}

function is_legalname(str){
	var un_re = new RegExp("^[\^|~|!|@|#|\$|%|^|&|\*|(|)|\-|=|+|\\|\||'|]{1,}$");
	return un_re.test(str);
}

function trim(str){
	return str.replace(/(^\s*)|(\s*$)/g,'');
}

//**************************************************************************************

function setXY_img(e,id){
	var obj = document.getElementById(id);
	var _x = e.clientX ? e.clientX + document.documentElement.scrollLeft : e.pageX;
	var _y = e.clientY ? e.clientY + document.documentElement.scrollTop : e.pageY;
	
	obj.style.top = (_y + 15) + 'px';
	obj.style.left = (_x + 10) + 'px';
	
	if(obj.clientWidth + parseInt(obj.style.left) > document.documentElement.clientWidth + document.documentElement.scrollLeft - 5){
		obj.style.left = (parseInt(obj.style.left) - obj.clientWidth - 5) + 'px';
	}
	if(obj.clientHeight + parseInt(obj.style.top) > document.documentElement.clientHeight + document.documentElement.scrollTop - 10){
		obj.style.top = (parseInt(obj.style.top) - obj.clientHeight - 5) + 'px';
	}
}

function moveXbySlicePos (x, obj) { 
	if (!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var par = obj;
		var lastOffset = 0;
		while(par){
			if( par.leftMargin && ! onWindows ) x += parseInt(par.leftMargin);
			if( (par.offsetLeft != lastOffset) && par.offsetLeft ) x += parseInt(par.offsetLeft);
			if( par.offsetLeft != 0 ) lastOffset = par.offsetLeft;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}
	} else if (obj.x) x += obj.x;
	return x;
}

function moveYbySlicePos (y, obj) {
	if(!document.layers) {
		var onWindows = navigator.platform ? navigator.platform == "Win32" : false;
		var macIE45 = document.all && !onWindows && getExplorerVersion() == 4.5;
		var par = obj;
		var lastOffset = 0;
		while(par){
			if( par.topMargin && !onWindows ) y += parseInt(par.topMargin);
			if( (par.offsetTop != lastOffset) && par.offsetTop ) y += parseInt(par.offsetTop);
			if( par.offsetTop != 0 ) lastOffset = par.offsetTop;
			par = macIE45 ? par.parentElement : par.offsetParent;
		}		
	} else if (obj.y >= 0) y += obj.y;
	return y;
}

function show(id, display) {
	if(!$(id)) return false;
	if(display == 'auto') {
		$(id).style.display = $(id).style.display == '' ? 'none' : '';
	} else {
		$(id).style.display = display;
	}
}
