﻿
var req = null;
var thediv = null;
var thediv2 = 0;
var canclose=true;
var themode=0;
var loadingdiv = "msg"; 

if(window.XMLHttpRequest){ //Mozilla, Safari, IE7
    if(!window.ActiveXObject){ // Mozilla, Safari,
    }else{
        
    }
	Loadmybg();
}else {
    alert('IE6可能會造成無法正常瀏覽');
}


if ( window.XMLHttpRequest ){ 
  req = new XMLHttpRequest();
  //req.overrideMimeType('text/xml');
}else{ 
  try { req = new ActiveXObject("MSXML2.XMLHTTP.6.0"); } catch(e){}
  try { req = new ActiveXObject("MSXML2.XMLHTTP.5.0"); } catch(e){}
  try { req = new ActiveXObject("MSXML2.XMLHTTP.4.0"); } catch(e){}
  try { req = new ActiveXObject("MSXML2.XMLHTTP.3.0"); } catch(e){}
  try { req = new ActiveXObject("MSXML2.XMLHTTP"); }     catch(e){}
  try { req = new ActiveXObject("Microsoft.XMLHTTP"); }  catch(e){}
}

function ajax(url,div,mode){
	//網址,null=,not null
	if('undefined' == typeof(div) || div==null || div==''){
		div='alert';
		showalert();
	}
	if('undefined' == typeof(mode)){
		mode=0;
	}
    	if(mode==0){
			loadingdiv=div;
		}else{
			loadingdiv="msg";
		}
	themode=mode;
	if('undefined' != typeof(div) || div!=null || div!=''){
		thediv2=div;
	}
	

    if (req==null){
       return false;
    }

	req.abort();

	req.onreadystatechange = expecting_response;
	req.open('GET',url,true);
	req.setRequestHeader("If-Modified-Since","0");
  
        switch(themode){
        case "0":
		break;
        case "1":
		  canclose=false;
		  showmybg();
		break;
		case "2":
		  canclose=false;
		  showmybg();
		break;
		case "3":
		break;
		case "4":
		break;
		default:
		break;
        }
  
      try{
	      req.send(null); 
      }catch(e){
          systemnotice("Can not connect to server");
      }
    	if(mode==0){
			systemnotice('<img src="images/loading.gif" style="margin:3px;vertical-align:middle" />Waiting ...');
		}else{
			systemnotice('<table border="0" width="150px" height="30px"><tr><td><center><img src="images/loading.gif" style="margin:3px;vertical-align:middle" />Waiting ...</center></td></tr></table>');
		}


}

function expecting_response(){ 
;
if (  req.readyState == 4 ){ 
        if (  req.status == 200 ){   
	        if ( req.responseText.charAt(0) == "-1" ){
				if('undefined' != typeof(thediv)){
					notice("",thediv);   
				}
		    }else{

				        switch(themode){
							case "0":
							canclose=true;
							break;
							case "1":
							canclose=true;
							break;
							case "2":
							canclose=true;
							break;
							case "3":
							canclose=true;
		                    showmybg();
							break;
							case "4":
							canclose=false;
		                    showmybg();
							break;
							default:
							break;
						}
				
				notice(req.responseText,thediv);
			}
        }else {
			if('undefined' != typeof(thediv)){
				systemnotice("Can not connect to server");
			}
        }
    }
}
function systemnotice(arg){
	    if(loadingdiv=='msg'){
			d='<h4><span>視窗訊息</span></h4>';
		}else{
			d='';
		}
        document.getElementById(loadingdiv).innerHTML = d+arg;
		if(themode!=0){
        showmsg();
		}
}
function notice(arg,div){
	hidemsg();
	if('undefined' == typeof(div)){
        alert(arg);
    }else{

		a=arg.search(":"); 
        b=arg.slice(0,a);
        c=arg.slice(a+1); 
		d=b.search("]")+1;
		b=b.slice(d);


	    switch(b){
        case "0"://msgbox
		alert(c);
		break;
		case "1":
        hidemybg();
		document.getElementById(thediv2).innerHTML = c;
		break;
        case "2"://跳出div視窗訊息
        systemnotice(c);
		break;
        case "3"://跳出div視窗訊息3秒後重整
        systemnotice(c);
		showmsg();
		setTimeout("window.location.reload()",3000);
		break;
        case "4": //網頁轉向
		//document.getElementById(div).innerHTML = '<img src="image/loading.gif" style="margin: 3px; vertical-align: middle" />Loading ....';
		
		//setTimeout("window.location.reload()",100);
		break;
		default: document.getElementById(div).innerHTML = d+c;
		break;
        }
         
    //if(arg=="reload"){
	//document.getElementById(thediv).innerHTML = '<img src="image/loading.gif" style="margin: 3px; vertical-align: middle" />Loading ....';
	//setTimeout("window.location.reload()",100);
	//}else{
	//document.getElementById(thediv).innerHTML = arg;
	//}
	}
}

