
function loading(e){
    var div = document.getElementById("loading");
    if(div){
	if((div.style.display == "none") || (div.style.display =="")){
	    var top = (($(window).height()-$('#loading').height())/2)+$(window).scrollTop();
	    var left = ($(window).width()-$('#loading').width())/2;
	    $('#loading').css('top', top+'px');
	    $('#loading').css('left', left+'px');
	    $('#loading').show('slow');
	} else {
	    $('#loading').hide('slow');
	}
    }
}

function showMessageBox(){
    $('#msg_popup').draggable({ handle: '.close_msg_popup' });
    var top = (($(window).height()-$('#msg_popup').height())/2)+$(window).scrollTop();
    var left = ($(window).width()-$('#msg_popup').width())/2;
    $('#msg_popup').css('top', top+'px');
    $('#msg_popup').css('left', left+'px');
    if ( $.browser.msie ) {
	var bn = navigator.userAgent;
	if((verOff=bn.indexOf("MSIE"))!=-1){
	    var fv = bn.substring(verOff+5);
	    if ((ix=fv.indexOf(";"))!=-1) fv=fv.substring(0,ix);
	    if ((ix=fv.indexOf(" "))!=-1) fv=fv.substring(0,ix);
	    var v = parseInt(''+fv,10);
	};
    };
    $('#msg_popup').show('slow');
    $('.close_icon').click(function(){
	$('#msg_popup').hide('slow');
    });
}

function showFormBox(){
    $('#popup_form').draggable({ handle: '.close_popup_form' });
    var top = (($(window).height()-$('#popup_form').height())/2)+$(window).scrollTop();
    var left = ($(window).width()-$('#popup_form').width())/2;
    if(document.getElementById('recaptcha')) top-=70;
    if(document.getElementById('sms_code')) top-=50;
    $('#popup_form').css('top', top+'px');
    $('#popup_form').css('left', left+'px');
    if ( $.browser.msie ) {
	var bn = navigator.userAgent;
	if((verOff=bn.indexOf("MSIE"))!=-1){
	    var fv = bn.substring(verOff+5);
	    if ((ix=fv.indexOf(";"))!=-1) fv=fv.substring(0,ix);
	    if ((ix=fv.indexOf(" "))!=-1) fv=fv.substring(0,ix);
	    var v = parseInt(''+fv,10);
	};
    };
    $('#popup_form').show('slow');
    $('.close_icon').click(function(){
	$('#popup_form').hide('slow');
    });
}

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}
    
function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
	    
function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}


function getAjaxObject() {
    var xmlHttp;
    try {  // Firefox, Opera 8.0+, Safari  
	xmlHttp=new XMLHttpRequest();  
    } catch (e) {  // Internet Explorer  
	try {
	    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    
	} catch (e) {
	    try {
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");      
	    } catch (e) { 
//		alert("Your browser does not support AJAX!"); 
		return false;      
	    }
	}
    }
    return xmlHttp;
}

