// JavaScript Document
function profileCheckEMail(mail) {
  var ajaxAnswer = AjaxRequest('checkEMail', mail);
  var object = document.getElementById('profileEMailCheck');
  
  if(ajaxAnswer == '1') {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
    return true;
  } else {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
};

function profilePWCheck(password) {
  var object = document.getElementById('profilePasswordCheck');
  
  if( password.length > 5 ) {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
    return true;
  } else {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
};

function profileNameCheck( namen , id ) {
  var object = document.getElementById(id);
  
  if( namen.length > 1 ) {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
    return true;
  } else {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
};

function lengthCheck( name , id , length ) {
  var object = document.getElementById(id);
  length = length - 1;
  if( name.length > length ) {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
    return true;
  } else {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
};

function profileBirthdayCheck() {
  var dayObject = document.getElementById('birthDay');
  var monthObject = document.getElementById('birthMonth');
  var yearObject = document.getElementById('birthYear');
  
  if(dayObject.selectedIndex == '0' || monthObject.selectedIndex == '0' || yearObject.selectedIndex == '0') {
    document.getElementById('profileBirthdayCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  } else {
    var today = new Date();
    
    alter = today.getFullYear() - yearObject.options[yearObject.selectedIndex].value;

  	if(monthObject.selectedIndex > today.getMonth()) {
  		alter = alter - 1;
  	} else if(monthObject.selectedIndex == today.getMonth()) {
  		if(dayObject.selectedIndex < today.getDate()) {
  			alter = alter - 1;
  		}
  	}

    if(alter < 13) {
      document.getElementById('profileBirthdayCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      return false;
    } else {
      document.getElementById('profileBirthdayCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
      return true;
    }
  }
};

function profileGenderCheck( object ) {
  if(object.checked) {
    document.getElementById('profileGenderCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
    return true;
  } else {
    document.getElementById('profileGenderCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
};

function profileCheckRegisterFields() {

};

// Ajax-Request absetzen und den Wert zurueckgeben
function AjaxRequest(type, param1, param2, param3) {
  var xmlHttp = null;
  // Mozilla, Opera, Safari sowie Internet Explorer 7
  if (typeof XMLHttpRequest != 'undefined') {
      xmlHttp = new XMLHttpRequest();
  }
  if (!xmlHttp) {
      // Internet Explorer 6 und älter
      try {
          xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
      } catch(e) {
          try {
              xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
          } catch(e) {
              xmlHttp  = null;
          }
      }
  }
  if (xmlHttp) {
     xmlHttp.open('POST', '/ajaxRequests.php', false);
     xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     xmlHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
     param1 = escape(param1);
     xmlHttp.send( 'type=' + type + '&param1='+ param1 + '&param2='+ param2 + '&param3='+ param3 );
     if (xmlHttp.readyState==4) {
       return xmlHttp.responseText;
     }
  }
  return false;
};

function GB_hide() {
  GB_IFRAME.src = "";
  hideElement(GB_WINDOW);
  hideElement(GB_HEADER);
  hideElement(GB_OVERLAY);
};

function getNextCategories( categoryId, nextFieldId ) {
  var categories = AjaxRequest('getCategories', categoryId);
  if(categories == '[]') return false;
  var catArray = eval('(' + categories + ')');
  var id = 'categoryField' + nextFieldId;
  
  var object = document.getElementById(id);
    
    
  var startFieldClean = parseInt(nextFieldId);
  
  for (var m = startFieldClean; m < 4; m++) {
    var cleanId = 'categoryField' + m;
    
    var objectClean = document.getElementById(cleanId);
    var length = objectClean.length;
    
    for (var i=1; i < length; i++) {
     objectClean[1] = null;
    }
  }
  
  var n = 1;
  
  
   
  for ( var item in catArray ) {
    
    
    if(catArray[item]['name'] != "" && catArray[item]['name'] != "array" && catArray[item]['name'] != "forEach" && catArray[item]['name'] != null) {
      //alert(catArray[item]['name']);
    	var addOption = new Option(unescape(catArray[item]['name']), catArray[item]['link']);
      object[n] = addOption;
      n++;
    }  
    
  }
  
  for (var m = startFieldClean; m < 4; m++) {
    var cleanId = 'categoryField' + m;
    var objectClean = document.getElementById(cleanId);
    
    if(objectClean.length == 1) {
      objectClean.style.visibility = "hidden";
    }
  }
  
  if(object.length == 1) {
    object.style.visibility = "hidden";
  } else {
    object.style.visibility = "visible";
  }
  
};


function getNextEventCategories( categoryId, nextFieldId ) {
  var categories = AjaxRequest('getEventCategories', categoryId);
  if(categories == "[]") return false;
  var catArray = eval('(' + categories + ')');
  var id = 'categoryField' + nextFieldId;
  
  var object = document.getElementById(id);
    
    
  var startFieldClean = parseInt(nextFieldId);
  
  for (var m = startFieldClean; m < 4; m++) {
    var cleanId = 'categoryField' + m;
    
    var objectClean = document.getElementById(cleanId);
    var length = objectClean.length;
    
    for (var i=1; i < length; i++) {
     objectClean[1] = null;
    }
  }
  
  var n = 1;
  
  
   
  for ( var item in catArray ) {
    var addOption = new Option(unescape(catArray[item]['name']), catArray[item]['link']);
    if(catArray[item]['name'] != "" && catArray[item]['name'] != "array" && catArray[item]['name'] != "forEach") {
      object[n] = addOption;
    }  
    n++;
  }
  
  for (var m = startFieldClean; m < 4; m++) {
    var cleanId = 'categoryField' + m;
    var objectClean = document.getElementById(cleanId);
    
    if(objectClean.length == 1) {
      objectClean.style.visibility = "hidden";
    }
  }
  
  if(object.length == 1) {
    object.style.visibility = "hidden";
  } else {
    object.style.visibility = "visible";
  }
  
};


function newClubCheckJS() {
  var cleanId = 'categoryField0';
  var object = document.getElementById(cleanId);
  object.style.visibility = "visible";
};

function categoryCheck( value , object ) {
  var object = document.getElementById(object);
  if(value == '0') {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
  
  var ajaxAnswer = AjaxRequest('checkIfSubCategories', value);
  
  if(ajaxAnswer == '0') {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
    return true;
  } else {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
};

function categoryEventCheck( value , object ) {
  var object = document.getElementById(object);
  if(value == '0') {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
  
  var ajaxAnswer = AjaxRequest('checkIfEventSubCategories', value);
  
  if(ajaxAnswer == '0') {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
    return true;
  } else {
    object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
    return false;
  }
};

function newClubSubmitCheck( edit ) {
  if( edit == false ) {
    var locat = "http://"+document.domain;
    
    
    if((document.getElementById('categoryCheck').style.backgroundImage == 'url("/media/templates/default/modules/userprofile/images/hacken.png")' ||document.getElementById('categoryCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)' || document.getElementById('categoryCheck').style.backgroundImage == "url("+locat+"/media/templates/default/modules/userprofile/images/hacken.png)") && (document.getElementById('newClubNameCheck').style.backgroundImage == 'url("/media/templates/default/modules/userprofile/images/hacken.png")' || document.getElementById('newClubNameCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)' || document.getElementById('newClubNameCheck').style.backgroundImage == "url("+locat+"/media/templates/default/modules/userprofile/images/hacken.png)")) {
      return true;
    } else {
      if(document.getElementById('categoryCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById('categoryCheck').style.backgroundImage != 'url("/media/templates/default/modules/userprofile/images/hacken.png")') document.getElementById('categoryCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('newClubNameCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById('newClubNameCheck').style.backgroundImage != 'url("/media/templates/default/modules/userprofile/images/hacken.png")') document.getElementById('newClubNameCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      return false;
    }
  } else {
    if((document.getElementById( 'changeClubCat' ).checked == false || (document.getElementById( 'changeClubCat' ).checked == true && document.getElementById('categoryCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)')) && (document.getElementById('newClubNameCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)' || document.getElementById('newClubNameCheck').style.backgroundImage == 'url("/media/templates/default/modules/userprofile/images/hacken.png")')) {
      return true;
    } else {
      if(document.getElementById('categoryCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById('categoryCheck').style.backgroundImage != 'url("/media/templates/default/modules/userprofile/images/hacken.png")') document.getElementById('categoryCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('newClubNameCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById('newClubNameCheck').style.backgroundImage != 'url("/media/templates/default/modules/userprofile/images/hacken.png")') document.getElementById('newClubNameCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      return false;
    }
  }
};

function newEventSubmitCheck( edit ) {
  if( edit == false ) { 
    if(document.getElementById('checkEventStartDate').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById('checkEventEndDate').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById('categoryCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById('newEventNameCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)') {
      return true;
    } else {
      if(document.getElementById('categoryCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)') document.getElementById('categoryCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('newEventNameCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)') document.getElementById('newEventNameCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('checkEventStartDate').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)') document.getElementById('checkEventStartDate').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('checkEventEndDate').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)') document.getElementById('checkEventEndDate').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      return false;
    }
  } else {
    if(checkDate( document.newEvent.eventDate1_month.value, document.newEvent.eventDate1_day.value, document.newEvent.eventDate1_year.value, 'checkEventStartDate', false) && checkDate( document.newEvent.eventDate2_month.value, document.newEvent.eventDate2_day.value, document.newEvent.eventDate2_year.value, 'checkEventEndDate', false) && (document.getElementById( 'changeClubCat' ).checked == false || (document.getElementById( 'changeClubCat' ).checked == true && document.getElementById('categoryCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)')) && document.getElementById('newEventNameCheck').style.backgroundImage == 'url(/media/templates/default/modules/userprofile/images/hacken.png)') {
      return true;
    } else {
      if(document.getElementById('categoryCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)' && document.getElementById( 'changeClubCat' ).checked != false) document.getElementById('categoryCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('newEventNameCheck').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)') document.getElementById('newEventNameCheck').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('checkEventStartDate').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)') document.getElementById('checkEventStartDate').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      if(document.getElementById('checkEventEndDate').style.backgroundImage != 'url(/media/templates/default/modules/userprofile/images/hacken.png)') document.getElementById('checkEventEndDate').style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      return false;
    }
  }
};

function checkDate( month, day, year, id, go ) {
    var object = document.getElementById( id );
    var myDate = new Date();
    myDate.setFullYear( year, (month - 1), day );
 
    var day1 = document.getElementById('eventDate1_day').value;
    var month1 = document.getElementById('eventDate1_month').value;
    var year1 = document.getElementById('eventDate1_year').value;
    var hour1 = document.getElementById('eventStartClockH').value;
    var minute1 = document.getElementById('eventStartClockM').value;
    
    var day2 = document.getElementById('eventDate2_day').value;
    var month2 = document.getElementById('eventDate2_month').value;
    var year2 = document.getElementById('eventDate2_year').value;
    var hour2 = document.getElementById('eventEndClockH').value;
    var minute2 = document.getElementById('eventEndClockM').value;
    
    var time1 = new Date(year1,month1,day1,hour1,minute1,0).getTime();
    var time2 = new Date(year2,month2,day2,hour2,minute2,0).getTime();
 
    if((((myDate.getMonth()+1) == month && day<32) && month != '0' && year != '0' && day != '0' && ( (time1 < time2 || id == 'checkEventStartDate' ) || document.newEvent.openEnd.checked)) || (document.newEvent.openEnd.checked && id == 'checkEventEndDate')) {
      object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/hacken.png)';
      if(id == 'checkEventStartDate' && go != false) {
        checkDate( document.newEvent.eventDate1_month.value, document.newEvent.eventDate1_day.value, document.newEvent.eventDate1_year.value, 'checkEventEndDate', false);
      } else {
        if(go != false) checkDate( document.newEvent.eventDate2_month.value, document.newEvent.eventDate2_day.value, document.newEvent.eventDate2_year.value, 'checkEventStartDate', false);
      }
      return true;
    } else {
      object.style.backgroundImage = 'url(/media/templates/default/modules/userprofile/images/x.png)';
      return false;
    } 
};

function openEndCheck( object ) {
  if(object.checked) {
    document.newEvent.eventDate2_day.disabled = true;
    document.newEvent.eventDate2_month.disabled = true;
    document.newEvent.eventDate2_year.disabled = true;
    document.newEvent.eventEndClockM.disabled = true;
    document.newEvent.eventEndClockH.disabled = true;
  } else { 
    document.newEvent.eventDate2_day.disabled = false;
    document.newEvent.eventDate2_month.disabled = false;
    document.newEvent.eventDate2_year.disabled = false;
    document.newEvent.eventEndClockM.disabled = false;
    document.newEvent.eventEndClockH.disabled = false;
  }
  checkDate( document.newEvent.eventDate2_month.value, document.newEvent.eventDate2_day.value, document.newEvent.eventDate2_year.value, 'checkEventEndDate', false);
};

function changeClubCategory( id ) {
  var object = document.getElementById( id );
  
  if( object.checked == true) {
    document.getElementById('newClubCat').style.visibility = 'visible';
    document.getElementById('categoryField0').style.visibility = 'visible';
    document.getElementById('categoryField0').options['0'].selected = true;
  } else {
    document.getElementById('newClubCat').style.visibility = 'hidden';
    document.getElementById('categoryField0').style.visibility = 'hidden';
    document.getElementById('categoryField1').style.visibility = 'hidden';
    document.getElementById('categoryField2').style.visibility = 'hidden';
    document.getElementById('categoryField3').style.visibility = 'hidden';
    document.getElementById('categoryField0').options['0'].selected = true;
    document.getElementById('categoryCheck').style.backgroundImage = '';
  }
};

function changePassBox( div1, div2 ) {
    document.getElementById( div1 ).style.display='none';
    document.getElementById( div2 ).style.display='';
    document.getElementById('password').focus();
};

function restorePassBox( object, image, lang ) {
    if (object.value == "") {
        object.style.backgroundImage = "url(/media/templates/default/modules/topright/images/"+image+"_"+lang+".png)";
    }

};

function browserPassAuto( object ) {
 		 object.style.backgroundImage = "none";
};

function isPWFieldFilled() {
  var id = 'password';          
  var object = document.getElementById( id );
  if(object.value != '') object.style.backgroundImage = none;
};

function loginFieldCaption( id, text ) {
  var object = document.getElementById( id );

  if(object.value == '') {
    object.value = text;
    object.style.color = '#999';
  } else {  
    if(object.value == text) {
      object.value = '';
      object.style.color = '#000';
    }
  }
};

function saveInvitation( identifier ) {
  var id1 = "firstName_" + identifier;
  var id2 = "lastName_" + identifier;
  
  var object1 = document.getElementById( id1 );
  var object2 = document.getElementById( id2 );
  
  var firstName = object1.value;
  var lastName = object2.value;
  
  var ajaxAnswer = AjaxRequest('saveInvitation', firstName, lastName, identifier);
  
  if(ajaxAnswer == '1') {
    document.location.href = "/index.html?saveInvitation";
  }
};

function remindInvitation( identifier ) {
  AjaxRequest('remindInvitation', identifier);
  
  document.location.href = "/index.html?remindInvitation";
  
};

function deleteInvitation( identifier ) {

  var ajaxAnswer = AjaxRequest('deleteInvitation', identifier);
  
  if(ajaxAnswer == '1') {
    document.location.href = "/index.html?deleteInvitation";
  }
};

function vote(stars, photo) {
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=votePhoto&param1=' + stars + '&param2=' + photo, callbackMethod:"voteCallback( returnObject )" });
};

function voteCallback( returnObject ) {
  json = JSON.decode(returnObject);
  
  var selfVote = json.user;
  var allVote = json.all;
  
  if(selfVote == "0") {
    document.getElementById('userVoting').style.visibility='visible';
    document.getElementById('userVoting').style.position='static';
    document.getElementById('userVoted').style.visibility='hidden';
    document.getElementById('userVoted').style.position='absolute';
  } else {
    document.getElementById('userVoting').style.visibility='hidden';
    document.getElementById('userVoting').style.position='absolute';
    document.getElementById('userVoted').style.visibility='visible';
    document.getElementById('userVoted').style.position='static';
  }

  for (i=1;i<6;i=i+1) {
    if(selfVote != "0") {
      if(selfVote >= i) {
        document.getElementById('fixStar' + i).src = "/media/templates/default/global/images/star_filled.png";
      } else {
        document.getElementById('fixStar' + i).src = "/media/templates/default/global/images/star_trans.png";
      }
    }
    
    if(allVote >= i) {
      document.getElementById('generalStar' + i).src = "/media/templates/default/global/images/star_filled.png";
    } else {
       document.getElementById('generalStar' + i).src = "/media/templates/default/global/images/star_trans.png";
    }
  }
}

function fgvotehighlight(star) {
  star = parseInt(star) + 1;
  
  for (var m = 1; m < star; m++) {
    var id = 'star' + m;
    
    var object = document.getElementById( id );
    
    object.src = '/media/templates/default/global/images/star_filled.png';
  }
};

function fgvoteunhighlight() {
  var id = 'star1';
  var object = document.getElementById( id );
  
  object.src = '/media/templates/default/global/images/star_trans.png';
  
  var id = 'star2';
  var object = document.getElementById( id );
  
  object.src = '/media/templates/default/global/images/star_trans.png';
  
  var id = 'star3';
  var object = document.getElementById( id );
  
  object.src = '/media/templates/default/global/images/star_trans.png';
  
  var id = 'star4';
  var object = document.getElementById( id );
  
  object.src = '/media/templates/default/global/images/star_trans.png';
  
  var id = 'star5';
  var object = document.getElementById( id );
  
  object.src = '/media/templates/default/global/images/star_trans.png';
};

function changePreferredLang( language ) {
  var ajaxAnswer = AjaxRequest('changePreferredLang', language);
};

function deleteAlbum( id ) {
  alert( id );
};

function updateUserStatus(fieldid,overlay) {
 
  var object1 = document.getElementById( fieldid );
  var object2 = document.getElementById( overlay );
  
  object1.disabled = true;
  object2.style.visibility = 'visible';
  var text = encodeURIComponent(object1.value);
  
  if(text == "") return false;
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=setStatusUpdate&param1=' + text, callbackMethod:"updateUserStatusCallback('"+fieldid+"','"+overlay+"')" });
  

};

function updateUserStatusCallback( fieldid, overlay) {
  var object1 = document.getElementById( fieldid );
  var object2 = document.getElementById( overlay );
  
  object1.disabled = false;
  object2.style.visibility = 'hidden';
};

// Ajax-Request absetzen und den Wert zurueckgeben
function AjaxCallbackRequest(url, parameters, object, object2) {
  var xmlHttp = null;
  // Mozilla, Opera, Safari sowie Internet Explorer 7
  if (typeof XMLHttpRequest != 'undefined') {
      xmlHttp = new XMLHttpRequest();
  }
  if (!xmlHttp) {
      // Internet Explorer 6 und älter
      try {
          xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
      } catch(e) {
          try {
              xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
          } catch(e) {
              xmlHttp  = null;
          }
      }
  }
  if (xmlHttp) {
      xmlHttp.onreadystatechange=function() {
        if(xmlHttp.readyState==4)
        {
            returnObject = xmlHttp.responseText;
            eval(parameters.callbackMethod + ';');

        }
     };
     xmlHttp.open(parameters.method, url, true);
     xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     xmlHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
     
     if(parameters.method == 'POST') {
      xmlHttp.send( parameters.parameter );
     } else {
      xmlHttp.send( null );
     }
  }

};

function messageMarkUnread( id, text, text2 ) {
    document.getElementById( 'td_sender_' + id ).style.fontWeight = 'bold';
    document.getElementById( 'td_subject_' + id ).style.fontWeight = 'bold';
    document.getElementById( 'td_sent_' + id ).style.fontWeight = 'bold';
    document.getElementById( 'msgcover_' + id ).innerHTML = '<img src="/media/templates/default/global/images/icons/email-red.png" style="margin-top:3px;" border="0">';
    var msgCount = document.getElementById('topright_messages_all').innerHTML;
    if(msgCount == 0) {
      document.getElementById('topright_msgTop').src = '/media/templates/default/global/images/icons/email-red.png';
      document.getElementById('topright_messages_link').innerHTML = "<span class='a_messaging_top_active'>" + document.getElementById('topright_messages_link').innerHTML + "</span>";
    }
    msgCount = (msgCount*1) + 1;
    document.getElementById('topright_messages_all').innerHTML = msgCount;
    
    document.getElementById('msgReadLink_' + id).href = "javascript:messageMarkRead(" + id + ", '"+text2+"', '"+text+"');";
    document.getElementById('msgReadLink_' + id).innerHTML = text;
    
    AjaxRequest('messageMarkUnread', id);
};

function messageMarkRead( id, text, text2 ) {
    if(document.getElementById( 'td_subject_' + id ).style.fontWeight == 'bold') {
      document.getElementById( 'td_sender_' + id ).style.fontWeight = 'normal';
      document.getElementById( 'td_subject_' + id ).style.fontWeight = 'normal';
      document.getElementById( 'td_sent_' + id ).style.fontWeight = 'normal';
      document.getElementById( 'msgcover_' + id ).innerHTML = '<img src="/media/templates/default/global/images/icons/email-grey.png" style="margin-top:3px;" border="0">';
      var msgCount = document.getElementById('topright_messages_all').innerHTML;
      if(msgCount > 0) {
        msgCount = msgCount - 1;
        document.getElementById('topright_messages_all').innerHTML = msgCount;
      }
      if(msgCount == 0) {
        document.getElementById('topright_msgTop').src = '/media/templates/default/global/images/icons/email-grey.png';
        document.getElementById('topright_messages_link').innerHTML = "<span style='color:#999;'>" + document.getElementById('topright_messages_link').innerHTML + "</span>";
      }
      
      document.getElementById('msgReadLink_' + id).href = "javascript:messageMarkUnread(" + id + ", '"+text2+"', '"+text+"');";
      document.getElementById('msgReadLink_' + id).innerHTML = text;
      
      AjaxRequest('messageMarkRead', id);
    }
};

function showMessageBox( id ) {
  var objectId = 'outerContainer_' + id;
  
  // show parent box
  if(document.getElementById( 'outerContainer_' + id ).style.visibility == 'hidden') {
    document.getElementById( 'outerContainer_' + id ).style.visibility = 'visible';
    document.getElementById( 'outerContainer_' + id ).style.position = 'static';
    
    if(document.getElementById( id ).innerHTML == '') {
      var body = '';
      document.getElementById( id ).innerHTML = '<center><img src="/media/templates/default/global/javascripts/greybox/indicator.gif"></center>';

      body = AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=getMessageBody&param1=' + id, callbackMethod:"setMessageBodyInBox('"+id+"', returnObject)" });
    } else {
        document.getElementById( 'outerContainer_' + id ).style.visibility = 'visible';
        document.getElementById( 'outerContainer_' + id ).style.position = 'static';
        document.getElementById( id + '_reply' ).style.visibility = "visible";
        document.getElementById( 'opened' + id ).innerHTML = '<img src="/media/templates/default/global/images/arrow_down2.png" border="0">';
    }
  } else {
    
    document.getElementById( 'opened' + id ).innerHTML = '<img src="/media/templates/default/global/images/arrow_right.png" border="0">';

    document.getElementById( 'outerContainer_' + id ).style.visibility = 'hidden';
    document.getElementById( 'outerContainer_' + id ).style.position = 'absolute';
    document.getElementById( id + '_reply' ).style.visibility = "hidden";
  }
};

function setMessageBodyInBox( id, text ) {
  document.getElementById( id ).style.border = '1px solid #999';
  document.getElementById( id ).style.background = '#F0F0F0';
  document.getElementById( id ).style.padding = '5px';
  document.getElementById( id ).innerHTML = text;
  document.getElementById( id + '_reply' ).style.height = "";
  document.getElementById( id + '_reply' ).style.overflow = "";
  document.getElementById( 'opened' + id ).innerHTML = '<img src="/media/templates/default/global/images/arrow_down2.png" border="0">';
  var objectId = 'outerContainer_' + id;
  //var mySlide = new Fx.Slide(objectId);
  //mySlide.slideIn();
  document.getElementById( id + '_reply' ).style.visibility = "visible";
};

function deleteMessage( id, returnSite ) {
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=deleteMessage&param1=' + id, callbackMethod:"document.location.href = '" + returnSite + "'" });
};

function BoxDialog( modUrl, titleString, closeAllowed ) {
  if(closeAllowed) {
    closeAllowed = true;
    var addTag = 'width:150px;';
  } else {
    closeAllowed = false;
    var addTag = '';
  }
  var boxyObject = new Boxy("<div style='padding:20px;"+addTag+"'><center><img src='/media/templates/default/global/javascripts/greybox/indicator.gif'></center></div>", { title: titleString, closeable: closeAllowed, fixed: false });
  AjaxCallbackRequest('/notify.php?information=' + modUrl, { method:'GET', callbackMethod:"boxySetContent( object, returnObject )" }, boxyObject);
  return boxyObject;
};

function boxySetContent( boxyObject, content ) {
  boxyObject.setContent( content );
  boxyObject.center();
};

function sendMessage( boxyObject, listObject, form ) {
  msgLogged = true;
  if(listObject != null) {
    var receiver = escape(listObject.getValues());
  } else {
    var receiver =  document.getElementById( 'msg' ).messageTo.value;
  }

  if(receiver == '') {
    document.getElementById( 'tr_rec' ).style.color = 'red';
  } else {
    document.getElementById( 'tr_rec' ).style.color = 'black';
  }
  
  if(document.getElementById( 'msg' ).messageText.value == '') {
    document.getElementById( 'tr_text' ).style.color = 'red';
  } else {
    document.getElementById( 'tr_text' ).style.color = 'black';
  }
  if(receiver == '' || document.getElementById( 'msg' ).messageText.value == '') {
    msgLogged = false;
    return false;
  }
  
  formSerialized = formSerialize( document.getElementById( 'msg' ) );
  var parameters = formSerialized + '&type=sendMessage&receiver=' + receiver;

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object.hideAndUnload();msgLogged = false;messageSuccess();" }, boxyObject);  
};

function formSerialize (form) {
  if (!form || !form.elements) return;

  var serial = [], i, j, first;
  var add = function (name, value) {
    serial.push(encodeURIComponent(name) + '=' + encodeURIComponent(value));
  }

  var elems = form.elements;
  for (i = 0; i < elems.length; i += 1, first = false) {
    if (elems[i].name.length > 0) { /* don't include unnamed elements */
      switch (elems[i].type) {
        case 'select-one': first = true;
        case 'select-multiple':
          for (j = 0; j < elems[i].options.length; j += 1)
            if (elems[i].options[j].selected) {
              add(elems[i].name, elems[i].options[j].value);
              if (first) break; /* stop searching for select-one */
            }
          break;
        case 'checkbox':
        case 'radio': if (!elems[i].checked) break; /* else continue */
        default: add(elems[i].name, elems[i].value); break;
      }
    }
  }

  return serial.join('&');
};

function deleteAlbum( id, returnSite ) {
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=deleteAlbum&param1=' + id, callbackMethod:"document.location.href = '" + returnSite + "';" });
};

function deletePhoto( id, returnSite ) {
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=deletePhoto&param1=' + id, callbackMethod:"document.location.href = '" + returnSite + "';" });
};

function sendIntInvitation ( boxyObject, listObject, link, type ) {
  msgLogged = true;
  if(listObject != null) {
    var receiver = escape(listObject.getValues());
  }

  if(receiver == '') {
    document.getElementById( 'tr_rec' ).style.color = 'red';
  } else {
    document.getElementById( 'tr_rec' ).style.color = 'black';
  }

  if(document.getElementById( 'msg' ).intInvitationText.value == '') {
    document.getElementById( 'tr_text' ).style.color = 'red';
  } else {
    document.getElementById( 'tr_text' ).style.color = 'black';
  }
  
  if(receiver == '' || document.getElementById( 'msg' ).intInvitationText.value == '') {
    msgLogged = false;
    return false;
  }
  
  formSerialized = formSerialize( document.getElementById( 'msg' ) );
  var parameters = formSerialized + '&type=sendIntInvitation&receiver=' + receiver + '&target=' + link + '&stype=' + type;

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object.hideAndUnload();msgLogged = false;" }, boxyObject);
};


function saveAlbum( boxyObject, type, edit ) {

  if( document.getElementById( 'newAlbum' ).albumName.value == '' ) {
    document.getElementById( 'r_name' ).style.color = 'red';
    return false;
  }
  formSerialized = formSerialize( document.getElementById( 'newAlbum' ) );
  var parameters = formSerialized + '&type=saveAlbum&stype=' + type;
  // Dringend noch weiterleiten auf Foto upload
  if(edit == 0) {
    var callback = "document.location.href='/photos/add.html?created=' + returnObject";
  } else {
    var callback = "object.hideAndUnload();window.location.reload();msgLogged = false;";
  } 
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:callback }, boxyObject);
};

function deletePinboardComment( id ) {
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: 'type=deletePinboardComment&param1='+id, callbackMethod:'objectFadeOut("pinboard_'+id+'");' });
};

function objectFadeOut( objectId ) {
  var mySlide = new Fx.Slide(objectId, {onComplete: function() { document.getElementById(objectId).style.marginBottom = '0px'; }} );
  new Fx.Morph(objectId, {duration:1000, onComplete: function() { mySlide.slideOut(); }}).start({'opacity':0}); 
};

function saveGuestbookEntry( boxyObject, returnURL ) {
  if(document.getElementById( 'guestbNewTxt' ).value == "") {
    document.getElementById( 'guestbNewTxt' ).style.border = '1px solid red';
    document.getElementById( 'ngbtxt' ).style.color = 'red';
    document.getElementById( 'ngbtxt' ).style.fontWeight = 'bold';
    return false;
  }

  formSerialized = formSerialize( document.getElementById( 'newGuestbook' ) );
  var parameters = formSerialized + '&type=newGuestbook';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object.hideAndUnload();msgLogged = false;document.location.href='"+returnURL+"'+returnObject;" }, boxyObject);
};

function getMessageHistory(msgId) {
  var object = document.getElementById('msghist');
  
  if(object.innerHTML == "") {
    object.innerHTML = "<center><img src='/media/templates/default/global/javascripts/greybox/indicator.gif'></center>";
    var parameters = 'type=getMessageHistory&param1=' + msgId;
    AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object.innerHTML = returnObject;" }, object);
    object.style.visibility = 'visible';
  } else {
    if(object.style.visibility == 'visible') {
      object.style.visibility = 'hidden';
      object.style.position = 'absolute';
    } else {
      object.style.visibility = 'visible';
      object.style.position = 'relative';
    }
  }
  
};

function saveNewFriendshipCategorie( profileID, boxy ) {
  var text = document.getElementById( 'newCategorieName' ).value;
  if(text != "") {
    formSerialized = formSerialize( document.getElementById( 'newCatForm' ) );
    var parameters = formSerialized + '&friend=' + profileID + '&type=newFriendshipCategory';
    AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"catFriendshipSuccess('reload');" });
  } else {
    boxy.hideAndUnload();
  } 
};


function saveForumPost( boxyObject ) {

  if(document.getElementById( 'postContent' ).value == "") {
    document.getElementById( 'postContent' ).style.border = '1px solid red';
    document.getElementById( 'postContentTxt' ).style.color = 'red';
    document.getElementById( 'postContentTxt' ).style.fontWeight = 'bold';

  }
  if(document.getElementById( 'postTopic' ).value == "") {
    document.getElementById( 'postTopic' ).style.border = '1px solid red';
    document.getElementById( 'postTopicTxt' ).style.color = 'red';
    document.getElementById( 'postTopicTxt' ).style.fontWeight = 'bold';

  }
  
  if(document.getElementById( 'postContent' ).value == "" || document.getElementById( 'postTopic' ).value == "") return false;
  
  document.getElementById('forumPostComposeSave').innerHTML = "<img src='/media/templates/default/global/javascripts/greybox/indicator.gif'>";
  
  formSerialized = formSerialize( document.getElementById( 'newForumPost' ) );
  var parameters = formSerialized + '&type=newForumPost';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object.hideAndUnload();msgLogged = false;eval(returnObject);" }, boxyObject);
};

function deleteForumMessage( id ) {
  var parameters = 'param1='+id+'&type=deleteForumPost';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"eval(returnObject);" });
};

function sendMessageQuick( id ) {

  if(document.getElementById( 'messageText_' + id ).value == '') {
    document.getElementById( 'messageText_' + id ).style.border = '1px solid red;';
    return false;
  }
  
  var parameters = "pid=" + encodeURIComponent( document.getElementById( "pid_" + id ).value ) + "&messageTo=&messageSubject=" + encodeURIComponent( document.getElementById( "messageSubject_" + id ).value ) + "&receiver_input=" + encodeURIComponent( document.getElementById( "receiver_input_" + id ).value ) + "&messageText=" + encodeURIComponent( document.getElementById( "messageText_" + id ).value ) + "&type=sendMessage"
  
  document.getElementById( 'messageText_' + id ).value = "";
  messageSuccess();
  showMessageBox( id );
  
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"" });
    
};

function sendInvitationExtern( boxyObject ) {
  var email = document.getElementById('inviteEmail');
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (!filter.test(email.value)) {
    document.getElementById('email_text_in').style.color = 'red';
    document.getElementById('email_text_in').style.fontWeight = 'bold';
    email.style.border = '1px solid red';
  } else {
    formSerialized = formSerialize( document.getElementById('inviteForm') );
    var parameters = formSerialized + '&type=sendInvitation';
    AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object.hideAndUnload();msgLogged = false;messageSuccess();" }, boxyObject); 
  }
};

function deleteClub( id ) {
  var parameters = 'type=deleteClub&del='+id;
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"document.location.href='/myclubs.html?clubDel=1';" });
};

function deleteEvent( id ) {
  var parameters = 'type=deleteEvent&del='+id;
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object.hideAndUnload();msgLogged = false;messageSuccess();" }, boxyObject);
};

function savePhotoComment( type, name, link, picture ) {
  //if(document.getElementById('commentArea').innerHTML == "") return false;
  var object2 = document.getElementById('commentBox').innerHTML;
  var areaText = document.getElementById('commentArea').value;
  
  document.getElementById('commentBox').innerHTML = "<center><img src='/media/templates/default/global/javascripts/greybox/indicator.gif'></center><br>" + document.getElementById('commentBox').innerHTML;
  var formSerialized = formSerialize( document.getElementById('newComment') );
  var parameters = formSerialized + '&type2=' + type + '&type=savePhotoComment';
  var htmlC = document.getElementById('blankComment').innerHTML;

  areaText = areaText.replace(/(\r\n)|(\n\r)|\r|\n/g,"<BR>");

  htmlC = htmlC.replace(/FG_UNAME/g, name);
  htmlC = htmlC.replace(/FG_ULINK/g, link);
  htmlC = htmlC.replace(/FG_UPICTURE/g, picture);
  htmlC = htmlC.replace(/FG_CTEXT/g, areaText);
  
  
  document.getElementById('commentArea').value = "";
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"if(returnObject == '1') { document.getElementById('commentBox').innerHTML = object + object2; } else { document.getElementById('commentBox').innerHTML = object2; }" }, htmlC, object2);
};

function savePinboardComment( r, rt, parent, areaId ) {
  var object = document.getElementById('pinboardItems').innerHTML;
  var areaText = document.getElementById(areaId).value;
  
  if(areaText == '') return false;
  
  document.getElementById(areaId).value = '';
  
  document.getElementById('pinboardItems').innerHTML = "<center><img src='/media/templates/default/global/images/friendsgossip_loader.gif'></center>";
  var parameters = 'r='+r+'&rt='+rt+'&comment='+encodeURIComponent(areaText)+'&parent='+parent+'&type=savePinboardComment';
  
  
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"getGuestbookPosts('"+r+"','"+rt+"');" });
  return true;
};

function savePhotoDetails( id ) {
  var formSerialized = formSerialize( document.getElementById('photoDetails') );
  var parameters = formSerialized + '&param1=' + id + '&type=savePhotoDetails';
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"if(returnObject != '1') { errorMsg(); } else { saveSuccess(); } " });
};

function getAlbumsDyn( page, limit, type ) {
  document.getElementById('back_'+type).style.visibility='hidden';
  document.getElementById('back_'+type).style.position='absolute';
  document.getElementById('next_'+type).style.visibility='hidden';
  document.getElementById('next_'+type).style.position='absolute';
  document.getElementById('overlay_'+type).style.visibility='visible';
  document.getElementById('overlay_'+type).style.position='static';
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type='+type+'&o='+page+'&l='+limit, callbackMethod:"getAlbumsDynCallback( returnObject, '"+limit+"', '"+page+"', '"+type+"');" });
};

function getAlbumsDynCallback( json, limit, page, type ) {
  json = JSON.decode(json);
  document.getElementById('overlay_'+type).style.position='absolute';
  if(page == 1) {
    document.getElementById('back_'+type).style.visibility='hidden';
    document.getElementById('back_'+type).style.position='absolute';
  } else {
    document.getElementById('back_'+type).style.visibility='visible';
    document.getElementById('back_'+type).style.position='static';
  }
  
  if(((limit * page) < json[0].next)) {
    document.getElementById('next_'+type).style.visibility='visible';
    document.getElementById('next_'+type).style.position='static';
  } else {
    document.getElementById('next_'+type).style.visibility='hidden';
    document.getElementById('next_'+type).style.position='absolute';
  }
  document.getElementById('overlay_'+type).style.visibility='hidden';
  
  var htmlC = document.getElementById('blankAlbum').innerHTML;
  var htmlS = '';

  for (i=0;i<8;i=i+1) {
    if(json[i]) {
      htmlS = htmlC;
      htmlS = htmlS.replace(/FG_ALINK/g, json[i].link);
      htmlS = htmlS.replace(/FG_APIC/g, json[i].photo);
      htmlS = htmlS.replace(/FG_ANAME/g, json[i].name);
      htmlS = htmlS.replace(/FG_ULINK/g, json[i].clink);
      htmlS = htmlS.replace(/FG_UNAME/g, json[i].cname);
    } else {
      htmlS = '';    
    }
    n=i+1;
    document.getElementById('album_'+type+'_'+n).innerHTML = htmlS;
    
  }
}



function getGuestbookPosts( r, rt ) {
  document.getElementById('pinboardItems').innerHTML = '<center><img src="http://de-de.friendsgossip.com/media/templates/default/global/images/friendsgossip_loader.gif"></center>';
	AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=getPinboardComments&r='+r+'&rt='+rt, callbackMethod:"setPinboardContent( returnObject );" });
};

function setPinboardContent( returnObject ) {
  
  var json = JSON.decode(returnObject);
  
  var placeholder = document.getElementById('guestbook_Placeholder').innerHTML;
  var subPlaceholder = document.getElementById('pinboard_sub_placeholder').innerHTML;
  var html = '';
  var htmlC = '';
  var sublength;
  var length = json.length;
  var wholeInnerHtml = '';
  var pinboardDel = document.getElementById('pinboard_del_placeholder').innerHTML;
  var pinboardDelTmp = '';
  var officialMsg = document.getElementById('pinboard_showof_placeholder').innerHTML;
  var pinboardNew = document.getElementById('pinboard_newComm_placeholder').innerHTML;
  var pinboardNewTmp = '';
  
  for (i=0;i<length;i=i+1) {
    html = '';
    if(json[i]) {
      
      pinboardDelTmp = '';
      pinboardDelTmp = pinboardDel.replace(/ID/g, json[i].id);
      pinboardNewTmp = '';
      pinboardNewTmp = pinboardNew.replace(/ID/g, json[i].id);
      
      html = placeholder.replace(/ID/g, json[i].id);
      html = html.replace(/AUTHOR_LINK/g, json[i].author_link);
      html = html.replace(/AUTHOR_PICTURE/g, json[i].author_picture);

      html = html.replace(/AUTHOR_NAME/g, unescape(unescape(json[i].author_name.replace(/\+/g, ' '))));
      html = html.replace(/DATE/g, json[i].date);
      html = html.replace(/CONTENT/g, json[i].content);
      if(json[i].canDel == '1') {
        html = html.replace(/DELMSG/g, pinboardDelTmp);
      } else {
        html = html.replace(/DELMSG/g, '');
      }
      
      if(json[i].showofficial == '0') {
        html = html.replace(/OFFICMSG/g, officialMsg);
      } else {
        html = html.replace(/OFFICMSG/g, '');
      }
      if(json[i].canWrite == '1') {
        html = html.replace(/NEWCOMM/g, pinboardNewTmp);
      } else {
        html = html.replace(/NEWCOMM/g, '');
      }
      
      htmlC = '';
      sublength = json[i].comments.length;
      for (n=0;n<sublength;n=n+1) {
        pinboardDelTmp = '';
        pinboardDelTmp = pinboardDel.replace(/ID/g, json[i].comments[n].id);
        pinboardDelTmp = pinboardDelTmp.replace(/PID/g, json[i].id);
        htmlC = htmlC + subPlaceholder.replace(/CID/g, json[i].comments[n].id);
        htmlC = htmlC.replace(/CAUTHOR_LINK/g, json[i].comments[n].author_link);
        htmlC = htmlC.replace(/CAUTHOR_NAME/g, unescape(json[i].comments[n].author_name.replace(/\+/g, '%20')));
        htmlC = htmlC.replace(/CDATE/g, json[i].comments[n].date);
        htmlC = htmlC.replace(/CCONTENT/g, json[i].comments[n].content);
        if(json[i].comments[n].canDel == '1') {
          htmlC = htmlC.replace(/DELMSG/g, pinboardDelTmp);
        } else {
          htmlC = htmlC.replace(/DELMSG/g, '');
        }
        if(json[i].comments[n].showofficial == '0') {
          htmlC = htmlC.replace(/OFFICMSG/g, officialMsg);
        } else {
          htmlC = htmlC.replace(/OFFICMSG/g, '');
        }
      }
      
      html = html.replace(/PLACEHOLDER_SUBITEMS/g, htmlC);
    }    
    
    wholeInnerHtml = wholeInnerHtml + html;

  }
  
  document.getElementById('pinboardItems').innerHTML = wholeInnerHtml;
};

function setFrontpicture( pictureLink ) {
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=setFrontpicture&pictureLink='+pictureLink, callbackMethod:"document.location.reload();" } );
};

function savePhotosSortContent( content, boxy ) {
    document.getElementById('photosSortButtons').innerHTML = "<img src='/media/templates/default/global/images/loading.gif'>";
    AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter:'type=savePhotosSort&'+content, callbackMethod:"document.location.reload();" }, boxy );
};

function changeUserClubSettings( frm ) {
  if(frm == "" || !frm) frm = 'changeUserClubSettingsFrm';
  formSerialized = formSerialize( document.getElementById( frm ) );
  var parameters = formSerialized + '&type=changeUserClubSettings';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"saveSuccess();" });  
	
};

