﻿function createxmlhttp()
{
 var ajax = null;
 var browser = navigator.appName;
 if(browser == "Microsoft Internet Explorer")
  ajax = new ActiveXObject("Microsoft.XMLHTTP");
 else
  ajax = new XMLHttpRequest();
 return ajax;
}

function kill_first_script(text)
{
 var pos_start= -1;
 if(((pos_start=text.search('<script src="')) >= 0) || (((pos_start= text.search('<script src="')) >= 0) ))
 {
  text= text.replace( text.slice(pos_start, text.search('type="text/javascript"></script>')+33), "");
  pos_start= -1;
  if((pos_start=text.search('<body')) == 0)
   text= text.replace( text.slice(pos_start, pos_start+6), "");
 }
 return text;
}

function ajax_link(page, param, place, aftermethod)
{
 ajax= createxmlhttp();
 if(ajax)
 {
  ajax.open('POST', page, true);
  ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  ajax.send(param);
  ajax.onreadystatechange = function()
  {
   if(ajax.readyState == 4)
    if(ajax.status == 200)
    {
	 if(document.getElementById(place) && place)
	 {
      document.getElementById(place).innerHTML= kill_first_script(ajax.responseText);
      atScripts_init(place);
	 }
	 if(aftermethod) eval(aftermethod);
    }
  };
 }
}

function ajax_send_settings()
 {
  var str= "";
 
  str= "&username=" + document.getElementById("username").value + "&section=" + document.getElementById("section").value + "&familyname=" + document.getElementById("familyname").value +
       "&firstname=" + document.getElementById("firstname").value + "&nickname=" + document.getElementById("nickname").value + "&password=" +  document.getElementById("password").value +
	   "&password2=" + document.getElementById("password2").value + "&birth_year=" + document.getElementById("birth_year").value + "&birth_month=" + document.getElementById("birth_month").value + 
	   "&birth_day=" + document.getElementById("birth_day").value + "&name_month=" + document.getElementById("name_month").value + "&name_day=" + document.getElementById("name_day").value + 
	   "&email_address=" + document.getElementById("email_address").value + "&msn_address=" + document.getElementById("msn_address").value + "&blog_address=" + document.getElementById("blog_address").value +
       "&web_address=" + document.getElementById("web_address").value + "&postal_code=" + document.getElementById("postal_code").value + "&city=" + document.getElementById("city").value +
	   "&postal_address=" + document.getElementById("postal_address").value + "&phone_number_1=" + document.getElementById("phone_number_1").value + "&phone_number_2=" + document.getElementById("phone_number_2").value +
	   "&phone_number_3=" + document.getElementById("phone_number_3").value + "&personal_favourite_group=" + document.getElementById("personal_favourite_group").value + "&personal_favourite_sport=" + document.getElementById("personal_favourite_sport").value +
	   "&personal_favourite_activity=" + document.getElementById("personal_favourite_activity").value + "&visibility_phone=" + document.getElementById("visibility_phone").value + "&visibility_email=" + document.getElementById("visibility_email").value +
	   "&visibility_msn_address=" + document.getElementById("visibility_msn_address").value + "&visibility_web_address=" + document.getElementById("visibility_web_address").value + "&visibility_blog_address=" + document.getElementById("visibility_blog_address").value +
	   "&visibility_postal_address=" + document.getElementById("visibility_postal_address").value;
  ajax= createxmlhttp();
  ajax.open('POST','modules/ajax.php', true);
  ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  ajax.send("page=set" + str);
  ajax.onreadystatechange = function()
  { 
   if(ajax.status == 200)
   {
    if(ajax.readyState == 4)
    document.getElementById("div_error").innerHTML= ajax.responseText;
   }
   else
    document.getElementById("div_error").innerHTML= "<center>Hálózati hiba: ERROR " +  ajax.status + "</center>";
  };
 }

function refresh_parent()
{
 window.opener.location.reload(1);
}

function getClientSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return {width: myWidth, height: myHeight};
}

function getActiveUsers()
{
 if(document.getElementById("div_chat_active_users"))
  ajax_link('../modules/ajax.php', 'page=chat&function=get_active_users', 'div_chat_active_users');
}
 
function openPrivateChatWindow(partner)
{
 window.open('../modules/private_chat.php?partner='+partner, '', 'scrollbars=yes,resizable=no,width=640,height=480');
}

function ajax_login_link()
{
 var login_username = document.getElementById('login_username').value;
 var login_password = document.getElementById('login_password').value;
 var login_remind_me= document.getElementById('login_remind_me_on_this_computer').checked;
 var param= "page=login&login_username=" + login_username + "&login_password=" + login_password + "&login_remind_me=" + login_remind_me;
 document.getElementById("login_state").innerHTML= "Betöltés...";
 ajax_link('../modules/ajax.php', param, 'login_state', '');
}

