First Commit

This commit is contained in:
Kevin Adametz 2018-10-29 09:39:31 +01:00
commit 610aa1e202
4204 changed files with 636764 additions and 0 deletions

View file

@ -0,0 +1,281 @@
/** ********************************************** **
@REALESTATE PACK DEMO [usage example]
pack-realestate-*.html
*************************************************** **/
var googleMapKey = "AIzaSyCqCn84CgZN6o1Xc3P4dM657HIxkX3jzPY";
jQuery(document).ready(function() {
_init_();
});
/** _init_()
******************************* **/
function _init_() {
/* LIST MODE
pack-realestate-property-list-1.html
pack-realestate-property-list-2.html
*********************************** */
window._lastClass = null;
jQuery('div.property-list-opt .property-list-btn>a').bind("click", function(e) {
e.preventDefault();
var _t = jQuery(this),
_class = _t.attr('data-class') || null;
if(window._lastClass == null) {
if(_class != null && _class != 'property-item-box') {
window._lastClass = _class;
} else {
window._lastClass = 'col-xs-12 col-md-4'; // fail safe
}
}
jQuery('div.property-list-opt .property-list-btn>a').removeClass('active');
_t.addClass('active');
if(_class != 'property-item-box') {
jQuery('div.property-item-list div.property-item').removeClass('property-item-box').parent().removeClass('col-md-6 col-md-5 col-md-4 col-md-3 col-md-2 col-lg-6 col-lg-5 col-lg-4 col-lg-3 col-lg-2');
// add to cookie (for php use if needed)
_setCookie('property-list-mode','unboxed', 30); // in days
} else {
jQuery('div.property-item-list div.property-item').addClass('property-item-box');
jQuery('div.property-item-list>div').addClass(window._lastClass);
// add to cookie (for php use if needed)
_setCookie('property-list-mode','boxed', 30); // in days
}
});
/* SAVE BUTTON
pack-realestate-property-item.html
*********************************** */
jQuery("#restate-save").bind('click', function(e) {
e.preventDefault();
var _this = jQuery(this),
_href = _this.attr('href');
jQuery.ajax({
url : _href,
dataType : 'html',
type : 'POST',
cache : true, // warning: this will cause a timestamp and will call the request twice
async : true,
beforeSend : function() {
jQuery('i', _this).toggleClass('fa fa-heart-o , fa fa-cog fa-spin');
},
success : function(data) {
_toastr("Successfully Saved!",'top-right',"success",false);
jQuery('i', _this).toggleClass('fa fa-heart-o , fa fa-cog fa-spin');
},
complete: function(){},
// 404 ERROR MESSAGE
error : function(xhr, ajaxOptions, thrownError) {
_toastr("ERROR: Please try again later!",'top-right',"error",false);
jQuery('i', _this).toggleClass('fa fa-heart-o , fa fa-cog fa-spin');
}
});
});
/* FULLSCREEN GOOGLE MAP
pack-realestate-property-item.html
*********************************** */
jQuery("a.togglemap").bind('click', function(e) {
e.preventDefault();
// get latitude and longitude
var _lat = jQuery(this).attr('data-lat') || 0,
_lng = jQuery(this).attr('data-lng') || 0;
// load scripts first
loadScript('//maps.google.com/maps/api/js?key=' + googleMapKey, function() {
loadScript(plugin_path + 'gmaps.js', function() {
// show map & init
jQuery("#map-fullscreen").show(0, function() {
/**
@BASIC GOOGLE MAP
**/
var map = new GMaps({
div: '#gmap-init',
lat: Number(_lat),
lng: Number(_lng)
});
var marker = map.addMarker({
lat: Number(_lat),
lng: Number(_lng),
title: 'Company, Inc.'
});
});
// close map
jQuery("#map-fullscreen>button").bind('click', function(e) {
e.preventDefault();
jQuery("#map-fullscreen").hide();
});
});
});
});
/* GOOGLE MAP ON SLIDER
pack-realestate-property-item-2.html
*********************************** */
var _gs_container = "#gmap-slider";
if(jQuery(_gs_container).length > 0) {
jQuery(window).on("load", function() {
// get latitude and longitude
var _gs_this = jQuery(_gs_container),
_gs_lat = _gs_this.attr('data-lat') || 0,
_gs_lng = _gs_this.attr('data-lng') || 0,
_sliderH = jQuery("#slider").outerHeight(); // slider height
// load scripts first
loadScript('//maps.google.com/maps/api/js?key=' + googleMapKey, function() {
loadScript(plugin_path + 'gmaps.js', function() {
// Slider and google map shouyld have the same height
_gs_this.height(_sliderH);
/**
@PANORAMA GOOGLE MAP
**/
var panorama = GMaps.createPanorama({
el: _gs_container,
lat: Number(_gs_lat),
lng: Number(_gs_lng)
});
});
});
});
}
/* MORTGAGE CALCULATOR
pack-realestate-property-item.html
*********************************** */
// Recalculate on change
jQuery("#mcalc-price, #mcalc-dpayment, #mcalc-rate").keyup(function() {
_mcalc();
});
jQuery("#mcalc-term").change(function() {
_mcalc();
});
// Morgage Calculator
function _mcalc() {
var _mcalc_price = jQuery("#mcalc-price").val() || 0, // price
_mcalc_term = jQuery("#mcalc-term").val() || 10, // term
_mcalc_dpayment = jQuery("#mcalc-dpayment").val() || 0, // % down payment
_mcalc_rate = jQuery("#mcalc-rate").val() || 0, // rate
_mcalc_charges = jQuery("#mcalc-charges").html() || 0, // monthyl charges
_mcalc_charges = Number(_mcalc_charges.replace(',',''));
// it's a rare case scenario when interest rate is 0
// it's not accurate but we cover it - info only!
if(_mcalc_rate == 0)
_mcalc_rate = 0.000000000001;
// DOWN PAYMENT AMOUNT
_result_amount = _mcalc_price / 100 * _mcalc_dpayment;
jQuery("#mcalc-result-downpayment").html(_result_amount.formatMoney(2, '.', ','));
// MORTGAGE AMOUNT
_result_mamount = _mcalc_price - _result_amount;
jQuery("#mcalc-result-mamount").html(_result_mamount.formatMoney(2, '.', ','));
// MONTHLY MORTGAGE PAYMENT
// Formula: M = P [ i(1 + i)^n ] / [ (1 + i)^n 1]
var P = _result_mamount; //principle / initial amount borrowed
var I = _mcalc_rate / 100 / 12; //monthly interest rate
var N = _mcalc_term * 12; //number of payments months
_result_mortgage = P * I * (Math.pow(1 + I, N)) / (Math.pow(1 + I, N) - 1);
jQuery("#mcalc-mortgage").html(_result_mortgage.formatMoney(2, '.', ','));
// TOTAL MONTHLY PAYMENT
_result_pmonthly = _result_mortgage + _mcalc_charges;
jQuery("#mcalc-pmonthly").html(_result_pmonthly.formatMoney(2, '.', ','));
}
if(jQuery("#mcalc-price").length > 0) {
_mcalc(); // init on load
}
}