/* ########################################################################################################################################################################################################################################################################*/
	
	//var  _anim=new Image(16,16); loading_anim.src="img/loading_anim.gif";
	//var loading_done=new Image(16,16); loading_done.src="img/loading_static.gif";
	var loadingElem = "<img src='img/loading_small.gif' height=10 width=10 border=0 style='margin-bottom:-1px;'>&nbsp;&nbsp;<blink>Loading ...</blink>"
	
	var injectWhere = ""; 
	var whatAction = "", secondAction="";;
	var whatId = "";
	var active ="";	
	var wrefresh ="";
	var lastOpenDiv = "";
	var CurrentContent = "";
	
	var lastStatusBox="";
	var lastChangeClass = "";

/* ########################################################################################################################################################################################################################################################################*/
	var Wx="", Wy="";
	
	function windowHeight(){
		if (self.innerHeight){ 																// all except Explorer
			Wx = self.innerWidth;
			Wy = self.innerHeight;
		} else if (document.documentElement && document.documentElement.clientHeight){		// Explorer 6 Strict Mode
			Wx = document.documentElement.clientWidth;
			Wy = document.documentElement.clientHeight;
		} else if (document.body){															// other Explorers
			Wx = document.body.clientWidth;
			Wy = document.body.clientHeight;
		}
	}
	windowHeight();

	
/* ########################################################################################################################################################################################################################################################################*/
	var isChoice = 0;
	function callAlert(Msg,Title){
		txt = Msg;
		caption = Title;
		vbMsg(txt,caption)
		alert(isChoice);
	}
/* ########################################################################################################################################################################################################################################################################*/	
	function createRequestObject(){
		var request_o;
		var browser = navigator.appName;
		if( browser == "Microsoft Internet Explorer"){
			request_o = new ActiveXObject("Microsoft.XMLHTTP");
		} else {
			request_o = new XMLHttpRequest();
		}
		return request_o;
	}
	
/* ########################################################################################################################################################################################################################################################################*/
	function handleData(str,page){
		var http = createRequestObject(); 
		if(injectWhere!=""){
			document.getElementById(injectWhere).style.display='';
			document.getElementById(injectWhere).innerHTML = loadingElem;
		}
		
		//document.getElementById('loading').src=eval('loading_anim.src');
		if(!page){
			page = "../../modules/_actions.php";
		}
		http.open('post', page, true);
		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		
		http.onreadystatechange = function(){ handleResponse(http);}
		http.send(str);
	}


