/*********************************** 
* Globale Variablen
**/


/*********************************** 
* allgemeine Events/Funktionen für window.load
**/
Event.observe(window, 'load', function() {
	
	/** Tooltips **/
	tooltip.init();
	
});

/*********************************** 
* allgemeine Events/Funktionen für window.unload
**/
Event.observe(window, 'unload', function() { 
	
	/** Google-Maps entladen **/
	if (typeof google.maps != "undefined") {
		google.maps.Unload();
	}
	 
});

/***********************************/


/**
* Zählt die Zeichen in einem Textfeld
**/
function countChars(fieldId, hintId, min, max, reversed) {
  
	var charcount = $(fieldId).value.length;
	if (reversed == true) {
		var counter = max - charcount;
	}
	else {
		var counter = charcount;
	}
	
	
	if (charcount < min || charcount > max) {
		$(hintId).replace('<span id="'+hintId+'" style="color:red;">'+counter+'</span>');
	}
	else {
		$(hintId).replace('<span id="'+hintId+'" style="color:green;">'+counter+'</span>');
	}
}

/**
* Resizable Textarea
**/
function resizeTextarea(fieldId, defaultRows) {

	var t = $(fieldId);
	var oldRows = t.rows;
    var lines = t.value.split('\n');
    
    var newRows = lines.length + 1;

    if (newRows > oldRows) t.rows = newRows;
    if (newRows < oldRows) t.rows = Math.max(defaultRows, newRows);
}

/**
* Für Ajax-Navigation zum Aktivieren von Links
**/
function activateLink(container, activeEl) {
	
    var elements = $(container).select('a');

	
    for (var i = 0; i < elements.length; ++i) {
        if (elements[i].identify() != activeEl) {
        	elements[i].removeClassName('linkBgActive');
        }
        else {
        	elements[i].addClassName('linkBgActive');
        }
		
    }

}


/**********************************
* Helper-Funktionen für alles mögliche
*/

function addTagToSearch(txt, inputId) {
	$(inputId).value = txt;
}

function addSearchToFields(txt, txtField, region, regionField) {
	$(txtField).value = txt;
	$(regionField).value = region;
}

function fireEvent (eventType, elementID) 
{ 
	var o = document.getElementById(elementID); 
	if (document.createEvent) 
	{ 
	   var evt = document.createEvent("Events"); 
	   evt.initEvent(eventType, true, true); 
	   o.dispatchEvent(evt); 
	} else if (document.createEventObject) 
	{ 
	  var evt = document.createEventObject(); o.fireEvent('on' + eventType, evt);
	} 
}

function toggleLinkText(elementId, elementToTest, text1, text2) {
    if ($(elementToTest).visible()) {
        $(elementId).update(text2);
    }
    else {
        $(elementId).update(text1);
    }
}

function toggleText(el, text1, text2) {
	
	if (el.innerHTML == text1) {
		el.update(text2);
	}
	else {
		el.update(text1);
	}

}

function hideByClass(className, containerElement) {
    var elements = $(containerElement).getElementsByClassName(className);
    for (var i = 0; i < elements.length; ++i) {
        elements[i].hide();
    }
}

function activateRow(element, container) {
    var nodelist = $(container).immediateDescendants();
    for (var i=0; i<nodelist.length; ++i) {
        if (nodelist[i].hasClassName('on')) {
            nodelist[i].removeClassName('on');
        }
    }
    $(element).addClassName('on');
}

function checkUncheckAll(element) {
	var theForm = element.form, z = 0;
	for(z=0; z<theForm.length;z++){
		if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
			theForm[z].checked = element.checked;
		}
	}
}


/**
* Eine Funktion, die üblicherweise durch Formulare bei onComplete aufgerufen wird
* es wird ein Element versteckt und ein zweites per Effekt angezeigt
**/
function blindDownResults(hideMe, blindMe) {
	$(hideMe).hide();
	new Effect.BlindDown(blindMe,{duration: '0.3'});
}

