﻿ var querystring = new querystring();
 var root = querystring.get('root');

 function querystring(){      
    this.params = new Object();      
    this.initialize = function(){      
        var param=this.paramstring();      
        if(param.length == 0) return;      
        if(param.substring(0,1)=='?'){      
            param=param.substring(1);      
        }
        param = param.replace(/\+/g, ' ');      
        var args = param.split('&');          
        for (var i=0;i<args.length;i++){      
            var value;      
            var pair = args[i].split('=');      
            var name = unescape(pair[0]);      
            if (pair.length == 2)      
                value = unescape(pair[1]);      
            else     
                value = '';             
            this.params[name] = value;      
        }      
    };      
    this.get = function(key, defvalue){      
        return this.params[key]==null?defvalue:this.params[key];      
    };      
    this.paramstring = function(){       
        var col=document.getElementsByTagName("script");   
        var jsrc=col.item(col.length-1).src;     
        var i=jsrc.indexOf("?");       
        var words=jsrc.substr(i+1,jsrc.length);       
        return(words);       
    };      
    this.initialize();     
}   

  var old = {
  	html:'',
  	target:''
  };

 function loadURL(url) {
  	var t = $('content');//获得目标对象
  	if(arguments[1]) {
  		t = $(arguments[1]);
  	}

  	old.html = t.innerHTML;
  	old.target = t;
  	t.innerHTML = '<div style="text-align:center"><img src="'+root+'/space/common/images/wait.gif"  \/><\/div>';
  	
  	/*new Ajax.Request(url, {     
		method:'get',    
		onSuccess: function(transport){       
			var response = transport.responseText;   
			t.innerHTML = response;
		},     
			onFailure: function(){
				//alert('请求失败,请稍后重试!');
				t.innerHTML = '请求失败,请稍后重试!';
			}
		}
	);*/
	var ajaxs = new Ajax.Updater(arguments[1] || 'content',url,{
		evalScripts:true,
		requestHeaders:["If-Modified-Since","0"],
		onFailure: function(){
				alert('请求失败,请稍后重试!');
				//t.innerHTML = '请求失败,请稍后重试!';
		},
		onSuccess: function(transport){       
			
		},  
		onComplete: function(){
		  t.innerHTML = replaceA(t.innerHTML,/href=\"([^\"]*?displayTag=true.*?)\"/ig,"href=\"#\" onclick=\"loadURL('$1')\"");
		  //document.write(t.innerHTML);
		  ajaxs = null;
		},
		method:'get'
	}); 

  }
 
  function submitForm(form) {
  var t = $('content');//获得目标对象
  	if(arguments[1]) {
  		t = $(arguments[1]);
  	}
  	
	var ajaxs = new Ajax.Updater(arguments[1] || 'content',form.action,{
		evalScripts:true,
		onFailure: function(){
				alert('请求失败,请稍后重试!');
				//t.innerHTML = '请求失败,请稍后重试!';
		},
		onSuccess: function(transport){       
			//alert(321);
		},  
		onComplete: function(){
		  t.innerHTML = replaceA(t.innerHTML,/href=\"([^\"]*?displayTag=true.*?)\"/ig,"href=\"#\" onclick=\"loadURL('$1')\"");
		  //document.write(t.innerHTML);
		  ajaxs = null;
		},
		method:'post',
		parameters: Form.serialize(form)
	}); 

  }
  
  function goBack() {
  	old.target.innerHTML = old.html;
  }
  
  function submitRefershDiv(iframe) {
  	  var doc = iframe.contentWindow.document;
	  var html = doc.body.innerHTML;
	    if (html != '') {
	    	html = replaceA(html,/href=\"([^\"]*?displayTag=true.*?)\"/ig,"href=\"#\" onclick=\"loadURL('$1')\"");
	        document.getElementById('content').innerHTML = html;
	    
	    }
  }
  
  function replaceA(string,reg,re) {
  		//var re = /href=\"([^\"]*?displayTag=true.*?)\"/ig;
  		
  		/*var replaceString = function() {
  			var s = "href=\"#\" onclick=\"loadURL('"+arguments[1]+"')\"";
  			return s.replace('&#9;','');
  		};*/
  		
  		return string.replace(reg,re);
  }
  var oldSrcElement;
   function showButtonSelect(obj,num,classId,courseId,ids,className) {
		var elementPosition = getElementOffset(obj);
		var t = $('buttonList'+num);
			$('buttonList1').style.display = 'none';
		    $('buttonList2').style.display = 'none';
		    $('buttonList3').style.display = 'none';
		    oldSrcElement = obj;
			t.style.display = '';
			t.style.top = elementPosition.top+elementPosition.height;
			t.style.left = elementPosition.left+8;
			t.innerHTML = replaceA(t.innerHTML,/classId=[^\&\']*/g,"classId="+classId);
			t.innerHTML = replaceA(t.innerHTML,/courseId=[^\&\']*/g,"courseId="+courseId);
			t.innerHTML = replaceA(t.innerHTML,/studentClasssId=[^\&\']*/g,"studentClasssId="+ids);
			t.innerHTML = replaceA(t.innerHTML,/id=[^\&\']*/g,"id="+ids);
			t.innerHTML = replaceA(t.innerHTML,/'为班级分组'/g,"'为班级 "+className+" 分组'");
			t.innerHTML = replaceA(t.innerHTML,/'班级--公告'/g,"'班级-- "+className+" 公告'");
   }
	function hidden(id) {
		$(id).style.display = 'none';
	}
	
	function getElementOffset(e) {
		 var t = e.offsetTop;
		 var l = e.offsetLeft;
		 var w = e.offsetWidth;
		 var h = e.offsetHeight-1;
		
		 while(e=e.offsetParent) {
			 t+=e.offsetTop;
			 l+=e.offsetLeft;
		 }
		 return {
			 top : t,
			 left : l,
			 width : w,
			 height : h
		 }
	 }
	 
	 function leaveClass(url,classId,courseId,studentClassId) {
	 	if(confirm('确认申请退班吗?')){
	 			oldSrcElement.innerHTML = "<div class=\"redButton\"><div class=\"redButtonLeft\">等待审批</div><div  class=\"buttonRight\"></div></div>";
					oldSrcElement.onmouseover = function() {
							showButtonSelect(this,'2',classId.split('=')[1],courseId.split('=')[1],studentClassId.split('=')[1]);
					}
		 	new Ajax.Request(url, {     
				method:'get',    
				onSuccess: function(transport){       
				
				},     
					onFailure: function(){
						alert('申请失败,请稍后重试!');
						//t.innerHTML = '请求失败,请稍后重试!';
					}
				}
			);
		}
	}
	 function cancelLeaveClass(url,classId,courseId,studentClassId) {
	 	if(confirm('确认取消申请吗?')){
	 		oldSrcElement.innerHTML = '<div class="blueButton" ><div class="buttonLeft" onclick="window.open(\''+root+'/space/currentcourse/AppraiseAction.do?method=newStudyCourse&classId='+classId.split('=')[1]+'&courseId='+courseId.split('=')[1]+'&homeworkFlag=1&discussFlag=1\',\'_blank\')">进入班级</div><div class="buttonRight"></div></div>';
					oldSrcElement.onmouseover = function() {
						showButtonSelect(this,'1',classId.split('=')[1],courseId.split('=')[1],studentClassId.split('=')[1]);
					};
		 	new Ajax.Request(url, {     
				method:'get',    
				onSuccess: function(transport){       
					
				},     
					onFailure: function(){
						alert('申请失败,请稍后重试!');
						//t.innerHTML = '请求失败,请稍后重试!';
					}
				}
			);
		}
	 }
	 
	  function agreeLeaveClass(url,classId,courseId,studentClassId) {
	 	if(confirm('确认同意退班吗?')){
	 		new Ajax.Request(url, {
	 		    method:'get',    
				onSuccess: function(transport){       
					oldSrcElement.parentNode.parentNode.removeChild(oldSrcElement.parentNode);
				},     
					onFailure: function(){
						alert('同意退班失败,请稍后重试!');
						//t.innerHTML = '请求失败,请稍后重试!';
					}
				}
			);
			
		}
	 }
	 
 function getELXY(e){
	return {x:e.offsetLeft,y:e.offsetTop};
}
function getELWH(e){
	return {w:e.offsetWidth,h:e.offsetHeight};
}
function getClientXY(e){
	e=e||event;
	return {cx:e.clientX,cy:e.clientY};
}

document.onmousemove = function(e){
	//var obj = document.getElementById("buttonList1");
	//var obj1 = $('buttonList2');
	//hiddenList(obj,e);
	//hiddenList(obj1,e);
};
document.onclick = function() {
		if($('buttonList1')) {
			$('buttonList1').style.display = 'none';
		}
		if($('buttonList2')) {
			$('buttonList2').style.display = 'none';
		}
		if($('buttonList3')) {
			$('buttonList3').style.display = 'none';
		}
}
	function hiddenList(obj,e) {
		var element = getElementOffset(obj);
		var lt = element.left;
		var rt = element.left + element.width;
		var topY = element.top-28;
		var bottomY = element.top + element.height;
		var mouseXX = getClientXY(e)['cx'];
		var mouseYY = getClientXY(e)['cy'];
		if(mouseXX<lt || mouseXX>rt || mouseYY<topY || mouseYY>bottomY){
			obj.style.display="none";
		}
	}