/* ########################################################################################################################################################################################################################################################################*/
	function handleResponse(http){
		if(http.readyState == 4){ //Finished loading the response
			windowHeight();
			//setTimeout('document.getElementById(\'loading\').src=eval(\'loading_done.src\');', 500);
			
	// ---- exit if no session !!!!! ---------------------------------------------------
			if(http.responseText=="no_session_redirect"){
				document.location.href="index.php";
				return false;	
			}
	// ----------------------------------------------------------------------------
			
			
			if         (whatAction && whatAction==	"injectModule"		){
		/*  ----------------------------------------------------------------------------------------------------------------------------------------------------  */				
				if(injectWhere!="" && secondAction==""){
					
					document.getElementById(injectWhere).innerHTML=http.responseText;
					windowHeight();
					document.getElementById('overlay').style.height 	= Wy+"px";	
					
				}
				
				makeWizzy();



			} else if (whatAction && whatAction==	"updateEditbox"		){
		/*  ----------------------------------------------------------------------------------------------------------------------------------------------------  */
				//alert(http.responseText); return false;
					
				document.getElementById("saveing").innerHTML = "<img src=img/ind_saving_done.gif width=10 height=10 id='theSaving' />&nbsp;&nbsp;Done.";		
				
				if(document.getElementById('editHere')){
					window.setTimeout("fadeDiv('editHere','out')", 150);
					window.setTimeout("document.getElementById('overlay').style.display='none';",350);
				}
				
				if( document.getElementById('page_pagenr')){
					var c1 = document.getElementById('page_pagenr').value, 
						c2 = document.getElementById('no_where').value;
						doPaging(c1,c2);
				} else {
					window.setTimeout("fadeDiv('saveing','out')", 500);	
				}
				
				//updateLine(whatId);
				
				
				if(http.responseText!=""){
					message = http.responseText;
					//alert(message);
					//window.setTimeout("displayInfoMessage('"+message+"');",500);
				}
				
			} else if(whatAction=="statusBox" && http.responseText!=""){
				document.getElementById(injectWhere).innerHTML=http.responseText;
			} else if(whatAction=="setStatus" && http.responseText==""){
				fadeDiv("statuschange_"+whatChange,'out');
				if(whatChangeStatus && (whatChangeStatus=="finished" || whatChangeStatus=="rejected")){
					setTimeout("fadeDiv(\"taskitem_\"+whatChange,'out')",750);
				}	
			} else if (whatAction && whatAction==	"editModule"		){
		/*  ----------------------------------------------------------------------------------------------------------------------------------------------------  */
				document.getElementById(injectWhere).innerHTML=http.responseText;
				document.getElementById('overlay').style.height = Wy+"px";
				makeWizzy();
				
				
		/*  ----------------------------------------------------------------------------------------------------------------------------------------------------  */				
				//checkForInfoMessage();
			}


		/*#######################################################################################################################################################*/	
			if(secondAction=="checkForInfoMessage" && http.responseText!=""){
				displayInfoMessage(http.responseText);
				secondAction="";
			}
		/*#######################################################################################################################################################*/				


			//evalScripts(http.responseText);
			
		} // if ready state
	}
	
	function evalScripts(__t){
		if((/\S/).test(__t) && (/<script[^>]*>/mi).test(__t)){
			for(var _i = 1,_ss = __t.split(/<script[^>]*>/mi),_s = _ss[_i], _cnt = _ss.length ;_i<_cnt;_i++,_s = _ss[_i]){
				try{eval(_s.substring(0,_s.indexOf('</script>')));}catch(e){}
			}		
		}
	}
	
/* ########################################################################################################################################################################################################################################################################*/
	

/* ########################################################################################################################################################################################################################################################################*/
	function createPostString(form){

		var currentForm = document.getElementById(form);
		var result = "";
		
		var iElements = currentForm.getElementsByTagName('input');  
		for (var i=0;i<iElements.length;i++){
			
			if ((iElements[i].type == "radio" || iElements[i].type == "checkbox") && iElements[i].checked ) {
				if(iElements[i].name!=""){
					result = "&" + iElements[i].name + "=" + escape(encodeURI(clearHtmlText(iElements[i].value))) + result;
				}
			}
			
			if (iElements[i].type == "text" || iElements[i].type == "hidden" || iElements[i].type == "password"){
				if(iElements[i].name!=""){
					result = "&" + iElements[i].name + "=" + escape(encodeURI(clearHtmlText(iElements[i].value))) + result;
				}
			}
		}  
		
		var tElements = currentForm.getElementsByTagName('textarea');
		for (var i=0;i<tElements.length;i++){  
			if(tElements[i].name!=""){
				result = "&" + tElements[i].name + "=" + escape(encodeURI(clearHtmlText(tElements[i].value))) + result;
			}
		} 

		var sElements = currentForm.getElementsByTagName('select');
		for (var i=0;i<sElements.length;i++){  
			if(sElements[i].name!=""){
				result = "&" + sElements[i].name + "=" + sElements[i].value + result;
			}
		} 
			
		//alert(result);
		return result;
		
	}
	
/* ########################################################################################################################################################################################################################################################################*/
	function createPost(form,where,what){
		window.clearTimeout(active);
		injectWhere = where;
		whatAction = "createPost";
		
		if(document.getElementById("saveing")){
			document.getElementById("saveing").style.display = "";
		}
		
		if(injectWhere!=""){
			document.getElementById(injectWhere).innerHTML = '<blink>Loading ...</blink>';
		}
		//document.getElementById('loading').src=eval('loading_anim.src');
		
		var str = createPostString(form);
		
		if(what!=""){
			str += "&what="+what;
		}
		handleData(str);	
			
	}


