//GENERAL JAVASCRIPT
$("html").addClass("js");
$(document).ready(function() {
    $(".table-type-2 tr:last").addClass("last");
    $(".table-type-2 tr").each(function(){
        $(this).find("td:last").addClass("last");
    });
    
    if(parseFloat($("#column-1").height())<555){
        $("#column-1").height("555px");
    }
    
});

//LIGHTBOX
$(document).ready(function() {
    $(".lightbox").lightBox();
});


//SEARCH
$(document).ready(function(){
    $("#searchForm select").not("[multiple]").each(function(){
        $(this).hide().after('<span class="sel-replaced'+(($(this).is(".off"))?" off":"")+' '+$(this).attr("id")+'">'+$(this).find("option:selected").text()+'</span>');
    });
    $("#searchForm .single .sel-replaced").mightySelect("advanced","");
    $("#searchForm .dependable .sel-replaced").mightySelect("advanced","dependable");
    
    /* Checkbox */
    $("#searchForm .chk").click(function(){
        $(this).parent("label").siblings("label").find(".chk").removeAttr("checked");
        if($("#searchForm .chk:checked").size() == 0) $(this).attr("checked", "checked");
    });
    
    $("#searchForm").submit(function(){
        $(this).find("input:text").each(function(){
            if($(this).val()==""||$(this).val()=="min"||$(this).val()=="max"){ $(this).attr("disabled","disabled"); }
        });
        $(this).find("select").each(function(){
            if($(this).val()==""||$(this).val()==null){ $(this).attr("disabled","disabled"); }
        });
    });
    
});

//GOOGLE MAP
$(document).ready(function() {
    if ($("#google-map").html()!=null){
        DGoogleMap2.setOption( 'zoom', 14 );
        DGoogleMap2.setOption( 'center', new GLatLng(44.5, 16.2) );
        DGoogleMap2.mapDefaultUI.zoom.scrollwheel=false;
        
        DGoogleMap2.mapDefaultUI.controls.largemapcontrol3d=false;
        DGoogleMap2.mapDefaultUI.controls.smallzoomcontrol3d=true;
        
        var s = DGoogleMap2.displayMap("#google-map");
        DGoogleMap2.displayMarkers();
        DGoogleMap2.fitMapToMarkers();
    }
    
    if ($(".mapBoxWrapper").html()!=null){
        
        var mapOffset = $(".mapBoxWrapper").offset();
        
        $("body").append('<div class="mapBox" style="top:'+mapOffset.top+'px; left:'+mapOffset.left+'px;"><a class="button">'+phrasebook.enlarge_map+'</a><strong class="title">'+phrasebook.show_on_map+'</strong><div id="gMap"></div></div>');
        
        $(window).resize(function(){
            mapOffset = $(".mapBoxWrapper").offset();
            $(".mapBox").css({left: mapOffset.left, top: mapOffset.top});
        });
        
        var markerCord = $(".mapBoxWrapper").attr("rel").split("|");
        DGoogleMap2.mapDefaultUI.zoom.scrollwheel=false;
        DGoogleMap2.mapDefaultUI.controls.overviewmapcontrol=false;
        DGoogleMap2.setOption( 'center', new GLatLng(markerCord[0], markerCord[1]) );
        DGoogleMap2.mapObject = new GMap2( $( "#gMap" ).get(0) );
        DGoogleMap2.setCallback( 'displayMap', function() { setTimeout( "$( DGoogleMap2.mapObject.getContainer() ).children().each(function(){if( $(this).attr('id') && !DGoogleMap2.mapContainerFixedChildren[$(this).attr('id')] ) $(this).hide();});", 1000); } );
        DGoogleMap2.displayMap("#gMap");
        DGoogleMap2.setMarker( { 'lat':markerCord[0], 'lng':markerCord[1] }, false );
        
        $(".mapBox a.button").toggle(function(){
            var el = $(this);
            $(".mapBox").animate({width: "637px", height: "403px" },function(){
                el.addClass("close");
                DGoogleMap2.mapObject.checkResize();
                DGoogleMap2.fitMapToMarkers();
                
                DGoogleMap2.showMapControls();
                
                $(".mapBox .button").text(phrasebook.reduce_map);
            });
        },function(){
            var el = $(this);
            $(".mapBox").animate({width: "222px", height: "163px" }, function(){
                el.removeClass("close");
                DGoogleMap2.mapObject.checkResize();
                DGoogleMap2.fitMapToMarkers();
                
                DGoogleMap2.hideMapControls();
                
                $(".mapBox .button").text(phrasebook.enlarge_map);
            });
        });
        
         
        
    }
});