/**
* Um ein Formular zu einer Modalbox zu submitten - z.B. beim Login von der Startseite
*
* ACHTUNG!!! NICHT DIESE FUNKTION NUTZEN - SIE GEHT NICHT IM IE!!!!!!!!!!

function submitToModalbox(url, formName) {
	Modalbox.show(url, {method: 'post', params: Form.serialize(formName)});		
}


//Workaround für IE-Bug, dass in der Login-Modalbox kein Enter angenommen wird
function addInputSubmitEvent(form, input) {
    input.onkeydown = function(e) {
        e = e || window.event;
        if (e.keyCode == 13) {
        	submitToModalbox(form.action, form.name)
            return false;
        }
    };
}
**/

/**
* Lokalitäten-Öffnungszeiten
**/
function showOpeningTimes(elid) {
	
	var spans = $$('span.openingTimes');
	
	for (var i=0; i<7; i++) {
		if (spans[i].identify() == elid) {
			spans[i].show();
		}
		else {
			spans[i].hide();
		}
	}
}


/**
 * map-Funktionen für Regionalisierung
 *
 */
function getPosition() {

	var dir = new google.maps.Directions();
	var waypoints = [];
	
	waypoints[0] = regionMarker.getPoint();
	var tmp = regionMarker.getPoint().lat()+0.0000000000001;
	//var tmp = regionMarker.getPoint().lat()+0.01;
	waypoints[1] = tmp+','+regionMarker.getPoint().lng();
	//dir.loadFromWaypoints(waypoints,{getSteps: true, getPolyline:true});
	dir.loadFromWaypoints(waypoints);
	
	//var data = ;
	google.maps.Event.addListener(dir,'load',
	function() {
		if (dir.getStatus().code != 200) {
			alert('Fehler! Adresse kann nicht bestimmt werden.');
			return false;
		}
		
		//alert(print_r(dir.getPolyline().getVertex(0)));
		
		var data = dir.getGeocode(0);
		//alert(print_r(data));
		
		if (data.AddressDetails['Accuracy'] < 6) {
			alert('Fehler! Adresse kann nicht bestimmt werden.');
			return false;
		}

		
		
		var geo = new google.maps.ClientGeocoder();
		geo.setViewport(regionMap.getBounds());
		
		geo.getLocations(data.address, processGeocoding);
		
	})
}


function processGeocoding(response) {
	
	if (!response || response.Status.code != 200) {
		alert('Fehler! Adresse kann nicht bestimmt werden.');
		return false;
	}
	
    place = response.Placemark[0];
	var address = place.address;;

	new Ajax.Request('/search/cacheGeodata', {
		method: 'post',
		parameters: {data: address}
	});
	

	//cut out the street
	//address = place.address.slice(address.indexOf(',') + 2);
	//cut out the country
	address = address.substring(0,address.lastIndexOf(','));
	
	//alert(nostreet);
	$('regionSearchInput').value = address;
	 
}


function initRegionMap(initlat,initlon,accuracy){

	var mapControl = new google.maps.SmallMapControl();
	regionMap = new google.maps.Map2($("regionSelectMap"));

    regionMap.addControl(mapControl);
    
    if (typeof initlat != "undefined" && typeof initlon != "undefined") {
		var home = new google.maps.LatLng(initlat,initlon);
		
		var zoom = 6;
		if (accuracy == 2) { zoom = 8; }
		if (accuracy == 3) { zoom = 11; }
		if (accuracy == 4) { zoom = 14; }
		if (accuracy == 5) { zoom = 15; }
		if (accuracy == 6) { zoom = 16; }
		if (accuracy >= 7) { zoom = 17; }
		
		
	}
	else {
		var home = new google.maps.LatLng(52.523480,13.411494);
		var zoom = 12;
	}
	
	regionMap.setCenter(home, zoom);
    
    
    var icon = createMapIcon('user');
    regionMarker = new google.maps.Marker(home,{icon: icon, draggable: true});
    

	regionMap.addOverlay(regionMarker);
	regionMarker.enableDragging();
}