function changeClubUserCat() {
  formSerialized = formSerialize( document.getElementById( 'changeClubUserCatFrm' ) );
  var parameters = formSerialized + '&type=changeClubUserCat';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"saveSuccess();" });  
	
};

function clubSignout( club ) {
  var parameters = 'club='+club+'&type=clubSignout';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"document.location.href='/myclubs.html?clubSignout=1';" });  	
};

function eventSignout( event ) {
  var parameters = 'event='+event+'&type=eventSignout';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"document.location.href='/myevents.html?eventSignout=1';" });  	
};

function saveUserPrivacySettings() {
  formSerialized = formSerialize( document.getElementById( 'userfieldPrivacy' ) );
  var parameters = formSerialized + '&type=changeUserFieldPrivacy';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"" });  
	
};

function saveBlogComment( ) {
  if(document.getElementById('blogContentTA').value == '') return false;

  var formSerialized = formSerialize( document.getElementById( 'newBlog' ) );
  var parameters = formSerialized + '&type=blogEdit';
  
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"msgObj = null;document.location.reload();" });  
};

function deleteBlog( id ) {
  var parameters = 'del='+id+'&type=blogDelete';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"document.location.reload();" }); 
}

function addUserCat() {
  document.getElementById('catHide1').style.visibility='hidden';
  document.getElementById('catHide1').style.position='absolute';
  document.getElementById('catHide2').style.visibility='visible';
  document.getElementById('catHide2').style.position='static';
  
  var formSerialized = formSerialize( document.getElementById( 'newCat' ) );
  var parameters = formSerialized + '&type=newUserCat';
  var addText = '<div id="catRow_ID"><input type="checkbox" name="cat[]" value="ID" style="margin-bottom:10px;"> '+document.getElementById('catNameNew').value+' <a href="#" onClick="deleteCat(\'ID\');return false;"><img src="http://static.friendsgossip.com/templates/default/global/images/icons/ffm/folder_delete.png" style="width:15px;height:15px;" border="0"></a><br></div>';
  
  if(document.getElementById('checkboxCatContentNone2').style.visibility=='hidden') {
    document.getElementById('checkboxCatContentNone').style.visibility='hidden';
    document.getElementById('checkboxCatContentNone').style.position='absolute';
    document.getElementById('checkboxCatContentNone2').style.visibility='visible';
    document.getElementById('checkboxCatContentNone2').style.position='static';
  }
  
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"object = object.replace(/ID/g, returnObject);document.getElementById('checkboxCatContent').innerHTML = document.getElementById('checkboxCatContent').innerHTML + object;document.getElementById('catHide2').style.visibility='hidden';document.getElementById('catHide2').style.position='absolute';document.getElementById('catHide1').style.visibility='visible';document.getElementById('catHide1').style.position='static';document.getElementById('catNameNew').value='';" }, addText);
};

