// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
jQuery(document).ready(	
			
	function()
	{
		jQuery.ajaxSetup({
			'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
		});		
        if(jQuery.fn.live)
        {
            jQuery("div.ajax_result_pager a").live("click", function(){
                jQuery.ajax({
                    url: jQuery(this).attr("href"),
                    type: 'get',
                    success: function(data) {
                      jQuery("#search_result").html(data);
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                    },
                    complete: function(XMLHttpRequest, textStatus) {
                    }
                });
                return false;
            });
        }

		jQuery(".ap_closed_toggle_box").toggle(
                        function () {
                                jQuery(this).addClass('open');
                                jQuery(this).parent().parent().next().toggle();
                                jQuery(this).parent().parent().addClass("blue");
			      },
                              
                        function () {
			        jQuery(this).parent().parent().next().toggle();
			        jQuery(this).removeClass('open');
				jQuery(this).parent().parent().removeClass("blue");
			      }
		);
		jQuery(".ap_opened_toggle_box").toggle(
			function () {
			        jQuery(this).parent().parent().next().toggle();
			        jQuery(this).removeClass('open');
				jQuery(this).parent().parent().removeClass("blue");
			      },

                        function () {
                                jQuery(this).addClass('open');
                                jQuery(this).parent().parent().next().toggle();
                                jQuery(this).parent().parent().addClass("blue");
			      }
		);
            
        //object/grundstück/private kapitalanlage search quick form
        jQuery(".quick_form_switch .radio-object-search").bind("click", function(){
            if(this.checked)
            {
              jQuery(".object_quick_form").show();
              jQuery("a.show_all_profiles").show();

              jQuery(".object_quick_form .radio-object-search").attr("checked",true)

              jQuery(".real_estate_quick_form").hide();
              jQuery("a.show_all_real_estate").hide();
              jQuery(".private_investment_quick_form").hide();
              jQuery("a.show_all_private_investment").hide();
			  jQuery(".object_quick_form #call_observers").val((new Date()).getTime());

            }
        });
        jQuery(".quick_form_switch .radio-real-estate-search").bind("click", function(){
            if(this.checked)
            {
              jQuery(".object_quick_form").hide();
              jQuery("a.show_all_profiles").hide();
              jQuery(".private_investment_quick_form").hide();
              jQuery("a.show_all_private_investment").hide();

              jQuery(".real_estate_quick_form").show();
              jQuery("a.show_all_real_estate").show();

              jQuery(".real_estate_quick_form .radio-real-estate-search").attr("checked",true);
			  jQuery(".real_estate_quick_form #call_observers").val((new Date()).getTime());

            }
        });
        jQuery(".quick_form_switch .radio-private-investment-search").bind("click", function(){
            if(this.checked)
            {
              jQuery(".object_quick_form").hide();
              jQuery("a.show_all_profiles").hide();
              jQuery(".real_estate_quick_form").hide();
              jQuery("a.show_all_real_estate").hide();

              jQuery(".private_investment_quick_form").show();
              jQuery("a.show_all_private_investment").show();

              jQuery(".private_investment_quick_form .radio-private-investment-search").attr("checked",true);
			  jQuery(".private_investment_quick_form #call_observers").val((new Date()).getTime());
            }
        });
		jQuery(document).ready(function(){
	  		jQuery(".open_popup").click(function(){
				my_div = jQuery(this).attr("rel");
		      	centerPopupDiv(my_div);
		      	loadPopupDiv(my_div);
		      	return false;				
			});
	  		jQuery(".close_popup").click(function(){
				disablePopupDiv(jQuery(this).attr("rel"));
				return false;
			});

		});
		if(jQuery.fn.live){
	  		jQuery(".select_all").live("click", function(){
				myParent = jQuery(this).closest(jQuery(this).attr("rel"));
				jQuery(myParent).find("input[type=checkbox]").attr("checked", jQuery(this).attr("checked"));
			});
		}
		else{
	  		jQuery(".select_all").bind("click", function(){
				myParent = jQuery(this).closest(jQuery(this).attr("rel"));
				jQuery(myParent).find("input[type=checkbox]").attr("checked", jQuery(this).attr("checked"));
			});			
		}
    });
function toggleElementAndCallerClass(caller, caller_class, element)
{
    $(element).toggle();
    if($(element).visible() == true)
    {
         jQuery(caller).removeClass(caller_class);
    }
    else
    {
        jQuery(caller).addClass(caller_class);
    }
}
function toggleBlock(parent, caller,element)
{
    $(element).toggle();
    if($(element).visible() == true)
    {
         jQuery(caller).addClass("open");
         jQuery(caller).removeClass("closed");
         parent.addClass("blue");
    }
    else
    {
        jQuery(caller).removeClass("open");
        jQuery(caller).addClass("closed");
        parent.removeClass("blue");
    }
    
}
function toggleDPBlock(parent, parentClass, caller, element)
{
    parentDiv = jQuery("#" + parent);
    if($(element).visible() == true)
    {
         jQuery(caller).addClass("arrow_mark_closed");
         jQuery(caller).removeClass("arrow_mark_open");
         parentDiv.addClass(parentClass);
    }
    else
    {
        jQuery(caller).removeClass("arrow_mark_closed");
        jQuery(caller).addClass("arrow_mark_open");
        parentDiv.removeClass(parentClass);
    }
    $(element).toggle();

}


