var ObiektXMLHttp = false;
if (window.XMLHttpRequest)
{ ObiektXMLHttp = new XMLHttpRequest(); }
else if (window.ActiveXObject) {
ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
function getVData(type,divname,data) {
if(ObiektXMLHttp)
{
var cel = document.getElementById(divname);
var loading = document.getElementById('loading');
if (type == 'room'){
ObiektXMLHttp.open("GET", './roominfo.php?t='+type+'&n='+data);
}
if (type == 'kod'){
ObiektXMLHttp.open("GET", './rprzejecie.php?t='+type+'&n='+data);
}
ObiektXMLHttp.onreadystatechange = function() {
if (ObiektXMLHttp.readyState == (1 || 0)) {
loading.innerHTML = "Loading..."; }
if (ObiektXMLHttp.readyState == 4) {
loading.innerHTML = "";
cel.innerHTML = ObiektXMLHttp.responseText;
}
if (ObiektXMLHttp.readyState != (1 || 0 || 4)) { loading.innerHTML = "" }
if (ObiektXMLHttp.readyState == 4) {
if(ObiektXMLHttp.status == 200){
if (divname != 'content'){
kateg_focus();
}
//zaokraglanie();
}
}
}
ObiektXMLHttp.send(null);
}
}
// ****************************
// VALIDATORY DLA FORMULARZA !!!!! Zwracaja nr błędu
// ****************************
function Validcheck1() {
var errortype = '';
var roomname = document.forms['room_join'].roomname.value;
if (roomname.length > 0 && roomname.length < 32) {
var reg = /^[a-zA-Z0-9\_\s]+$/;
if (reg.test(roomname) == false) { errortype = '3'; } else { return '0';}
} else { errortype = '2'; }
return errortype;
}
function Validcheck2() {
var errortype = '';
if (ObiektXMLHttp.readyState == 4) {
if(ObiektXMLHttp.status == 200){
var odps = document.getElementById('nicktest').innerHTML;
odps = odps.match(0);
//var odps = odp.substring(0,1);
if (odps != 0 ) {
errortype = '1';
} else {
errortype = '0';
}
}
}
return errortype;
}
function Validcheck3() {
var errortype = '';
var dzien = document.forms['room_join'].room_kateg.value;
if (dzien == 'W') {
errortype = '4';
} else {
errortype = '0';
}
return errortype;
}
function Validcheck4(){
var errortype = '';
var dzien = document.forms['room_join'].priv.value;
if (dzien == 'W') {
errortype = '5';
} else {
errortype = '0';
}
return errortype;
}
function Validcheck5(){
var errortype = '';
var desc = document.forms['room_join'].room_desc.value;
var reg = /^[a-zA-Z0-9\_\.\s]+$/;
if (reg.test(desc) == false) {
errortype = '6';
} else {
errortype = '0';
}
return errortype;
}
// ****************************
// Akcje uzytkownika na formularzu !!!!
// ****************************
function rooms_blur() {
var rooms = document.forms['room_join'].rooms.value;
var text = document.getElementById('nptext').innerHTML;
if (rooms != 'R'){
document.forms['room_join'].roomname.value = rooms;
document.forms['room_join'].roomname.style.display = 'none';
document.getElementById('roomtext').innerHTML ='';
// zmiana textu na przycisku
var submittext = document.getElementById('submittext2').innerHTML;
document.forms['room_join'].submit.value = submittext;
// pojawienie sie textu koło checkboxa
var dellroomtext = document.getElementById('dellroomtext').innerHTML;
document.getElementById('dellroom').innerHTML = dellroomtext;
// pojawianie sie checkboxa
document.forms['room_join'].deleteroom.style.display = 'block';
// pojawianie się dolnej czesci tabeli
document.getElementById('dellhover1').style.display = 'block';
} else {
document.forms['room_join'].roomname.value = '';
document.forms['room_join'].roomname.style.display = 'block';
document.getElementById('roomtext').innerHTML = text;
var submittext = document.getElementById('submittext1').innerHTML;
document.forms['room_join'].submit.value = submittext;
// chowanie textu koło checkboxa
document.getElementById('dellroom').innerHTML = '';
// chowanie sie checkboxa
document.forms['room_join'].deleteroom.style.display = 'none';
//chowanie się dolnej czesci tabeli
document.getElementById('dellhover1').style.display = 'none';
}
}
function name_blure() {
var roomname = document.forms['room_join'].roomname.value;
if (Validcheck1() == '0') {
getVData('room','infoboxtextplace',Trim(roomname));
} else {
document.forms['room_join'].roomname.style.border= "red 1px solid";
Set_errors(1,1);
}
}
function kateg_focus() {
var rooms = document.forms['room_join'].rooms.value;
if (rooms == 'R') {
if (Validcheck2() == '0') {
document.forms['room_join'].roomname.style.border= "green 1px solid";
Set_errors(1,2);
} else {
document.forms['room_join'].roomname.style.border= "red 1px solid";
Set_errors(1,1);
}
} else {
Set_errors(1,2);
}
}
function kateg_blur () {
if (Validcheck3() == '0') {
document.forms['room_join'].room_kateg.style.border= "green 1px solid";
Set_errors(2,2);
} else {
document.forms['room_join'].room_kateg.style.border= "red 1px solid";
Set_errors(2,1);
}
}
function priv_blur() {
if (Validcheck4() == '0') {
document.forms['room_join'].priv.style.border= "green 1px solid";
Set_errors(3,2);
} else {
document.forms['room_join'].priv.style.border= "red 1px solid";
Set_errors(3,1);
}
}
function desc_blur(){
if (Validcheck5() == '0') {
document.forms['room_join'].room_desc.style.border= "green 1px solid";
Set_errors(4,2);
} else {
document.forms['room_join'].room_desc.style.border= "red 1px solid";
Set_errors(4,1);
}
}
function oncheck_dellroom(type){
var rooms = document.forms['room_join'].rooms.value;
var check = document.forms['room_join'].deleteroom.checked;
if (type == 1 && rooms != 'R' && check){
var text = document.getElementById('dellroomtext').innerHTML;
document.forms['room_join'].submit.value = text;
document.forms['room_join'].submit.disabled = false;
} else {
var submittext = document.getElementById('submittext2').innerHTML;
document.forms['room_join'].submit.value = submittext;
document.forms['room_join'].submit.disabled = true;
}
}
// ****************************
// WSKAŻNIK INFOBOXA ! WSKAZUJE KTÓRY BOX POWINIEN BYC POKAZANY !
// ****************************
function InfoboxPointer(ID){
var i = 0;
// pobieranie info o aktywnej zakładce
var showedinfo = document.getElementById('infoboxID').innerHTML;
// sprawdzenie czy wybrano jakis pokoj do zmiany ustawien
var rooms = document.forms['room_join'].rooms.value;
if (showedinfo != ID) {
if (rooms != 'R' && ID == 1) { ID++;}
for (i=0;i<=6;i++){
if (i == ID) {
// PRZESUWAJACY SIE WSKAZNIK
var place_name = 'mark'+i;
var marker = document.getElementById(place_name);
marker.innerHTML = '
';
// TWORZENIE TEXTU INFOBOXU
//standardowy text pobierany z Diva ( jezyki )
var infoboxtext = document.getElementById('infoboxtext'+ID);
// miejsce wyswietlenia
var infobox = document.getElementById('infoboxtextplace');
// komponowanie textu
var errortext = Get_errors_msges(ID);
if (!errortext) { infobox.innerHTML = infoboxtext.innerHTML; } else {
infobox.innerHTML = errortext+'
'+infoboxtext.innerHTML;
}
// Ustawianie ostatniego aktywnego infoboxa
document.getElementById('infoboxID').innerHTML = ID;
} else {
// USUWANIE WSKAZNIKA
var place_name = 'mark'+i;
var marker = document.getElementById(place_name);
if (marker != null ) marker.innerHTML = '';
}
}
}
}
// ****************************
// SPRAWDZA I POBIERA TEXTY DO INFOBOXA
// ****************************
function Get_errors_msges(ID){
var msg = '';
switch(ID) {
case "1" :{
if (Validcheck1() != '0') {
var msgnr = Validcheck1();
msg = Get_err_msg(msgnr);
} else {
var roomname = document.forms['room_join'].roomname.value;
getVData('room','infoboxtextplace',Trim(roomname));
}
break;
}
case "2" :{
if ( Check_errors(2) ==1 ) {
msg = Get_err_msg(4);
}
break;
}
case "3" :{
if ( Check_errors(3) ==1 ) {
msg = Get_err_msg(5);
}
break;
}
case "4" :{
if ( Check_errors(4) ==1 ) {
msg = Get_err_msg(6);
}
break;
}
default : msg = '';
}
return msg;
}
// ****************************
// OBSŁUGA BŁĘDÓW
// ****************************
// Ustawia info o wystąpieniu błędu
function Set_errors(type,value){
var error = document.getElementById('errors').innerHTML;
var explodearray = error.split('');
switch(type){
case 1: { explodearray[0] = value; break; }
case 2: { explodearray[1] = value; break; }
case 3: { explodearray[2] = value; break; }
case 4: { explodearray[3] = value; break; }
}
var inplode = explodearray[0]+explodearray[1]+explodearray[2]+explodearray[3];
if ( inplode == '2222') { document.forms['room_join'].submit.disabled = false; } else { document.forms['room_join'].submit.disabled = true;}
document.getElementById('errors').innerHTML = inplode;
}
// Sprawdza gdzie wystapił błąd
function Check_errors(nr){
var error = document.getElementById('errors').innerHTML;
var explodearray = error.split('');
nr = nr-1;
var value = explodearray[nr];
return value;
}
// Sprawdzanie dostępności nicka
/*
function Nicktest(nr){
alert(nr);
var nicktest = document.getElementById('nicktest');
nicktest.innerHTML = nr;
}
*/
// ****************************
// SUBMITOWANIE FORMA
// ****************************
function form_submit(){
var rooms = document.forms['room_join'].rooms.value;
var check = document.forms['room_join'].deleteroom.checked;
var blad = 0;
if (!check) {
if (rooms == 'R') {
if (Validcheck1() != '0') { blad = 1;
Set_errors(1,1);
document.forms['room_join'].roomname.style.border= "red 1px solid"; }
if (Validcheck2() != '0') { blad = 1;
Set_errors(1,1);
document.forms['room_join'].roomname.style.border= "red 1px solid"; }
}
if (Validcheck3() != '0') { blad = 1;
Set_errors(2,1);
document.forms['room_join'].room_kateg.style.border= "red 1px solid"; }
if (Validcheck4() != '0') { blad = 1;
Set_errors(3,1);
document.forms['room_join'].priv.style.border= "red 1px solid"; }
if (Validcheck5() != '0') { blad = 1;
Set_errors(4,1);
document.forms['room_join'].room_desc.style.border= "red 1px solid"; }
}
if (blad != 1) {return true; } else { return false;}
}
function Get_err_msg(number){
var msg = document.getElementById('err_msg'+number).innerHTML;
return msg;
}
// Przejmij room
function przejmij_nick(){
var nickname = document.forms['room_join'].roomname.value;
var kod = document.getElementById('kod').value;
if (nickname != "" && kod != "" && kod.length > 0 && kod.length < 9){
var dane = nickname+'&k='+kod;
getVData('kod','container',dane);
}
}
// zaokroglanie krawędzi
function zaokraglanie(){
Nifty("div#container");
Nifty("div#content,div#nav2","same-height small");
Nifty("div#header","small");
Nifty("div#nav1","small");
Nifty("div#nick_ok","small");
}
// Wybranie podpowiedzi i zamiana w głównym oknie
function nick_sel(nick){
document.forms['room_join'].roomname.value = nick;
}
//trim
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"), "");
}