//QUERY INFO POPUP
$(document).ready(function() {
    $(".icon-info").click(function(){
        if($(this).attr("rel")==$(".info-popup-wrapper").attr("rel")){
            $(".info-popup-wrapper").remove();
        } else {
            $(".info-popup-wrapper").remove();
            var offset = $(this).offset();
            $("body").append('<div rel="'+$(this).attr("rel")+'" class="info-popup-wrapper">'+$(this).next(".info-popup").html()+'</div>')
            $(".info-popup-wrapper").css({left: offset.left, top: offset.top+21}).show();
            
        }
    });
});

//QUERY POPUP
$(document).ready(function() {
    $('.text .button a:first').click(function(event){
	    var re_realEstates_id = $(this).attr("rel");
      $.get(phrasebook.URL_ROOT+"/index.php?page=queryPopup&re_realEstates_id="+re_realEstates_id, function(data){
          $("body").append(data);          
          var pos = $("#column-1").offset();
          $("#queryPopup").css({ top: pos.top+150, left: pos.left+370 }).show();
		  $('html, body').animate({scrollTop:0}, 'slow');
          
          $(window).resize(function(){
              var pos = $("#column-1").position();
              $("#queryPopup").css({ top: pos.top, left: pos.left }).show();
          });          
          
          $("#queryPopup .close").click(function(){
              $("#queryPopup").remove();
          });
          
          $(document).bind('click', function(e){
              var $clicked = $(e.target);
              if (!($clicked.is('#queryPopup') || $clicked.parents().is('#queryPopup'))) {
                $("#queryPopup").remove();
                $(document).unbind('click');
              }
          });  
          var realEstateAction = $("#queryPopup form").attr("action");
          $("#queryPopup button[type=submit]").click(function(){
              $("#queryPopup input").removeClass("error");
              switch ($("#queryPopup .radio:checked").val()){
                  case "email":
                    if( $("#quaryEmail").val()=="" ){ $("#quaryEmail").addClass("error"); }                   
                    break;
                  case "phone":
                    if( $("#quaryPhone").val()=="" ){ $("#quaryPhone").addClass("error"); }
                    break;              
              }
              if($("#queryPopup .error").length>0){ return false; }
              else {
                  $.get(realEstateAction, { re_realEstates_id:$("#re_realEstates_id").val(),re_realEstates_title:$("#re_realEstates_title").val(),contact_method:"email",quaryName:$("#quaryName").val(),quaryPhone:$("#quaryPhone").val(),quaryEmail:$("#quaryEmail").val(),quaryMessage:$("#quaryMessage").val() },function(data){
                    $("#queryPopup fieldset.left").remove();
                    $("#queryPopup fieldset label").remove();
                    $("#queryPopup fieldset textarea").remove();
                    $("#queryPopup button[type=submit]").remove();
                    $("#queryPopup blockquote").after("<p class='note'>"+data+"</p>");
                    
                	});
              }
              return false;
          });
      });
	});
});

//QUERY FORM CHECK
$(document).ready(function() {
    $("#query-form").submit(function(){
        $(this).find(".error").removeClass("error");
        $(this).find("label:has(em)").next().each(function(){
            if($(this).val()==""){
                $(this).addClass("error");
            }
        });
        if($(this).find(".error").length>0){ $(this).find(".error:first").focus(); return false; }
    });
});