function findPageYOffset()
{
  return (window.pageYOffset) ? window.pageYOffset : (document.documentElement && document.documentElement.scrollTop) ? 
          document.documentElement.scrollTop : document.body.scrollTop;
}

function stopRKey(evt)
{
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type == "text"))  {return false;}
} 

 function showSubmitMessageDiv()
 {
   msg_af_submit = $('message_after_submit');  
   msg_af_submit.style.top = findPageYOffset() + 15 + "px";    
   new Effect.SlideDown('message_after_submit',{});
   setTimeout("hideSubmitMessageDiv()",4000);
 }
 
 function hideSubmitMessageDiv()
 {
   new Effect.SlideUp('message_after_submit',{});
 }

 function findXPos(obj)
 {  
     var curleft=0;
     if(obj.offsetParent)
     {
         while(obj.offsetParent)
         {
             curleft += obj.offsetLeft;
             obj = obj.offsetParent;
         }
     }
     else if(obj.x)
      curleft+=obj.x;
     return curleft;
}

function findYPos(obj)
{
    var curtop=0;
    if(obj.offsetParent)
    {
        while(obj.offsetParent)
        {
            curtop+=obj.offsetTop;
            obj=obj.offsetParent;
        }        
    }
    else if(obj.y)  
      curtop+=obj.y;
    return curtop;
}
 function posAppHelpBox(field, content_top, content)
 {
    var helpText = $('app_help_text');
    helpText.innerHTML = $(content).innerHTML;
    
    fieldY = findYPos(field)
    var newContainerX = findXPos($(content_top)) + $(content_top).offsetWidth;
    var helpBox = $('app_help_box');
    helpBox.style.top = fieldY - 10 + 'px';
    helpBox.style.left = newContainerX + 20 + 'px';
    helpBox.show();         
 }

 function popDPBox(parent_bar_id, pop_box_id, top_offset)
 {
    parent_bar = $(parent_bar_id);
    fieldY = findYPos(parent_bar)
    var newContainerX = findXPos(parent_bar); // + parent_bar.offsetWidth;
    var dPBox = $(pop_box_id);
    dPBox.style.top = fieldY - top_offset + 'px';
    dPBox.style.left = newContainerX + 'px';
    dPBox.show();
     
 }
 function posHelpBox(field, content_top, content)
 {

    var newContainerX = findXPos($(content_top)) + $(content_top).offsetWidth + 5;
    var newContainerY = findYPos($(content_top));
    var helpBox = $('form_help_box');
    helpBox.style.top = newContainerY + 'px';
    helpBox.style.left = newContainerX + 'px';
    helpBox.style.height = $(content_top).offsetHeight + 'px';
    
    var helpText = $('help_text');
    helpText.innerHTML = $(content).innerHTML;
    fieldY = findYPos(field)
    helpText.style.top = (fieldY - newContainerY - 50) + 'px'; //subtract top and bottom margin of paragraph
    
    
    helpBox.show();    
 }
 function hideHelpBox()
 {
     $('form_help_box').hide();
 }
 function hideAppHelpBox()
 {
     $('app_help_box').hide();
 }

 function removeObjStandardFields()
 {
    missing = jQuery("#object_standard_misings");
    office = jQuery("#object_standard_offices");
    living = jQuery("#object_standard_livings");
    hotel = jQuery("#object_standard_hotels");
    missing.remove();
    office.remove();
    living.remove();
    hotel.remove();

 }
 function removeMicroLocFields()
 {
    missing = jQuery("#micro_location_missings");
    office = jQuery("#micro_location_offices");
    living = jQuery("#micro_location_livings");
    trades = jQuery("#micro_location_trades");
    logistics = jQuery("#micro_location_logistics");
    missing.remove();
    office.remove();
    living.remove();
    trades.remove();
    logistics.remove();

 }

  /**************************************** /SETTING UP OUR POPUP ******************/
  //0 means disabled; 1 means enabled;
  var popupStatus = 0;
  //loading popup with jQuery magic!
  function loadPopupDiv(popup_div_id){
    //loads popup only if it is disabled
    if(popupStatus==0){
      jQuery("#backgroundPopup").css({
        "opacity": "0.7",
        "filter": "alpha(opacity=70)"
      });
      jQuery("#backgroundPopup").fadeIn("slow");
      jQuery("#"+popup_div_id).fadeIn("slow");
        popupStatus = 1;
    }
  }
  //disabling popup with jQuery magic!
  function disablePopupDiv(popup_div_id){
    //disables popup only if it is enabled
    if(popupStatus==1){
      jQuery("#backgroundPopup").fadeOut("slow");
      jQuery("#"+popup_div_id).fadeOut("slow");
        popupStatus = 0;
      }
  }
  //centering popup
  function centerPopupDiv(popup_div_id){
    //request data for centering
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
	
    var popupHeight = jQuery("#"+popup_div_id).height();
    var popupWidth = jQuery("#"+popup_div_id).width();

	left = "45%";
	if(windowWidth > 0)
	{
		left = (windowWidth/2)- (popupWidth/2);
	}
    //centering
    jQuery("#"+popup_div_id).css({
      "position": "absolute",
      "top": Math.abs(findPageYOffset())  + 50, //( (windowHeight/2) - (popupHeight/2)))
      "left": left
    });
    
    //only need force for IE6

    jQuery("#backgroundPopup").css({
    "height": windowHeight
    });

  }