﻿"use strict";

var details = {

    init: function () {
        base.subscribe('resize', details.resize);
        details.resize();
        if (($('.details .details-grid').height()) < 5) {
            $('.details h2').hide();
            $('.details .details-grid').html('').css({ marginBottom: '-1em' });
        }
        if ($('.details .details-icons').length == 0 && $('.details .details-grid tr').length == 0 && $('.details .details-buttons').text().trim().length == 0) {
            $('.details .details-inner').hide();
        }
    },

    linkReject: function (u) {
        document.location = u;
    },

    resize: function () {
		var dw = $('.details-inner').width();
		var mw = Math.max($('.details .details-table').width(), $('.details .am-beside1').width());
		var sl = ($('.details .details-table li').length) >= $('.details .am-beside1 .am-line').length;
        if ((dw > (mw * 3)) && !sl) {
            $('.details .am-beside2').show();
            $('.details .am-beside1, .details .am-under').hide();
        }
		else if ((dw > (mw * 2)) || ($('.details .am-under').length == 0)) {
            $('.details .am-beside1').show();
            $('.details .am-beside2, .details .am-under').hide();
        }
        else {
            $('.details .am-under').show();
            $('.details .am-beside1, .details .am-beside2').hide();
        }

        $('.details .rd-row1, .details .rd-row2, .details .rd-row3').css({ padding: '0 1em' });
        $('.details .rd-row2, .details .rd-row3').hide();
        var rd = $('.details .rd-row1').show();
        var rdow = rd.outerWidth() + 5;
        var rdiw = rd.width() + 1;
        if (rdow < (dw / 3)) {
            $('.details .rd-row1').hide();
            $('.details .rd-row3').show().width(rdiw);
        }
        else if (rdow < (dw / 2)) {
            $('.details .rd-row1').hide();
            $('.details .rd-row2').show().width(rdiw);
        }

        var di = $('.details .details-icons').css({ margin: '', width: '' });
        if (di.hasClass('even')) {
            var diw = di.width();
            var icns = di.find('> li').css({ width: '' });
            var iwm = 0;
            icns.each(function (i, o) { iwm = Math.max(iwm, $(o).outerWidth()); });
            var ip = icns.first().outerWidth() - icns.first().width();
            var r = Math.ceil(icns.length / Math.floor(diw / iwm));
            var c = Math.ceil(icns.length / r);
            iwm = Math.min(iwm * 1.5, diw / c);
            icns.width(iwm - ip - 0.5);
            di.css({ margin: '0 auto', width: ((iwm * c) + 1) });
        }

        var db = $('.details .details-buttons');
        if (db.hasClass('even')) {
            var diw = $('.details .details-inner').width();
            var bwm = 0;
            var btns = $('.details-buttons a').css({ width: '' })
            var bm = btns.first().outerWidth(true) - btns.first().outerWidth();
            var bp = btns.first().outerWidth() - btns.first().width();
            db.css({ margin: '0 ' + Number((bm * -0.5) - 1).toFixed(2) + 'px' });
            btns.each(function (i, o) { bwm = Math.max(bwm, $(o).outerWidth()); });
            btns.width(((diw + bm) / Math.floor((diw + bm) / (bwm + bm))) - bm - bp);
		}

		details.resize_details();
		details.resize_amenity2();
	},

	resize_amenity2: function () {
		if ($('.details .am-beside2').css('display') != 'none') {
			var tw = $('.details .am-beside2').width() * 0.85;
			var aw1 = 0;
			var aw2 = 0;
			var i = 0;
			$('.details .am-beside2 li').each(function (i, o) {
				var w = $('> .am-li-wrapper', o).width();
				//we want the columns closer together. Measure the longest first column list items and the second.
				if (i % 2 == 0) {
					if (aw1 < w) { aw1 = w; }
				}
				else {
					if (aw2 < w) { aw2 = w; }
				}
				i++;
			});
			if (aw1 || aw2) { //columns 1 and 2
				if (aw1) {
					aw1 += ($('.details .am-beside2 li').height() * 2);
					var cw1 = Math.floor(aw1);
				}
				if (aw2) {
					aw2 += ($('.details .am-beside2 li').height() * 1.5);
					var cw2 = Math.floor(aw2);
				}
				i = 0;
				$('.details .am-beside2 li').each(function (i, o) {
					if (i % 2 == 0) {
						if (cw1)
							$(o).css('width', (cw1) + 'px');
					}
					else {
						if (cw2)
							$(o).css('width', (cw2) + 'px');
					}
					i++;
				});

				if (cw1 || cw2) { //we have at least one column item set the ul width
					$('.details .am-beside2 li').closest('ul').css('width', (((cw1 || 0) + (cw2 || 0) + 100)));  //checkmark icon is 46 pixels (since 2 columns we are buffering 100)


					var pm = base.isPhone();
					var v = ($(window).width() < $(window).height());
					if (pm) {
						$('.details .am-beside2 > div').css('padding-left', (v ? '20' : '30') + 'px');
					}
				}
			}
		}
	},

	resize_details: function () {
		var aw = 0;
		$('.details .details-grid .details-table .detail-name').css('width', '');
		$('.details .details-grid .details-table .detail-name').each(function (i, o) {
			var w = $(o).width();
			if (aw < w) { aw = w; }
		});
		if (aw) {
			$('.details .details-grid .details-table .detail-name').each(function (i, o) {
				$(o).css('width', aw + 'px');
			});
		}
	}

};

$(details.init);
 