/* ########################################################################################################################################################################################################################################################################*/
	function updateEditbox(form){
		injectWhere = "";
		whatAction 	= "updateEditbox";
		whatId 		= document.getElementById('id').value;		
		document.getElementById("saveing").style.display = "";
		//document.getElementById('loading').src=eval('loading_anim.src');	
		var str = createPostString(form);
		handleData(str);
		
	}
	
	function closeEditBox(){
		if(document.getElementById('editHere')){
			document.getElementById('overlay').style.display='none';
			document.getElementById('editHere').style.display='none';
		}
	}	

/* ########################################################################################################################################################################################################################################################################*/
	function checkForInfoMessage(){
		whatAction	="";
		injectWhere	="";
		secondAction 	= "checkForInfoMessage";
		var str 		= "&no_action=checkForInfoMessage";
		handleData(str);
	}
/* ########################################################################################################################################################################################################################################################################*/
	function displayInfoMessage(message){
		//document.getElementById('outmessage').style.display='';
		document.getElementById('outmessage_message').innerHTML = message;
		window.setTimeout("fadeDiv('outmessage','in')", 100);
		window.setTimeout("fadeDiv('outmessage','out')",3500);
	}	


/* ########################################################################################################################################################################################################################################################################*/
	function injectModule(what, where, extra){
		if(whatAction!='editModule'){
			whatAction 	= "injectModule";
			whatChange 	= what;
		}
		injectWhere = where;

		if(where=='editHere' || where=='no_prj_users_access' || where=='no_doc_users_access' || where=='no_tsk_users_access'){
			document.getElementById('overlay').style.display = '';
		} else {
			document.getElementById('overlay').style.display = 'none';
		}
		
		document.getElementById(injectWhere).innerHTML = '<blink>Loading ...</blink>';
		var str = "&no_cmd=injectmodule&what="+what+"&where="+where;
		
		if(extra && extra!=""){
			str = str + extra;
		}
		
		handleData(str);
	}

	function editModule(what, id){
		whatAction 	= "editModule";
		whatId 		= id;
		whatChange 	= what;
		injectModule(what+"_edit&id="+id, 'editHere');
	}

/* ########################################################################################################################################################################################################################################################################*/	


	function makeWizzy(){
		var wizElements = document.getElementsByTagName('textarea');  
		for (var i=0;i<wizElements.length;i++){  
			var relAttribute = String(wizElements[i].getAttribute('rel'));
			if (relAttribute.toLowerCase().match('wizzy') && !document.getElementById('iactEd_All_'+wizElements[i].id)){	
				make_iactEd(wizElements[i].id,'full');
			}
		}
	}
	
	function updateWizzyFileds(){
		var wizElements = document.getElementsByTagName('textarea');  
		for (var i=0;i<wizElements.length;i++){  
			var relAttribute = String(wizElements[i].getAttribute('rel'));
			if (relAttribute.toLowerCase().match('wizzy')){	
				//WYSIWYG.updateTextArea(wizElements[i].id);
				updateTextArea(wizElements[i].id);
			}
		}
	}
	
	
	
/* ########################################################################################################################################################################################################################################################################*/
























/* ########################################################################################################################################################################################################################################################################*/
	function clearHtmlText(what){
		var sText = what;
		sText = sText.replace(/&amp;/g,'&');
		sText = sText.replace(/&quot;/g,'"');
		sText = sText.replace(/&nbsp;/g,' ');
		sText = sText.replace(/&lt;/g,'<');
		sText = sText.replace(/&gt;/g,'>');
		sText = sText.replace(/&#39;/g,"'");
		return sText;
	}


// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function toggleClassHide(what, fromwhere){
	if(!fromwhere){
		if(document.getElementById(what).className=="classHidden"){
			document.getElementById(what).className="classShown";
		} else {
			document.getElementById(what).className="classHidden";
		}
	} else {
		if(document.getElementById(fromwhere).checked == true){
			document.getElementById(what).className="classShown";
		} else if(document.getElementById(fromwhere).checked == false){
			document.getElementById(what).className="classHidden";
		}
	
	}
}


// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function toggleDiv(what,fromwhere){
	if(document.getElementById(fromwhere).checked=="true"){
		document.getElementById(what).style.display="";
	} else {
		document.getElementById(what).style.display="none";
	}
}