function checkLogin(){
    var xmlHttp = getAjaxObject();
    var nazwa = /^[0-9a-z_-]{2,15}$/i;
    var login = document.getElementsByName('login_admina')[0];
    if(!nazwa.test(login.value)){
	login.style.backgroundColor="#FF4500";
    } else 
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		if(response=="true") {
		    login.style.backgroundColor="#ADFF2F";
		    login.title='';
		} else {
		    login.style.backgroundColor="#FF4500";
		    login.title=response;

	            $("#popup_form input").tooltip({
		        track: true,
		        delay: 0,
		        showURL: false,
		        showBody: " - ",
		        extraClass: "top",
		        fade: 250
		    });
	            $("#nowe_forum_form input").tooltip({
		        track: true,
		        delay: 0,
		        showURL: false,
		        showBody: " - ",
		        extraClass: "top",
		        fade: 250
		    });
		}
    		loading();
    	    }
	}
        loading();
	xmlHttp.open("GET","/ajax.php?act=login_test&login="+login.value+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function checkName(){
    var xmlHttp = getAjaxObject();
    var nazwa = /^[a-z][0-9a-z_-]{1,15}$/;
    var name = document.getElementsByName('nazwa_forum')[0].value;
    if(!nazwa.test(name)){
	document.getElementsByName('nazwa_forum')[0].style.backgroundColor="#FF4500";
    } else 
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		if(response=="true") {
		    document.getElementsByName('nazwa_forum')[0].style.backgroundColor="#ADFF2F";
		    document.getElementsByName('nazwa_forum')[0].title='';
		} else if(response.charAt(0)=="<"){
		    document.getElementById('admin_form').innerHTML=response;
		    showMessageBox();
		    document.getElementsByName('nazwa_forum')[0].title='';
		    document.getElementsByName('nazwa_forum')[0].style.backgroundColor="#FF4500";
		} else {
		    document.getElementsByName('nazwa_forum')[0].title=response;
		    document.getElementsByName('nazwa_forum')[0].style.backgroundColor="#FF4500";

	            $("#popup_form input").tooltip({
		        track: true,
		        delay: 0,
		        showURL: false,
		        showBody: " - ",
		        extraClass: "top",
		        fade: 250
		    });
	            $("#nowe_forum_form input").tooltip({
		        track: true,
		        delay: 0,
		        showURL: false,
		        showBody: " - ",
		        extraClass: "top",
		        fade: 250
		    });
		}
    		loading();
    	    }
	}
        loading();
	xmlHttp.open("GET","/ajax.php?act=name_test&nazwa="+name+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function getBody(content, lang){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
    		document.getElementById('body').innerHTML=xmlHttp.responseText;
		document.getElementsByName('after_refresh')[0].value = content;
		document.getElementById("preload").style.display="none";
		document.getElementById("prelcie").style.display="none"; 
		document.getElementById("prelkom").style.display="none";
    	    } else {
		document.getElementById("preload").style.display="block";
                document.getElementById("preload").style.opacity="0.4";
                document.getElementById("preload").style.filter="alpha(opacity=40)";
		document.getElementById("prelcie").style.display="block"; 
		document.getElementById("prelkom").style.display="block";
   	    }
	}
	xmlHttp.open("GET","/ajax.php?act="+content+"&jezyk="+lang+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function zalozForum(){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
	if(xmlHttp.overrideMimeType) xmlHttp.overrideMimeType('text/html');

	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var ret = xmlHttp.responseText;
		if (ret.indexOf("msg_popup") != -1) {
		    document.getElementById('admin_form').innerHTML=ret;
		    showMessageBox();
		} else {
    		    document.getElementById('body').innerHTML=ret;
		}
		document.getElementById("preload").style.display="none";
		document.getElementById("prelcie").style.display="none"; 
		document.getElementById("prelkom").style.display="none";
    	    } else {
 		document.getElementById("preload").style.display="block";
                document.getElementById("preload").style.opacity="0.4";
                document.getElementById("preload").style.filter="alpha(opacity=40)";
		document.getElementById("prelcie").style.display="block"; 
		document.getElementById("prelkom").style.display="block";
	    }
	}

	var recaptcha_challenge_field = document.getElementById('recaptcha_challenge_field').value;
	var recaptcha_response_field = document.getElementById('recaptcha_response_field').value;
	var lang = document.getElementsByName('lang')[0].value;
	
	var parameters = "nazwa_forum=" + escape(encodeURI( document.getElementsByName("nazwa_forum")[0].value )) +
			"&opis=" + escape(encodeURI( document.getElementsByName("opis")[0].value )) +
			"&kategoria_forum=" + escape(encodeURI( document.getElementsByName("kategoria_forum")[0].value )) +
			"&login_admina=" + escape(encodeURI( document.getElementsByName("login_admina")[0].value )) +
			"&haslo_admina=" + escape(encodeURI( document.getElementsByName("haslo_admina")[0].value )) +
			"&email_admina=" + escape(encodeURI( document.getElementsByName("email_admina")[0].value )) +
			"&lang=" + lang +
			"&recaptcha_challenge_field=" + recaptcha_challenge_field +
			"&recaptcha_response_field=" + recaptcha_response_field +
			"&akceptacja=" + escape(encodeURI( document.getElementsByName("akceptacja")[0].value ));
			
	xmlHttp.open('POST', '/ajax.php?act=dodaj_forum&jezyk='+lang+'&t='+Date(), true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
    }
    return false;
}