//OPEN VIDEO
$(document).ready(function() {
    $(".files .video a").click(function(){
        $("select").css("visibility","hidden");
        $("body").append('<div id="video-popup-overlay" title="zatvori"></div><div id="video-popup"><div id="flashVideoPopup"></div><img class="close" src="'+phrasebook.URL_ROOT+'/images/lightbox-btn-close.gif" alt="zatvori" title="zatvori" /></div>');
        
        var overlayEl = $("#video-popup-overlay");
        var popupEl = $("#video-popup");
        var closeButton = popupEl.find(".close");          
        var left = ($(window).width() - popupEl.width())/2;
        var top = $(window).scrollTop()+50;
        
        $(window).resize(function(){ position_popup(overlayEl,popupEl); });
        overlayEl.click(function(){ close_popup(overlayEl,popupEl); });
        closeButton.click(function(){ close_popup(overlayEl,popupEl); });

        var link=$(this).attr("rel");
        var timestamp = Number(new Date());
        var flashvars = {file: link,controlbar: "over",autostart: "true"};
        var params = {allowscriptaccess: "always",allowfullscreen: "true"};
        var attributes = {id: "mpl",name: "mpl"};
        swfobject.embedSWF(phrasebook.URL_ROOT+'/player.swf?'+timestamp, "flashVideoPopup", "480", "384", "9","", flashvars, params, attributes);
        
        overlayEl.css({ height:$(document).height(), width:$(window).width(), opacity: "0.8" }).show();
        if((top+parseFloat(popupEl.height()))>overlayEl.height()){ overlayEl.height((top+parseFloat(popupEl.height()))+30); }
        popupEl.css({ left: left, top: top }).fadeIn("slow");
               
    });
    
    function position_popup(overlayEl,popupEl){
        overlayEl.hide().css({ height:$(document).height(), width:$(document).width(), opacity: "0.8" }).show();
        var left = ($(window).width() - popupEl.width())/2;
        var top = $(window).scrollTop()+50;
        popupEl.css({ left: left, top: top });
    }
    
    function close_popup(overlayEl,popupEl){
        playerPopupVideo = null;
        swfobject.removeSWF("mpl");
       
        popupEl.fadeOut("slow",function(){
            popupEl.remove();
        });
        overlayEl.fadeOut("slow",function(){
            $("select").css("visibility","visible");        
            overlayEl.remove();
        });
        $(window).unbind("resize");
    }

});