function deleteCat( id ) {
  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: 'type=deleteUserCat&param1='+id, callbackMethod:'objectFadeOut("catRow_'+id+'");' });
};

function saveUserCats() {
  var formSerialized = formSerialize( document.getElementById( 'userCat' ) );
  var parameters = formSerialized + '&type=saveUserCats';

  document.getElementById('saveCatButtons').innerHTML = '<img src="/media/templates/default/global/javascripts/greybox/indicator.gif">';

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"document.location.reload();" });
};

function get_html_translation_table (table, quote_style) {
    var entities = {}, hash_map = {}, decimal = 0, symbol = '';
    var constMappingTable = {}, constMappingQuoteStyle = {};
    var useTable = {}, useQuoteStyle = {};
    
    // Translate arguments
    constMappingTable[0]      = 'HTML_SPECIALCHARS';
    constMappingTable[1]      = 'HTML_ENTITIES';
    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
    constMappingQuoteStyle[2] = 'ENT_COMPAT';
    constMappingQuoteStyle[3] = 'ENT_QUOTES';

    useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';

    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
        throw new Error("Table: "+useTable+' not supported');
        // return false;
    }

    entities['38'] = '&amp;';
    if (useTable === 'HTML_ENTITIES') {
        entities['160'] = '&nbsp;';
        entities['161'] = '&iexcl;';
        entities['162'] = '&cent;';
        entities['163'] = '&pound;';
        entities['164'] = '&curren;';
        entities['165'] = '&yen;';
        entities['166'] = '&brvbar;';
        entities['167'] = '&sect;';
        entities['168'] = '&uml;';
        entities['169'] = '&copy;';
        entities['170'] = '&ordf;';
        entities['171'] = '&laquo;';
        entities['172'] = '&not;';
        entities['173'] = '&shy;';
        entities['174'] = '&reg;';
        entities['175'] = '&macr;';
        entities['176'] = '&deg;';
        entities['177'] = '&plusmn;';
        entities['178'] = '&sup2;';
        entities['179'] = '&sup3;';
        entities['180'] = '&acute;';
        entities['181'] = '&micro;';
        entities['182'] = '&para;';
        entities['183'] = '&middot;';
        entities['184'] = '&cedil;';
        entities['185'] = '&sup1;';
        entities['186'] = '&ordm;';
        entities['187'] = '&raquo;';
        entities['188'] = '&frac14;';
        entities['189'] = '&frac12;';
        entities['190'] = '&frac34;';
        entities['191'] = '&iquest;';
        entities['192'] = '&Agrave;';
        entities['193'] = '&Aacute;';
        entities['194'] = '&Acirc;';
        entities['195'] = '&Atilde;';
        entities['196'] = '&Auml;';
        entities['197'] = '&Aring;';
        entities['198'] = '&AElig;';
        entities['199'] = '&Ccedil;';
        entities['200'] = '&Egrave;';
        entities['201'] = '&Eacute;';
        entities['202'] = '&Ecirc;';
        entities['203'] = '&Euml;';
        entities['204'] = '&Igrave;';
        entities['205'] = '&Iacute;';
        entities['206'] = '&Icirc;';
        entities['207'] = '&Iuml;';
        entities['208'] = '&ETH;';
        entities['209'] = '&Ntilde;';
        entities['210'] = '&Ograve;';
        entities['211'] = '&Oacute;';
        entities['212'] = '&Ocirc;';
        entities['213'] = '&Otilde;';
        entities['214'] = '&Ouml;';
        entities['215'] = '&times;';
        entities['216'] = '&Oslash;';
        entities['217'] = '&Ugrave;';
        entities['218'] = '&Uacute;';
        entities['219'] = '&Ucirc;';
        entities['220'] = '&Uuml;';
        entities['221'] = '&Yacute;';
        entities['222'] = '&THORN;';
        entities['223'] = '&szlig;';
        entities['224'] = '&agrave;';
        entities['225'] = '&aacute;';
        entities['226'] = '&acirc;';
        entities['227'] = '&atilde;';
        entities['228'] = '&auml;';
        entities['229'] = '&aring;';
        entities['230'] = '&aelig;';
        entities['231'] = '&ccedil;';
        entities['232'] = '&egrave;';
        entities['233'] = '&eacute;';
        entities['234'] = '&ecirc;';
        entities['235'] = '&euml;';
        entities['236'] = '&igrave;';
        entities['237'] = '&iacute;';
        entities['238'] = '&icirc;';
        entities['239'] = '&iuml;';
        entities['240'] = '&eth;';
        entities['241'] = '&ntilde;';
        entities['242'] = '&ograve;';
        entities['243'] = '&oacute;';
        entities['244'] = '&ocirc;';
        entities['245'] = '&otilde;';
        entities['246'] = '&ouml;';
        entities['247'] = '&divide;';
        entities['248'] = '&oslash;';
        entities['249'] = '&ugrave;';
        entities['250'] = '&uacute;';
        entities['251'] = '&ucirc;';
        entities['252'] = '&uuml;';
        entities['253'] = '&yacute;';
        entities['254'] = '&thorn;';
        entities['255'] = '&yuml;';
    }

    if (useQuoteStyle !== 'ENT_NOQUOTES') {
        entities['34'] = '&quot;';
    }
    if (useQuoteStyle === 'ENT_QUOTES') {
        entities['39'] = '&#39;';
    }
    entities['60'] = '&lt;';
    entities['62'] = '&gt;';


    // ascii decimals to real symbols
    for (decimal in entities) {
        symbol = String.fromCharCode(decimal);
        hash_map[symbol] = entities[decimal];
    }
    
    return hash_map;
};