function Loadmybg(){
	
	myAlert = document.createElement("div"); 
	myAlert.setAttribute("id","alert");
    myAlert.style.position = "absolute"; 
	myAlert.style.zIndex = "999999999";
    myAlert.style.display = "none";
	
    mybg = document.createElement("div"); 
	mybg.setAttribute("id","mybg"); 
	mybg.style.background = "#000"; 
	mybg.style.width = "120%"; 
	mybg.style.height = "200%"; 
	mybg.style.position = "absolute"; 
	mybg.style.top = "0"; 
	mybg.style.left = "0"; 
	mybg.style.zIndex = "99999999"; 
	mybg.style.opacity = "0.3"; 
	mybg.style.filter = "Alpha(opacity=30)"; 
	mybg.style.display = "none"; 
	
    msg = document.createElement("div"); 
	msg.setAttribute("id","msg");
	msg.style.border="2px solid #FFF";
	msg.style.background = "#e2ecf5"; 
	msg.style.width = "auto"; 
	msg.style.height = "auto";
	msg.style.position = "absolute"; 
	msg.style.paddingTop="0px";
	msg.style.paddingLeft="5px";
	msg.style.paddingRight="5px";
	msg.style.paddingBottom="5px";
	msg.style.margin="auto";
	msg.style.zIndex = "999999999"; 
	msg.style.display = "none"; 
	msg.className="h4s1";
	
	document.body.appendChild(mybg);
	document.body.appendChild(msg);
	document.body.appendChild(myAlert);
	mybg.onclick = function() { 
	    if(canclose==true){
		   hidemybg();
		   hidealert();
		}
	} 
}
function showalert(){
myAlert.style.display = "block";
}
function hidealert(){
myAlert.style.display = "none";
}

function showmsg(){
	msg = document.getElementById("msg");
	msg.style.border="1px solid #000";
	msg.style.position = "absolute"; 
	msg.style.background = "#e2ecf5"; 
	msg.style.width = "300px"; 
	msg.style.height = "auto";
	msg.style.marginLeft="-150px";
	msg.style.marginTop="auto";
	msg.style.padding="5px";
	msg.style.top = "45%"; 
	msg.style.left = "50%"; 
	msg.style.zIndex = "999999999"; 
	msg.style.display = "none"; 
	msg.style.fontSize = "13px";
	//msg.style.textAlign="center";
	msg.style.display = ""; 
}

function hidemsg(){
	msg = document.getElementById("msg");
	msg.style.display = "none"; 
}
function showmybg(){
	mybg = document.getElementById("mybg");
	mybg.style.display = ""; 
	document.body.style.overflow = "hidden";
}
function hidemybg(){
	hidemsg();
	mybg = document.getElementById("mybg");
	mybg.style.display = "none"; 
	document.body.style.overflow = "";
}