//************************ Share toolbar ***/
$(function() {
  $("body").append('<div id="dimedia-toolbar"><div class="bottom-bkg"><div class="middle-bkg"><ul><li><a href="http://www.facebook.com/share.php?u=|&t=" rel="facebook" title="facebook"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon1.gif" alt="facebook" /></a></li><li><a href="http://twitter.com/home?status=|%20-%20" rel="twitter" title="twitter"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon2.gif" alt="twitter" /></a></li><li><a href="http://digg.com/submit?phase=2&url=|&title=" rel="digg" title="digg"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon3.gif" alt="digg" /></a></li><li><a href="http://delicious.com/post?url=|&title=" rel="delicious" title="delicious"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon4.gif" alt="delicious" /></a></li><li><a href="http://www.myspace.com/Modules/PostTo/Pages/?u=|&t=" rel="myspace" title="myspace"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon5.gif" alt="myspace" /></a></li><li><a href="http://www.stumbleupon.com/submit?url=|&title=" rel="stumbleupon" title="stumbleupon"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon6.gif" alt="stumbleupon" /></a></li><li><a href="http://www.google.com/bookmarks/mark?op=edit&bkmk=|&title=" rel="google" title="google bookmarks"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon7.gif" alt="google bookmarks" /></a></li><li><a href="http://bookmarks.yahoo.com/toolbar/savebm?opener=bm&ei=UTF-8&u=|&t=" rel="yahoo" title="yahoo bookmarks"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon8.gif" alt="yahoo bookmarks" /></a></li><li><a href="http://www.linkedin.com/shareArticle?mini=true&url=|&title=" rel="linkedin" title="linkedin"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon9.gif" alt="linkedin" /></a></li><li><a href="https://favorites.live.com/quickadd.aspx?marklet=1&url=|&title=" rel="live" title="live"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon10.gif" alt="live" /></a></li><li><a href="http://technorati.com/faves?add=|" rel="technorati" title="technorati"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon11.gif" alt="technorati" /></a></li><li><a rel="mail" title="e-mail"><img src="'+phrasebook.URL_ROOT+'/images/toolbar/dimedia-toolbar-icon12.gif" alt="e-mail" /></a></li></ul></div></div></div>');

  $("#dimedia-toolbar a").click(function(){
      if(!($(this).attr("rel")==null||$(this).attr("rel")=="")){
          var pageTitle = encodeURI(document.title.replace(/š/g,"s").replace(/ð/g,"d").replace(/è/g,"c").replace(/æ/g,"c").replace(/ž/g,"z").replace(/Š/g,"S").replace(/Ð/g,"D").replace(/È/g,"C").replace(/Æ/g,"C").replace(/Ž/g,"Z"));
          var pageLink = encodeURI(window.location);
          switch ($(this).attr("rel")){
              case "mail":
                  window.location = "mailto:?subject="+pageTitle+"&body="+pageLink;
                  $(".dimedia-toolbar-button").click();
                  break;
              case "twitter":
                  var link = $(this).attr("href").split("|");
                  window.open(link[0]+pageTitle+link[1]+pageLink,"_blank");
                  $(".dimedia-toolbar-button").click();
                  return false;
                  break;
              case "technorati":
                  var link = $(this).attr("href").split("|");
                  window.open(link[0]+pageLink,"_blank");                  
                  $(".dimedia-toolbar-button").click();
                  return false;
                  break;
              default:
                  var link = $(this).attr("href").split("|");
                  window.open(link[0]+pageLink+link[1]+pageTitle,"_blank");
                  $(".dimedia-toolbar-button").click();
                  return false;
                  break;
          }
      }
  });
  
  $(".dimedia-toolbar-button").toggle(function(){
      var dimediaToolbarPosition = $(".dimedia-toolbar-button").offset();
      var dimediaToolbarPositionTop = dimediaToolbarPosition.top-$("#dimedia-toolbar").height()-5;
      var dimediaToolbarPositionLeft = dimediaToolbarPosition.left;
      $("#dimedia-toolbar").css({top:dimediaToolbarPositionTop,left:dimediaToolbarPositionLeft});
      
      $(this).addClass("on");
      if ($.browser.msie && $.browser.version==6) {
        $("#dimedia-toolbar").css({marginTop:"-20px"}).show();
      } else {
        $("#dimedia-toolbar").css("display","block").animate({marginTop:"-20px",opacity:"1"});
      }
  },function(){
      if ($.browser.msie && $.browser.version==6) {
        $("#dimedia-toolbar").hide();
      } else {
        $("#dimedia-toolbar").animate({marginTop:"0px",opacity:"0"},function(){
            $(this).css("display","none");
            $(".dimedia-toolbar-button").removeClass("on");    
        });
      }
  });
});

//PROJECTS HOME SLIDESHOW

$(window).load(function(){	
  $(".home-slideshow").cycle({ 
  fx:    "fade", 
  speed:  2500,
  timeout:  7000,
  pager: "#home-slideshow-nav"
  });
});

//boxBestBuy border remove
$(document).ready(function() {
	$('#boxBestBuy td:last').addClass('last');
});

/* 
 * Cross-browser event handling, by Scott Andrew
 */
function addEvent(element, eventType, lamdaFunction, useCapture) {
    if (element.addEventListener) {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } else if (element.attachEvent) {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } else {
        return false;
    }
}

/* 
 * Kills an event's propagation and default action
 */