/**
* Karte auf dem User-Profil
**/
function initUserProfileMap(userId, type, initlat,initlon) {


	var mapControl = new google.maps.LargeMapControl();
	var mapTypeControl = new google.maps.MapTypeControl();
	userprofileMap = new google.maps.Map2($("userprofile_map_canvas"));


    userprofileMap.addControl(mapControl);
    userprofileMap.addControl(mapTypeControl);
    home = new google.maps.LatLng(initlat,initlon);
	userprofileMap.setCenter(home, 11);
    
    loadUserprofileMapdata(userId, type);
}



function loadUserprofileMapdata(userId, type) {

	$('userprofileMapIndicator').show();
	
	var url = '/load-usermapdata/'+userId+'/'+type;
	
    GDownloadUrl(url, function(data) {
		var xml = google.maps.Xml.parse(data);
		
		var resultCount = xml.documentElement.getAttribute("results");
		var markers = xml.documentElement.getElementsByTagName("marker");
		
		userprofileMarkerArray = [];
		userprofileMap.clearOverlays();
		bounds = new google.maps.LatLngBounds();
      	
      	var i = 0;
		while ( i < markers.length) {
	  		
	        var lat =      parseFloat(markers[i].getAttribute("lat"));
	        var lng =      parseFloat(markers[i].getAttribute("lng"));
	        
	        if (isNaN(lat) || isNaN(lng) == 'Nan') {
	        	i++;
	        	continue;
	        }
	        
	        var location =   markers[i].getElementsByTagName("location");
	        var locationId = parseInt(location[0].getAttribute("id"));
	        var title =      location[0].getElementsByTagName("title");
	        var address =    location[0].getElementsByTagName("address");
	        var link =       location[0].getElementsByTagName("link");
			
			var info = "<h4>"+ title[0].firstChild.nodeValue +"</h4>"+ address[0].firstChild.nodeValue;
			
			var latlng = new google.maps.LatLng(lat, lng);
			var m = createMarker(lat, lng, 'location_standard', title[0].firstChild.nodeValue, info , link[0].firstChild.nodeValue);
	  	
			userprofileMarkerArray.push(m);
			userprofileMap.addOverlay(m);
	        
			bounds.extend(latlng);
			i++;
      	}

		makeSidebar();
		
		//Standort des Users
		var m = createMarker(home.lat(), home.lng(), 'user', 'Standort', 'Standort','# ');
  		userprofileMarkerArray.push(m);
		userprofileMap.addOverlay(m);
		bounds.extend(home);

		//Karte zentrieren
		userprofileMap.setCenter(bounds.getCenter(),userprofileMap.getBoundsZoomLevel(bounds)-1);
		

		Effect.Fade('userprofileMapIndicator', { duration: 0.5 });
    });

}


function loadScMapdata() {

	var url = '/speisecard/partner-xml';
	
    GDownloadUrl(url, function(data) {
		var xml = google.maps.Xml.parse(data);
		
		var resultCount = xml.documentElement.getAttribute("results");
		var markers = xml.documentElement.getElementsByTagName("marker");
		
		scMarkerArray = [];
		scMap.clearOverlays();
		bounds = new google.maps.LatLngBounds();
      	
      	var i = 0;
		while ( i < markers.length) {
	  		
	        var lat =      parseFloat(markers[i].getAttribute("lat"));
	        var lng =      parseFloat(markers[i].getAttribute("lng"));
	        
	        if (isNaN(lat) || isNaN(lng) == 'Nan') {
	        	i++;
	        	continue;
	        }
	        
	        var location =   markers[i].getElementsByTagName("location");
	        var locationId = parseInt(location[0].getAttribute("id"));
	        var title =      location[0].getElementsByTagName("title");
	        var address =    location[0].getElementsByTagName("address");
	        var link =       location[0].getElementsByTagName("link");
	        var type =       location[0].getElementsByTagName("partner_type");
			
			if (type[0].firstChild.nodeValue == 20) {
				var scicon = 'spartner_gold.gif';
			}
			else {
				var scicon = 'spartner_silver.gif';
			}
			
			var info = "<table><tr><td><img src=\"/images/"+scicon+"\">&nbsp;</td><td><h4>"+ title[0].firstChild.nodeValue +"</h4>"+ address[0].firstChild.nodeValue+"</td></tr></table>";
			info += "<p class=\"text textRight\">&rsaquo;&rsaquo;&rsaquo;&nbsp;<a href=\""+link[0].firstChild.nodeValue+"\">Details zur Lokalit&auml;t</a></p>"
			
			var latlng = new google.maps.LatLng(lat, lng);
			var m = createMarker(lat, lng, 'location_standard', title[0].firstChild.nodeValue, info , link[0].firstChild.nodeValue);
	  	
			scMarkerArray.push(m);
			scMap.addOverlay(m);
	        
			bounds.extend(latlng);
			i++;
      	}


		//Karte zentrieren
		scMap.setCenter(bounds.getCenter(),scMap.getBoundsZoomLevel(bounds)-1);
    });

}



