/**
*
*  UTF-8 data encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Utf8 = {
 
	// public method for url encoding
	encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// public method for url decoding
	decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}
		
function UniqeID(str){
	var d = new Date();
	var t = d.getTime();
	if(str){
		return str + t;
	} else {
		return '&auid='	+ t;
	}
	
}
		
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
	
	/*
	These cookie functions are downloaded from 
	http://www.mach5.com/support/analyzer/manual/html/General/CookiesJavaScript.htm
	
	function Get_Cookie(name) { 
	   var start = document.cookie.indexOf(name+"="); 
	   var len = start+name.length+1; 
	   if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
	   if (start == -1) return null; 
	   var end = document.cookie.indexOf(";",len); 
	   if (end == -1) end = document.cookie.length; 
	   return unescape(document.cookie.substring(len,end)); 
	   //alert(unescape(document.cookie.substring(len,end)));
	} 
	// This function has been slightly modified
	function Set_Cookie(name,value,expires,path,domain,secure) { 
		expires = expires * 60*60*24*1000;
		var today = new Date();
		var expires_date = new Date( today.getTime() + (expires) );
	    var cookieString = name + "=" +escape(value) + 
	       ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
	       ( (path) ? ";path=" + path : "") + 
	       ( (domain) ? ";domain=" + domain : "") + 
	       ( (secure) ? ";secure" : ""); 
	    document.cookie = cookieString; 
	} */
	var ajaxRequestFile = 'ajax.php';
	var ajaxObjectArray = new Array();	
	


	function initMyQuest(qstr){
		if(qstr){
			
		var qstrT = qstr.split('&');
	
		for(var i=0;i<qstrT.length;i++){
			if(qstrT[i].indexOf("auid") != "-1"){
					qstrT[i]='';
			}
		}
		qstr = qstrT.join("&");
		
		
			if(document.getElementById('lastQ')){
				document.getElementById('lastQ').value = qstr;
			}
			ajaxObjectArray[ajaxObjectArray.length] = new sack();
			var ajaxIndex = ajaxObjectArray.length-1;
			ajaxObjectArray[ajaxIndex].requestFile = ajaxRequestFile + qstr + UniqeID();			
			ajaxObjectArray[ajaxIndex].onCompletion = function() { getNodeDataFromServer2(ajaxIndex,'MCRCcontent'); };
			ajaxObjectArray[ajaxIndex].runAJAX();	
		}			
	}

	function initMyQuest2(qstr,targ){
		if(qstr){
			
		var qstrT = qstr.split('&');
	
		for(var i=0;i<qstrT.length;i++){
			if(qstrT[i].indexOf("auid") != "-1"){
					qstrT[i]='';
			}
		}
		qstr = qstrT.join("&");
		
		
			if(document.getElementById('lastQ')){
				document.getElementById('lastQ').value = qstr;
			}
			ajaxObjectArray[ajaxObjectArray.length] = new sack();
			var ajaxIndex = ajaxObjectArray.length-1;
			ajaxObjectArray[ajaxIndex].requestFile = ajaxRequestFile + qstr + UniqeID();			
			ajaxObjectArray[ajaxIndex].onCompletion = function() { getNodeDataFromServer4(ajaxIndex,targ); };
			ajaxObjectArray[ajaxIndex].runAJAX();	
		}			
	}
	

	
function SortByColN(name, dir, targetFunc, qStr){
	var qstrT = qStr.split('&');
	
		for(var i=0;i<qstrT.length;i++){
			if(qstrT[i].indexOf("auid") != "-1"){
					qstrT[i]='';
			}
		}
		qStr = qstrT.join("&");
	
	var qs=targetFunc + "('?pole=" + name + "&dir=" + dir + qStr + "');";
	eval(qs);
}
function SortByColN2(name, dir, targetFunc, qStr, targ){
	var qstrT = qStr.split('&');
	
		for(var i=0;i<qstrT.length;i++){
			if(qstrT[i].indexOf("auid") != "-1"){
					qstrT[i]='';
			}
		}
		qStr = qstrT.join("&");
	
	var qs=targetFunc + "('?pole=" + name + "&dir=" + dir + qStr + "','"+ targ +"');";
	eval(qs);
}
function editForm(userID,userID2){
	document.getElementById('mask').style.display='block';
	document.getElementById('editform').style.display='block';
	var sel = document.getElementById('depend');
	var uid = document.getElementById('uID');
	var len = sel.length;
	
	uid.value = userID;
	for (var i = 0; i <len; i++) {
		if(sel.options[i].value == userID2){
			sel.options[i].selected = true;
			break;
		}
	}
	
}
function closeForm(){
	document.getElementById('mask').style.display='none';
	document.getElementById('editform').style.display='none';
	document.getElementById('uID').value='';
	
}
function saveEditForm(){
	
		document.getElementById('prog2').style.display='';
		
	var sel = document.getElementById('depend');
	var uid = document.getElementById('uID').value;
	var dd = sel.selectedIndex;
	var qstr = '?MyEdit=' + sel[dd].value + "&uID=" + uid;
			ajaxObjectArray[ajaxObjectArray.length] = new sack();
			var ajaxIndex = ajaxObjectArray.length-1;
			ajaxObjectArray[ajaxIndex].requestFile = ajaxRequestFile + qstr + UniqeID();			
			ajaxObjectArray[ajaxIndex].onCompletion = function() { getNodeDataFromServer3(ajaxIndex,'editform'); };
			ajaxObjectArray[ajaxIndex].runAJAX();	
	
	
	
}
function getMessageT(ajaxIndex,contID,placeID)
	{
		//document.getElementById(contID).style.backgroundColor='red';
		document.getElementById(contID).innerHTML = ajaxObjectArray[ajaxIndex].response;
		ajaxObjectArray[ajaxIndex] = false;
		
		if(placeID){
		 var tid=setTimeout('showPlace2('+placeID+');',5000);
		

		}
	}