function ajax_remind_link()
{
 var remind_username    = document.getElementById('remind_username').value;
 var param= "page=remind&remind_username=" + remind_username;
 document.getElementById("remind_state").innerHTML= "Betöltés...";
 ajax_link('../modules/ajax.php', param, 'remind_state', '');
}

function ajax_send_vote(number)
{
 document.getElementById("div_result").innerHTML= "Betöltés...";
 for(cv=0; (cv < document.getElementsByName('vote_options').length) && !(document.getElementsByName('vote_options')[cv].checked); cv++);
 var options= cv+1;
 ajax_link('modules/ajax.php', "page=vote&function=send_vote&options=" + options + "&number=" + (number+1), 'div_result');
}

function ajax_register()
{
 document.getElementById("register_state").innerHTML= "Betöltés...";
 var register_familyname    = document.getElementById('register_familyname').value;
 var register_firstname     = document.getElementById('register_firstname').value;
 var register_username      = document.getElementById('register_username').value;
 var register_password      = document.getElementById('register_password').value;
 var register_password2     = document.getElementById('register_password2').value;
 var register_email_address = document.getElementById('register_email_address').value;
 var param= "page=register&function=register&register_familyname=" + register_familyname + "&register_firstname=" + register_firstname + "&register_username=" + register_username + "&register_password=" + register_password + "&register_password2=" + register_password2 + "&register_email_address=" + register_email_address;
 ajax_link("modules/ajax.php", param, "register_state");
}

function ajax_register_check_username()
{
 var username= document.getElementById("register_username").value;
 if(username.length > 0)
  ajax_link('modules/ajax.php', 'page=register&function=check_username&username=' + username, 'register_check_username');
 else
  document.getElementById("register_check_username").innerHTML= "";
}

function ajax_admin_new_vote()
{
 var title      = document.getElementById('admin_new_vote_title').value;
 var options    = document.getElementById('admin_new_vote_options').value;
 var start_date = document.getElementById('admin_new_vote_start_date').value;
 var authority  = document.getElementById('admin_new_vote_authority').value; 
 var param= "page=admin&function=new_vote&title=" + title + "&options=" + options + "&start_date=" + start_date + "&authority=" + authority;
 document.getElementById("admin_state").innerHTML= "Betöltés...";
 ajax_link('../modules/ajax.php', param, 'admin_state', '');
}

function ajax_admin_new_wisecrack()
{
 var author      = document.getElementById('admin_new_wisecrack_author').value;
 var text        = document.getElementById('admin_new_wisecrack_text').value;
 var sending_date= document.getElementById('admin_new_wisecrack_sending_date').value;
 var authority   = document.getElementById('admin_new_wisecrack_authority').value; 
 var param= "page=admin&function=new_wisecrack&author=" + author + "&text=" + text + "&sending_date=" + sending_date + "&authority=" + authority;
 document.getElementById("admin_state").innerHTML= "Betöltés...";
 ajax_link('../modules/ajax.php', param, 'admin_state', '');
}

function ajax_admin_new_creative()
{
 var author      = document.getElementById('admin_new_creative_author').value;
 var title       = document.getElementById('admin_new_creative_title').value;
 var sending_date= document.getElementById('admin_new_creative_sending_date').value;
 var cathegory   = document.getElementById('admin_new_creative_cathegory').value;
 var filename    = document.getElementById('admin_new_creative_filename').value;
 var authority   = document.getElementById('admin_new_creative_authority').value; 
 var param= "page=admin&function=new_creative&author=" + author + "&title=" + title + "&sending_date=" + sending_date + "&cathegory=" + cathegory + "&filename=" + filename + "&authority=" + authority;
 document.getElementById("admin_state").innerHTML= "Betöltés...";
 ajax_link('../modules/ajax.php', param, 'admin_state', '');
}

function ajax_admin_add_money(username, value)
{
 var paid_month= parseInt(document.getElementById("money_month_" + username).innerHTML, 10);
 alert(paid_month);
 paid_month+= (value);
 if((paid_month <= 10) && (paid_month >= 0))
  ajax_link("../modules/ajax.php", "page=admin&function=add_money&money_username=" + username + "&paid_month=" + paid_month, "money_month_" + username, (document.getElementById("money_sum_" + username).innerHTML= (1500 * document.getElementById("money_month_" + username).innerHTML) + " Forint" )  );  
}