function knackerEvent(eventObject) {
    if (eventObject && eventObject.stopPropagation) {
        eventObject.stopPropagation();
    }
    if (window.event && window.event.cancelBubble ) {
        window.event.cancelBubble = true;
    }
    
    if (eventObject && eventObject.preventDefault) {
        eventObject.preventDefault();
    }
    if (window.event) {
        window.event.returnValue = false;
    }
}

/* 
 * Safari doesn't support canceling events in the standard way, so we must
 * hard-code a return of false for it to work.
 */
function cancelEventSafari() {
    return false;        
}

/* 
 * Cross-browser style extraction, from the JavaScript & DHTML Cookbook
 * <http://www.oreillynet.com/pub/a/javascript/excerpt/JSDHTMLCkbk_chap5/index5.html>
 */
function getElementStyle(elementID, CssStyleProperty) {
    var element = document.getElementById(elementID);
    if (element.currentStyle) {
        return element.currentStyle[toCamelCase(CssStyleProperty)];
    } else if (window.getComputedStyle) {
        var compStyle = window.getComputedStyle(element, '');
        return compStyle.getPropertyValue(CssStyleProperty);
    } else {
        return '';
    }
}

/* 
 * CamelCases CSS property names. Useful in conjunction with 'getElementStyle()'
 * From <http://dhtmlkitchen.com/learn/js/setstyle/index4.jsp>
 */
function toCamelCase(CssProperty) {
    var stringArray = CssProperty.toLowerCase().split('-');
    if (stringArray.length == 1) {
        return stringArray[0];
    }
    var ret = (CssProperty.indexOf("-") == 0)
              ? stringArray[0].charAt(0).toUpperCase() + stringArray[0].substring(1)
              : stringArray[0];
    for (var i = 1; i < stringArray.length; i++) {
        var s = stringArray[i];
        ret += s.charAt(0).toUpperCase() + s.substring(1);
    }
    return ret;
}

/*
 * Disables all 'test' links, that point to the href '#', by Ross Shannon
 */
function disableTestLinks() {
  var pageLinks = document.getElementsByTagName('a');
  for (var i=0; i<pageLinks.length; i++) {
    if (pageLinks[i].href.match(/[^#]#$/)) {
      addEvent(pageLinks[i], 'click', knackerEvent, false);
    }
  }
}

/* 
 * Cookie functions
 */
function createCookie(name, value, days) {
    var expires = '';
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        var expires = '; expires=' + date.toGMTString();
    }
    document.cookie = name + '=' + value + expires + '; path=/';
}

function readCookie(name) {
    var cookieCrumbs = document.cookie.split(';');
    var nameToFind = name + '=';
    for (var i = 0; i < cookieCrumbs.length; i++) {
        var crumb = cookieCrumbs[i];
        while (crumb.charAt(0) == ' ') {
            crumb = crumb.substring(1, crumb.length); /* delete spaces */
        }
        if (crumb.indexOf(nameToFind) == 0) {
            return crumb.substring(nameToFind.length, crumb.length);
        }
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, '', -1);
}

/*
 * Clear Default Text: functions for clearing and replacing default text in
 * <input> elements.
 *
 * by Ross Shannon, http://www.yourhtmlsource.com/
 */

addEvent(window, 'load', init, false);

function init() {
    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) {
        var theInput = formInputs[i];
        
        if (theInput.type == 'text' && theInput.className.match(/\bcleardefault\b/)) {  
            /* Add event handlers */          
            addEvent(theInput, 'focus', clearDefaultText, false);
            addEvent(theInput, 'blur', replaceDefaultText, false);
            
            /* Save the current value */
            if (theInput.value != '') {
                theInput.defaultText = theInput.value;
            }
        }
    }
}

function clearDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == target.defaultText) {
        target.value = '';
    }
}

function replaceDefaultText(e) {
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    if (!target) return;
    
    if (target.value == '' && target.defaultText) {
        target.value = target.defaultText;
    }
}


