function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

        // ping
        var pe = new PeriodicalExecuter(ping, 300); 
        
        function ping(){
            new Ajax.Request('?menu=ajaxcall&type=ping', {method: 'get'});
        } 
 

        function _debug(s){
                //
          
                if($('debug')){
                   $('debug').innerHTML = $('debug').innerHTML + ' | '  + s;
                }
        }
        
        
        //
        var navigation_keep_open = new Object();
        navigation_keep_open["startseite"] = false;
        navigation_keep_open["startseite_kontakte"] = false;
        navigation_keep_open["profil"] = false;
        navigation_keep_open["profil_edit"] = false;
        navigation_keep_open["nachrichten"] = false;
        navigation_keep_open["suche"] = false;
        navigation_keep_open["suche_suche"] = false;
        navigation_keep_open["community"] = false;
        navigation_keep_open["community_chat"] = false;
        
		function swapLayer(style_id){
		         var el = document.getElementById(style_id);
		         if(el){
		            if(el.style.visibility=="hidden" || el.style.visibility=="") el.style.visibility="visible";
		            else el.style.visibility="hidden";
		         }
		}
		
		function showLayer(style_id) {
		         //
		         _debug('open->' + style_id);
		         navigation_keep_open[style_id] = true;
		         _debug('navigation_keep_open->' + navigation_keep_open[style_id]);
		         if(document.getElementById(style_id)) document.getElementById(style_id).style.visibility="visible";
		}

		function hideLayer(style_id) {
		         //	
		         _debug('close->' + style_id);
		         navigation_keep_open[style_id] = false;
 	             window.setTimeout("hideLayerFinal(" + style_id + ");", 3);

		}
		
		function hideLayerFinal(style_id){
		         style_id = style_id.id;
		         _debug('navigation_keep_open->' + style_id + ': '+ navigation_keep_open[style_id]);
		         if(navigation_keep_open[style_id] == false){
		         	if(document.getElementById(style_id)){
		               document.getElementById(style_id).style.visibility="hidden";
		            }
		         }
		}
		
		<!-- ### MENU OVER ### -->
        nav_1_over = new Image();
		nav_1_out = new Image();
		
		nav_2_over = new Image();
		nav_2_out = new Image();
		
		nav_3_over = new Image();
		nav_3_out = new Image();
		
		nav_4_over = new Image();
		nav_4_out = new Image();
		
		nav_5_over = new Image();
		nav_5_out = new Image();
		
		nav_1_over.src = "/image/menue_startseite.gif";
		nav_1_out.src = "/image/menue_startseite.gif";
		
		nav_2_over.src = "/image/menue_profil.gif";
		nav_2_out.src = "/image/menue_profil.gif";		

		nav_3_over.src = "/image/menue_nachrichten.gif";
		nav_3_out.src = "/image/menue_nachrichten.gif";

		nav_4_over.src = "/image/menue_suche.gif";
		nav_4_out.src = "/image/menue_suche.gif";

		nav_5_over.src = "/image/menue_community.gif";
		nav_5_out.src = "/image/menue_community.gif";

        /*
        nav_1_over.src = "image/menue_startseite.gif";
		nav_1_out.src = "image/menue_startseite.gif";
		
		nav_2_over.src = "image/menue_mitglieder.gif";
		nav_2_out.src = "image/menue_mitglieder.gif";
		
		nav_3_over.src = "image/menue_community.gif";
		nav_3_out.src = "image/menue_community.gif";
		
		nav_4_over.src = "image/menue_galerien.gif";
		nav_4_out.src = "image/menue_galerien.gif";
		
		nav_5_over.src = "image/menue_magazin.gif";
		nav_5_out.src = "image/menue_magazin.gif";
        */





// JavaScript Document

 function CreateBookmarkLink(url, title) {

	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) { // Opera Hotlist
		return true; }
 }

function open_profil(href){
         //
         pop = window.open(href, 'pop','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=780,height=680');
 
}

function open_profil_(id){
    //
    pop = window.open('?menu=userprofil&popup=1&id=' + id, 'pop','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=780,height=680');

}

function open_pmwrite(href){
         //
         pmpop = window.open(href, 'pmpop','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=780,height=600');	
}

function open_support(link_el){
         //
         pmpop = window.open(link_el.href, 'supportpop','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=780,height=600');	
	     return false;
}

function flag_event_seen(base_url, event_id){
         var url = base_url + '?menu=ajaxcall&type=flag_event_seen&event_id=' + event_id;
         // alert('->' + url);
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){

                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );            
         
}

function _signup_check_username(base_url, value, id, udpate_err_msg){
         var url = base_url + '?menu=ajaxcall&type=signup&username=' + value;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0 && transport.responseText.match(/username_error/)){
                                         _signupValueError(id);
                                      }
                                      else _signupValueOk(id);
                                      
                                      if(udpate_err_msg) _signupErrMsg(transport.responseText);
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );         
} 