/**
* Baut die Marker
**/
function createMarker(lat, lng, type, title, info, link) {

    var icon = createMapIcon(type);
    var newMarker = new google.maps.Marker(new google.maps.LatLng(lat,lng),icon);
	
	newMarker.info = info;
    newMarker.link = link;
    newMarker.title = title;

    if (info.length > 0) {
    	//alert(info);
    	newMarker.bindInfoWindowHtml(info);
	}

    return newMarker;
}


/**
* Baut die Sidebar
**/
function makeSidebar() {
	
	var html = '<div id="sidebar">';
	
	for(var i= 0; i < userprofileMarkerArray.length; i++) {

		html += '<div class="sidebarRow" id="sidebarRow'+ i +'"><a id="'+ i +'" href="' + userprofileMarkerArray[i].link + '" onmouseover="triggerOver(this.id)">' + userprofileMarkerArray[i].title + '<\/a><\/div>';
	}
	
	if (userprofileMarkerArray.length == 0) {
		html += '<div class="sidebarRow" id="sidebarRow0"><p>Es wurden keine Ergebnisse gefunden</p><\/div>';
	}
	
	html += '</div>';
	
	$('sidebar').replace(html);
	
}
function triggerOver(nr) {
	userprofileMap.closeInfoWindow();
	google.maps.Event.trigger(userprofileMarkerArray[nr],"click");
	
}

function activateRow(nr, tt) {
	
	alert('asd'+tt);
	$('sidebarRow'+nr).addClassName('on');
	if (activeRow != null) {
		$('sidebarRow'+activeRow).removeClassName('on');
	}
	activeRow = nr;
}


/**
* Baut verschiedene Icons fuer die Map
**/
function createMapIcon(type) {

	switch (type) {
		case 'location_standard':
			var icon = new google.maps.Icon(G_DEFAULT_ICON);
			icon.image = '/images/map_marker_location1.gif';
			icon.iconSize = new GSize(23,27);
		break;
		case 'location_active':
			var icon = new google.maps.Icon(G_DEFAULT_ICON);
			icon.image = '/images/map_marker_location2.gif';
			icon.iconSize = new GSize(23,27);
		break;
		case 'location_fav':
			var icon = new google.maps.Icon(G_DEFAULT_ICON);
			icon.image = '/images/map_marker_location3.gif';
			icon.iconSize = new GSize(23,27);
		break;
		case 'user':
			var icon = new google.maps.Icon(G_DEFAULT_ICON);
			icon.image = '/images/map_marker_user.gif';
			icon.iconSize = new GSize(23,27);
		break;
		case 'user_friend':
			var icon = new google.maps.Icon(G_DEFAULT_ICON);
			icon.image = '/images/map_marker_user_friend.gif';
			icon.iconSize = new GSize(23,27);
		break;
		default:
			var icon = new google.maps.Icon(G_DEFAULT_ICON);
			icon.image = '/images/map_marker_standard.gif';
			icon.iconSize = new GSize(23,27);
		break;
	}
	return icon;
}

function padding(laenge) {
  result = '';
  for (i = 0; i < laenge; i++)
    result = result + '___';
  return result;
}