function getLastTen(lang){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		document.getElementById('last_ten').innerHTML=response;
		$(".last10").tooltip({
		    track: true,
    		    delay: 0,
		    showURL: false,
	    	    showBody: " - ",
		    fade: 250
		});
    	    }
	}
	
	xmlHttp.open("GET","/ajax.php?act=last_ten&jezyk="+lang+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function getStats(lang){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		document.getElementById('statystyki').innerHTML=response;
		$(".top5").tooltip({
		    track: true,
    		    delay: 0,
		    showURL: false,
	    	    showBody: " - ",
		    fade: 250
		});
    	    }
	}
	
	xmlHttp.open("GET","/ajax.php?act=stats&jezyk="+lang+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function getPR(name){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		document.getElementById(name+'_pr').innerHTML=response;
    	    }
	}
	xmlHttp.open("GET","/ajax.php?act=get_pr&nazwa="+name+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function getForumDetails(lang, name){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		document.getElementById(name).innerHTML=response;
		document.getElementById(name+'_less').style.display='block';
		document.getElementById(name+'_more').style.display='none';
    		loading();
    	    } else {
		if(document.getElementById(name+'_controll'))
		    document.getElementById(name+'_controll').style.display='none';
		document.getElementById(name).style.display='block';
	    }
	}
        loading();
	xmlHttp.open("GET","/ajax.php?act=details&forum="+name+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function hideForumDetails(name){
    document.getElementById(name).innerHTML='';
    document.getElementById(name+'_less').style.display='none';
    document.getElementById(name+'_more').style.display='block';
    return false;
}

function getForum(lang, name, pr){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		document.getElementById('admin_form').innerHTML=response;
		document.getElementById('admin_form').style.display='block';

		if(document.getElementById('sms_addr')){
		    var sms = document.getElementById('sms_addr').value;
		    document.getElementById('sms_addr').value='';

		    $.getScript(sms);
		};
		
		showFormBox();
    		loading();
    	    }
	}
	loading();
	xmlHttp.open("GET","/ajax.php?act=get_forum&forum="+name+"&pr="+pr+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function getReportForum(jezyk, name){
    var xmlHttp = getAjaxObject();
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		document.getElementById('admin_form').innerHTML=response;
		document.getElementById('admin_form').style.display='block';

		var pub_key = document.getElementById('pub_key').value;
		Recaptcha.create(pub_key, 'recaptcha', { theme: 'red',  lang: jezyk, tabindex: 0,  callback: Recaptcha.focus_response_field });			    		
		
		showFormBox();
    		loading();
    	    }
	}
	loading();
	xmlHttp.open("GET","/ajax.php?act=get_report_forum&forum="+name+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function setForumReport(){
    var xmlHttp = getAjaxObject();
    
    var dane = document.getElementById('dane').value;
    var email = document.getElementById('email').value;
    var opis = document.getElementById('opis').value;
    var forum = document.getElementById('forum').value;
    var lang = document.getElementById('lang').value;
    var recaptcha_challenge_field = document.getElementById('recaptcha_challenge_field').value;
    var recaptcha_response_field = document.getElementById('recaptcha_response_field').value;
    
    if(xmlHttp){
	if(xmlHttp.overrideMimeType) xmlHttp.overrideMimeType('text/html');

	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		$('#popup_form').hide('slow');
		var response = trim(xmlHttp.responseText);
		document.getElementById('admin_form').innerHTML=response;
		
		showMessageBox();
    		loading();
	    }
	}
	
	var parameters = "forum=" + escape(encodeURI(forum)) +
			"&opis=" + escape(encodeURI(opis)) +
			"&dane=" + escape(encodeURI(dane)) +
			"&email=" + escape(encodeURI(email)) +
			"&lang=" + lang +
			"&recaptcha_challenge_field=" + recaptcha_challenge_field +
			"&recaptcha_response_field=" + recaptcha_response_field;
			
	loading();
	xmlHttp.open('POST', '/ajax.php?act=setForumReport&t='+Date(), true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
	
    }
    return false;
}