function _signup_check_password(base_url, value, id, udpate_err_msg){
         var url = base_url + '?menu=ajaxcall&type=signup&password=' + value;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0 && transport.responseText.match(/password_error/)){
                                         _signupValueError(id);
                                      }
                                      else _signupValueOk(id);
                                      
                                      if(udpate_err_msg) _signupErrMsg(transport.responseText);
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );         
} 

function _signup_check_password2(base_url, value, value2, id, udpate_err_msg){
         var url = base_url + '?menu=ajaxcall&type=signup&password=' + value + '&password2=' + value2;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0 && transport.responseText.match(/password2_error/)){
                                         _signupValueError(id);
                                      }
                                      else _signupValueOk(id);
                                      
                                      if(udpate_err_msg) _signupErrMsg(transport.responseText);
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );         
} 

function _signup_check_email(base_url, value, id, udpate_err_msg){
         var url = base_url + '?menu=ajaxcall&type=signup&email=' + value;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0 && transport.responseText.match(/email_error/)){
                                         _signupValueError(id);
                                      }
                                      else _signupValueOk(id);
                                      
                                      if(udpate_err_msg) _signupErrMsg(transport.responseText);
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );         
} 

function _signup_check_email2(base_url, value, value2, id, udpate_err_msg){
         var url = base_url + '?menu=ajaxcall&type=signup&email=' + value + '&email2=' + value2;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0 && transport.responseText.match(/email2_error/)){
                                         _signupValueError(id);
                                      }
                                      else _signupValueOk(id);
                                      
                                      if(udpate_err_msg) _signupErrMsg(transport.responseText);
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );         
} 

function _signup_check_sex(base_url, value, id, udpate_err_msg){
         var url = base_url + '?menu=ajaxcall&type=signup&sex=' + value;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0 && transport.responseText.match(/sex_error/)){
                                         _signupValueError(id);
                                      }
                                      else _signupValueOk(id);
                                      
                                      if(udpate_err_msg) _signupErrMsg(transport.responseText);
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );         
} 

function _signup_check_agb(base_url, el, udpate_err_msg){
         //
         var control = $('ajax_call');
         var ret = false;
         
         //
         var checked = 'no';
         if(el.checked) checked = 'yes';
         var url = base_url + '?menu=ajaxcall&type=signup&agb=' + checked;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      
                                      if(udpate_err_msg) _signupErrMsg(transport.responseText);
                                      if(transport.responseText.length == 0) {
                                         document.form1.submit();
                                      }
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           ); 
}

function _signupCheckAll(base_url){        
         //
         var checked = 'no';
         if($('agb').checked) checked = 'yes';
         
         var url = base_url + '?menu=ajaxcall&type=signup&agb=' + checked + '&username=' + $('username').value + '&password=' + $('password').value + '&password2=' + $('password2').value;
             url = url + '&email=' + $('email').value + '&email2=' + $('email2').value + '&sex=' + $('sex').value;
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0){
                                         if(transport.responseText.match(/sex_error/)) _signupValueError('symbol_sex');
                                         if(transport.responseText.match(/email_error/)) _signupValueError('symbol_email');
                                         if(transport.responseText.match(/email2_error/)) _signupValueError('symbol_email2');
                                         if(transport.responseText.match(/username_error/)) _signupValueError('symbol_username');
                                         if(transport.responseText.match(/password_error/)) _signupValueError('symbol_password');
                                         if(transport.responseText.match(/password2_error/)) _signupValueError('symbol_password2');
                                         _signupErrMsg(transport.responseText);
                                      }
                                      else document.form1.submit();
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );         
         
       
}

function _signup_new_email(base_url){
         var url = base_url + '?menu=ajaxcall&type=signupnewemail&newemail=' + $('newemail').value;
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                      if(transport.responseText.length > 0){
                                         $('err').innerHTML = '<br />' + transport.responseText;
                                      }
                                      else{
                                         $('email').innerHTML = $('newemail').value;
                                         $('err').innerHTML = '<br />Aktivierungslink wurde neu an die E-Mail-Adresse ' +  $('newemail').value + ' versand.<br />';
                                      }
                                      
                            },
                            onFailure: function(){ 
                                       alert('Fehler.'); 
                            }
                           }
                           );       
}

function do_nothing(){

}