function print_r(das_array, ebene) {
  var result = '';  
  for (var wert in das_array)
    if (typeof das_array[wert] == "object")
      result = result + ' ' + padding(ebene) + wert + "\n" + print_r(das_array[wert], ebene + 1);
    else
      result = result + ' ' + padding(ebene) + wert + ' = ' + das_array[wert] + "\n";

  return result;
}



/**
 * tabsbox.js
 *
 * Contentbox mit Tab-Navigation
 */

function tabsbox_Init(){
	$$('.tabsbox').each(function(el){
		
		$(el).down('ul').down('li').addClassName('on');
		$(el).down('div.tabsboxCnt').down('div').removeClassName('cntHide');
		
	});
}

function tabsbox_Show(el, cnt) {
	
	var li = $(el).up();
	var ul = li.up();
	
	ul.childElements().each(function(elm) {elm.removeClassName('on');});
	li.addClassName('on');
	
	var cntDivs = li.up('ul').next('div.tabsboxCnt');
	cntDivs.childElements().each(function(elm) {elm.addClassName('cntHide');});
	cntDivs.down('div#'+cnt).removeClassName('cntHide');
	
}





Effect.divSwap = function(element,container){
    var div = document.getElementById(container);
    var nodeList = div.childNodes;
    var queue = Effect.Queues.get('menuScope');

    if(queue.toArray().length<1){
        if(Element.visible(element)==false){
            for(i=0;i<nodeList.length;i++){
                if(nodeList.item(i).nodeName=="DIV" && nodeList.item(i).id!=element){
                    if(Element.visible(nodeList.item(i))==true){
                        Effect.BlindUp(nodeList.item(i),{duration:0.3, queue:{position:'end',scope:'menuScope',limit:2}})
                    }
                }
            }
            Effect.BlindDown(element,{duration:0.3, queue:{position:'end',scope:'menuScope',limit:2}})
       }
   }
}

Effect.divSwapFade = function(element,container){
    var div = document.getElementById(container);
    var nodeList = div.childNodes;
    var queue = Effect.Queues.get('menuScope');

    if(queue.toArray().length<1){
        if(Element.visible(element)==false){
            for(i=0;i<nodeList.length;i++){
                if(nodeList.item(i).nodeName=="DIV" && nodeList.item(i).id!=element){
                    if(Element.visible(nodeList.item(i))==true){
                        Effect.Fade(nodeList.item(i),{duration:0.3, queue:{position:'end',scope:'menuScope',limit:2}})
                    }
                }
            }
            Effect.Appear(element,{duration:0.3, queue:{position:'end',scope:'menuScope',limit:2}})
       }
   }
}

Effect.AnimateGraph = Class.create();
  Object.extend(Object.extend(Effect.AnimateGraph.prototype, 
    Effect.Base.prototype), {
    initialize: function(elementGraph, elementText, percent, maxPixLen) {
      var options = arguments[3] || {};
      this.elementGraph = $(elementGraph);
      this.elementText  = $(elementText);
      this.percent      = percent;
	  this.factor       = maxPixLen / 100;
	  this.delta        = this.percent * this.factor;
      this.start(options);
    },
    update: function(position) {
	  var pixlen = this.delta*position;
	  this.elementGraph.style.width = pixlen+'px';
	  Element.update(this.elementText, Math.round((pixlen / this.factor)) + '%');
    }
});



/*
ModalBox - The pop-up window thingie with AJAX, based on prototype and script.aculo.us.

Copyright Andrey Okonetchnikov (andrej.okonetschnikow@gmail.com), 2006-2007
All rights reserved.
 
VERSION 1.6.0
Last Modified: 12/13/2007
*/

// ACHTUNG: Modalbox an dieser Stelle entfernt, da IE class sonst nicht findet

//////////////////////////////////////////////////////////////////
// qTip - CSS Tool Tips - by Craig Erskine
// http://qrayg.com
//
// Multi-tag support by James Crooke
// http://www.cj-design.com
//
// Inspired by code from Travis Beckham
// http://www.squidfingers.com | http://www.podlob.com
//
// Modifiziert von Thomas Hannemann
//////////////////////////////////////////////////////////////////