function encode_special_characters(text)
{
 var output= "";
 //text= encodeURIComponent(text);
 for(cv=0; text[cv]; cv++)
 {
  switch(text[cv])
  {
   case 34 : output+= "%22"; break;
   case '#': output+= "%23"; break;
   case '%': output+= "%25"; break;
   case '&': output+= "%26"; break;
   case 39 : output+= "%27"; break;
   case '+': output+= "%2B"; break;
   case '<': output+= "%3C"; break;
   case '=': output+= "%3D"; break;
   case '>': output+= "%3E"; break;
   default : output+= text[cv];break;
  }
 }
 return output;
}

function ajax_forum_link()
 {
  var text = document.getElementById('forum_text').value;
  var topic= document.getElementById('forum_topic').innerHTML;
  text = encode_special_characters(text);
  topic= encode_special_characters(topic);
  ajax_link('modules/ajax.php', 'page=forum&function=new_comment&forum_text=' + text + '&forum_topic=' + topic, 'div_message_status', '');
 }

function lightbox_create(name, param)
{
 if(document.getElementById("div_lightbox_background").style.visibility != 'visible')
 {
  document.getElementById('div_lightbox_background').innerHTML       = '';
  document.getElementById('div_lightbox_background').style.width     = (screen.width-25) + "px";
  document.getElementById('div_lightbox_background').style.height    = document.getElementById("div_valid").offsetTop + "px";
  document.getElementById('div_lightbox_background').style.pixelTop  = 0;
  document.getElementById('div_lightbox_background').style.visibility= 'visible';
 }
 if(document.getElementById("div_lightbox").style.visibility != 'visible')
 {
  //document.getElementById("div_lightbox").innerHTML= "<img src='../gallery/images/loading.gif' />";
  document.getElementById('div_lightbox').style.visibility = 'visible';
  param+= "&max_width=" + (getClientSize().width-20) + "&max_height=" + getClientSize().height;
  ajax_link("../modules/" + name, param, 'div_lightbox', '');
  //document.getElementById('div_lightbox').style.left  = (getClientSize().width / 2 - document.getElementById('div_lightbox').style.width / 2) + "px";
 }
}


function whichButton(event)
{
 if(event.keyCode == 27)
  if(document.getElementById("div_lightbox") != null) lightbox_destroy();
}

function lightbox_destroy()
{
 document.getElementById('div_lightbox').innerHTML= "";
 document.getElementById('div_lightbox').style.visibility= 'hidden';
 
 document.getElementById('div_lightbox_background').innerHTML= "";
 document.getElementById('div_lightbox_background').style.visibility= 'hidden';
}

function atGetObject(ob) {
if (typeof(ob)=='object') {
return ob;
} else {
return document.getElementById(ob);
}
}


function atGetElementsByTagName(tag, parentNode) {
parentNode = atGetObject(parentNode);
if (parentNode==null) {
parentNode = document;
}
ret = new Array();
try {
ret = parentNode.getElementsByTagName(tag);
} catch(ex) {
ret = document.getElementsByTagName(tag);
}
return ret;
}


/*
 * scripts.js
 */

var atScriptsHTTPR = null;
var atScriptsLinkStack = new Array();
var atScripts_container = '';

function atScripts_execute(src) {
if (src!='') {
try {
eval(src);
} catch (ex) {
alert('atScripts_execute() - '+atScriptsHTTPR.url+'\n\n'+ex);
}
}
}
 
function atScripts_push(url) {
atScriptsLinkStack.push(url);
}

function atScripts_pop() {
atScriptsHTTPR = null;
try {
if (atScriptsLinkStack.length>0) {
try {
url = atScriptsLinkStack.pop();
atScriptsHTTPR = new atHTTPRequest(url, 'GET');
atScriptsHTTPR.open();
atScriptsHTTPR.setHandler(atScripts_download);
atScriptsHTTPR.send(null);
} catch (ex) {
atScriptsHTTPR = null;
setTimeout('atScripts_download()', 10);
}
} else {
atScripts_parse_source();
}
} catch (ex2) {
// alert('debug: atScripts_pop()\n\n'+ex2);
}
}

function atScripts_download(e) {
try {
if (atScriptsHTTPR.isReady()) {
src = atScriptsHTTPR.getResponseText();
atScripts_execute(src);
atScripts_pop();
}
} catch (ex) {
atScripts_pop();
}
}

function atScripts_parse_links() {
items = atGetElementsByTagName('script', atScripts_container);
for (i in items) {
src = '';
try {
src = ''+items[i].getAttribute('src');
} catch (ex) {
src = ''+items[i].src;
}
if (src!='') {
atScripts_push(src);
}
}
atScripts_download(null);
}

function atScripts_parse_source() {
items = atGetElementsByTagName('script', atScripts_container);
for (i in items) {
src = ''+items[i].innerHTML;
if (src!='') {
atScripts_execute(src);
}
}
}

function atScripts_init(container) {
atScripts_container = container;
atScripts_parse_links();
}