function showMessage(ajaxIndex,contID,placeID)
	{
		document.getElementById('tlocomment').style.display='block';
		document.getElementById(contID).innerHTML = ajaxObjectArray[ajaxIndex].response;
		ajaxObjectArray[ajaxIndex] = false;

		if(placeID){
			var tid=setTimeout('initMyRequest("?MyRequest=show");document.getElementById("tlocomment").style.display="none";',5000);
		}
	}
function getNodeDataFromServer(ajaxIndex,ulId,parentId)
	{
		document.getElementById(ulId).innerHTML = ajaxObjectArray[ajaxIndex].response;
		ajaxObjectArray[ajaxIndex] = false;
		parseSubItems(ulId,parentId);
	}
function getNodeDataFromServer2(ajaxIndex,contID, nodeID)
	{
		var conEl = document.getElementById(contID);
		conEl.className='';
		document.getElementById('prog').style.display='none';
		conEl.innerHTML = ajaxObjectArray[ajaxIndex].response;
		ajaxObjectArray[ajaxIndex] = false;
		
	}
function getNodeDataFromServer3(ajaxIndex,contID, nodeID)
	{
		var qstr = document.getElementById('lastQ').value;
		var conEl = document.getElementById(contID);
		document.getElementById('prog2').style.display='none';
		if(ajaxObjectArray[ajaxIndex].response){
			initMyQuest(qstr);
			closeForm();
		} else {
			conEl.innerHTML = "<span style=\"color:red\">Wystąpił błąd.</span>";
		}
			
		ajaxObjectArray[ajaxIndex] = false;
		
	}
function getNodeDataFromServer4(ajaxIndex,ulId,auid)
	{
		document.getElementById(ulId).style.background='';
		document.getElementById(ulId).innerHTML = ajaxObjectArray[ajaxIndex].response;
		
		
		if(ulId == "UpperFrame"){
			fleXenv.fleXcrollMain('LeftCol_content');
		}
		initialize();
		ajaxObjectArray[ajaxIndex] = false;
		
		if(auid==10||auid==11){
			
			window.location.search="?m=0";
		}
	}
function showU(uid){
	var row = document.getElementById('TR'+uid.id);
	var cell = document.getElementById('TD'+uid.id);
	if(row.style.display=="none"){
		row.style.display='';
		cell.style.background='url(images/pb.gif) no-repeat center';
		
			var qstr = '?showM=' + uid.id;
			ajaxObjectArray[ajaxObjectArray.length] = new sack();
			var ajaxIndex = ajaxObjectArray.length-1;
			ajaxObjectArray[ajaxIndex].requestFile = ajaxRequestFile + qstr + UniqeID();			
			ajaxObjectArray[ajaxIndex].onCompletion = function() { getNodeDataFromServer4(ajaxIndex,'TD' + uid.id); };
			ajaxObjectArray[ajaxIndex].runAJAX();		
	
	} else {
		row.style.display='none';
		cell.style.background='';
	}
	
}

function showLid(uid,q){
	var div = document.getElementById("UpperFrame");
	if(IsNumeric(uid)){

		div.style.background='url(images/pb.gif) no-repeat center';
		var getstr="";
		var test="";
		getstr=window.location.search;
		var findw=/MM_insert/i;
		test=getstr.match(findw);
			if((uid==10||uid==11) && (test!="")){
				//var qstr = getstr + '&ShowLid=' + uid;
				var qstr = '?ShowLid=' + uid + q;
			} else {
				var qstr = '?ShowLid=' + uid + q;
			}
			ajaxObjectArray[ajaxObjectArray.length] = new sack();
			var ajaxIndex = ajaxObjectArray.length-1;
			ajaxObjectArray[ajaxIndex].requestFile = ajaxRequestFile + qstr + UniqeID();	
				if((uid==10||uid==11) && (test!=null)){
					ajaxObjectArray[ajaxIndex].onCompletion = function() { getNodeDataFromServer4(ajaxIndex,'UpperFrame',uid); };
				} else {
					ajaxObjectArray[ajaxIndex].onCompletion = function() { getNodeDataFromServer4(ajaxIndex,'UpperFrame'); };	
				}
			ajaxObjectArray[ajaxIndex].runAJAX();		
	} else {
		div.style.background='';
	}
}	
function reFlex(){
	fleXenv.fleXcrollMain('LeftCol_content');
}