//var qTipTag = "a,label,div,img,span";
var qTipClass = "qtip"; //Which tag do you want to qTip-ize? Keep it lowercase!//
var qTipX = 0; //This is qTip's X offset//
var qTipY = 15; //This is qTip's Y offset//

//There's No need to edit anything below this line//
tooltip = {
  name : "qTip",
  offsetX : qTipX,
  offsetY : qTipY,
  tip : null
}

tooltip.init = function () {
	var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
	if(!tipContainerID){ var tipContainerID = "qTip";}
	var tipContainer = document.getElementById(tipContainerID);

	if(!tipContainer) {
	  tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
		tipContainer.setAttribute("id", tipContainerID);
	  document.getElementsByTagName("body").item(0).appendChild(tipContainer);
	}

	if (!document.getElementById) return;
	this.tip = document.getElementById (this.name);
	//if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};

	var a, sTitle, elements;
	
	//var elementList = qTipTag.split(",");
	//for(var j = 0; j < elementList.length; j++)
	//{	
		//elements = document.getElementsByTagName(elementList[j]);
		
		elements = $$('.'+qTipClass);
		
		
		if(elements)
		{
			for (var i = 0; i < elements.length; i ++)
			{
				a = elements[i];
				sTitle = a.getAttribute("title");				
				if(sTitle)
				{
					a.setAttribute("tiptitle", sTitle);
					a.removeAttribute("title");
					a.removeAttribute("alt");
					a.onmouseover = function(evt) {tooltip.move(evt); tooltip.show(this.getAttribute('tiptitle'))};
					a.onmouseout = function() {tooltip.hide()};
				}
			}
		}
	//}
}

tooltip.move = function (evt) {
	var x=0, y=0;
	if (document.all) {//IE
		x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		x += window.event.clientX;
		y += window.event.clientY;
		
	} else {//Good Browsers
		x = evt.pageX;
		y = evt.pageY;
	}
	this.tip.style.left = (x + this.offsetX) + "px";
	this.tip.style.top = (y + this.offsetY) + "px";
}

tooltip.show = function (text) {
	if (!this.tip) return;
	this.tip.innerHTML = text;
	this.tip.style.display = "block";
}

tooltip.hide = function () {
	if (!this.tip) return;
	this.tip.innerHTML = "";
	this.tip.style.display = "none";
}


/******************************************
*
*
**/
var ori_email = '';

function checkEmail()
{
	var value = $F('email');

	if (value != ori_email)
	{
	  
	  if ($('display_email_repeat').style.display == 'none')
	  {
	  	Modalbox.resizeToInclude('display_email_repeat');
		$('display_email_repeat').show();
		$('email_change').value = 1;
	  }
	} else {
	  //new Effect.Fade('display_email_repeat');
	  $('display_email_repeat').hide();
	  Modalbox.resizeToContent();
	  $('email_change').value = 0;
	}
}

function checkBeforeSubmit()
{
	 var email_changed = document.getElementById('email_change').value;
	 
	 if (email_changed == 1)
	 {
	   Modalbox.show($('askChangeEmail'), {title: 'Hinweis zur E-Mail Adresse', width: '600'});
	   // document.saveProfileData_form.submit();
	 } else {
	   document.saveProfileData_form.submit();
	 }
}


/******************************
* Mailbox
*
*/

function showMessage(msg_id, box)
{
	$('msgNew').hide();
	
	//Indikator
	$('_indicatorMsg').show();

	//Zeile auswählen
	var rows = $$('form div.on');
	for (var i = 0; i < rows.length; ++i) {
		rows[i].removeClassName('on');
	}
	$('msg'+msg_id).addClassName('on');
	
	
	//gelesen Status anzeigen
	if ($('msg_subject_'+msg_id).hasClassName('msgUnread') ){
		$('msg_subject_'+msg_id).removeClassName('msgUnread');
		$('msg_subject_'+msg_id).addClassName('msgRead');
	}
	
	//Ajax-Call zum Laden der Nachricht
	new Ajax.Updater('msgView',
					 '/messages/loadMessage?msgid='+msg_id+'&box='+box,
					 {
					 	onComplete:	function(request, json){
					 					$('msgView').show();
					 					
						 				new Effect.BlindUp('_indicatorMsg', { duration: '0.5', queue: 'end'});
						 				
						 				Modalbox.resizeToContent();
									} 
					  });

}//showMessage