function _signupValueError(id){
         //
         var el = $(id + '_error');
         if(el) el.style.display = 'block';
         
         el = $(id + '_ok');
         if(el) el.style.display = 'none';
}
function _signupValueOk(id){
         //
         var el = $(id + '_ok');
         if(el) el.style.display = 'block';

         //
         el = $(id + '_error');
         if(el) el.style.display = 'none';
}
function _signupErrMsg(err_msg){
         var el  = $('signup_err_msg');
         var el2 = $('signup_err_msg_response');
         
         //
         if(err_msg.length > 0){
            el.style.display = 'block';
            el2.innerHTML    = err_msg;        
         }
         else{
            el.style.display = 'none';
         }
     
}

function _inform_as_spam(base_url, type, id){
	var url = base_url + '?menu=ajaxcall&type=inform_as_spam&id=' + id + '&type2='+type;
    new Ajax.Request(url,
            {method:'get',
             onSuccess: function(transport){
                      alert("Diese Nachricht wurde als Spam gemeldet");
             },
             onFailure: function(){ 
                        alert('Fehler.'); 
             }
            }
            );        
}


function _flag_msg_toggle(base_url, type, id){
	var status = $('status_' + id).value;
	if(status == 1){
		// alert('unread');
		_flag_msg_unread(base_url, type, id);
	}
	else{
		// alert('read');
		_flag_msg_read2(base_url, type, id)
	}
}

function _flag_msg_read(base_url, type, id){
    if(type!='outbox'){
       var url = base_url + '?menu=ajaxcall&type=flag_msg_read&id=' + id + '&type2='+type;
       //
       var status = $('status_' + id).value;
       if(status == 0){
          new Ajax.Request(url,
                       {method:'get',
                        onSuccess: function(transport){
       	                  var status = $('status_' + id).value;
       	                  if(status == 0){
                                 _toggle('status_2_' + id);
                                 _toggle('status_1_' + id);
                                 $('button_status_1_' + id).value = 'Als ungelesen markieren';
                                 $('status_' + id).value = 1;
       	                  }
                        },
                        onFailure: function(){ 
                                   alert('Fehler.'); 
                        }
                       }
                       );        
     }
   }  
}

function _flag_msg_read2(base_url, type, id){
    if(type!='outbox'){
       var url = base_url + '?menu=ajaxcall&type=flag_msg_read&id=' + id + '&type2='+type;
       //
       new Ajax.Request(url,
                       {method:'get',
                        onSuccess: function(transport){
				           _toggle('status_2_' + id);
				           _toggle('status_1_' + id);
				           $('button_status_1_' + id).value = 'Als ungelesen markieren';
				           $('status_' + id).value = 1;

                        },
                        onFailure: function(){ 
                                   alert('Fehler.'); 
                        }
                       }
                       );        
    }
}

function _flag_msg_unread(base_url, type, id){
    if(type!='outbox'){
       var url = base_url + '?menu=ajaxcall&type=flag_msg_unread&id=' + id + '&type2='+type;
       //
       new Ajax.Request(url,
                       {method:'get',
                        onSuccess: function(transport){
                                   // $('status_2_' + id)
                                   _toggle('status_2_' + id);
                                   _toggle('status_1_' + id);
                                   $('button_status_1_' + id).value = 'Als gelesen markieren';
                                   $('status_' + id).value = 0;

                        },
                        onFailure: function(){ 
                                   alert('Fehler.'); 
                        }
                       }
                       );        
    }
}

function _ajax_msg_updater(base_url){
         var url = base_url + '?menu=ajaxcall&type=msg_updater';
         //
         new Ajax.PeriodicalUpdater('msg_alert_target', 
                                    url,
                                    {method: 'get',
                                     onSuccess: function(transport){
                                                //
                                                if(transport.responseText.length > 0){
                                                   //
                                                   _show('msg_alert');
                                                   
                                                }
                                                else _hide('msg_alert');
                                     }, 
                                     frequency: 15, 
                                     decay: 2
                                     }
                                    );
         
}



function _flag_sms_read(base_url, type, id){
         if(type!='outbox'){
            var url = base_url + '?menu=ajaxcall&type=flag_sms_read&id=' + id + '&type2='+type;
            //
            new Ajax.Request(url,
                            {method:'get',
                             onSuccess: function(transport){

  
                             },
                             onFailure: function(){ 
                                        alert('Fehler.'); 
                             }
                            }
                            );        
         }
}

