// #############################################################################
// GENERAL FUNCTIONS
// #############################################################################
var RootPath = "/app/"; // The path to the application root
var ImgPath = RootPath + "webroot/img/";

  // Image pre-loader - from Dreamweaver hence it's ugly as hell
  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_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_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];}
  }

// -----------------------------------------------------------------------------      
  // Preload functions for specific pages as specified by 'pagename'
  function preLoad(pagename) {
  
    MM_preloadImages( ImgPath + 'bg_main_menu_divider_a.jpg',
                      ImgPath + 'loading.gif',
                      ImgPath + 'regions/region1.jpg',
                      ImgPath + 'regions/region2.jpg',
                      ImgPath + 'regions/region3.jpg',
                      ImgPath + 'regions/region4.jpg',
                      ImgPath + 'regions/region5.jpg',
                      ImgPath + 'regions/region6.jpg',
                      ImgPath + 'regions/region7.jpg',
                      ImgPath + 'regions/region8.jpg',
                      ImgPath + 'icon_prop_handle_open_a.gif',
                      ImgPath + 'bg_regions_menu_a.jpg'
                      

    )
  
 
  }

function str_replace(search, replace, subject) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Gabriel Paderni
    // +   improved by: Philip Peterson
    // +   improved by: Simon Willison (http://simonwillison.net)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   bugfixed by: Anton Ongson
    // +      input by: Onno Marsman
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    tweaked by: Onno Marsman
    // *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
    // *     returns 1: 'Kevin.van.Zonneveld'
    // *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
    // *     returns 2: 'hemmo, mars'
 
    var f = search, r = replace, s = subject;
    var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = [].concat(r), i = (s = [].concat(s)).length;
 
    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
        }
    };
 
    return sa ? s : s[0];
}


/*
Onlaunch stuff...
*/

$(document).ready(function() {

    // Main navigation menu
    $(" #main_navigation ul ").css({display: "none"}); // Opera Fix
    $(" #main_navigation li").hover(function(){
		  $(this).find('ul:first:hidden').css({visibility: "visible",display: "none"}).show();
		},
    function(){
		  $(this).find('ul:first').css({visibility: "hidden"});
		}); 
		
		
    // Roll down the search box
    $("#menu_top_search").click(function(){ 
      if( $("#quick_search_rolldown").css("display") == "none" ) {
        $("#quick_search_rolldown").slideDown("400", function(){
          $("#quick_searchbox").fadeIn("200");
        });
      } else {
        $("#quick_searchbox").fadeOut("200", function(){
          $("#quick_search_rolldown").slideUp("400");
        });
      }

    });
		
		// Images on property view page
		$(".property_image_thumb").each(function(){ 
      $(this).mouseover( function(){
        $(this).attr("style","border: 1px solid #0C7EC5; cursor: pointer;");
      });
      $(this).mouseout( function(){
        $(this).attr("style","border: 1px solid #F3F3F3;");
      });
      $(this).click( function(){
        var sourceIMG = $(this).attr("src");
        $("#property_main_image img").attr("src", sourceIMG);
      });
    });
    
});