/**
function displayForwardMessage(msg)
{
	new Ajax.Updater('msgNew', '/messages/newMessage?mode=forward&msg='+msg, { 
						asynchronous:true, 
						evalScripts:false, 
						onComplete:function(request, json){
							new Effect.BlindDown('msgNew', {duration: '0.3', queue:'end'});
						}, 
						onLoading:function(request, json){}
		});

}
**/

function displayReplyMessage(recipient, msg)
{
	clearMsgArea();
	
	new Ajax.Updater('msgNew', '/messages/newMessage?mode=reply&msg='+msg, { 
						evalScripts:false, 
						onComplete:function(request, json){
							new Effect.BlindDown('msgNew', {duration: '0.3', queue:'end'});
						}
	});
}

function displayNewMessage()
{
	new Ajax.Updater('msgNew', '/messages/newMessage?mode=new', { 
						evalScripts:false, 
						onComplete:function(request, json){
							new Effect.BlindDown('msgNew', {duration: '0.3', queue:'end'});
						} 
	});
	
}

function clearMsgArea() {
	//mögliche Elemente im Breich der Nachricht ausblenden
	if ($('msgView').visible()) {
		new Effect.BlindUp('msgView',{duration: '0.3'});
	}

	if ($('msgNew').visible()) {
		new Effect.BlindUp('msgNew',{duration: '0.3'});
	}
	
}


function checkModus() {

	if ($('pmodus').value == 2) {
		$('askDeleteDropdown').show();
  	} else {
    	submitToModalbox('/messages/setMessageStatus','showList_form');
	}
}


function submitReplyMessage()
{
  new Ajax.Updater('_newMessageForm_status', '/messages/saveMessage', {
	               asynchronous:true, 
				   evalScripts:false, 
				   onComplete:function(request, json){Element.hide('_newMessageForm_indicator'); Modalbox.show();}, 
				   onLoading:function(request, json){Element.show('_newMessageForm_indicator');}, 
				   parameters:Form.serialize('_newMessageForm_form')
				  });
}

/******************************
* Profile
*
*/

function loadImage(image_id) {
	new Ajax.Updater('profileLvl3Content_profileSuccess', '/intern/listUserImages?id='+user_id+'&image_id='+image_id, {asynchronous:true, evalScripts:false});
}

var draglist = new Array();
function imgMakeDraggable() {
	var imglist = $$('div.divImgDraggable');

	if (draglist.length < 1) {
		for (var i=0; i<imglist.length; ++i) {
	    	imglist[i].down().next('div').show();
	        draglist[i] = new Draggable(imglist[i].identify(), {revert:true, handle:'linkToDrag'});
	    }
	}
	else {
	    for (var i=0; i<imglist.length; ++i) {
	    	imglist[i].down().next('div').hide();
	        draglist[i].destroy();
	    }
	    draglist = new Array();
    }
}

function imgMakeDeleteable(revert) {
	
	if (revert) {
		var imglist = $$('div.linkToDelete');
	    for (var i=0; i<imglist.length; ++i) {
			imglist[i].hide();
	    }
	}
	else {
		var imglist = $$('div.linkToDelete');
	    for (var i=0; i<imglist.length; ++i) {
	        if (imglist[i].visible()) {
				imglist[i].hide();
			}
			else {
				imglist[i].show();
			}
	    }
	}
}

/******************************
* Location
* 
**/

function checkTextarea() {
	if ($('reasonCustom').value == '')
	{
		$('needReason').value = '';
	} else {
		$('needReason').value = '1';
	}
}