function _starvote_ajax_call(base_url, vote, object, object_id, id, count_id, thank_you_id){
         //
         var url = base_url + '?menu=ajaxcall&type=starvote&object=' + object + '&vote=' + vote + '&id=' + object_id;
         
         //
         new Ajax.Request(url,
                          {method:'get',
                           onSuccess: function(transport){
                                        var response = transport.responseText;
                                        var e = $(id);
                                        if(e){
                                           e.innerHTML = response;
                                        }
                                        var e = $(count_id);
                                        if(e){
                                           var success = true;
                                           
                                           //
                                           if(response.match('error')) success = false;
                                           
                                           if(success){
                                              var number = parseInt(e.innerHTML);
                                              e.innerHTML = (number + 1);
                                              
                                              var e_success = $(thank_you_id);
                                              if(e_success) {
                                                 e_success.innerHTML = '<b>Danke fürs Abstimmen.</b>';
                                              }
                                           }
                                           else {
                                              var e_success = $(thank_you_id);
                                              if(e_success) {
                                                 e_success.innerHTML = '<b>Sie haben schon einmal abgestimmt.</b>';
                                              }                                              
                                           }
                                        }
                           },
                           onFailure: function(){ 
                                        alert('Fehler beim Voten.'); 
                           }
                          }
                          );
         
}

function friends2to(){
         var source       = document.getElementById("friends");
         var target       = document.getElementById("to");
         var target_value = target.value; 
         if(source.value!=''){
            for(var i = 0; i < source.options.length; i++){
                // 
                if(source.options[i].selected == true){
                   //
                   var add = true;
                   // if(target_value.match(/source.options[i].text/) add = false;
                   if(add){
                      if(target_value=='') target.value =  source.options[i].text;
                      else target.value =  target.value + ', ' + source.options[i].text;
                   }
                }
            }         
         }
         else alert("Wähle einen oder mehrere Deiner Freunde aus.");
}

function _signup_type(clicked){
	     document.getElementById('type0').checked = false;
	     document.getElementById('type1').checked = false;
	     document.getElementById('type2').checked = false;
	     document.getElementById('type' + clicked).checked = true;
	     
	     document.getElementById('type0infos').style.display = 'none';
	     document.getElementById('type1infos').style.display = 'none';
	     document.getElementById('type2infos').style.display = 'none';
	     
	     document.getElementById('type' + + clicked + 'infos').style.display = 'block';
}

function value2value(source_id, target_id){
         var source   = document.getElementById(source_id);
         var target   = document.getElementById(target_id);
         target.value = source.value;
}

function _checkoruncheckcheckbox(name, value){
         var e   = document.getElementById(name);
         //
         if(e){
            e.checked = value;
         }
}

function checkoruncheckall_checkboxes(el, name){
         var checkboxes = document.getElementsByName(name);
         var checkornot = true;
         if(el.checked == false) checkornot = false;
         //
         for(var i = 0; i < checkboxes.length; i++){
             checkboxes[i].checked = checkornot;
         }
}

function check_if_one_is_checked(name, err_msg){
         var one_is_checked = false;
         var checkboxes     = document.getElementsByName(name);
         for(var i = 0; i < checkboxes.length; i++){
             if(checkboxes[i].checked) one_is_checked = true;
         }
         if(!one_is_checked) alert(err_msg);
         
         return one_is_checked; 
}


function _toggle(name){
	showhide(name);	
}

function toggle(name){
	showhide(name);	
}

function showhide(name){
		 // alert('showhide => ' + name);
		 var e   = document.getElementById(name);
		 e.style.display = (e.style.display == 'block') ? 'none' : 'block';		
}

function _show(name){
         var e   = document.getElementById(name);
         if(e){
            e.style.display = 'block';
         }
}

function _hide(name){
         var e   = document.getElementById(name);
         if(e){
            e.style.display = 'none';
         }
}

function _setvalue(name, value){
         var e   = document.getElementById(name);
         if(e){
            e.value = value;
         }
}

function _setstyle(name, value){
         var e   = document.getElementById(name);
         if(e){
            e.style.color = value;
         }
}

function _setImage(name, src){
         var e   = document.getElementById(name);
         if(e){
            e.src = src;
         }
}

function setMaxSingsHandler(input_element, count_element_id){
         //
         input_element.onfocus   = function() { CheckMaxSigns(input_element, count_element_id);};
         input_element.onblur    = function() { CheckMaxSigns(input_element, count_element_id);};
         input_element.onchange  = function() { CheckMaxSigns(input_element, count_element_id);};
         input_element.onkeydown = function() { CheckMaxSigns(input_element, count_element_id);};
         input_element.onkeyup   = function() { CheckMaxSigns(input_element, count_element_id);};
}

function CheckMaxSigns(input_element, count_element_id){
         //
         var max_signs = parseInt(document.getElementById(count_element_id).value);
         var str_len   = input_element.value.length;
         var target    = document.getElementById(count_element_id + '_target');
         if(str_len > max_signs){
            input_element.value = input_element.value.substring(0, max_signs);
            var str_left = 0;
         } 
         else {
            var str_left = max_signs - str_len;
         }
         target.innerHTML = str_left;
}

function isNumberKey(evt)
{
   var charCode = (evt.which) ? evt.which : event.keyCode
   if (charCode > 31 && (charCode < 48 || charCode > 57))
      return false;

   return true;
}