function html_entity_decode (string, quote_style) {
    // Convert all HTML entities to their applicable characters  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/html_entity_decode
    // +   original by: john (http://www.jd-tech.net)
    // +      input by: ger
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +   improved by: marc andreu
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
    // +      input by: Ratheous
    // -    depends on: get_html_translation_table
    // *     example 1: html_entity_decode('Kevin &amp; van Zonneveld');
    // *     returns 1: 'Kevin & van Zonneveld'
    // *     example 2: html_entity_decode('&amp;lt;');
    // *     returns 2: '&lt;'
    var hash_map = {}, symbol = '', tmp_str = '', entity = '';
    tmp_str = string.toString();
    
    if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
        return false;
    }

    for (symbol in hash_map) {
        entity = hash_map[symbol];
        tmp_str = tmp_str.split(entity).join(symbol);
    }
    tmp_str = tmp_str.split('&#039;').join("'");
    
    return tmp_str;
};

function showAndHideObject( obj1, obj2 ) {
  obj2.style.visibility = 'hidden';
  obj2.style.position = 'absolute';
  obj1.style.visibility = 'visible';
  obj1.style.position = 'static';
};

function userRegister() {
  showAndHideObject(document.getElementById('registerWait'),document.getElementById('registerButton'));
  formSerialized = formSerialize( document.getElementById( 'userRegisterForm' ) );
  var parameters = formSerialized + '&type=registerUser';

  document.getElementById('registerFormError').style.visibility = 'hidden';
  document.getElementById('registerFormError').style.position = 'absolute';
  for(i=0;i<7;i=i+1) {
    document.getElementById('registerFormError'+i).style.visibility = 'hidden';
    document.getElementById('registerFormError'+i).style.position = 'absolute';
  }

  AjaxCallbackRequest('/ajaxRequests.php', { method:'POST', parameter: parameters, callbackMethod:"userRegisterCallback( returnObject );" });
  
};

function userRegisterCallback( returnObject ) {
  if( returnObject == ' 9' ) {
    document.getElementById('registerMailSentTo').innerHTML = document.getElementById('regmail').value;
    document.getElementById('registerFormSuccess').style.visibility = 'visible';
    document.getElementById('registerFormSuccess').style.position = 'static';
    document.getElementById('registerFormDiv').style.visibility = 'hidden';
    document.getElementById('registerFormDiv').style.position = 'absolute';
  } else {
    document.getElementById('registerFormError').style.visibility = 'visible';
    document.getElementById('registerFormError').style.position = 'static';
    document.getElementById('registerFormError'+returnObject).style.visibility = 'visible';
    document.getElementById('registerFormError'+returnObject).style.position = 'static';
  }
  showAndHideObject(document.getElementById('registerButton'),document.getElementById('registerWait'));
};

function UnCryptMailto(s, shift) {
       var n=0;
       var r="";
       for(var i=0;i<s.length;i++) { 
             n=s.charCodeAt(i); 
             if (n>=8364) {n = 128;}
             r += String.fromCharCode(n-(shift)); 
       }
       return r;
};

function linkTo_UnCryptMailto(s, shift) {
       location.href=UnCryptMailto(s, shift);
};