﻿window.CA = {}; //NameSpace
window.CA.Settings = {};
window.CA.Controls = {};


$(document).ready(function () {
    // Hides mobile browser's address bar when page is done loading.
    window.addEventListener('load', function (e) { setTimeout(function () { window.scrollTo(0, 1); }, 1); }, false);

    if (!isiPad() && !isiPhone()) {
        $('body').css("background-image", "url('/images/background_transparent-andro.png')");
        $('body').css("height", "1000px");
    }
});

window.CA.ChangePage = function (Url) {
    if (Url != "/") {
        window.CA.ShowLoader();
        $.ajax({ type: "GET",
            url: Url,
            cache: false,
            success: function (html) {
                var newBody = html.split("<article")[1].split(">").slice(1).join(">").split("</article>")[0];
                $('body').html(newBody);
                window.location.hash = Url;
                window.CA.HideLoader();
            }
        });
    }
};

window.CA.ShowLoader = function () {
    $("#loader").css("display", "block");
};

window.CA.HideLoader = function () {
    $("#loader").css("display", "none");
};
window.CA.ShowAdds = function () {
    $("#Adds").css("display", "block");
};

window.CA.HideAdds = function () {
    $("#Adds").css("display", "none");
};

window.CA.Ajax = new function () {

    this.GetJSON = function (path, params, success,error, post) {
        var url = this.GetAjaxUrl(path);
        var callParams = {
            url: url,
            data: params,
            dataType: "json"
        };

        if (post) {
            callParams.type = "POST";
        }

        if (success && success != null) {
            callParams.success = success;
        }

        if (error && error != null) {
            callParams.error = error;
        }

        $.ajax(callParams);
    };

    this.GetAjaxUrl = function () //path, secure
    {
        var path = arguments[0];
        return path;
    };
};

//get Querystring
//key queryString Name
//default_ default value if not found
//form url hash or not

window.CA.getQuerystring =  function (key, default_, urlVal) {

    var url = urlVal;

    if (default_ == null) default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(url);
    if (qs == null)
        return default_;
    else
        return qs[1];
}
window.CA.Truncate = function (input, length, appendDots) {
    if (input.length <= length)
        return input;

    input = input.substring(0, (appendDots) ? length - 3 : length);
    if (appendDots)
        input = input + "...";
    return input;
}
window.CA.GetStars = function (count) {
    var stars = "";
    for (i = 0; i < count; i++) {
        stars += "*";
    }
    return stars;
};

window.CA.CalcDistance = function (lat2, lon2) {
    var lat1 = window.CA.Settings.Mylat;
    var lon1 = window.CA.Settings.Mylong;
    lat2 = parseFloat(lat2);
    lon2 = parseFloat(lon2);

    var latlng1 = new google.maps.LatLng(lat1, lon1);
    var latlng2 = new google.maps.LatLng(lat2, lon2);
    var result = google.maps.geometry.spherical.computeDistanceBetween(latlng1, latlng2);
    result = result / 1000;
    return Math.round(result * 100) / 100;
};

window.CA.updateOrientation = function () {
    var viewport = null;
    var metas = document.getElementsByTagName('meta');

    for (var i = 0, length = metas.length; i < length; ++i) {
        var meta = metas[i];
        if (meta.getAttribute('name') == 'viewport') {
            viewport = meta;
            break;
        }
    }

    if (window.orientation != 0) {
        if (isiPad())
            $("body").css("width", "1024px");
        else if(isiPhone())
            $("body").css("width", "970px");
        else
            $("body").css("width", "1030px");


        if ($("#map_canvas")) {
            if (isiPad())
                $("#map_canvas").css("height", "500px");
            else if (isiPhone())
                $("#map_canvas").css("height", "350px");
            else
                $("#map_canvas").css("height", "425px");
        }

        window.scrollTo(0, 1);
    } else {
        if (isiPad())
            $("body").css("width", "768px");
        else if(isiPhone())
            $("body").css("width", "650px");
        else
            $("body").css("width", "620px");


        if ($("#map_canvas")) {
            if (isiPad())
                $("#map_canvas").css("height", "750px");
            else if (isiPhone())
                $("#map_canvas").css("height", "640px");
            else
                $("#map_canvas").css("height", "820px");
        }

        window.scrollTo(0, 1);
    }
}
function isiPad() {
    return (navigator.platform.indexOf("iPad") != -1);
}
function isiPhone() {
    return (navigator.platform.indexOf("iPhone") != -1);
}
function isandroid() {
    return (navigator.userAgent.toLowerCase().indexOf("android") != -1);
}