function getForumControl(){
    var xmlHttp = getAjaxObject();
    
    var forum = document.getElementById('forum').value;
    var login = document.getElementById('login_admina').value;
    var pass1 = document.getElementById('pass1').value;
    var pass2 = document.getElementById('pass2').value;
    var email = document.getElementById('email').value;
    var lang = document.getElementById('lang').value;
    var akc = document.getElementById('akcept').checked;
    var sms = document.getElementById('sms_code').value;
    var pr = document.getElementById('pr').value;
    var ses = document.getElementById('ses').value;
    
    if(xmlHttp){
	if(xmlHttp.overrideMimeType) xmlHttp.overrideMimeType('text/html');

	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		$('#popup_form').hide('slow');
		var response = trim(xmlHttp.responseText);
		document.getElementById('admin_form').innerHTML=response;

		showMessageBox();
    		loading();
	    }
	}

	var parameters = "nazwa=" + escape(encodeURI(forum)) +
			"&login=" + escape(encodeURI(login)) +
			"&akc=" + akc +
			"&email=" + escape(encodeURI(email)) +
			"&lang=" + escape(encodeURI(lang)) +
			"&pass1=" + Base64.encode(pass1) +
			"&pass2=" + Base64.encode(pass2) +
			"&sms_code=" + escape(encodeURI(sms)) +
			"&pr=" + escape(encodeURI(pr)) +
			"&s=" + ses;

	loading();
	xmlHttp.open('POST', '/ajax.php?act=getForumControl&t='+Date(), true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
    }
    return false;
}

function getForumOptions(lang, name, pr){
    var xmlHttp = getAjaxObject();
    var p = document.getElementById(name+'_controll');
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		var response = trim(xmlHttp.responseText);
		p.innerHTML=response;
		p.style.display='block';

	            $("#"+name+"_controll .info").tooltip({
		        track: true,
		        delay: 0,
		        showURL: false,
		        showBody: " - ",
		        extraClass: "top",
		        fade: 250
		    });
    		loading();
    	    }
	}
	loading();
	xmlHttp.open("GET","/ajax.php?act=get_forum_options&forum="+name+"&lang="+lang+"&pr="+pr+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function setNewPaPass(){
    var forma = document.getElementById('newPaPass');
    loading();
    $('#popup_form').hide('slow');
    forma.submit();
    return true;
}
		    
function getReclamationForm(lang, data, s){
    var xmlHttp = getAjaxObject();
    var p = document.getElementById('admin_form');
    if(xmlHttp){
    	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {

		$('#msg_popup').hide('slow');
		var response = trim(xmlHttp.responseText);
		p.innerHTML=response;
		p.style.display='block';

		showFormBox();
    		loading();
    	    }
	}
	loading();
	xmlHttp.open("GET","/ajax.php?act=getReclamationForm&data="+data+"&lang="+lang+"&s="+s+"&t="+Date(),true);
	xmlHttp.send(null);
	return true;
    }
    return false;
}

function sendReclamation(s){
    var xmlHttp = getAjaxObject();
    
    var im = Base64.encode(document.getElementById('kontakt_imie_nazwisko').value);
    var em = Base64.encode(document.getElementById('kontakt_email').value);
    var tr = Base64.encode(document.getElementById('tresc').value);
    var da = document.getElementById('data').value;
    
    if(xmlHttp){
	if(xmlHttp.overrideMimeType) xmlHttp.overrideMimeType('text/html');

	xmlHttp.onreadystatechange=function() {
    	    if(xmlHttp.readyState==4) {
		$('#popup_form').hide('slow');
		var response = trim(xmlHttp.responseText);
		document.getElementById('admin_form').innerHTML=response;

		showMessageBox();
    		loading();
	    }
	}

	var parameters = "imie=" + im +
			"&email=" + em +
			"&tresc=" + tr +
			"&data=" + da +
			"&s=" + s;

	loading();
	xmlHttp.open('POST', '/ajax.php?act=sendReclamation&t='+Date(), true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", parameters.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(parameters);
    }
    return false;
}
