Click here to see the calendar
Result:
AJAX:
ajax.js
function HttpRequest(method,url){
this.method = method;
this.url = url;
this.init = CreateXMLHTTPObject;
this.self_url = self.location.href;
this.func = function () {};this.go=function go(str_url){
self.location.href=str_url;
}function CreateXMLHTTPObject(){
var xObject = null;
try {
xObject = new ActiveXObject(“Msxml2.xmlhttp.4.0″);
}
catch (e){
try{
xObject = new XMLHttpRequest();
if(xObject.overrideMimeType){
xObject.overrideMimeType(‘text/xml’);
}}
catch (e){
try {
xObject = new ActiveXObject(“Msxml2.xmlhttp”);
}
catch (e) {
try {
xObject = new ActiveXObject(“Microsoft.xmlhttp”);
}
catch (e) {
alert(“Error: Unable to create XML HTTP object!”);
}
}
}
}
return xObject;
}this.post = dopost;
function dopost(obj,func,param)
{
//alert(func);
//this.func = func;
obj.onreadystatechange = func;
obj.open(this.method, this.url, true);
obj.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded;charset=utf-8″);
obj.send(param);
}this.utf16to8 = utf16to8;
function utf16to8(str) {
if(str==”){
return ”;
}
var out, i, len, c;out = “”;
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0×0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0×80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0×80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0×80 | ((c >> 0) & 0x3F));
}
}
return out;
}this.$ = $;
function $(id){
return document.getElementById(id);
}this.tagNameParam = tagNameParam
function tagNameParam(name,obj){
var objs = obj.getElementsByTagName(name);
var param = ”;
for (i=0;i<objs.length;i++){
param = param + objs.name+”=”+escape(utf16to8(Trim(objs.value)))+”&”;
}
return param;
}this.form2param = form2param
function form2param( objs, ignore ) {
/** //getElementsByClass(‘test’)
* 调用方法: form2param(document.getElementsByTagName(‘*’), Array(‘submit’));
* param1: 一般不需要修改
* param2: 需要忽略的表单域名称
* retrun: 字符串
*/
var param = “”;function add2param( str_param, tagName, value ) {
var param
if (str_param.length==0) {
return tagName+”=”+escape(utf16to8(value));
}
else {
return str_param+’&’+tagName+”=”+escape(utf16to8(value));
}
}function arrayToObject(arr) {
var obj=new Object();
for (i=0; i<arr.length; i++) {
obj[arr[i]]=null;
}
return obj;
}var tagnames = new Array(“input”, “textarea”, “select”);
var chkboxs = new Array(“checkbox”, “radio”);
var obj_tagnames = arrayToObject(tagnames);
var obj_ignore = arrayToObject(ignore);
var obj_chkboxs = arrayToObject(chkboxs);for (var i=0; i<objs.length; i++) {
if (objs[i].tagName.toLowerCase() in obj_tagnames) {
if ( (!(objs[i].name.toLowerCase() in obj_ignore)) && ( objs[i].name.indexOf(‘save_’)==-1 ) ){
if (objs[i].type.toLowerCase() in obj_chkboxs) {
if (objs[i].checked) {
param = add2param(param, objs[i].name.toLowerCase(), objs[i].value);
}
}
else {
param = add2param(param, objs[i].name.toLowerCase(), objs[i].value);
}
}
}
}return param;
}this.checkboxToArray = function (form,tag){
var objs = form.getElementsByTagName(tag);
var param = null;
for (i=0;i<objs.length;i++ )
{
if(objs[i].type==”checkbox” && objs[i].checked){
param+=objs[i].name+”=”+escape(utf16to8(objs[i].value));
}
}
return param;
}this.load = function( url ){
var ss = document.getElementsByTagName(“script”);
for( i=0;i<ss.length;i++ ){
if( ss[i].src && ss[i].src.indexOf( url ) != -1 ){
this.onsuccess();
return;
}
}
s = document.createElement(“script”);
s.type = “text/javascript”;
s.src = url;
var head = document.getElementsByTagName(“head”)[0];
head.appendChild(s);
var self = this;s.onload = s.onreadystatechange = function(){
if( this.readyState && this.readyState == “loading” )
return;
self.onsuccess();
}
s.onerror = function(){
head.removeChild(s);
self.onfailure;
}
};this.onsuccess = function(){};
this.onfailure = function(){};//去掉字符串 的左边 空格
this.LTrim = LTrim ;
function LTrim(str){
var i;
for(i=0;i<str.length;i++) {
if( str.charAt(i)!=” ” && str.charAt(i)!=null )
break;
}
str = str.substring(i,str.length);
return str;
};
//去掉字符串 的右边 空格
this.RTrim = RTrim ;
function RTrim(str){
var i;
for( i=str.length-1;i>=0;i– ){
if( str.charAt(i)!=” “&&str.charAt(i)!=null )
break;
}
str = str.substring(0,i+1);
return str;
};
//去掉字符串 的 左右边 空格
this.Trim = Trim ;
function Trim(str){
var trimRe = /^\s+|\s+$/g;
str = String(str).replace(trimRe,”");
return LTrim(RTrim(str));
};//去掉字符串 的 左右边 空格
this.strReplace = strReplace ;
function strReplace( string ){
string = String.replace(/(^\s*)|(\s*$)/g,”");
return string ;
};}
int_step = 0;
function show_loading() {
div_hint = document.getElementById(‘hint’);
if (!div_hint) {
var hint_text = “正在处理您的请求…”
div_hint = document.createElement(“div”);
div_hint.id = “hint”;
var div_hint_image = document.createElement(“div”);
div_hint_image.id = “hint_image”;
div_hint.appendChild(div_hint_image);
var img_loading = document.createElement(“img”);
img_loading.src = “/images/animated_loading.gif”;
img_loading.alt = hint_text;
div_hint_image.appendChild(img_loading);
var div_hint_text = document.createElement(“div”);
div_hint_text.id = “hint_text”;
div_hint.appendChild(div_hint_text);
var text_loading = document.createElement(“strong”);
text_loading.innerHTML = hint_text;
div_hint_text.appendChild(text_loading);
document.body.appendChild(div_hint);
}
else {
div_hint.style.display = “”;
}
}function hide_loading() {
div_hint.style.display = “none”;
}——————————————————————————–

