// ------------------------------------------ funkce pro forum
function postDataReturnXml(url, data, callback)
{ 
  var XMLHttpRequestObject = false; 

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new 
     ActiveXObject("Microsoft.XMLHTTP");
  }

  if(XMLHttpRequestObject) {
    XMLHttpRequestObject.open("POST", url); 
    XMLHttpRequestObject.setRequestHeader('Content-Type', 
      'application/x-www-form-urlencoded'); 

    XMLHttpRequestObject.onreadystatechange = function() 
    { 
      if (XMLHttpRequestObject.readyState == 4 && 
        XMLHttpRequestObject.status == 200) {
          callback(XMLHttpRequestObject.responseXML); 
          delete XMLHttpRequestObject;
          XMLHttpRequestObject = null;
      } 
    }

    XMLHttpRequestObject.send(data); 
  }
}

function send_forum(formular)  {
    send_data=true;
    
    var id_user=document.getElementById('id_user')
    var nick=document.getElementById('nick')
    var email=document.getElementById('email')
    var cislo=document.getElementById('cislo')
    var kontrolniznak=document.getElementById('kontrolniznak')
    var id=document.getElementById('id')
    var id_related=document.getElementById('id_related')
    var text_forum=document.getElementById('text_forum')
    
    
  	if (id_user.value==0){
      if (nick.value=="")  {
		    alert ("CHYBA: musíte vyplnit políčko 'Nick'");
		    nick.focus();
		    return false;
		    send_data=false;
      }
      if (email.value=="")  {
  		  alert ("CHYBA: musíte vyplnit políčko 'Email'");
	 	    email.focus();
	   	  return false;
	   	  send_data=false;
      }
    }
    if (cislo.value=="")  {
		  alert ("CHYBA: musíte vyplnit políčko 'Kontrolní kód'");
		  cislo.focus();
		  return false;
		  send_data=false;
    }
    
    // odeslání požadavku na aktualizaci dat
		if (send_data==true){
		    strText=Url.encode(text_forum.value);
		    link='id=' + id.value+'&id_user='+id_user.value+'&email='+email.value+'&nick='+nick.value+'&kontrolniznak='+kontrolniznak.value+'&cislo='+cislo.value+'&text_forum='+strText+'&id_related='+id_related.value;
		    postDataReturnXml("forum_data.php",link,getForum);
        return false; 
		}
		return false; 

}

 
function getForum(xml) { 
             
                var control = xml.getElementsByTagName('forum');
                if (control[0].getAttribute('control')==1){
                var items = xml.getElementsByTagName('item');
                document.getElementById('forum_box').innerHTML="";
                var forum="";
                
                for (var i=0; i < items.length; i++) {
    					    forum=forum+'<div class="forum_header">';
                    forum=forum+'<div class="toright">'+items[i].getAttribute('date')+' | <a href="#forum" onclick="insert_reaction('+items[i].getAttribute('id')+');" class="bold" title="Reagovat na příspěvek">reagovat</a></div>';
                   if (items[i].getAttribute('id_user')>0) {forum=forum+'<a href="fanclub_list.php?id='+items[i].getAttribute('id_user')+'" title="Profil uživatele '+items[i].getAttribute('username')+'" class="reg_user bold">';}
                      forum=forum+'<strong>'+items[i].getAttribute('username')+'</strong>';
                    if (items[i].getAttribute('id_user')>0) {forum=forum+'</a>';}
                      forum=forum+' | <a href="mailto:'+items[i].getAttribute('email')+'" class="mail">'+items[i].getAttribute('email')+'</a>';
                  forum=forum+"</div>"; 
    					    
                  forum=forum+'<div class="forum_text">';
                  if (items[i].getAttribute('photo')==1){
                    forum=forum+'<img src="admin/mod_photo/show_img.php?filename=../../photo/user_photos/'+items[i].getAttribute('id_user')+'.jpg&amp;width=150&amp;height=150" class="toleft border" />';
                  }
                  forum=forum+items[i].firstChild.data;
                  forum=forum+'<div class="clear">&nbsp;</div>';
                  forum=forum+'</div>';
					  	  }
					  	  document.getElementById('forum_box').innerHTML=forum;
					  	  document.getElementById('form_forum').className="hidden";
					  	  document.getElementById('text_forum').value="";
					  	  document.getElementById('id_related').value=0;
                }else{
                  alert("Nevyplnil jste všechna požadovaná data, nebo jste špatně zadal kontrolní kód");  
                }
}    

function insert_reaction (id){
  document.getElementById('id_related').value=id;
  document.getElementById('form_forum').className="";
}


/**
*
*  URL encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Url = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_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;
	},
 
	// private method for UTF-8 decoding
	_utf8_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;
	}
 
}
