﻿/*
	功	能：	简单调用函数实现AJAX，方便网站的内容查看，注册提交等。
	联	系：	QQ：9049904			http://www.gogz.cn
*/
var state;var eHtmlCode;
var ajax_state_1 = "程序加载中...";
var ajax_state_2 = "程序处理中...";
var ajax_state_3 = "数据传输中...";
var not_success = "操作失败";
var ajax_alert = ":( 您的浏览器安全设置太高！";
//取ID名称
function $(id) {return document.getElementById(id);}
//GET和POST向服务器传输内容
function ajax(method,stringUrl,queryString,insertId,insert){
	var xmlHttp=false;var sInsert= insertId;var eInsert = insert;
	function creatXMLHttpRequest(){
		if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest();if (xmlHttp.overrideMimeType) {xmlHttp.overrideMimeType('text/xml');}
        } else if (window.ActiveXObject) {
            try {
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!xmlHttp) {alert(ajax_alert);return false;}
		if(method=="get"){
			var url = stringUrl+"?"+queryString+"&timeStamp="+new Date().getTime();
			xmlHttp.onreadystatechange = success;
			xmlHttp.open("GET",url,true);
			xmlHttp.setRequestHeader("Content-Type","text/html");
			xmlHttp.send(null);
		}else{
			xmlHttp.open("POST",stringUrl,true);
			xmlHttp.onreadystatechange = success;
			xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");
			xmlHttp.send(queryString);
		}
	}
	function success(){
		if(xmlHttp.readyState==4){
			$(eInsert).innerHTML="";
			if(xmlHttp.status==200){eHtmlCode = xmlHttp.responseText;setInnerHTML(sInsert,eHtmlCode);
			}else{$(eInsert).innerHTML = not_success;}
		}else{
			var eState=xmlHttp.readyState;
			switch(eState){
				case 1:setAlert(ajax_state_1);break;
				case 2:setAlert(ajax_state_2);break;
				case 3:setAlert(ajax_state_2);break;
			}
			function setAlert(strText){$(eInsert).innerHTML = "<div class='ajaxAlert'>"+strText+"</div>";}
		}
	}
	creatXMLHttpRequest();
}
//处理HTML程序，让JavaScript可以在用户端运行
var setInnerHTML = function (iEl, htmlCode) {
	var el=$(iEl);var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
        htmlCode = '<div style="display:none">for IE</div>' + htmlCode;
        htmlCode = htmlCode.replace(/<script([^>]*)>/gi,'<script$1 defer>');
        el.innerHTML = htmlCode;el.removeChild(el.firstChild);
    } else {
        var el_next = el.nextSibling;var el_parent = el.parentNode;
        el_parent.removeChild(el);el.innerHTML = htmlCode;
        if (el_next) {el_parent.insertBefore(el, el_next)
        } else {el_parent.appendChild(el);}
    }
}
//传入表单对象和数字数字,进行过滤选取
function getDetermine(f){
	function getStrString(f){
		var strString = "";
		switch(f.type){
			case "radio":if(f.checked==true){strString=getFormValue(f);	}break;
			case "checkbox":if(f.checked==true){strString=getFormValue(f);	}break;
			case "hidden":
				var strId = f.id;
				if(strId!=""&&strId!=null){strString = f.name+"="+r(eval(strId).getHTML());
				}else{strString=getFormValue(f);}break;
			case "submit":break;
			case "button":break;
			case "reset":break;
			default:strString=getFormValue(f);    
		}
		return strString;
	}
	function getFormValue(f){return f.name+"="+r(f.value);}
	return getStrString(f);
}
//传入form 对象,取得该表单的字符串
function getString(f){	
		var strV="",strFor="",iCount = f.elements.length;
		for(var s=0;s<iCount;s++){strFor = getDetermine(f.elements[s]);
			if(strFor!=""&&strFor!=null){strV = strV+"&"+strFor;}
		}
	return strV;
}
function r(strString){
	var eStr = strString.replace(/&/g,"/amp/");
	eStr = eStr.replace(/ /g,"/nbsp/");
	eStr = eStr.replace(/%/g,"/percent/");
	return eStr;	
}
//原始AJAX接口
function doRequestUsing(method,url,str,insert,eInsert,etrue){
	ajax(method,url,str,insert,eInsert);
}	

function ShowAtn(strC,str,state){
		$(strC).innerHTML = str;
}

function getFlash(setWidth,setHeight,setUrl){
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width='+setWidth+' height='+setHeight+'>')
	document.write('<param name="movie" value='+setUrl+'>')
	document.write('<param name="quality" value="high">')
	document.write('<embed src='+setUrl+' quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width='+setWidth+' height='+setHeight+'></embed></object>')
}